Table des matières:

Réservoir Lego Raspberry Pi 3 FPV : 5 étapes (avec photos)
Réservoir Lego Raspberry Pi 3 FPV : 5 étapes (avec photos)

Vidéo: Réservoir Lego Raspberry Pi 3 FPV : 5 étapes (avec photos)

Vidéo: Réservoir Lego Raspberry Pi 3 FPV : 5 étapes (avec photos)
Vidéo: Making a Drone with Lego Motors and Propellers 2024, Juillet
Anonim
Réservoir Lego Raspberry Pi 3 FPV
Réservoir Lego Raspberry Pi 3 FPV

Lego est idéal pour enseigner aux enfants comment les choses fonctionnent tout en leur permettant de s'amuser en même temps. Je sais que j'ai toujours aimé "jouer" avec des lego quand j'étais enfant. Cette instructable décrit comment j'ai construit un réservoir FPV (First Person View) en lego et un Raspberry Pi 3 (Raspi 3). J'ai essayé de rester aussi simple que possible, seule l'étape où vous adaptez les moteurs pour fonctionner avec lego nécessite des outils et un peu d'habileté.

Le char utilise essentiellement deux moteurs, donc si vous ne voulez pas de char, vous pouvez fabriquer un robot de type Romba, la construction sera différente mais le câblage et les programmes seront exactement les mêmes.

### Ce projet est à la base une version 1, donc si vous souhaitez l'améliorer (il y a beaucoup de place pour le faire), veuillez laisser un commentaire. De plus, tout le code sera disponible, sur ma page Github, les liens sont dans les étapes

Choses dont vous aurez besoin:

  • Certains Lego, j'ai utilisé un camion Lego Technic Arctic que j'avais traîné. Utilisez votre imagination cependant, cet ensemble avait des pistes et tout pour les faire fonctionner, donc c'était bon pour ce projet.
  • Un Raspberry Pi, j'ai utilisé un Raspberry Pi 3 car c'est ce que j'avais, si vous avez un modèle différent, vous pourrez peut-être le faire fonctionner mais les broches GPIO seront différentes.
  • Une carte micro SD avec Raspian installé, pour le Raspi 3.
  • Une caméra Pi, Adafruit en vend quelques-uns ainsi que différents câbles plats de différentes longueurs. Une mine achetée à Aliexpress, elle a un objectif fisheye et était bon marché. Vous pourrez peut-être utiliser une webcam, mais une caméra Pi fonctionne immédiatement.
  • Une banque d'alimentation USB pour alimenter le Raspi 3, je pense que le mien coûte 8 $, ses 2000 mah font donc fonctionner le Raspi 3 pendant un certain temps.
  • Une batterie pour alimenter les moteurs, j'ai utilisé une batterie que j'ai sortie d'une voiture RC bon marché, elle est de 7,2 volts, 500 mAh et rechargeable, donc elle fonctionne plutôt bien. Une pile 9V serait bien mais il vous faudra alors aussi un connecteur.
  • Câbles de démarrage, pour connecter les broches GPIO ensemble, au moins 5 femelles à femelles.
  • Carte de commande de moteur L298N, elles sont assez bon marché et vous permettent de contrôler les moteurs séparément. Ce sont également assez standard pour ce type d'application.
  • 2 x moteur de boîte de vitesses à courant continu, ceux d'Adafruit sont bons, exactement le même peut être acheté chez Aliexpress aussi

Divers

  • Ruban mousse double face
  • câble
  • thermorétractable
  • ruban
  • élastiques
  • câble micro-USB

Si vous envisagez d'adapter les moteurs à engrenages à courant continu comme je l'ai fait, vous aurez besoin de:

  • cutter
  • dremel avec lame de scie circulaire
  • mini-fichiers
  • époxy 5 minutes

Vous aurez également besoin de votre propre PC/ordinateur portable pour contrôler et programmer le Raspi 3.

Étape 1: Construire le réservoir

Construire le réservoir
Construire le réservoir
Construire le réservoir
Construire le réservoir
Construire le réservoir
Construire le réservoir

Ce ne sont donc pas vraiment des instructions car cette étape devrait vraiment être votre propre conception. Je vais parler de certaines des choses que j'ai dû prendre en compte lors de la construction, mais le vrai plaisir réside dans le fait de découvrir par vous-même (un peu comme de vrais Lego). Utilisez les photos si elles sont utiles, il m'a fallu des années pour développer ce design, à la fin, la route simple était la meilleure.

  1. Construisez d'abord les essieux arrière

    1. et assurez-vous de laisser suffisamment de place pour les moteurs et de les rendre suffisamment larges pour que vos composants puissent y entrer. Je voulais que le mien soit assez large car je voulais que tout soit assis à l'intérieur des essieux, cela permettait au réservoir d'être assez bas pour s'adapter sous les choses et chasser le chat.
    2. Les roues sur les chenilles ici ont un trou qui s'adapte à un axe transversal Lego, alors gardez à l'esprit que c'est là que vos moteurs vont monter.
    3. Vous avez besoin de suffisamment d'espace pour la piste à l'arrière et à l'avant. Vous pouvez remarquer sur la photo 2 que les pièces en "L" ne sont pas sémétriques, ceci afin de laisser de la place à la piste. Je les avais à l'origine semétriques, mais la piste n'arrêtait pas de frotter et s'est coincée à un moment donné et a cassé l'adaptateur du moteur.
  2. Une fois que vous avez construit les essieux, vous pouvez ensuite les connecter

    1. en utilisant des bits longs avec des supports croisés à intervalles réguliers. Assurez-vous d'espacer les supports transversaux afin que les composants s'insèrent entre eux, cela permet de garder un profil bas.
    2. la longueur sera déterminée par la quantité de piste que vous avez. Cette piste n'a pas d'étirement, donc un peu de mou est nécessaire. Si vous avez une chenille en caoutchouc, vous pouvez la resserrer. De plus, une roue de roulement est une bonne idée, mais dans l'ensemble, elle n'est pas nécessaire.
    3. Cette étape était petite et simple et implique juste un peu d'essais et d'erreurs.
  3. Les moteurs sont essentiellement collés avec du ruban adhésif double face en mousse afin de leur fournir une grande surface sur laquelle ils peuvent être collés.
  4. Le support de caméra que j'ai fabriqué est assez nul, vous devriez certainement essayer de créer le vôtre. Je l'aime bas car on dirait que vous voyagez rapidement sur l'appareil photo. Ce serait un endroit sympa pour mettre à niveau avec un servo ou deux pour rendre la caméra mobile.

Espérons que ces notes sont utiles. J'ai construit cette chose avant d'écrire l'instructable et j'hésite un peu à la séparer maintenant que ça va. Je crois vraiment qu'un meilleur design peut être fait, donc je pense que votre propre développement serait le meilleur. Laissez un commentaire si vous voulez que j'en fasse un guide complet, s'il y a suffisamment de demande, je le ferai.

Étape 2: adaptateur de moteur à engrenages CC vers Lego

Adaptateur de moteur à engrenages CC vers Lego
Adaptateur de moteur à engrenages CC vers Lego
Adaptateur de moteur à engrenages CC vers Lego
Adaptateur de moteur à engrenages CC vers Lego
Adaptateur de moteur à engrenages CC vers Lego
Adaptateur de moteur à engrenages CC vers Lego

Encore une fois, je l'ai fait avant d'écrire et je n'ai pris aucune photo. Je pense qu'il existe un tas de tutoriels différents qui font cela. Adafruit vend en fait un adaptateur, c'est le meilleur moyen, et vous n'avez pas besoin de détruire vos supports de moteur. Je suis en Nouvelle-Zélande, donc Adafruit n'est pas disponible, mais le bricolage l'est:-). Voici ce que j'ai fait (désolé pour les mauvais schémas):

  1. Préparez tous vos outils, nous allons couper du plastique, donc ce ne sera pas trop difficile. J'ai utilisé une paire de lunettes d'atelier parce que personnellement je déteste les petits morceaux de plastique sur mes globes oculaires. J'ai également utilisé une de ces planches à découper vertes pour ne pas gâcher ma table.
  2. Le diagramme montre donc une vue de dessus et de côté. Fondamentalement, le gris est la petite partie blanche sur le moteur de la boîte de vitesses à courant continu et le rouge est l'endroit où nous coupons. Le rouge sur la vue de dessus est en fait censé être une coupe transversale d'un essieu transversal Lego. Nous allons retirer ce matériau pour que l'axe s'adapte parfaitement à l'intérieur. Essayez de le couper aussi près du centre que possible et presque jusqu'en bas. J'ai commencé par couper grossièrement avec la mèche de scie circulaire sur mon dremel, puis j'ai commencé à raser les mèches avec un cutter jusqu'à ce que j'aie un ajustement parfait.
  3. Une fois que vous avez coupé ce morceau et que l'axe s'adapte plus ou moins droit (il devrait ressembler à une fourche pliée en deux étranges), vous pouvez époxy l'axe transversal Lego. Avant d'appliquer n'importe quel époxy, assurez-vous d'appliquer du ruban adhésif sur le boîtier jaune du moteur afin de ne pas coller accidentellement l'arbre au boîtier. Mélangez bien l'époxy pendant 5 minutes et appliquez une couche épaisse sur le foret blanc et l'axe transversal, nous recherchons une couche de 1 à 2 mm d'épaisseur. L'époxy de 5 minutes devient collant et inutilisable assez rapidement, alors travaillez vite ici.
  4. Une fois que vous avez appliqué une couche de desent et que l'époxy ne coule pas, vous devriez avoir terminé. Il court un peu alors soyez prudent. Une fois qu'il est réglé sur une consistance caoutchouteuse, vous pouvez facilement couper tout excès d'époxyde, c'est ainsi que j'ai obtenu une belle extrémité plate sur la mienne.
  5. Laissez-le sécher pendant la nuit et vous devriez avoir un moteur de boîte de vitesses Lego DC le matin

Étape 3: Câblage

Câblage
Câblage
Câblage
Câblage
Câblage
Câblage

Le câblage de ce projet est assez simple. Nous utiliserons les 4 câbles de démarrage femelle à femelle pour connecter nos broches GPIO au contrôleur de moteur L298N et un câble de démarrage mâle à femelle pour connecter la masse du Raspi 3 à la masse du contrôleur de moteur L298N. Nous utiliserons également du fil pour connecter les moteurs au contrôleur de moteur L298N.

J'ai choisi d'utiliser cette combinaison de broches sur le Raspi car elles sont regroupées. N'hésitez pas à utiliser n'importe quel ensemble de broches GPIO et GND. N'oubliez pas de le modifier dans le code.

Vous pouvez utiliser le schéma de câblage ou suivre les étapes ci-dessous:

Raspi 3 L298N

GND (broche 14) GND

GPIO27 (broche 13) IN1

GPIO22 (broche 15) IN2

GPIO23 (broche 16) IN3

GPIO24 (broche 18) IN4

Pour les moteurs et la façon dont ils sont montés, je les ai câblés de cette façon.

Out2, Out3 négatif

Out1, Out4 positif

Essentiellement négatif était vers l'arrière et positif était vers l'avant. Si vous les obtenez dans l'autre sens, le char ne fait que rouler dans la direction opposée, ce qui est facile à corriger dans le logiciel.

Étape 4: La programmation

Donc, pour cette étape, nous devrons configurer quelques éléments si vous ne l'avez pas déjà fait.

  • Raspienne
  • Python 2 ou 3
  • Git
  • MJPG-Streamer

Installation de Raspian

Tout d'abord, nous devons avoir Raspian sur une carte micro SD, donc avoir une SD formatée d'au moins 8 Go prête (vous pouvez également installer NOOBS lite si vous n'avez qu'une carte de 4 Go).

Pour installer Raspian, je recommanderais d'utiliser NOOBS. Le lien officiel est ici. Téléchargez le fichier zip sur votre PC et extrayez les fichiers sur la carte SD. Assurez-vous que les fichiers et dossiers sont là et non dans un dossier noobs.

Une fois cela fait, branchez la carte SD dans le Raspi 3, connectez un écran (Un téléviseur avec HDMI fonctionne très bien si vous n'avez pas de moniteur) et un clavier et une souris.

Vous devriez voir l'écran d'installation se charger, vous connecter au wifi (le wifi est nécessaire pour que ce projet fonctionne) et installer, j'utilise simplement les paramètres par défaut car ils fonctionnent bien.

Configuration pour le mode sans tête

Ainsi, une fois que Raspian est installé et que vous êtes connecté au Raspi 3, vous pouvez commencer à configurer le Raspi 3 pour qu'il fonctionne en mode sans tête (c'est-à-dire utiliser SSH au lieu d'un écran et d'un clavier). Juste une note, vous devrez utiliser sudo, alors assurez-vous de connaître le mot de passe root.

Ouvrez un terminal et tapez 'sudo raspi-config', vous devriez avoir un écran bleu et gris comme sur les images. Accédez à « Options d'interfaçage », appuyez sur Entrée, puis accédez à « P2 SSH », appuyez sur Entrée et saisissez à nouveau pour « oui », à nouveau pour « OK ».

Retournez maintenant dans les "options d'interfaçage" et activez la caméra.

De retour dans le menu, appuyez à droite et entrez pour sélectionner « Terminer ».

Ensuite, nous devons trouver notre adresse IP, vous pouvez le faire en tapant 'ifconfig' dans le terminal. Recherchez le bloc commençant par wlan0 (généralement le dernier) et notez votre adresse IP. Il devrait être sur la deuxième ligne et ressembler à ceci 192.168.1. XX si vous utilisez votre wifi domestique.

Super c'est la fin de la configuration

Installation de logiciels supplémentaires

Donc, pour exécuter les scripts que j'ai, vous aurez besoin d'avoir installé python 2 ou 3. Si vous voulez apprendre python, je vous recommande d'apprendre python 3, les différences sont mineures mais python 3 est maintenant plus largement utilisé. Il devrait être préinstallé avec Raspian, mais nous devrions simplement vérifier.

Tapez 'python --version', vous devriez obtenir une sortie comme 'Python 2.7.13', ce qui signifie que python 2 est installé. Pour vérifier si vous avez python 3, tapez simplement 'python3 --version' et vous devriez obtenir une sortie similaire. Si vous n'avez pas python 2 ou 3, vous pouvez taper 'sudo apt-get install python' ou 'sudo apt-get install python3', respectivement.

Vous aurez également besoin de Git pour obtenir le code, encore une fois, il doit être préinstallé. Tapez 'git --version' pour vérifier et utilisez 'sudo apt-get install git' si vous ne l'avez pas.

Installation de MJPG-Streamer

MJPG-Streamer est l'un des moyens d'accéder au Picamera. Il permet d'accéder à la caméra via un navigateur et de manipuler l'image. C'est probablement le moyen le plus agréable et le plus simple d'utiliser l'appareil photo si vous n'êtes pas à l'aise avec le code.

  1. Encore une fois, nous allons utiliser Git. Tapez 'git clone https://github.com/jacksonliam/mjpg-streamer.git' dans le terminal Raspi 3. Le logiciel sera téléchargé, cela ne prendra pas trop de temps.
  2. La meilleure chose à faire à ce stade est probablement de regarder le fichier 'README.md' et de suivre les instructions d'installation. Ils ont fonctionné sans problème pour moi. Si vous avez des questions, laissez-les dans les commentaires et j'essaierai de vous aider

Une fois installé, vous pouvez l'exécuter. Je vais voir comment je le fais ci-dessous.

Mettre tous ensemble

Super, maintenant nous devrions être prêts à partir. Assurez-vous que votre Raspi 3 est allumé. Sur votre PC/ordinateur portable, ouvrez un terminal (je suppose que vous utilisez Linux ou Mac, si vous utilisez Windows, vous devrez télécharger Putty. Il existe de nombreux tutoriels en ligne sur la façon de l'utiliser, ne vous inquiétez pas, c'est facile) et tapez 'ssh [email protected]. XX (en supposant que vous n'ayez pas changé le nom d'utilisateur par défaut) ou quelle que soit votre adresse IP que nous avons trouvée plus tôt. Tapez votre mot de passe (cela ne devrait certainement pas être le mot de passe par défaut). Super, maintenant vous êtes dans une session de terminal sur le Raspi 3 via votre PC/ordinateur portable.

Donc, dans le terminal, tapez 'git clone https://github.com/astrobenhart/Raspi-3-FPV-Lego-T… Cela ne devrait prendre que quelques secondes car les fichiers sont vraiment petits. Vous pouvez ensuite naviguer dans le répertoire en utilisant 'cd Raspi-3-FPV-Lego-Tank', tapez maintenant 'ls' et assurez-vous de voir ces 5 fichiers: 'demo.py', 'drive.py', 'Picamera_tank. py, 'fini.jpg' et 'README.md'. Assurez-vous de consulter le fichier readme pour toute mise à jour.

démo.py

Ce script py est idéal pour tester que votre câblage fonctionne. Cela passe simplement par différentes combinaisons d'entraînement des moteurs vers l'arrière et vers l'avant.

utilisez 'python demo.py' pour exécuter. Il faut environ une demi-minute pour terminer.

lecteur.py

C'est le script py que vous exécuterez pour contrôler le réservoir. Il configure le mappage des broches GPIO et crée des définitions pour le déplacement. Il capture également les pressions sur les touches pour contrôler le réservoir.

Utilisez 'python drive.py' pour exécuter. Donnez-lui une seconde, votre terminal devrait devenir vide.

utilisez 'w, a, s, d' pour vous déplacer et la barre d'espace pour arrêter. Lorsque vous êtes prêt à fermer le programme, appuyez sur 'n'.

Picamera_tank.py

Ceci est ma version d'un streamer pour la caméra. Cela ne fonctionne qu'avec python 3 (c'est-à-dire utilisez 'python3 Picamera_tank.py' pour exécuter). Cela peut être exécuté dans une deuxième fenêtre de terminal ou vous pouvez appuyer sur ctrl-z et taper bg pour l'exécuter en arrière-plan sur le même terminal. Personnellement, j'aime utiliser un terminal séparé.

Vous ne devriez pas avoir à installer quoi que ce soit de plus, mais si vous utilisez pip. Si vous rencontrez des problèmes, laissez un commentaire.

Une fois que cela fonctionne sur le Raspi 3, connectez-vous au navigateur de votre PC/ordinateur portable et accédez à 192.168.1. XX:8000 (l'adresse IP que nous avons trouvée plus tôt). Vous devriez voir la sortie de la caméra. Si l'image doit être tournée, vous devrez modifier le script py. Près du bas se trouve un commentaire, ci-dessous entrez les degrés de rotation dont vous avez besoin. Pour moi, c'était 180 car mon appareil photo est à l'envers.

Pour exécuter MJPG-Streamer

Pour exécuter MJPG-Streamer, je navigue vers 'mjpg-streamer/mjpg-streamer-experimental' et lance './mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so -hf"'.

Une fois que cela est en cours d'exécution, accédez à 192.168.1. XX:8080 (l'adresse IP que nous avons trouvée précédemment) et cliquez sur streaming. Jouez avec les autres options, elles pourraient vous être utiles.

Et c'est tout. Vous devriez maintenant pouvoir conduire votre propre réservoir FPV partout où vous pouvez obtenir votre wifi. S'amuser.

Étape 5: Produit fini

Et voici une vidéo de tout cela fonctionne.

Juste une note que j'ai le Raspi 3 branché sur mon ordinateur portable pour l'alimenter dans la vidéo car la banque d'alimentation s'est épuisée lors de certains tests. Cela a duré près d'une heure dont j'étais assez content.

S'il vous plaît laissez des commentaires si vous en avez et j'espère que vous aimerez faire ce Raspberry Pi 3 FPV Lego Tank si vous essayez.

Merci, Ben

Conseillé: