Robot de LEGO et Arduino, évitant les obstacles





Nous adorons LEGO et Crazy Circuits [électronique compatible LEGO / env. trad.], nous avons donc décidé de les combiner en un robot simple et intéressant qui peut éviter les obstacles. Nous allons vous montrer comment assembler un tel robot et décrire le processus en détail. Votre version du robot peut ne pas correspondre exactement à la nôtre.



Voici une liste des composants électroniques et LEGO requis. N'hésitez pas à les expérimenter.















Composants



Électronique





Pour notre projet, nous avons sélectionné une petite source d'alimentation externe qui s'intègre parfaitement dans notre robot. Vous devrez peut-être concevoir le vôtre pour votre alimentation externe ou pour un jeu de piles.



Lego



Nous avons utilisé divers détails, mais nous vous recommandons de le faire comme bon vous semble et d'après ce que vous avez sous la main. Il est important que vous disposiez d'un moyen de fixer les servos au bas, le capteur à ultrasons pour qu'il regarde vers l'avant, et de sécuriser d'une manière ou d'une autre la carte et l'alimentation. Pour ce faire, vous pouvez utiliser du ruban adhésif double face, des bandes élastiques, du velcro. Il y a des liens vers nos pièces dans la boutique BrickOwl, mais vous pouvez les acheter partout où des ensembles LEGO et compatibles sont vendus.





Étape 1: construction du châssis LEGO







Nous avons commencé avec une plaque LEGO 6 × 12, qui était la taille minimale avec laquelle nous étions satisfaits. Vous pouvez en utiliser un plus grand, mais plus petit sera déjà plus difficile.



La largeur du robot était dictée par l'alimentation externe dont nous disposions, car nous avions besoin de la capacité de le faire glisser en place. Une batterie plus grande nécessitera un robot plus grand.



Le châssis doit être suffisamment haut pour accueillir à la fois la batterie et la carte sur le dessus.



Étape 2: ajouter des roues































Chaque servo doit être placé sous le châssis. En conséquence, nous avions besoin des composants suivants:



  • Essieu 4 LEGO avec butée (87083)
  • Moyeu LEGO (32123/42136)
  • LEGO Brique ronde 2 x 2 (3941/6143)


Pour fixer deux moteurs, vous avez besoin de 4 pièces de chacun des composants. Après les avoir sécurisés, ajoutez une roue: LEGO Wedge Belt Wheel (4185/49750).



Comme pour les autres modèles LEGO, il existe des tonnes d'options! Nous avons réussi avec les composants que nous avons répertoriés, mais vous pouvez essayer autre chose.



Étape 3: ajoutez la vidéo



















Notre rouleau permet au robot de rouler sur un avion sur deux roues motorisées, agissant comme une troisième roue - cela facilite la rotation et le déplacement du robot.



Pour le sécuriser, les détails suivants étaient nécessaires:



  • LEGO EV3 Technic Ball Pivots Set 5003245
  • LEGO Technic Cross Block Beam 3 avec quatre broches (48989/65489)
  • LEGO Technic Brick 1 x 6 avec trous (3894)


Dans la version précédente, nous n'utilisions que des pièces LEGO rondes pour la «jambe» et cela fonctionnait bien sur une surface lisse. Mais n'a pas fonctionné sur un tapis ou un sol non lisse. Si vous n'avez pas de rouleau, pensez à utiliser cette "jambe".



Étape 4: ajouter un capteur de distance















Le capteur de distance à ultrasons doit être fixé à l'avant du robot pour qu'il «voie» où il va et sache quand s'arrêter pour ne pas heurter un obstacle.



Pour le capteur, nous avons imprimé en 3D un boîtier compatible LEGO. Le modèle est publié sur le site Web de Thingiverse: www.thingiverse.com/thing : 3171004



Si vous n'avez pas d'imprimante 3D, découvrez comment tenir le capteur à l'aide de pièces LEGO, de ruban adhésif, d'élastiques, de serre- câbles , etc. Il est important qu'il regarde droit devant lui - où va le robot quand il avance.



Étape 5: ajoutez le tableau



















Les frais sont le cerveau de toute l'opération. Il repose sur des briques LEGO, il est donc facile à attacher.



En règle générale, la carte robotique est utilisée en conjonction avec un ruban conducteur qui vous permet de bricoler des circuits électriques directement sur le LEGO, mais comme nous n'avons que deux moteurs et un capteur de distance, ils peuvent être connectés directement aux broches de la carte.



Nous plaçons la carte de manière à ce que le câble d'alimentation USB soit facile à brancher. Nous avons eu la chance de trouver un câble USB très court dans le décodeur câble.



Vous pouvez maintenant connecter le capteur et les moteurs!



Pour le capteur: le connecteur d'écho doit être connecté à la broche 3 de la carte, le connecteur de déclenchement à la broche 5, VCC à 5 V, Gnd à GND. Ainsi, le capteur recevra de l'énergie et communiquera avec la carte.



Ensuite, vous devez connecter chacun des moteurs. C'est facile à faire - des fils marron à GND, des fils rouges à 5V, des fils orange à D6 pour le moteur gauche et D9 pour le droit.



Étape 6: programmez la carte robotique







Avant que le robot puisse fonctionner, le code doit être chargé dans le microcontrôleur. Avant de faire cela, assurez-vous que la dernière version de l' IDE Arduino est installée sur votre ordinateur .



Nous avons téléchargé notre code dans le référentiel sur GitHub:



github.com/BrownDogGadgets/CrazyCircuits/tree/master/Projects/Avoidance%20Robot



Le code est simple, il y a beaucoup de commentaires pour que ce soit clair ce qui est responsable de quoi.



Vous aurez également besoin de la bibliothèque



NewPing bitbucket.org/teckel12/arduino-new-ping/wiki/Home



Étape 7: laissez le robot marcher















Après avoir construit un robot et chargé le code dedans, vous pouvez procéder aux tests!



Le moyen le plus simple est de connecter une source d'alimentation externe et de donner au robot la possibilité d'avancer. Si vous mettez votre main devant lui, il doit reculer, faire demi-tour et avancer à nouveau (assurez-vous qu'il ne quitte pas la table!)



Nous avons construit une simple «arène» hexagonale en carton pour que le robot ait un endroit où monter. N'ayez pas peur d'expérimenter ce que vous avez.



Étape 8: développement ultérieur











Si vous souhaitez développer ce projet, voici les questions pour vous:



- Qu'avez-vous appris en assemblant le robot?

- qu'est-ce qui a influencé votre choix de pièces?

- Le robot ira-t-il plus vite si ses roues sont augmentées?



Il y a deux variables dans le code, corrigeant lesquelles, vous modifierez l'heure à laquelle le robot recule lorsqu'un obstacle est détecté et l'heure à laquelle il tournera. Essayez d'échanger goBackwardTime et turnRightTime et voyez comment cela affecte le comportement du robot.



//     

int goBackwardTime = 1000;

//    

int turnRightTime = 1000;




Voir également:






All Articles