Vous voulez 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 consistant à se déplacer d'un point A à un point B. Vous pouvez créer 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 d'apprendre à la fois l'électronique et la programmation informatique.
Pas
Partie 1 sur 6: Assemblage du robot
Étape 1. Rassemblez vos composants
Pour 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 de bricolage électronique local ou chez plusieurs 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 qui s'adaptent aux servos
- 1 roulette à roulettes
- 1 petite planche à pain sans soudure (cherchez 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 bouton poussoir
- 1 résistance de 10kΩ
- 1 câble USB A vers B
- 1 jeu d'en-têtes échappés
- 1 support de 6 piles 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 ou colle chaude
Étape 2. Retournez la batterie de manière à ce que le dos plat soit orienté vers le haut
Vous construirez le corps du robot en utilisant la batterie comme base.
Étape 3. Alignez les deux servos à l'extrémité de la batterie
Cela devrait être la fin par laquelle le fil de la batterie sort. 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. Les servos doivent être correctement alignés pour que les roues soient droites. Les fils des servos doivent sortir de l'arrière de la batterie.
Étape 4. Fixez 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
Étape 5. Fixez la planche à pain perpendiculairement sur l'espace ouvert sur la batterie
Il doit pendre un peu à l'avant 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.
Étape 6. Fixez le microcontrôleur Arduino au sommet des servos
Si vous avez correctement fixé les servos, il devrait y avoir un espace plat créé par leur contact. Collez la carte Arduino sur cet espace plat de sorte que les connecteurs USB et d'alimentation de l'Arduino soient face à l'arrière (loin de la planche à pain). L'avant de l'Arduino doit à peine chevaucher la planche à pain.
Étape 7. Mettez 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'adapter aussi étroitement que possible pour la meilleure traction.
Étape 8. Fixez la roulette au bas de la planche à pain
Si vous retournez le châssis, vous devriez voir un peu de maquette s'étendre au-delà de la batterie. Fixez la roulette à cette pièce prolongée, en utilisant des contremarches 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 livrée 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
Étape 1. Séparez 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.
Étape 2. Insérez les deux en-têtes dans les broches 1-3 et 6-8 de la rangée E de la planche à pain
Assurez-vous qu'ils sont fermement insérés.
Étape 3. Connectez les câbles des servos aux embases, avec le câble noir sur le côté gauche (broches 1 et 6)
Cela connectera les servos à la planche à pain. Assurez-vous que le servo gauche est connecté à l'en-tête gauche et le servo droit à l'en-tête droit.
Étape 4. Connectez les cavaliers rouges des broches C2 et C7 aux broches rouges (positives) du rail
Assurez-vous d'utiliser le rail rouge à l'arrière de la maquette (plus proche du reste du châssis).
Étape 5. Connectez les cavaliers noirs des broches B1 et B6 aux broches du rail bleu (terre)
Assurez-vous que vous utilisez le rail bleu à l'arrière de la planche à pain. Ne les branchez pas dans les broches du rail rouge.
Étape 6. Connectez les cavaliers blancs des broches 12 et 13 de l'Arduino à A3 et A8
Cela permettra à l'Arduino de contrôler les servos et de faire tourner les roues.
Étape 7. Fixez le capteur à l'avant de la planche à pain
Il ne se branche pas sur les rails d'alimentation externes de la planche à pain, mais plutôt sur la première rangée de broches lettrées (J). Assurez-vous de le placer exactement au centre, avec un nombre égal de broches disponibles de chaque côté.
Étape 8. Connectez un cavalier noir de la broche I14 à la première broche de rail bleue disponible sur la gauche du capteur
Cela mettra le capteur à la terre.
Étape 9. Connectez un cavalier rouge de la broche I17 à la première broche de rail rouge disponible à droite du capteur
Cela alimentera le capteur.
Étape 10. Connectez les cavaliers blancs de la broche I15 à la broche 9 de l'Arduino et de I16 à la broche 8
Cela fournira des informations du capteur au microcontrôleur.
Partie 3 sur 6: Câblage de l'alimentation
Étape 1. Retournez le robot sur le côté afin que vous puissiez voir les batteries dans le pack
Orientez-le de manière à ce que le câble de la batterie sorte en bas vers la gauche.
Étape 2. Connectez un fil rouge au deuxième ressort en partant de la gauche en bas
Assurez-vous que la batterie est correctement orientée.
Étape 3. Connectez un fil noir au dernier ressort en bas à droite
Ces deux câbles aideront à fournir la tension correcte à l'Arduino.
Étape 4. Connectez les fils rouge et noir aux broches rouges et bleues les plus à droite à l'arrière de la planche à pain
Le câble noir doit être branché dans la broche du rail bleu à la broche 30. Le câble rouge doit être branché dans la broche du rail rouge à la broche 30.
Étape 5. Connectez un fil noir de la broche GND de l'Arduino au rail bleu arrière
Connectez-le à la broche 28 sur le rail bleu.
Étape 6. Connectez 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.
Étape 7. Connectez un fil rouge du rail rouge avant à la broche 30 à la broche 5V de l'Arduino
Cela fournira de l'énergie à l'Arduino.
Étape 8. Insérez le 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.
Étape 9. Connectez un fil rouge de H24 au rail rouge dans la prochaine broche disponible à droite du capteur
Cela alimentera le bouton.
Étape 10. Utilisez 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.
Étape 11. Connectez un fil blanc de G26 à la broche 2 de l'Arduino
Cela permettra à l'Arduino d'enregistrer le bouton poussoir.
Partie 4 sur 6: Installation du logiciel Arduino
Étape 1. Té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'installerez pas réellement le programme. Au lieu de cela, vous l'exécuterez simplement à partir du dossier extrait en double-cliquant sur arduino.exe.
Étape 2. Connectez la batterie à l'Arduino
Branchez la prise arrière de la batterie dans le connecteur de l'Arduino pour lui donner de l'énergie.
Étape 3. Branchez l'Arduino sur votre ordinateur via USB
Windows ne reconnaîtra probablement pas l'appareil.
Étape 4. Appuyez sur
Gagner + R et tapez devmgmt.msc.
Cela lancera le gestionnaire de périphériques.
Étape 5. Cliquez avec le bouton droit sur « 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".
Étape 6. Sélectionnez "Parcourir mon ordinateur pour le logiciel pilote
" Cela vous permettra de sélectionner le pilote fourni avec l'IDE Arduino.
Étape 7. Cliquez sur "Parcourir", puis accédez au dossier que vous avez extrait précédemment
Vous trouverez un dossier "drivers" à l'intérieur.
Étape 8. Sé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
Étape 1. Démarrez l'IDE Arduino en double-cliquant sur le fichier arduino.exe dans le dossier IDE
Vous serez accueilli avec un projet vierge.
Étape 2. Collez le code suivant pour que votre robot aille tout droit
Le code ci-dessous fera avancer votre Arduino en continu.
#include // ceci ajoute la bibliothèque "Servo" au programme // ce qui suit crée deux objets servo Servo leftMotor; Servo droitMoteur; void setup() { leftMotor.attach(12); // si vous avez accidentellement changé les numéros de broche de vos servos, vous pouvez échanger les numéros ici rightMotor.attach(13); } boucle vide() { leftMotor.write(180); // avec une rotation continue, 180 indique au servo de se déplacer à pleine vitesse "en avant". moteur droit. écrire(0); // si les deux sont à 180, le robot ira en cercle car les servos sont inversés. "0", lui dit de se déplacer à pleine vitesse "en arrière". }
Étape 3. Créez 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 à avancer une fois le programme téléchargé
Étape 4. Ajoutez la fonctionnalité de kill switch
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) // ceci s'enregistre lorsque le bouton est enfoncé sur la broche 2 de l'Arduino { while(1) { leftMotor.write (90); // "90" est la position neutre pour les servos, ce qui leur dit d'arrêter de tourner à droiteMotor.write(90); } }
Étape 5. Téléchargez et testez votre code
Avec le code 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 // ce qui suit crée deux objets servo Servo leftMotor; Servo droitMoteur; void setup() { leftMotor.attach(12); rightMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) { while(1) { leftMotor.write(90); Moteurdroit.write(90); } } gaucheMoteur.write(180); rightMotor.write(0); }
Partie 6 sur 6: Exemple
Étape 1. Suivez 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 partie. Le code ci-dessous est le programme complet.
#include Servo leftMotor; Servo droitMoteur; const int serialPeriod = 250; // cela limite la sortie vers la console à une fois tous les 1/4 de seconde long timeSerialDelay = 0; const int loopPeriod = 20; // cela définit la fréquence à laquelle le capteur prend une lecture à 20 ms, ce qui correspond à une fréquence de 50 Hz long timeLoopDelay = 0; // cela affecte les fonctions TRIG et ECHO aux broches de l'Arduino. Ajustez les nombres ici si vous vous êtes connecté différemment const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonique2Distance; 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 de capteur pinMode(ultrasonic2TrigPin, OUTPUT); pinMode(ultrasonic2EchoPin, INPUT); // cela affecte les moteurs aux broches Arduino leftMotor.attach(12); rightMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) // ceci détecte le kill switch { while(1) { leftMotor.write(90); Moteurdroit.write(90); } } debugOutput(); // ceci imprime les messages de débogage sur la console série if(millis() - timeLoopDelay >= loopPeriod) { readUltrasonicSensors(); // cela demande 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); gaucheMoteur.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 sont d'une taille différente de celle de l'exemple long non signé turnStartTime = millis(); // enregistrer le temps que nous avons commencé à tourner while((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. Moteurdroit.write(180); Moteurgauche.write(180); } état = DRIVE_FORWARD; } } void readUltrasonicSensors() { // c'est pour les ultrasons 2. Vous devrez peut-être modifier ces commandes si vous utilisez un autre capteur. digitalWrite (ultrasonic2TrigPin, HAUT); délaiMicrosecondes(10); // maintient la broche de déclenchement élevée pendant au moins 10 microsecondes digitalWrite(ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulseIn(ultrasonic2EchoPin, HIGH); ultrasonic2Distance = (ultrasonic2Duration/2)/29; } // ce qui suit est pour le débogage des erreurs dans la console. void debugOutput() { if((millis() - timeSerialDelay) > serialPeriod) { Serial.print("ultrasonic2Distance: "); Serial.print(ultrasonic2Distance); Serial.print("cm"); Serial.println(); timeSerialDelay = millis(); } }