Table des matières:
- Étape 1: Composants dont vous avez besoin
- Étape 2: connectez les moteurs avec le blindage de moteur L293D
- Étape 3: Arduino Uno, assemblage de blindage de moteur
- Étape 4: Connectez l'alimentation à Banana Pi et Arduino
- Étape 5: placez Banana Pi dans le boîtier imprimé en 3D, assemblez le reste du Rover
- Étape 6: Assemblage du matériel terminé
- Étape 7: Configuration du système
- Étape 8: Démarrage du logiciel
- Étape 9: Crédits
Vidéo: Banana/Raspberry Pi + Arduino Rover avec webcam : 9 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Un projet que j'ai réalisé à mes heures perdues. Il s'agit d'un robot à 4 roues à traction intégrale contrôlé via une interface Web. Si vous avez des commentaires ou des questions, n'hésitez pas à me contacter. Ce projet lui-même utilise des pièces imprimées en 3D et certains morceaux de code créés par d'autres personnes. Vous pouvez trouver des crédits et jeter un œil aux pièces originales à la fin d'Instructible.
Allons-nous commencer?
Étape 1: Composants dont vous avez besoin
Voici la liste des composants que j'ai utilisés avec les liens et les alternatives. J'habite à Shenzhen en Chine et j'ai acheté les pièces directement sur Taobao.
Châssis de robot à 4 moteurs Alternative: Tout châssis suffisamment grand fera l'affaire. Celui-ci a 4 moteurs pour un couple supplémentaire. Les moteurs sont des moteurs jaunes bon marché réguliers, évaluateur pour
L293D Arduino Motor Shield rev.1 Clone Alternative: Meilleur blindage du moteur évalué pour plus de courant
Alternative au clone Arduino Uno: vous pouvez utiliser n'importe quelle autre carte Arduino sans apporter de modifications significatives au code.
Batterie 6V 4.5Ah Pb Alternative: Il est possible d'expérimenter avec des batteries LiPo plus petites si vous voulez un robot plus léger/n'utilisez que deux moteurs.
Alternative à la banane Pi: peut échanger contre Raspberry Pi 1/2/3 ou Orange Pi sans changements de code significatifs. J'ai utilisé Banana Pi uniquement parce que j'en avais un qui traînait.
Alternative à la caméra Web: utilisez la caméra CSI pour Raspberry Pi/Banana Pi/Orange Pi
Support panoramique/inclinaison de la caméra avec servos sg60 Alternative: le support inclinaison/panoramique d'impression 3D, par exemple, peut utiliser celui-ci.
Pièces imprimées en 3D Alternative: laissez-vous guider par votre imagination et vos talents de conception 3D ! Aussi Thingverse:)
Étape 2: connectez les moteurs avec le blindage de moteur L293D
Connectez chaque moteur avec les bornes à vis du blindage du moteur. Voici le schéma de câblage. Si vous n'avez que deux moteurs et que vous ne voulez pas changer le code, attachez-les au MOTEUR 1 et au MOTEUR 3.
REMARQUE: Pour ceux qui utilisent des moteurs différents avec un courant nominal plus élevé, vous aurez peut-être besoin d'un autre pilote de moteur. Alternativement, un petit hack sympa que j'ai appris récemment est que vous pouvez superposer deux autres pilotes L293D sur celui existant (c'est la puce du milieu sur la carte) !
Étape 3: Arduino Uno, assemblage de blindage de moteur
Mettez Arduino Uno dans le boîtier et installez Motor Shield dessus. Il n'y a qu'une seule façon de le faire, si cela ne convient pas, vous faites quelque chose !
Boîtier Arduino Uno Snug
Voici l'étui que j'ai utilisé, modèle créé par Esquilo.
Étape 4: Connectez l'alimentation à Banana Pi et Arduino
J'ai utilisé l'interface SATA pour alimenter Banana Pi (6v). Si vous avez la même carte, vous pouvez également le faire, assurez-vous simplement que la tension est de 5v-6v. C'est une alimentation non régulée, donc je suppose qu'il existe un circuit de protection pour l'alimentation SATA sur le Banana Pi M1.
ATTENTION: Pour Raspberry Pi, vous avez quelques options: une sûre (utilisant un connecteur USB pour fournir 5v) et une moins sûre (utilisant des broches GPIO). Voici le lien pour en savoir plus sur la connexion de l'alimentation aux broches GPIO du Raspberry Pi. Assurez-vous
1) Utiliser une alimentation régulée
2) Réglez la tension sur 5v
Il n'y a pas de circuit de protection pour les broches GPIO ! Si vous faites quelque chose de mal, il y a un risque sérieux d'endommager l'électronique de la carte.
Pour Arduino, câblez simplement l'alimentation aux bornes à vis d'entrée sur le blindage du moteur. Cela peut prendre jusqu'à 12v.
Étape 5: placez Banana Pi dans le boîtier imprimé en 3D, assemblez le reste du Rover
J'ai utilisé ce boîtier pour Banana Pi de thingverse, créé par GermanRobotics. Je l'ai fait moi-même.
Mettez Banana Pi dans le boîtier, couvrez-le avec le couvercle, utilisez un pistolet à colle pour fixer Arduino Uno sur le boîtier Banana Pi.
Couvrez la batterie avec ce couvercle et fixez le support panoramique/inclinable de la webcam sur le dessus.
Si vous utilisez Banana Pi, vous aurez besoin d'un concentrateur USB, car il n'a que deux emplacements USB (Raspberry 2, 3 en a quatre). Pour des raisons purement esthétiques, j'ai décidé d'utiliser un concentrateur USB OTG 1-2 et de cacher les fils à l'intérieur du boîtier Banana Pi.
Étape 6: Assemblage du matériel terminé
Résumons rapidement ce que nous avons fait jusqu'à présent.
Nous avons assemblé la plate-forme du robot, connecté l'alimentation à Banana Pi, Arduino Uno, connecté des moteurs et des servos au pilote de moteur et utilisé un concentrateur USB pour connecter la caméra USB et Arduino Uno au Banana Pi. Vous pouvez maintenant tester et dépanner le matériel. Le schéma de câblage montrant toutes les connexions est en image pour cette étape.
Étape 7: Configuration du système
J'ai utilisé l'image Raspbian Lite pour le système sur mon pi. La version Lite n'a pas d'interface graphique et ne contient que des packages de base installés. Mais cela prend beaucoup moins de place, ce qui signifie que nous pouvons utiliser une carte SD plus petite. Si vous n'êtes pas à l'aise sans interface graphique, vous pouvez également installer l'image complète.
Connectez votre pi à Internet avec le câble Ethernet. Après le démarrage, la première étape serait de le connecter au Wi-Fi.
Exécutez la commande suivante dans le terminal
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Modifiez le fichier de configuration avec vos informations d'identification WiFi
réseau={ ssid="test" psk="testingPassword" }
Redémarrez le pi. Voila ! Vous êtes maintenant connecté au Wi-Fi.
Ensuite, nous devrons installer pip (Python Package Manager)
sudo apt-get install python-setuptools
sudo easy_install pip
Maintenant, nous utilisons pip pour installer Flask pour exécuter un serveur Web et pyserial pour pi pour communiquer avec Arduino via une connexion série.
flacon d'installation sudo pip
sudo pip installer pyserial
La dernière chose à faire sera d'installer et de configurer le package motion, que nous utilisons pour diffuser des vidéos à partir de notre webcam.
Suivez cette grande instructable pour ce faire.
Maintenant, nous sommes prêts à gronder !
Étape 8: Démarrage du logiciel
Tu te souviens comment j'ai dit que nous étions prêts à gronder ?
D'accord, encore un peu de broyage et ensuite nous pourrons commencer à gronder:)
Téléchargeons tous les fichiers nécessaires depuis mon référentiel github.
git clone
Téléchargez rover.ino sur Arduino Uno. Si vous avez apporté des modifications matérielles (en utilisant un blindage moteur différent, par exemple), vous devez modifier l'esquisse.
Si vous utilisez une webcam, modifiez la ligne située en bas du fichier index.html dans le dossier des modèles. Modifiez l'URL dans la ligne IFRAME pour qu'elle corresponde à l'URL src de votre flux vidéo.
Vous pouvez maintenant démarrer le serveur Web. Exécutez la commande suivante
sudo python pi_rover.py
Si vous avez suivi ma construction de très près et que Arduino est connecté, vous verrez ce qui suit (première image) dans le terminal.
Tapez l'adresse IP de votre robot dans le navigateur Web (par exemple, dans mon cas, c'était 192.168.1.104), vous pouvez vérifier l'adresse IP avec la commande $ifconfig sous Linux.
/faites la danse de célébration ici!/
Si vous avez des questions n'hésitez pas à me les poser dans les commentaires. Ce tutoriel est destiné aux débutants, mais pas aux débutants, c'est pourquoi j'ai été assez bref sur les choses pour lesquelles vous pouvez simplement googler (par exemple, graver une image système sur une carte SD, télécharger un croquis Arduino, etc.).
Étape 9: Crédits
L'idée et le code du serveur Web proviennent de ce grand instructable par jscottb. Je l'ai modifié pour utiliser du matériel plus courant, comme Arduino Uno.
Les pièces imprimées en 3D de Thinverse.
www.thingverse.com/thing:994827
www.thingverse.com/thing:2816536/files
www.thingverse.com/thing:661220
Conseillé:
PWM avec ESP32 - Dimming LED avec PWM sur ESP 32 avec Arduino IDE: 6 étapes
PWM avec ESP32 | Dimming LED With PWM on ESP 32 With Arduino IDE: Dans ces instructables, nous verrons comment générer des signaux PWM avec ESP32 à l'aide d'Arduino IDE & PWM est essentiellement utilisé pour générer une sortie analogique à partir de n'importe quel MCU et cette sortie analogique peut être comprise entre 0 V et 3,3 V (dans le cas d'esp32) & de
Balance intelligente bricolage avec réveil (avec Wi-Fi, ESP8266, Arduino IDE et Adafruit.io): 10 étapes (avec photos)
Balance intelligente bricolage avec réveil (avec Wi-Fi, ESP8266, Arduino IDE et Adafruit.io): Dans mon projet précédent, j'ai développé une balance de salle de bain intelligente avec Wi-Fi. Il peut mesurer le poids de l'utilisateur, l'afficher localement et l'envoyer vers le cloud. Vous pouvez obtenir plus de détails à ce sujet sur le lien ci-dessous : https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
IOT Lunar Rover Raspberrypi+Arduino : 5 étapes (avec photos)
IOT Lunar Rover Raspberrypi+Arduino : Ce projet est inspiré de la mission lunaire indienne Chandryaan-2 qui aura lieu en septembre 2019. Il s'agit d'une mission spéciale car ils vont atterrir à l'endroit où personne n'a jamais atterri auparavant.Donc pour montrer mon soutien, j'ai décidé de construire
Tapis avec capteurs/communication RF avec Arduino Micro : 4 étapes (avec photos)
Tapis avec capteurs/communication RF avec Arduino Micro : J'ai récemment terminé l'installation Tout aussi diversifiée, qui est composée d'une série de lampes qui réagissent aux capteurs placés dans un tapis sous les lampes. Voici comment j'ai fait le tapis avec des capteurs de pression. J'espère que vous trouverez ça utile.:)
Robot FPV Rover contrôlé par Wi-Fi (avec Arduino, ESP8266 et moteurs pas à pas) : 11 étapes (avec photos)
Robot rover FPV contrôlé par Wi-fi (avec Arduino, ESP8266 et moteurs pas à pas): cette instructable montre comment concevoir un rover robotique à deux roues télécommandé sur un réseau wi-fi, à l'aide d'un Arduino Uno connecté à un module Wi-fi ESP8266 et deux moteurs pas à pas. Le robot peut être contrôlé à partir d'un navigateur Internet ordinaire