Table des matières:

Banana/Raspberry Pi + Arduino Rover avec webcam : 9 étapes
Banana/Raspberry Pi + Arduino Rover avec webcam : 9 étapes

Vidéo: Banana/Raspberry Pi + Arduino Rover avec webcam : 9 étapes

Vidéo: Banana/Raspberry Pi + Arduino Rover avec webcam : 9 étapes
Vidéo: Raspberry Pi Zero W Surveillance Camera 2024, Juillet
Anonim
Banana/Raspberry Pi + Arduino Rover avec webcam
Banana/Raspberry Pi + Arduino Rover avec webcam

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

Composants dont vous avez besoin
Composants dont vous avez besoin
Composants dont vous avez besoin
Composants dont vous avez besoin
Composants dont vous avez besoin
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 les moteurs avec le blindage de moteur L293D
Connectez les moteurs avec le blindage de moteur L293D
Connectez les moteurs avec le blindage de moteur L293D
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

Arduino Uno, assemblage de blindage de moteur
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

Connectez l'alimentation à Banana Pi et Arduino
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

Mettez Banana Pi dans le boîtier imprimé en 3D, assemblez le reste du Rover
Mettez Banana Pi dans le boîtier imprimé en 3D, assemblez le reste du Rover
Mettez Banana Pi dans le boîtier imprimé en 3D, assemblez le reste du Rover
Mettez 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é

Assemblage du matériel terminé !
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

Configuration du système
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

Démarrage du logiciel
Démarrage du logiciel
Démarrage du logiciel
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é: