- Matériaux nécessaires:
- Impression 3D des pièces requises:
- Matériel et schémas:
- Assemblage du robot:
- Programmation de l'Arduino pour Biped Robot:
- Application Android basée sur le traitement:
- Fonctionnement du robot bipède contrôlé par Bluetooth:
Bienvenue dans un autre projet dans lequel nous allons construire un petit robot qui peut marcher et danser. Le projet vise à vous apprendre à fabriquer de petits robots de loisir en utilisant Arduino et à programmer vos servomoteurs pour de telles applications. À la fin du projet, vous pourrez créer ce robot marchant et dansant qui prend les commandes d'un téléphone mobile Android pour effectuer des actions prédéfinies. Vous pouvez également utiliser le programme (donné à la fin du tutoriel) pour manipuler facilement les actions de votre propre robot en contrôlant la position des servomoteurs à l'aide du moniteur série. Avoir une imprimante 3D rendra ce projet plus intéressant et plus cool. Mais, si vous n'en avez pas, vous pouvez utiliser l'un des services en ligne ou simplement utiliser du carton pour le construire.
Matériaux nécessaires:
Voici les matériaux nécessaires à la construction de ce robot:
- Arduino nano
- Servo SG90 - 4Nos
- Bâtonnets de berg mâles
- Module Bluetooth HC-05 / HC-06
- Imprimante 3D
Comme vous pouvez le voir, ce robot imprimé en 3D nécessite très peu de pièces électroniques à construire pour maintenir le coût du projet aussi bas que possible. Ce projet est uniquement à des fins conceptuelles et amusantes et n'a pour l'instant aucune application en temps réel.
Impression 3D des pièces requises:
L'impression 3D est un outil incroyable qui peut beaucoup contribuer lors de la construction de projets de prototypes ou de l'expérimentation de nouvelles conceptions mécaniques. Si vous n'avez pas encore découvert les avantages d'une imprimante 3D ou son fonctionnement, vous pouvez lire le Guide du débutant sur l'impression 3D.
Dans ce projet, le corps du robot illustré ci-dessus est entièrement imprimé en 3D. Vous pouvez télécharger les fichiers STL à partir d'ici. Chargez ces fichiers sur votre logiciel d'impression 3D comme Cura et imprimez-les directement. J'ai utilisé une de mes imprimantes très basiques pour imprimer toutes les pièces. L'imprimante est FABX v1 de 3ding qui vient à un prix abordable avec un volume d'impression de 10 cm cubes. Le prix bon marché vient avec un compromis avec une faible résolution d'impression et pas de carte SD ou de fonction de reprise d'impression. J'utilise un logiciel appelé Cura pour imprimer les fichiers STL. Les paramètres que j'ai utilisés pour imprimer les matériaux sont indiqués ci-dessous.Vous pouvez les utiliser ou les modifier en fonction de votre imprimante.
Une fois que vous imprimez toutes les pièces, nettoyez les supports (le cas échéant), puis assurez-vous que les trous sur la partie jambe et le ventre sont suffisamment grands pour accueillir une vis. Sinon, utilisez une aiguille pour agrandir légèrement le trou. Vos pièces imprimées en 3D ressembleront à quelque chose ci-dessous.
Matériel et schémas:
Le matériel pour ce robot Arduino bipède contrôlé par téléphone portable est vraiment simple. Les schémas complets sont montrés dans l'image ci-dessous
J'ai utilisé une carte Perf pour effectuer les connexions ci-dessus. Assurez-vous que votre circuit s'adapte également à l'intérieur de la tête du robot. Une fois que votre carte Perf est prête, elle devrait ressembler à ceci.
Assemblage du robot:
Une fois que le matériel et les pièces imprimées en 3D sont prêts, nous pouvons assembler le robot. Avant de fixer les moteurs, assurez-vous de placer les moteurs dans les angles ci-dessous afin que le programme fonctionne parfaitement.
Numéro de moteur |
Place du moteur |
Position du moteur |
1 |
Moteur de la hanche gauche |
110 |
2 |
Moteur de la hanche droite |
100 |
4 |
Moteur de la cheville droite |
90 |
5 |
Moteur de la hanche droite |
80 |
Ces angles peuvent être définis en utilisant le programme donné à la fin du tutoriel. Téléchargez simplement le programme sur votre Arduino après avoir effectué les connexions ci-dessus et tapez ce qui suit dans le moniteur série (Remarque: le débit en bauds est de 57600).
1, 100, 110
2,90 100
4,80,90
5,70,80
Votre moniteur série devrait ressembler à ceci après avoir placé tous vos moteurs en position.
Une fois que les moteurs sont réglés dans les angles correspondants, montez-les comme indiqué sur la figure ci-dessus.
Si vous ne savez pas comment assembler les moteurs, suivez la vidéo à la fin de ce tutoriel. Une fois le robot assemblé, il est temps de programmer notre robot de danse
Programmation de l'Arduino pour Biped Robot:
La programmation du robot BBB ( Bluetooth Biped Bob ) est la partie la plus intéressante et la plus amusante de ce tutoriel. Si vous êtes très doué dans la programmation des servomoteurs avec Arduino, je vous recommanderais de faire votre programme. Bt, si vous voulez apprendre à utiliser les servomoteurs pour des applications robotiques comme celle-ci, alors ce programme sera très utile pour. Vous pouvez en savoir plus sur la programmation arduino dans notre catégorie projets arduino.
Le programme complet est donné à la fin de ce tutoriel, ou vous pouvez télécharger le code complet ici. J'expliquerai les segments de la même chose ci-dessous. Le programme est capable de contrôler les actions des robots via un moniteur série ou Bluetooth. Vous pouvez également effectuer vos propres mouvements en contrôlant chaque moteur individuel à l'aide du moniteur série.
servo1.attach (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
Les lignes de code ci-dessus permettent de mentionner quel servomoteur est connecté à quelle broche de l'Arduino. Ici, dans notre cas, les servos 1, 2, 4 et 5 sont connectés aux broches 3, 5, 9 et 10 respectivement.
Bot_BT.begin (9600); // démarrer la communication Bluetooth à 9600 baudrate Serial.begin (57600);
Comme indiqué précédemment, notre robot marcheur peut travailler sur les commandes Bluetooth et également à partir des commandes du moniteur série. Par conséquent, la communication série Bluetooth fonctionne avec un débit en bauds de 9600 et la communication série fonctionne avec un débit en bauds de 57600. Le nom de notre objet Bluetooth ici est «Bot_BT».
commutateur (moteur) {cas 1: // Pour le moteur un {Serial.println ("Exécution du moteur un"); si (num1
Le boîtier de commutation illustré ci-dessus est utilisé pour contrôler les servomoteurs individuellement. Cela vous aidera à faire vos propres mouvements créatifs avec votre robot. Avec ce segment de code, vous pouvez simplement indiquer le numéro du moteur, de l'angle et de l'angle pour faire bouger un moteur particulier vers un emplacement souhaité.
Par exemple, si nous voulons déplacer le moteur numéro 1 qui est le moteur de la hanche gauche de son emplacement par défaut de 110 degrés à 60 degrés. Nous pouvons simplement écrire «1,110,60» dans le moniteur série d'Arduino et appuyer sur Entrée. Cela vous sera utile pour effectuer vos propres mouvements complexes avec votre robot. Une fois que vous avez expérimenté tous les angles de l'ange et de l'angle, vous pouvez alors faire vos propres mouvements et les répéter en le faisant comme une fonction.
if (Serial.available ()> 0) // Lire ce qui arrive via Serial {gmotor = Serial.parseInt (); Serial.print ("Numéro sélectionné->"); Serial.print (gmotor); Serial.print (","); gnum1 = Serial.parseInt (); Serial.print (gnum1); Serial.print ("degré"); gnum2 = Serial.parseInt (); Serial.print (gnum2); Serial.println ("degré"); drapeau = 1; }
Si une donnée de série est disponible, le numéro avant le premier «,» est considéré comme gmotor, puis le numéro avant le deuxième «,» est considéré comme gnum1 et le numéro après le second «,» est considéré comme gnum2.
if (Bot_BT.available ()) // Lire ce qui arrive via Bluetooth {BluetoothData = Bot_BT.read (); Serial.print ("Incoming from BT:"); Serial.println (BluetoothData); }
Si le Bluetooth reçoit des informations, les informations reçues sont stockées dans la variable «BluetoothData». Cette variable est ensuite comparée aux valeurs prédéfinies pour exécuter une action particulière.
if (flag == 1) call (gmotor, gnum1, gnum2); // appelle le moteur respectif pour action // Exécute les fonctions selon la communication reçue via le moniteur série ou Bluetooth // if (gmotor == 10) left_leg_up (); if (gmotor == 11) right_leg_up (); if (gmotor == 12) move_left_front (); if (gmotor == 13) move_right_front (); if (BluetoothData == 49 - gmotor == 49) say_hi (); if (BluetoothData == 50 - gmotor == 50) marche1 (); if (BluetoothData == 51 - gmotor == 51) walk2 (); if (BluetoothData == 52 - gmotor == 52) dance1 (); if (BluetoothData == 53 - gmotor == 53) dance2 (); if (BluetoothData == 54 - gmotor == 54) {test (); test (); test ();}
C'est là que les fonctions sont appelées en fonction des valeurs reçues du moniteur série ou du Bluetooth. Comme indiqué ci-dessus, la variable gmotor aura la valeur de moniteur série et BluetoothData aura la valeur du périphérique Bluetooth. Les nombres 10,11,12 jusqu'à 53,54 sont des nombres prédéfinis.
Par exemple, si vous entrez le numéro 49 dans le moniteur série. La fonction say_hi () sera exécutée là où le robot vous saluera.
Toutes les fonctions sont définies dans la page «Bot_Functions». Vous pouvez l'ouvrir et voir ce qui se passe réellement dans chaque fonction. Toutes ces fonctions ont été créées en expérimentant les anges et les anges de chaque moteur en utilisant le boîtier de commutation expliqué ci-dessus. Si vous avez le moindre doute, vous pouvez utiliser la section des commentaires pour les publier et je serai heureux de vous aider.
Application Android basée sur le traitement:
L'application Android pour contrôler le robot a été créée en utilisant le mode Traitement Android. Si vous souhaitez apporter des modifications à l'application, vous pouvez télécharger le programme de traitement complet à partir d'ici.
Si vous souhaitez simplement utiliser l'application, vous pouvez la télécharger à partir d'ici sous forme de fichier APK et l'installer directement sur votre téléphone mobile.
Remarque: votre module Bluetooth doit être nommé HC-06 sinon l'application ne pourra pas se connecter à votre module Bluetooth.
Une fois l'application installée, vous pouvez coupler le module Bluetooth avec votre téléphone, puis lancer l'application. Cela devrait ressembler à ceci ci-dessous.
Si vous souhaitez rendre votre application plus attrayante ou vous connecter à tout autre appareil que Hc-06. Vous pouvez utiliser le code de traitement et y apporter des modifications, puis télécharger le code directement sur votre téléphone.
Fonctionnement du robot bipède contrôlé par Bluetooth:
Une fois que votre matériel, votre application Android et Arduino Sketch sont prêts, il est temps de vous amuser avec notre robot. Vous pouvez contrôler le robot à partir de l'application Bluetooth en utilisant les boutons de l'application ou directement à partir du moniteur série en utilisant l'une des commandes suivantes, comme indiqué dans l'image ci-dessous.
Chaque commande obligera le robot à effectuer des tâches particulières et vous pourrez également ajouter d'autres actions en fonction de votre créativité.
Le robot peut également être alimenté par un adaptateur 12V ou peut également être alimenté en utilisant une batterie 9V. Cette batterie peut être facilement positionnée sous la carte Perf et peut également être recouverte de la tête du robot.
Le fonctionnement complet de ce robot contrôlé par téléphone intelligent peut être trouvé dans la vidéo ci-dessous.