Comment construire un robot à la maison (avec photos)

Table des matières:

Comment construire un robot à la maison (avec photos)
Comment construire un robot à la maison (avec photos)

Vidéo: Comment construire un robot à la maison (avec photos)

Vidéo: Comment construire un robot à la maison (avec photos)
Vidéo: Rendu photo réaliste à partir de SketchUp 2024, Peut
Anonim

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

1123333 1
1123333 1

É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
1123333 2
1123333 2

É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.

1123333 3
1123333 3

É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.

1123333 4
1123333 4

É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

1123333 5
1123333 5

É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.

1123333 6
1123333 6

É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.

1123333 7
1123333 7

É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.

1123333 8
1123333 8

É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

1123333 9
1123333 9

É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.

1123333 10
1123333 10

É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.

1123333 11
1123333 11

É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.

1123333 12
1123333 12

É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).

1123333 13
1123333 13

É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.

1123333 14
1123333 14

É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.

1123333 15
1123333 15

É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é.

1123333 16
1123333 16

É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.

1123333 17
1123333 17

É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.

1123333 18
1123333 18

É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

1123333 19
1123333 19

É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.

1123333 20
1123333 20

É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.

1123333 21
1123333 21

Étape 3. Connectez un fil noir au dernier ressort en bas à droite

Ces deux câbles aideront à fournir la tension correcte à l'Arduino.

1123333 22
1123333 22

É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.

1123333 23
1123333 23

É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.

1123333 24
1123333 24

É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.

1123333 25
1123333 25

É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.

1123333 26
1123333 26

É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.

1123333 27
1123333 27

Étape 9. Connectez un fil rouge de H24 au rail rouge dans la prochaine broche disponible à droite du capteur

Cela alimentera le bouton.

1123333 28
1123333 28

É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.

1123333 29
1123333 29

É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

1123333 30
1123333 30

É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.

1123333 31
1123333 31

É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.

1123333 32
1123333 32

Étape 3. Branchez l'Arduino sur votre ordinateur via USB

Windows ne reconnaîtra probablement pas l'appareil.

1123333 33
1123333 33

Étape 4. Appuyez sur

Gagner + R et tapez devmgmt.msc.

Cela lancera le gestionnaire de périphériques.

1123333 34
1123333 34

É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".

1123333 35
1123333 35

Étape 6. Sélectionnez "Parcourir mon ordinateur pour le logiciel pilote

" Cela vous permettra de sélectionner le pilote fourni avec l'IDE Arduino.

1123333 36
1123333 36

É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.

1123333 37
1123333 37

É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

1123333 38
1123333 38

É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.

1123333 39
1123333 39

É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". }

1123333 40
1123333 40

É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é

1123333 41
1123333 41

É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); } }

1123333 42
1123333 42

É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(); } }

Conseillé: