Table des matières:

Robot Raspberry Pi Zero imprimé en 3D : 12 étapes
Robot Raspberry Pi Zero imprimé en 3D : 12 étapes

Vidéo: Robot Raspberry Pi Zero imprimé en 3D : 12 étapes

Vidéo: Robot Raspberry Pi Zero imprimé en 3D : 12 étapes
Vidéo: Impression 3D avec Octoprint et Pi Zerocam 2024, Juillet
Anonim
Image
Image
Robot Raspberry Pi Zero imprimé en 3D
Robot Raspberry Pi Zero imprimé en 3D
Robot Raspberry Pi Zero imprimé en 3D
Robot Raspberry Pi Zero imprimé en 3D

Avez-vous déjà voulu construire un robot, mais n'aviez tout simplement pas tous les matériaux pour en construire un sans vous retrouver avec un châssis inutilement encombrant ? Les imprimantes 3D sont là pour sauver la journée ! Non seulement ils peuvent créer des pièces compatibles avec pratiquement n'importe quel matériel, mais ils peuvent le faire de manière très économe en espace. Ici, je vais vous montrer comment créer un robot très basique qui comprend des pièces imprimées en 3D, le Raspberry Pi Zero et la caméra Pi. Je vous encourage à prendre et à modifier ce que j'ai fait pour répondre à vos besoins pratiques ou de divertissement. Pour contrôler le robot et afficher le flux de la caméra, j'ai créé une application IOS (l'application PiBotRemote) que vous pouvez utiliser et modifier librement. Cependant, la véritable puissance de projets comme celui-ci découle de la diversité des possibilités tant matérielles que logicielles. Je vous encourage donc à être créatif et à compléter ce que j'ai fait en fonction de ce que vous savez faire. Par exemple, je pense que ce serait cool de faire en sorte que ce robot utilise la vision artificielle pour reconnaître son environnement et naviguer de la même manière qu'une voiture autonome.

Étape 1: Exigences

Conditions
Conditions
  • Matériaux

    • Requis (environ 75 $)

      • Raspberry Pi Zero W (10 $)
      • Carte Micro SD (8,25 $)
      • En-tête à 40 broches (3,25 $)
      • Fils de cavalier (6,86 $)
      • Batterie USB (5,00 $)
      • Micromoteur à engrenages 900 tr/min x 2 (12,95 $ chacun)
      • Pilote de moteur (4,95 $)
      • Roues (6,95 $)
      • Roulement à billes en acier de 14 mm (0,62 $)
      • Vis, écrous et entretoises (voir ci-dessous)
    • Facultatif (environ 45 $)

      • LED
      • Caméra Raspberry Pi (29,95 $)
      • Adaptateur de caméra Pi Zero (5,95 $)
      • Servomoteur (8,95 $)
    • Outils

      • Imprimante 3D et filament
      • Ordinateur (j'utiliserai un mac, et vous en aurez besoin d'un si vous souhaitez utiliser l'application PiBot Remote)
      • iPhone/iPad/iPod Touch (si vous utilisez l'application)
      • Percer
      • Tournevis à pointes interchangeables

Plus d'infos sur les pièces

  • Pi Zero: Si vous souhaitez utiliser le Pi Zero uniquement pour ce projet, vous n'aurez aucun problème à courir sans tête tout le temps. Sinon, si jamais vous souhaitez connecter une sortie HDMI ou un périphérique USB, vous devrez acheter des adaptateurs supplémentaires. Dans ce cas, c'est probablement l'option la plus rentable pour acheter un kit Pi Zero, comme celui-ci (24 $), j'ai acheté amazon. Bien que je devais encore acheter une carte micro SD, ce kit était livré avec le Pi Zero, les deux adaptateurs nécessaires et de nombreux en-têtes différents. Tout cela peut être utile.
  • Carte Micro SD: vous pouvez utiliser n'importe quelle carte Micro SD tant qu'elle dispose d'un minimum de 8 Go de stockage.
  • Fils de cavalier: j'aime les cavaliers comme ceux-ci parce qu'ils se présentent sous la forme d'un faisceau connecté. Cela me permet de séparer, disons, une section à 9 fils et de connecter soigneusement le Pi et le pilote de moteur.
  • Batterie USB: La batterie que j'ai achetée sur Sparkfun a depuis été abandonnée. Par conséquent, vous devrez en trouver un ailleurs. Celui que j'ai lié ressemblait au mien, mais je ne l'ai pas acheté et vous devrez peut-être modifier les fichiers d'impression pour les adapter à votre batterie. Assurez-vous de trouver une batterie avec un câble micro USB connecté, car cela vous permet de la brancher directement sur le pi sans fil en excès.
  • Pilote de moteur: je recommanderais d'utiliser le plongeur auquel j'ai lié car il est assez bon marché et l'impression est conçue pour s'adapter exactement à cette carte. De plus, d'autres cartes peuvent fonctionner différemment et vous pouvez obtenir des résultats différents.
  • Boule d'acier de 14 mm: J'ai utilisé cette boule simplement parce que j'en avais une qui traînait. N'hésitez pas à utiliser d'autres tailles, mais vous devrez peut-être modifier la taille de la prise. La balle servira de 3ème roue à notre robot. C'est l'un des domaines de conception de mon robot qui est le plus problématique en ce moment et qui pourrait être le plus amélioré. Bien qu'il fonctionne bien sur les surfaces lisses et dures, il a des problèmes sur les tapis et les surfaces plus rugueuses. N'hésitez pas à modifier cette zone de votre conception.
  • Vis, écrous, entretoises: Vous devrez peut-être travailler un peu pour trouver des vis qui vous conviennent. J'ai simplement trouvé les vis fixant le Pi, ainsi que les vis maintenant le support de la caméra Pi ensemble dans la collection de vis de mon père. Pour les supports de moteur et les douilles, j'ai utilisé ces vis (2,95 $) et ces écrous (1,50 $), qui sont tous deux disponibles chez Sparkfun. Les entretoises et les 8 vis (j'en ai accidentellement inclus 4 sur la photo) qui maintiennent le robot ensemble, j'ai pris des kits VEX inutilisés de mon école.
  • LED: je suis sûr que vous savez où vous pouvez facilement trouver des LED. Choisissez les couleurs que vous souhaitez pour représenter les fonctions: alimentation, connexion, chemin de relecture du robot et instruction de réception du robot.
  • Caméra et servo: Selon ce que vous souhaitez faire avec votre robot, vous pouvez choisir de ne pas inclure la caméra et le servo car ils ne sont pas nécessaires pour le mouvement de base, et ajouter 45 $ au coût du robot.

Étape 2: Configuration Pi Zero

Configuration Pi Zéro
Configuration Pi Zéro

Suivez ce lien pour configurer une installation sans tête sur votre Raspberry Pi Zero W

  • N'oubliez pas que le Pi Zero ne peut pas se connecter à un réseau Wi-Fi 5 GHz
  • Assurez-vous de suivre les instructions pour Raspbian Stretch ou une version ultérieure

Une fois que vous vous êtes connecté avec succès via SSH à votre pi, exécutez

sudo raspi-config

et modifiez les configurations suivantes:

  • Changez votre mot de passe. Il est très dangereux de laisser le mot de passe par défaut raspberry. Assurez-vous de vous souvenir de ce mot de passe.
  • Dans les options réseau, remplacez le nom d'hôte raspberrypi par quelque chose de plus court comme pizero ou pibot. Je vais utiliser pibot pour le reste de ce tutoriel. N'oubliez pas ce que vous mettez ici.
  • Dans Options de démarrage -> Bureau / CLI, sélectionnez Connexion automatique à la console
  • Allez dans les options d'interfaçage et activez la caméra

Sélectionnez Terminer et redémarrez l'appareil.

Étape 3: Configurer le réseau AdHoc

En mettant en place un réseau AdHoc, nous pourrons connecter notre dispositif de contrôle directement au robot sans aucun intermédiaire. Cela permettra une diffusion plus rapide de la vidéo et une latence de contrôle plus faible. Cependant, cette étape n'est pas nécessaire car tout fonctionnera toujours via un réseau wifi normal.

Tout d'abord, vous devrez télécharger et décompresser tous les fichiers nécessaires à partir de GitHub. Dans le terminal, accédez au dossier téléchargé et envoyez le dossier PiBotRemoteFiles au pi avec la commande:

scp -r PiBotRemoteFiles/ [email protected]:Desktop/

Celui-ci envoie tous les fichiers nécessaires au robot qui va le contrôler et mettre en place le réseau AdHoc. Assurez-vous que les fichiers se trouvent dans un dossier appelé « PiBotRemoteFiles » qui se trouve sur le bureau; sinon, beaucoup de choses ne fonctionneront pas sur la route. Si vous utilisez l'application PiBot Remote, vous pouvez basculer entre le Wi-Fi normal et un réseau AdHoc dans les paramètres de l'application. Sinon, vous pouvez le modifier manuellement via SSH avec l'une des commandes suivantes:

sudo bash adhoc.sh

sudo bash wifi.sh

Bien sûr, assurez-vous d'avoir navigué jusqu'au dossier PiBotRemoteFiles avant d'exécuter les commandes précédentes. Tout changement entre AdHoc et Wi-Fi ne prendra effet qu'après le prochain redémarrage. Si un AdHoc est configuré, vous devriez voir un réseau PiBot apparaître au démarrage du Pi Zero.

Étape 4: ajouter un voyant d'alimentation

Ajouter une LED d'alimentation
Ajouter une LED d'alimentation

Bien que certainement inutile, il peut être utile d'avoir un voyant d'alimentation. Pour l'activer, connectez-vous en SSH au Pi Zero et exécutez la commande:

sudo nano /etc/bash.bashrc

Et ajoutez la ligne suivante à la fin du fichier:

python /home/pi/Desktop/PiBotRemoteFiles/startup.py

Nous changerons plus tard la broche GPIO associée à la LED d'alimentation.

Étape 5: Configuration de l'interface Web RPi Cam

Configuration de l'interface Web RPi Cam
Configuration de l'interface Web RPi Cam
Configuration de l'interface Web RPi Cam
Configuration de l'interface Web RPi Cam

Afin de puiser dans le flux vidéo des caméras Raspberry Pi, nous utiliserons la RPi-Cam-Web-Interface. Des informations sur ce module peuvent être trouvées ici et leur code est sur GitHub. Pour installer le module, nous devons d'abord mettre à jour notre Pi. Cela peut prendre jusqu'à 10 minutes environ.

sudo apt-get mise à jour

sudo apt-get dist-upgrade

Nous devons ensuite installer git:

sudo apt-get install git

Et nous pouvons enfin installer le module:

git clone

RPi_Cam_Web_Interface/install.sh

Une fois le module installé, une fenêtre de configuration apparaît. Si vous souhaitez ajouter un nom d'utilisateur et un mot de passe, assurez-vous d'utiliser le même nom d'utilisateur et mot de passe que le compte de votre pi. Sinon, l'application PiBot Remote ne pourra pas recevoir le flux de la caméra.

Maintenant, si vous accédez à un navigateur sur un appareil sur le même réseau que le Pi et si la caméra est connectée au pi, vous pouvez recevoir le flux en allant sur https://pibot.local/html/#. L'interface RPi permet un contrôle facile de la caméra, et en appuyant ou en cliquant sur la vidéo, elle peut passer en plein écran. Nous l'utiliserons plus tard avec l'application à distance PiBot.

Nous avons maintenant fini de configurer le Pi Zero, passons aux choses amusantes !

Étape 6: tout imprimer

Tout imprimer
Tout imprimer
Tout imprimer
Tout imprimer

Bien que j'aie utilisé une imprimante 3D Dremel avec du filament PLA, n'hésitez pas à utiliser vos propres imprimantes et matériaux. Tous les fichiers STL se trouvent dans le dossier que vous avez téléchargé depuis GitHub. J'ai pu tout imprimer en quatre lots: la plaque supérieure, la plaque inférieure, tous les supports et douilles et la bague. Soyez créatif dans votre choix de couleurs et tirez pleinement parti des capacités des imprimantes 3D. Mon imprimante n'avait pas de double extrusion ou de fonctionnalités aussi sophistiquées, mais si j'ai accès à une telle imprimante, je recommanderais d'imprimer les décorations sur le dessus de la plaque supérieure dans une couleur contrastante. Vous aurez probablement besoin de limer et de percer pour faire tenir certaines pièces.

N'hésitez pas à peindre la plaque supérieure pour rendre visibles les symboles et décorations LED.

Vous avez peut-être remarqué deux supports aux extrémités de la plaque inférieure qui ressemblent au système de montage GoPro. N'hésitez pas à les utiliser pour attacher ce que vous voulez à l'avant ou à l'arrière du robot. Dans le fichier blender, vous pouvez trouver un support de marqueur effaçable à sec que j'ai utilisé, ainsi qu'un objet modèle que vous pouvez modifier pour contenir votre objet.

N'hésitez pas non plus à définir la direction vers l'avant; J'ai échangé au moins trois fois jusqu'à présent.

Étape 7: Souder sur les en-têtes

Soudure sur les en-têtes
Soudure sur les en-têtes
Soudure sur les en-têtes
Soudure sur les en-têtes
Soudure sur les en-têtes
Soudure sur les en-têtes

Bien que j'ai choisi de souder des en-têtes au PiZero, vous pouvez souder vos fils directement au pi. Si vous choisissez de souder des en-têtes comme je l'ai fait, je vous recommande d'en utiliser un avec un angle droit comme le mien. Il garde les fils beaucoup plus cachés et rend tout beaucoup plus propre.

Il est maintenant temps de souder le pilote du moteur. La plaque inférieure est spécialement conçue pour ce pilote de moteur Sparkfun et laisse de l'espace pour que l'embase à broches dépasse du bas. Cela permet de changer facilement les broches du moteur afin que vous puissiez permuter la gauche et la droite, et en avant et en arrière. Bien que j'inclue l'étape suivante maintenant, je vous recommande fortement d'attendre quelques étapes jusqu'à ce que vous sachiez exactement combien de temps vos fils doivent avoir. Coupez une section de 9 fils de broches de cavalier qui sont compatibles avec les broches d'en-tête que vous venez de souder dans le pi. Soudez soigneusement chaque fil afin que le groupe puisse collectivement reposer à plat et s'enrouler autour de la batterie. Mesurez la longueur du fil à l'avance afin de ne pas vous retrouver avec trop peu ou trop.

Enfin, il est temps de souder les LED. Collez-les dans leurs emplacements respectifs sur la plaque supérieure et pliez toutes les broches de terre les unes sur les autres. Soudez un fil à la terre et un fil à chaque LED. De gauche à droite, les fonctions des voyants sont: l'alimentation du robot, la connectivité de l'application au robot, le robot rejoue un chemin enregistré et les instructions sont reçues par le robot.

Soudez également les fils à chaque moteur afin qu'ils puissent se brancher sur les embases provenant du pilote du moteur.

Étape 8: Vissez le moteur et la douille

Visser le moteur et la douille
Visser le moteur et la douille
Visser le moteur et la douille
Visser le moteur et la douille
Visser le moteur et la douille
Visser le moteur et la douille
Visser le moteur et la douille
Visser le moteur et la douille

Tout d'abord, insérez chaque moteur dans un support de moteur. Insérez ensuite chaque vis en partie, jusqu'à ce que la pointe atteigne la surface du support ou de la douille. Ensuite, pour chaque vis, maintenez en place un écrou de l'autre côté de la plaque pendant que vous serrez chaque vis. N'oubliez pas de placer le roulement entre les deux douilles lorsque vous vissez la seconde. Placez le pilote de moteur dans sa position et branchez les moteurs. Peu importe quel moteur est branché sur chaque sortie car vous pouvez facilement le changer une fois que le robot est opérationnel.

Étape 9: Préparez la caméra et le servo

Préparez la caméra et le servo
Préparez la caméra et le servo
Préparez la caméra et le servo
Préparez la caméra et le servo
Préparez la caméra et le servo
Préparez la caméra et le servo
Préparez la caméra et le servo
Préparez la caméra et le servo

Branchez le ruban adaptateur Pi Zero dans la caméra et vissez le boîtier de la caméra ensemble. Placez le servo dans sa position. Vous pouvez percer les trous de vis pour le servo, mais c'est bien assez serré. Fixez la caméra au servo de la manière qui vous convient le mieux. Actuellement, j'ai deux trous dans la monture, avec une agrafe passant à travers le palonnier et le boîtier de la caméra. Cependant, cela laisse beaucoup de marge de manœuvre, vous pouvez donc utiliser de la super colle. Dirigez la caméra dans la direction que vous souhaitez et vissez le palonnier en place. Insérez le ruban de la caméra dans la fente de la framboise et branchez-le sur le pi. Enfin, pliez le ruban pour le maintenir à plat contre la batterie.

Étape 10: Tout assembler

Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble

Il est enfin temps que tout devienne un seul morceau. Branchez les fils des LED, du pilote de moteur et du servo dans le Pi de manière à n'utiliser que des broches valides, mais gardez-les près de leur sortie. Ensuite, placez les fils dans leurs fentes et vissez le pi en place. Ceci est conçu pour être un ajustement serré pour garder les choses en ordre, alors n'abandonnez pas quand il semble qu'il n'y a pas assez de place pour ces grosses broches de cavalier.

Vissez chaque espaceur dans la plaque inférieure de manière à ce que chacun soit sécurisé. Insérez la batterie et assurez-vous que le câble d'alimentation peut passer à travers la fente et dans le port d'alimentation du Pi Zero. Enroulez les fils du pilote du moteur autour et placez la bague autour de tout. Une fois que vous avez enfoncé tous les fils dans l'espace entre la batterie et la plaque supérieure, la petite arête de la plaque inférieure dans l'anneau et les deux points hauts de l'anneau dans la plaque supérieure. Vous pouvez maintenant bien visser la plaque supérieure et vous avez construit votre robot !

Étape 11: Ouvrez le projet Xcode

Ouvrir le projet Xcode
Ouvrir le projet Xcode
Ouvrir le projet Xcode
Ouvrir le projet Xcode
Ouvrir le projet Xcode
Ouvrir le projet Xcode

Les prochaines étapes ne s'appliquent que si vous utilisez l'application PiBot Remote, qui nécessite un Mac et un appareil IOS.

Parce que je suis bon marché et que je n'ai pas de compte de développeur Apple payant, je ne peux partager que le projet Xcode, pas l'application elle-même. Vous pouvez ensuite ouvrir le projet vous-même, modifier la signature et le lancer sur votre propre appareil.

Si vous n'avez pas encore Xcode, téléchargez-le depuis l'App Store sur votre Mac. Une fois Xcode chargé, choisissez "Ouvrir un autre projet" dans le coin inférieur droit et accédez au dossier "PiBot Remote" dans le téléchargement GitHub.

Une fois le projet ouvert, cliquez sur le fichier racine dans la vue à l'extrême gauche appelée "PiBot Remote".

Remplacez le " Bundle Identifier " par quelque chose d'unique. Vous pouvez remplacer mon nom par le vôtre ou ajouter quelque chose à la fin.

Changez l'équipe, à votre propre compte personnel. Si vous n'en avez pas, sélectionnez "Ajouter un compte".

Appuyez sur la commande-B pour construire et espérez que tout fonctionne correctement. Une fois que vous avez réussi à créer le projet, branchez votre appareil sur votre ordinateur. Cliquez sur le bouton à droite des boutons de lecture et d'arrêt dans le coin supérieur gauche et sélectionnez votre appareil.

Appuyez sur la commande-R et l'application devrait se lancer sur votre appareil. Votre appareil peut avoir besoin de vérifier les identités avant de s'exécuter et n'aura besoin d'un accès Internet qu'à ce moment-là.

Étape 12: Ajustements finaux

Ajustements finaux
Ajustements finaux

Vous pouvez ajuster les numéros de broche pour tout, à l'exception du voyant d'alimentation dans l'application PiBot Remote. Pour changer la broche du voyant d'alimentation, connectez-vous en SSH au PI et exécutez la commande:

/home/pi/Desktop/PiBotRemoteFiles/startup.py

Remplacez les deux instances de 36 par la broche GPIO que vous avez utilisée. Appuyez ensuite sur Ctrl-X, y, entrez.

L'application et le serveur sont tous deux sujets aux erreurs. Utilisez la console en mode débogage pour comprendre ce qui se passe. En cas de doute, essayez de redémarrer le Pi et/ou de redémarrer l'application. Parfois, après un échec du code, l'application est incapable de se reconnecter car l'adresse est déjà utilisée. Dans ce cas, changez simplement le port et l'application devrait se connecter.

De plus, lorsque vous conduisez le robot avec l'accélérateur sur votre appareil, vous devez utiliser des gestes gênants pour calibrer, arrêter/démarrer, ajuster la caméra et afficher/masquer la barre d'onglets

  • Calibrer: appuyez et maintenez avec deux doigts pendant 0,5 seconde (si votre appareil le prend en charge, vous ressentirez un retour haptique une fois que l'appareil aura été calibré
  • Réglage de la caméra: le geste le plus délicat, faites ce qui a été décrit précédemment pour calibrer, puis faites glisser vos doigts vers le haut pour déplacer la caméra vers le haut et faites glisser vers le bas pour déplacer la caméra vers le bas. Le réglage se fera une fois que vous aurez levé les doigts.
  • Bascule Arrêt/Démarrage: lorsque vous accédez à la vue de l'accéléromètre, le robot est initialement configuré pour ignorer les commandes de mouvement. Pour basculer ce paramètre, appuyez deux fois avec deux doigts.
  • Afficher/Masquer la barre d'onglets: pour activer l'affichage en plein écran lorsque vous conduisez avec l'accéléromètre, la barre d'onglets se masquera automatiquement après quelques secondes. Pour l'afficher à nouveau, balayez vers le haut. Pour le masquer, balayez vers le bas.

Si vous êtes frustré par les problèmes et les inconvénients associés à mon application, n'oubliez pas que je n'ai reçu aucune éducation formelle en programmation d'aucune sorte. Alors je suis preneur de conseils et suggestions. N'hésitez pas à forker mes fichiers GitHub.

Si je fais des ajustements sur GitHub, appliquez-les au robot en téléchargeant les fichiers et en les envoyant via SCP récursif au Pi à l'emplacement approprié. Si vous avez cloné le projet Xcode, retirez simplement la modification. Sinon, vous pouvez télécharger le projet et suivre l'étape 11 pour ouvrir l'application sur votre appareil.

Si vous faites quelque chose d'intéressant avec ce tutoriel, faites-le moi savoir dans les commentaires, je suis intéressé de voir comment il peut être utilisé comme modèle pour toutes sortes de projets fascinants.

Conseillé: