Comment construire un robot à la maison?
Pour construire un robot simple qui peut se déplacer seul, achetez un kit de démarrage ou assemblez les composants dont vous avez besoin auprès d'un fournisseur d'électronique. Vous aurez besoin d'un microcontrôleur, le petit ordinateur qui servira de cerveau à votre robot; une paire de servos à rotation continue pour entraîner les roues; roues adaptées aux servos; un rouleau de roulette; une petite planche à pain sans soudure pour construire vos circuits; un support de batterie; un capteur de distance; un interrupteur à bouton-poussoir et des câbles volants. Fixez les servos à l'extrémité de la batterie avec du ruban adhésif double face ou de la colle chaude, en vous assurant que les extrémités rotatives des servos sont sur les côtés longs de la batterie. Fixez la planche à pain à la batterie à côté des servos avec du ruban adhésif ou de la colle chaude. Placez le microcontrôleur sur l'espace plat au-dessus des servos et fixez-le fermement.Appuyez fermement les roues sur les broches des servos. Fixez la roulette à l'avant de la planche à pain. La roulette tourne librement et agit comme la roue avant du robot, ce qui permet de tourner et de rouler facilement dans n'importe quelle direction. Branchez le capteur de distance à l'avant de votre planche à pain. Câblez votre robot en connectant les servos, le microcontrôleur, l'interrupteur et la batterie à votre maquette. Connectez votre microcontrôleur à un ordinateur via un câble USB. Téléchargez un programme de contrôle de base de votre ordinateur vers le microcontrôleur. Ce robot peut avancer, reculer, s'arrêter et se détourner des obstacles. Testez votre robot sur une surface plane et lisse et expérimentez pour voir ce que vous pouvez lui faire faire.le rendant facile à tourner et à rouler dans n'importe quelle direction. Branchez le capteur de distance à l'avant de votre planche à pain. Câblez votre robot en connectant les servos, le microcontrôleur, l'interrupteur et la batterie à votre maquette. Connectez votre microcontrôleur à un ordinateur via un câble USB. Téléchargez un programme de contrôle de base de votre ordinateur vers le microcontrôleur. Ce robot peut avancer, reculer, s'arrêter et se détourner des obstacles. Testez votre robot sur une surface plane et lisse et expérimentez pour voir ce que vous pouvez lui faire faire.le rendant facile à tourner et à rouler dans n'importe quelle direction. Branchez le capteur de distance à l'avant de votre planche à pain. Câblez votre robot en connectant les servos, le microcontrôleur, l'interrupteur et la batterie à votre maquette. Connectez votre microcontrôleur à un ordinateur via un câble USB. Téléchargez un programme de contrôle de base de votre ordinateur vers le microcontrôleur. Ce robot peut avancer, reculer, s'arrêter et se détourner des obstacles. Testez votre robot sur une surface plane et lisse et expérimentez pour voir ce que vous pouvez lui faire faire.et détournez-vous des obstacles. Testez votre robot sur une surface plane et lisse et expérimentez pour voir ce que vous pouvez lui faire faire.et détournez-vous des obstacles. Testez votre robot sur une surface plane et lisse et expérimentez pour voir ce que vous pouvez lui faire faire. Pour plus de conseils, notamment sur l'utilisation du logiciel Arduino, lisez la suite!
Voulez-vous apprendre à construire votre propre robot? Il existe de nombreux types de robots que vous pouvez fabriquer vous-même. La plupart des gens veulent voir un robot effectuer les tâches simples de se déplacer du point A au point B. Vous pouvez fabriquer un robot entièrement à partir de composants analogiques ou acheter un kit de démarrage à partir de zéro! Construire votre propre robot est un excellent moyen de vous apprendre à la fois l'électronique et la programmation informatique.
Partie 1 sur 6: assembler le robot
- 1Rassemblez vos composants. Afin de construire un robot de base, vous aurez besoin de plusieurs composants simples. Vous pouvez trouver la plupart, sinon la totalité, de ces composants dans votre magasin d'électronique local ou chez un certain nombre de détaillants en ligne. Certains kits de base peuvent également inclure tous ces composants. Ce robot ne nécessite aucune soudure:
- Arduino Uno (ou autre microcontrôleur)
- 2 servos à rotation continue
- 2 roues adaptées aux servos
- 1 rouleau de roulette
- 1 petite planche à pain sans soudure (recherchez une planche à pain qui a deux lignes positives et négatives de chaque côté)
- 1 capteur de distance (avec câble de connexion à quatre broches)
- 1 mini interrupteur à bouton poussoir
- 1 résistance 10kΩ
- 1 câble USB A vers B
- 1 jeu d'en-têtes de séparation
- 1 6 x support de pile AA avec prise d'alimentation 9V DC
- 1 paquet de fils de raccordement ou de fil de raccordement de calibre 22
- Ruban adhésif double face solide ou colle chaude
- 2Retournez la batterie de sorte que le dos plat soit orienté vers le haut. Vous construirez le corps du robot en utilisant la batterie comme base.
- 3Alignez les deux servos à l'extrémité de la batterie. Cela devrait être la fin par laquelle le fil de la batterie doit sortir. Les servos doivent toucher le fond, et les mécanismes de rotation de chacun doivent être tournés vers les côtés de la batterie. Il est important que les servos soient correctement alignés pour que les roues soient droites. Les fils des servos doivent sortir de l'arrière de la batterie.
- 4Fixez les servos avec votre ruban adhésif ou votre colle. Assurez-vous qu'ils sont solidement fixés à la batterie. L'arrière des servos doit être aligné avec l'arrière de la batterie.
- Les servos devraient maintenant occuper la moitié arrière de la batterie.
- 5Fixez la planche d'expérimentation perpendiculairement sur l'espace ouvert de la batterie. Il devrait dépasser un peu le devant de la batterie et s'étendre au-delà de chaque côté. Assurez-vous qu'il est solidement fixé avant de continuer. La rangée «A» doit être la plus proche des servos.
- 6Fixez le microcontrôleur Arduino aux sommets des servos. Si vous avez correctement attaché les servos, il devrait y avoir un espace plat fait en les touchant. Collez la carte Arduino sur cet espace plat de sorte que les connecteurs USB et d'alimentation de l'Arduino soient tournés vers l'arrière (loin de la maquette). L'avant de l'Arduino devrait à peine chevaucher la planche à pain.
- 7Mettez les roues sur les servos. Appuyez fermement les roues sur le mécanisme de rotation du servo. Cela peut nécessiter une force importante, car les roues sont conçues pour s'ajuster aussi étroitement que possible pour la meilleure traction.
- 8Fixez la roulette au bas de la planche à pain. Si vous retournez le châssis, vous devriez voir un peu de planche à pain s'étendre au-delà de la batterie. Fixez la roulette à cette pièce allongée, en utilisant des élévateurs si nécessaire. La roulette agit comme la roue avant, permettant au robot de tourner facilement dans n'importe quelle direction.
- Si vous avez acheté un kit, la roulette peut être fournie avec quelques élévateurs que vous pouvez utiliser pour vous assurer que la roulette atteint le sol. je
Partie 2 sur 6: Câblage du robot
- 1Détachez deux en-têtes à 3 broches. Vous les utiliserez pour connecter les servos à la maquette. Poussez les broches vers le bas à travers l'en-tête de sorte que les broches sortent à égale distance des deux côtés.
- 2Insérez les deux en-têtes dans les broches 1-3 et 6-8 de la rangée E de la maquette. Assurez-vous qu'ils sont fermement insérés.
- 3Connectez les câbles servo aux en-têtes, avec le câble noir sur le côté gauche (broches 1 et 6). Cela connectera les servos à la maquette. Assurez-vous que le servo gauche est connecté à l'en-tête gauche et le servo droit à l'en-tête droit.
- 4Connectez les fils de cavalier rouges des broches c2 et c7 aux broches de rail rouges (positives). Assurez-vous d'utiliser le rail rouge à l'arrière de la maquette (plus proche du reste du châssis).
- 5Connectez les fils cavaliers noirs des broches b1 et b6 aux broches de rail bleues (terre). Assurez-vous d'utiliser le rail bleu à l'arrière de la planche à pain. Ne les branchez pas sur les broches rouges du rail.
- 6Connectez les fils de cavalier blancs des broches 12 et 13 de l'arduino aux a3 et a8. Cela permettra à l'Arduino de contrôler les servos et de faire tourner les roues.
- 7Fixez le capteur à l'avant de la planche à pain. Il ne se branche pas sur les rails d'alimentation extérieurs de la maquette, mais sur la première rangée de broches en lettres (J). Assurez-vous de le placer exactement au centre, avec un nombre égal de broches disponibles de chaque côté.
- 8Connectez un cavalier noir de la broche i14 à la première broche de rail bleue disponible à gauche du capteur. Cela mettra le capteur à la terre.
- 9Connectez un cavalier rouge de la broche i17 à la première broche de rail rouge disponible à droite du capteur. Cela alimentera le capteur.
- 10Connectez les fils de cavalier blancs de la broche i15 à la broche 9 sur l'arduino et de i16 à la broche 8. Cela transmettra les informations du capteur au microcontrôleur.
Partie 3 sur 6: câblage de l'alimentation
- 1Retournez le robot sur le côté pour voir les batteries dans le pack. Orientez-le de manière à ce que le câble de la batterie sorte vers la gauche en bas.
- 2Connectez un fil rouge au deuxième ressort en partant de la gauche en bas. Assurez- vous absolument que la batterie est correctement orientée.
- 3Connectez un fil noir au dernier ressort en bas à droite. Ces deux câbles aideront à fournir la tension correcte à l'Arduino.
- 4Connectez les fils rouge et noir aux broches rouges et bleues à l'extrême droite à l'arrière de la carte d'expérimentation. Le câble noir doit être branché sur la broche bleue du rail à la broche 30. Le câble rouge doit être branché sur la broche rouge du rail à la broche 30.
- 5Connectez un fil noir de la broche GND de l'arduino au rail bleu arrière. Connectez-le à la broche 28 sur le rail bleu.
- 6Connectez un fil noir du rail bleu arrière au rail bleu avant à la broche 29 pour chacun. Ne connectez pas les rails rouges, car vous risqueriez d'endommager l'Arduino.
- 7Connectez un fil rouge du rail rouge avant à la broche 30 à la broche 5v sur l'arduino. Cela fournira la puissance à l'Arduino.
- 8Insérez l'interrupteur à bouton-poussoir dans l'espace entre les rangées sur les broches 24-26. Cet interrupteur vous permettra d'éteindre le robot sans avoir à débrancher l'alimentation.
- 9Connectez un fil rouge de h24 au rail rouge dans la prochaine broche disponible à droite du capteur. Cela alimentera le bouton.
- 10Utilisez la résistance pour connecter h26 au rail bleu. Connectez-le à la broche directement à côté du fil noir que vous avez connecté il y a quelques étapes.
- 11Connectez un fil blanc de g26 à la broche 2 sur l'arduino. Cela permettra à l'Arduino d'enregistrer le bouton poussoir.
Partie 4 sur 6: Installation du logiciel Arduino
- 1Téléchargez et extrayez l'IDE arduino. Il s'agit de l'environnement de développement Arduino et vous permet de programmer des instructions que vous pouvez ensuite télécharger sur votre microcontrôleur Arduino. Vous pouvez le télécharger gratuitement sur arduino.cc/en/main/software. Décompressez le fichier téléchargé en double-cliquant dessus et déplacez le dossier à l'intérieur vers un emplacement facile d'accès. Vous n'installez pas réellement le programme. Au lieu de cela, vous allez simplement l'exécuter à partir du dossier extrait en double-cliquant arduino.exe.
- 2Connectez la batterie à l'arduino. Branchez la prise arrière de la batterie dans le connecteur de l'Arduino pour lui donner de l'énergie.
- 3Branchez l'arduino sur votre ordinateur via USB. Windows ne reconnaîtra probablement pas l'appareil.
- 4
- 5Faites un clic droit sur le "périphérique inconnu" dans la section "autres périphériques" et sélectionnez "Mettre à jour le logiciel du pilote". Si vous ne voyez pas cette option, cliquez sur «Propriétés» à la place, sélectionnez l'onglet «Pilote», puis cliquez sur «Mettre à jour le pilote».
- 6Sélectionnez "parcourir mon ordinateur pour le logiciel du pilote." Cela vous permettra de sélectionner le pilote fourni avec l'IDE Arduino.
- 7Cliquez sur "parcourir" puis accédez au dossier que vous avez extrait précédemment. Vous trouverez un dossier «pilotes» à l'intérieur.
- 8Sélectionnez le dossier «pilotes» et cliquez sur «ok». Confirmez que vous souhaitez continuer si vous êtes averti d'un logiciel inconnu.
Partie 5 sur 6: programmation du robot
- 1Démarrez l'IDE arduino en double-cliquant sur le arduino.exefichier dans le dossier IDE. Vous serez accueilli avec un projet vierge.
- 2Collez le code suivant pour que votre robot aille tout droit. Le code ci-dessous fera avancer votre Arduino en permanence.
#include <Servo.h> // ceci ajoute la bibliothèque "Servo" au programme // ce qui suit crée deux objets servo Servo leftMotor; Servo rightMotor; void setup () {leftMotor.attach (12); // si vous avez accidentellement changé les numéros de broches de vos servos, vous pouvez échanger les numéros ici rightMotor.attach (13); } boucle void () {leftMotor.write (180); // avec une rotation continue, 180 indique au servo de se déplacer à pleine vitesse "vers l'avant". rightMotor.write (0); // si les deux sont à 180, le robot tournera en cercle car les servos sont retournés. "0" lui dit de se déplacer à pleine vitesse "en arrière". }
- 3Construisez et téléchargez le programme. Cliquez sur le bouton flèche droite dans le coin supérieur gauche pour créer et télécharger le programme sur l'Arduino connecté.
- Vous voudrez peut-être soulever le robot de la surface, car il continuera simplement à avancer une fois le programme téléchargé.
- 4Ajoutez la fonctionnalité de coupe-circuit. Ajoutez le code suivant à la section "void loop ()" de votre code pour activer le kill switch, au-dessus des fonctions "write ()".
if (digitalRead (2) == HIGH) // cela s'enregistre lorsque le bouton est enfoncé sur la broche 2 de l'Arduino {while (1) {leftMotor.write (90); // "90" est la position neutre des servos, ce qui leur dit d'arrêter de tourner à droiteMotor.write (90); }}
- 5Téléchargez et testez votre code. Avec le code du kill switch ajouté, vous pouvez télécharger et tester le robot. Il doit continuer à avancer jusqu'à ce que vous appuyiez sur l'interrupteur, auquel cas il s'arrêtera de bouger. Le code complet devrait ressembler à ceci:
#include <Servo.h> // ce qui suit crée deux objets servo Servo leftMotor; Servo rightMotor; void setup () {leftMotor.attach (12); rightMotor.attach (13); } boucle void () {if (digitalRead (2) == HIGH) {while (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }
Partie 6 sur 6: exemple
- 1Suivez un exemple. Le code suivant utilisera le capteur attaché au robot pour le faire tourner vers la gauche chaque fois qu'il rencontre un obstacle. Voir les commentaires dans le code pour plus de détails sur ce que fait chaque pièce. Le code ci-dessous est le programme complet.
#include <Servo.h> Servo leftMotor; Servo rightMotor; const int serialPeriod = 250; // ceci limite la sortie vers la console à une fois toutes les 0,25 seconde non signé long timeSerialDelay = 0; const int loopPeriod = 20; // ceci définit la fréquence à laquelle le capteur prend une lecture à 20 ms, ce qui correspond à une fréquence de 50 Hz non signée long timeLoopDelay = 0; // cela affecte les fonctions TRIG et ECHO aux broches de l'Arduino. Ajustez les nombres ici si vous avez connecté différemment const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2Distance; int ultrasonic2Duration; // ceci définit les deux états possibles pour le robot: avancer ou tourner à gauche #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = avancer (DEFAULT), 1 = tourner à gauche void setup () {Serial.begin (9600);// ces configurations de broches du capteur pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasonic2EchoPin, INPUT); // ceci affecte les moteurs aux broches Arduino leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // cela détecte le kill switch {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // ceci imprime les messages de débogage sur la console série if (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // ceci indique au capteur de lire et de stocker les distances mesurées stateMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // si aucun obstacle détecté {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // s'il n'y a rien devant le robot.ultrasonicDistance sera négatif pour certains ultrasons s'il n'y a pas d'obstacle {// avancer rightMotor.write (180); leftMotor.write (0); } else // s'il y a un objet devant nous {state = TURN_LEFT; }} else if (state == TURN_LEFT) // si un obstacle est détecté, tourner à gauche {unsigned long timeToTurnLeft = 500; // il faut environ 0,5 seconde pour tourner à 90 degrés. Vous devrez peut-être ajuster cela si vos roues ont une taille différente de celle de l'exemple unsigned long turnStartTime = millis (); // enregistrer le temps que nous avons commencé à tourner pendant que ((millis () - turnStartTime) <timeToTurnLeft) // rester dans cette boucle jusqu'à ce que timeToTurnLeft se soit écoulé {// tourner à gauche, rappelez-vous que lorsque les deux sont réglés sur "180", il tournera. rightMotor.write (180); leftMotor.write (180); } état = DRIVE_FORWARD; }} void readUltrasonicSensors () {// c'est pour ultrasons 2.Vous devrez peut-être modifier ces commandes si vous utilisez un autre capteur. digitalWrite (ultrasonic2TrigPin, HIGH); delayMicrosecondes (10); // maintient la broche de déclenchement haute pendant au moins 10 microsecondes digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulseIn (ultrasonic2EchoPin, HIGH); ultrasonic2Distance = (ultrasonic2Duration / 2) / 29; } // ce qui suit concerne les erreurs de débogage dans la console. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}ultrasonic2Duration = pulseIn (ultrasonic2EchoPin, HIGH); ultrasonic2Distance = (ultrasonic2Duration / 2) / 29; } // ce qui suit concerne les erreurs de débogage dans la console. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}ultrasonic2Duration = pulseIn (ultrasonic2EchoPin, HIGH); ultrasonic2Distance = (ultrasonic2Duration / 2) / 29; } // ce qui suit concerne les erreurs de débogage dans la console. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}
Questions et réponses
- Pour quels types de choses puis-je utiliser un robot fait maison?Vous pouvez en théorie l'utiliser pour tout, du service à table à la vaisselle ou au balayage, selon la force de vos compétences en programmation.
- Comment s'appelle l'appareil dont vous avez besoin pour déplacer les mains, les bras et les jambes robotiques?Les servos (servomoteurs) sont généralement utilisés pour déplacer les bras robotiques. Les servos réguliers ont une circulation limitée.
- Puis-je utiliser un ancien téléphone portable avec Arduino?Oui bien sûr. Les modules Bluetooth peuvent être utilisés pour connecter Arduino à un téléphone portable.
- Où puis-je trouver le matériel dont j'ai besoin?Vous pouvez obtenir certains de vos documents sur Amazon ou ailleurs en ligne.
- Quel capteur est utilisé pour la distance?Dans la programmation ultérieure, votre bot utilisera un capteur à ultrasons. Google "Capteur à ultrasons avec Arduino" pour obtenir de l'aide!
- Est-ce un simple robot?Oui, probablement le plus simple. Les principales pièces nécessaires dont vous avez besoin pour construire le robot de base sont répertoriées en haut de la page. La seule partie difficile est le câblage, vraiment.
- Va-t-il à gauche et à droite?En ne faisant tourner que le moteur gauche, il tournera à droite, et en tournant uniquement le moteur droit, il tournera à droite.
- Pourquoi dois-je télécharger le logiciel Arduino?Le code Arduino est très simplifié et basé sur C ++. D'autres microcontrôleurs sont également disponibles qui utilisent d'autres logiciels.
- Quelle est la signification d'arduino?Arduino est comme les systèmes d'exploitation de vos téléphones, mais c'est le système d'exploitation des robots. Il existe de nombreux programmes de ce type, comme C ++ ou Java, etc.
- Combien de temps faut-il pour construire un robot?Cela dépend de la complexité du robot. Vous pouvez construire un robot simple en aussi peu qu'une journée. Un robot plus complexe pourrait prendre plusieurs mois.
- Puis-je utiliser un Raspberry Pi pour construire un robot à la maison?
- Comment connecter les fils sauteurs au ressort de la batterie?
- Puis-je utiliser n'importe quel type de batteries lors de la construction d'un robot à la maison?
- Et si je n'ai pas de matériel pour construire un robot à la maison et que je veux improviser?
- Quel est le nom du langage de programmation que vous utilisez?