Voulez-vous apprendre à construire votre propre robot ? Il existe de nombreux types différents de robots que vous pouvez fabriquer vous-même. La plupart des gens veulent que le leur effectue des tâches simples, par exemple aller d'un point A à un point B. Vous pouvez en construire un avec des composants analogues ou vous pouvez aussi démarrer de zéro. C'est une excellente activité pour apprendre les bases de l'électronique et de la programmation.
Étapes
-
Procurez-vous le matériel. Pour pouvoir construire un robot de base, vous avez besoin de plusieurs éléments simples. Vous trouverez la plupart de ces éléments dans un magasin d'électronique et sur de nombreux sites de vente sur Internet. Certains kits de base devraient aussi les proposer. Le robot que vous allez construire ne demande pas de soudure. Voici ce qu'il vous faut :
- 1 Arduino Uno (ou un autre type de microcontrôleur)
- 2 servomoteurs à rotation continue
- 2 roues adaptées aux servos
- 1 roue libre
- 1 petite plaque d'essai (breadboard) avec une ligne positive et négative de chaque côté
- 1 détecteur de distance (avec un connecteur à quatre fiches)
- 1 petit interrupteur avec un résistor de 10 kΩ
- des connecteurs sécables
- 1 boîtier pour 6 piles AA avec une prise de 9 Votre DC
- des câbles connecteurs
- du ruban adhésif double-face résistant ou de la colle chaude
-
Retournez le boîtier des piles pour exposer l'arrière. Vous allez vous servir du boîtier comme d'une base pour la construction du robot.
-
Alignez les deux servos. Alignez les deux servomoteurs au bout du boîtier. Cela doit être le bout d'où sortent les câbles d'alimentation. Les servos devraient toucher le bas et les mécanismes rotatifs de chacun doivent être tournés vers l'extérieur du boîtier. Il est important d'aligner correctement les servos pour que les roues soient droites. Les câbles des servos doivent dépasser sur l'intérieur du boîtier.
-
Fixez les servos. Maintenez les servos en place avec du ruban adhésif ou de la colle. Vous devez vérifier qu'ils sont bien fixés sur le boîtier. L'arrière des moteurs doit être parfaitement aligné avec l'arrière du boîtier.
- Ils devraient maintenant occuper la moitié de l'arrière du boîtier des piles.
-
Fixez la plaque d'essai. Collez la plaque d'essai perpendiculairement au boîtier. Elle doit dépasser un petit peu sur le devant du boîtier et sur les deux côtés. Assurez-vous de bien la fixer avant de continuer. La rangée A doit être la plus proche des servos.
-
Fixez l'Arduino. Fixez le microcontrôleur Arduino sur le dessus des moteurs. Si vous les avez bien fixés, il devrait y avoir un espace plat sur le dessus là où ils se touchent. Collez la plaque de l'Arduino dessus de façon à ce que le port USB et la prise d'alimentation soient tournés vers l'arrière, dans la direction opposée à la plaque d'essai. L'avant de l'Arduino ne devrait que dépasser légèrement sur la plaque d'essai.
-
Installez les roues. Appuyez fermement sur les roues pour les fixer au mécanisme rotatif du moteur. Cela pourrait vous demander un peu de force, car les roues sont conçues pour être serrées le plus possible sur l'axe afin de fournir la meilleure traction possible.
-
Fixez la roue libre au bas de la plaque. Si vous retournez le châssis, vous devriez voir qu'une partie de la plaque d'essai dépasse du boîtier des piles. Fixez la roue libre dessus en utilisant des cales si nécessaire pour ajuster la hauteur de la roue. Cette roue libre va être la roue avant et va permettre au robot de tourner dans n'importe quelle direction [1] X Source de recherche .
- Si vous avez acheté un kit, la roue libre a peut-être été livrée avec des cales que vous pouvez utiliser pour vous assurer qu'elle touche bien le sol.
Publicité
-
Détachez deux connecteurs à trois fiches. Vous allez vous en servir pour connecter les servomoteurs à la plaque d'essai. Appuyez sur les fiches pour les faire sortir de la partie en plastique afin qu'elles aient toutes la même taille des deux côtés.
-
Installez les deux connecteurs. Insérez les deux connecteurs dans les emplacements 1-3 et 6-8 de la rangée E sur la plaque. Assurez-vous de les avoir bien enfoncés.
-
Reliez les câbles des servos aux connecteurs. Lorsque vous le faites, reliez le câble noir au côté gauche (fiche 1 et 6). Cela permet de connecter les servos à la plaque d'essai. Assurez-vous que le servo gauche est relié au connecteur gauche et le servo droit au connecteur droit.
-
Connectez les câbles rouges. Reliez les câbles rouges des fiches C2 et C7 à la ligne rouge (positive) de la plaque d'essai. Assurez-vous d'utiliser la rangée en rouge à l'arrière de la plaque (celle qui est la plus proche du reste du châssis).
-
Connectez les câbles noirs. Reliez les câbles noirs des fiches B1 et B6 à la ligne bleue (négative) de la plaque d'essai. Assurez-vous d'utiliser la rangée en bleu à l'arrière de la plaque. Ne les branchez surtout pas sur la rangée en rouge.
-
Connectez les câbles blancs. Reliez les câbles connecteurs blancs des fiches 12 et 13 aux fiches A3 et A8 de l'Arduino. Cela permettra au microcontrôleur de contrôler les servos et de faire tourner les roues.
-
Fixez le détecteur à l'avant de la plaque. Vous ne devez pas l'installer dans la rangée reliée au courant de la plaque d'essai, mais plutôt à la première rangée de fiches avec la lettre J. Assurez-vous de bien le placer au centre, avec un nombre égal de fiches de chaque côté.
-
Branchez le câble connecteur noir. Branchez le câble connecteur noir de la fiche I14 à la première fiche disponible sur la rangée en bleu sur la gauche du détecteur. Celui-ci est relié à la terre.
-
Branchez le câble connecteur rouge. Branchez le câble connecteur rouge de la fiche I17 à la première fiche disponible sur la rangée en rouge sur la droite du détecteur. Celui-ci va alimenter le détecteur.
-
Branchez le câble connecteur blanc. Branchez un câble connecteur blanc de la fiche I15 à la fiche 9 de l'Arduino et un autre câble blanc de la fiche I16 à la fiche 8.. Celui-ci va permettre de transmettre les informations au microcontrôleur.Publicité
-
Retournez le robot pour voir le côté avec les piles. Orientez-le de façon à ce que les câbles du boîtier ressortent par le bas à gauche.
-
Connectez le câble rouge. Connectez le câble rouge au deuxième ressort sur la gauche en bas. Vous devez être absolument sûr que le boîtier est orienté correctement.
-
Connectez le câble noir. Connectez le câble noir au dernier ressort en bas à droite. Ces deux câbles vont vous aider à obtenir la tension appropriée à l'Arduino.
-
Connectez les câbles rouge et noir. Connectez les câbles rouge et noir aux fiches sur l'extrême droite à l'arrière de la plaque d'essai. Le câble noir doit être branché à la rangée bleue au niveau de la fiche 30. Le câble rouge doit être branché sur la rangée rouge au niveau de la fiche 30.
-
Reliez un câble noir à la terre. Installez un câble noir entre la fiche terre (GND) de l'Arduino et la rangée bleue à l'arrière. Connectez-le à la fiche 28 sur la plaque.
-
Installez un autre câble noir. Reliez un câble noir à la rangée bleue à l'arrière à la fiche 29 sur la rangée bleue du devant. Ne branchez pas les rangées rouges, car cela pourrait endommager le microcontrôleur.
-
Installez un câble rouge. Reliez un câble rouge entre la rangée rouge à l'avant sur la fiche 30 et la fiche 5 V de l'Arduino. Cela va alimenter le microcontrôleur.
-
Installez le bouton. Installez le bouton dans l'espace entre les rangées sur les fiches 24-26. L'interrupteur vous permettra d'allumer et d'éteindre le robot sans devoir couper l'alimentation.
-
Connectez un nouveau câble rouge. Reliez un câble rouge entre la fiche H24 et la rangée rouge dans la prochaine fiche disponible sur la droite du détecteur. Cela va alimenter le bouton.
-
Utilisez un résistor pour relier H26 à la rangée bleue. Connectez-le directement à la fiche à côté du câble noir que vous avez connecté plus haut.
-
Connectez un câble blanc entre G26 et la fiche 2 de l'Arduino. Cela va permettra à l'Arduino de détecter l'état du bouton.Publicité
-
Téléchargez et installez l'IDE. L'IDE est l'environnement de développement de l'Arduino et il vous permet de programmer les instructions avant de les envoyer sur la plaque. Vous pouvez le télécharger gratuitement sur arduino.cc/en/main/software . Décompressez l'archive en double-cliquant dessus et déplacez le dossier dans un coin dont vous vous souviendrez facilement. Vous n'allez pas vraiment installer le programme, vous allez simplement le lancer depuis le dossier extrait en cliquant sur arduino.exe .
-
Reliez le boîtier de piles à l'Arduino. Branchez la prise jack à la prise sur la plaque de l'Arduino pour l'alimenter.
-
Branchez l'Arduino sur votre ordinateur. En utilisant un câble USB, branchez la plaque à votre ordinateur. Windows ne va probablement pas la reconnaître.
-
Appuyez sur ⊞ Win + R et tapez devmgmt.msc . Cela permet de lancer le programme de gestion.
-
Continuez l'installation. Faites un clic droit sur Appareil inconnu dans la partie Autres appareils et choisissez "Mettre à jour le pilote ". Si vous ne voyez pas cette option, cliquez sur Propriétés , cliquez sur l'onglet Pilote , puis sélectionnez Mettre à jour le pilote .
-
Choisissez "Choisir un pilote sur l'ordinateur ". Cela vous permet de choisir le pilote qui vous a été fourni avec l'IDE d'Arduino.
-
Cliquez sur Naviguer et cherchez le dossier. Vous trouverez les pilotes dont vous avez besoin dans le dossier que vous avez extrait plus tôt.
-
Sélectionnez les pilotes et cliquez sur "OK ". Si vous avez un message d'avertissement à cause du programme inconnu, confirmez que vous voulez continuer.Publicité
-
Lancez l’IDE. Démarrez l’IDE d’Arduino en double-cliquant sur le fichier arduino.exe dans le dossier de l’IDE. Cela va ouvrir une page blanche pour un nouveau projet.
-
Collez le code pour faire avancer droit le robot. Le code ci-dessus va faire avancer sans arrêt le robot en avant.
#include <Servo.h> // cela ajoute la librairie "Servo" au programme // cela crée deux objets pour les deux servomoteurs Servo leftMotor ; Servo rightMotor ; void setup () { leftMotor . attach ( 12 ); // si vous avez utilisé d’autres numéros pour les fiches, vous devez changer les numéros dans cette partie rightMotor . attach ( 13 ); } void loop () { leftMotor . write ( 180 ); // en rotation continue, 180 indique au moteur de tourner à pleine vitesse en avant rightMotor . write ( 0 ); // si les deux moteurs sont à 180, le robot va tourner en cercle, car les moteurs sont inversés. 0 lui indique de reculer à pleine vitesse }
-
Créez et installez le programme. Cliquez sur le bouton dans le coin en haut à gauche en forme de flèche vers la droite pour créer le programme et l’envoyer vers l’Arduino.
- Vous devriez soulever le robot de sa surface, car il va rouler en avant sans s’arrêter dès que le programme a été installé.
-
Ajoutez une fonctionnalité pour le bouton. Ajoutez le code suivant à la boucle "void loop()" pour utiliser le bouton, juste au-dessus de la fonction "write()".
if ( digitalRead ( 2 ) == HIGH ) // cela détecte une pression sur le bouton connecté à la fiche 2 { while ( 1 ) { leftMotor . write ( 90 ); // "90" est une position neutre pour les servos, cela leur indique de tourner rightMotor . write ( 90 ); } }
-
Installez et testez le code. Une fois que vous avez adapté le code pour l’interrupteur, vous pouvez l’installer sur l’Arduino et tester le robot. Il devrait avancer sans arrêter jusqu’à ce que vous appuyiez sur le bouton pour lui demander de s’arrêter. Le code complet devrait ressembler au suivant :
#include <Servo.h> // vous créez deux objets servos Servo leftMotor ; Servo rightMotor ; void setup () { leftMotor . attach ( 12 ); rightMotor . attach ( 13 ); } void loop () { if ( digitalRead ( 2 ) == HIGH ) { while ( 1 ) { leftMotor . write ( 90 ); rightMotor . write ( 90 ); } } leftMotor . write ( 180 ); rightMotor . write ( 0 ); }
Publicité
Vidéo de wikiHow: Comment Construire Un Robot Chez Soi
Exemple
Le code suivant va utiliser le détecteur fixé au robot pour le faire tourner à gauche chaque fois qu’il tombe sur un obstacle. Consultez les commentaires dans le code pour comprendre le rôle de chaque partie. Le code ci-dessous est le programme complet.
#include
<Servo.h>
Servo
leftMotor
;
Servo
rightMotor
;
const
int
serialPeriod
=
250
;
// cela limite les sorties de console à tous les quarts de seconde
unsigned
long
timeSerialDelay
=
0
;
const
int
loopPeriod
=
20
;
// cela fixe la fréquence de lecture du détecteur à 20 ms, ce qui correspond à une fréquence de 50 Hz
unsigned
long
timeLoopDelay
=
0
;
// Cela assigne les fonctions TRIG et ECHO aux fiches de l’Arduino. Ajustez les numéros si vous avez choisi des fiches différentes
const
int
ultrasonic2TrigPin
=
8
;
const
int
ultrasonic2EchoPin
=
9
;
int
ultrasonic2Distance
;
int
ultrasonic2Duration
;
// cela définit les deux états possibles du robot : marche avant ou virage à gauche
#define DRIVE_FORWARD 0
#define TURN_LEFT 1
int
state
=
DRIVE_FORWARD
;
// 0 = drive forward (DEFAULT), 1 = turn left
void
setup
()
{
Serial
.
begin
(
9600
);
// configuration des fiches du détecteur
pinMode
(
ultrasonic2TrigPin
,
OUTPUT
);
pinMode
(
ultrasonic2EchoPin
,
INPUT
);
// assignation des moteurs aux fiches de l’Arduino
leftMotor
.
attach
(
12
);
rightMotor
.
attach
(
13
);
}
void
loop
()
{
if
(
digitalRead
(
2
)
==
HIGH
)
// cela permet de détecter le bouton
{
while
(
1
)
{
leftMotor
.
write
(
90
);
rightMotor
.
write
(
90
);
}
}
debugOutput
();
// cela permet d’imprimer des messages pour le débogage éventuel sur la console
if
(
millis
()
-
timeLoopDelay
>=
loopPeriod
)
{
readUltrasonicSensors
();
// cela demande au détecteur de lire les données 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égative pour certains détecteurs s'il n’y a pas d’obstacle détecté
{
// drive forward
rightMotor
.
write
(
180
);
leftMotor
.
write
(
0
);
}
else
// si un obstacle est détecté
{
state
=
TURN_LEFT
;
}
}
else
if
(
state
==
TURN_LEFT
)
// si l’obstacle est détecté, tourne à droite
{
unsigned
long
timeToTurnLeft
=
500
;
// il faut 0,5 seconde pour tourner de 90 degrés. Vous devriez ajuster ce nombre si la taille des roues que vous avez choisies est différente
unsigned
long
turnStartTime
=
millis
();
// enregistre le début de rotation des roues
while
((
millis
()
-
turnStartTime
)
<
timeToTurnLeft
)
// reste dans la boucle jusqu’à ce que timeToTurnLeft soit terminé
{
// tourne à gauche, n’oubliez pas que les deux roues sont réglées à 180 pour tourner
rightMotor
.
write
(
180
);
leftMotor
.
write
(
180
);
}
state
=
DRIVE_FORWARD
;
}
}
void
readUltrasonicSensors
()
{
// c’est pour ultrasonic 2. Vous devez changer cette commande si vous avez un détecteur différent
digitalWrite
(
ultrasonic2TrigPin
,
HIGH
);
delayMicroseconds
(
10
);
// gardez la fiche trig en position high pendant au moins 10 microsecondes
digitalWrite
(
ultrasonic2TrigPin
,
LOW
);
ultrasonic2Duration
=
pulseIn
(
ultrasonic2EchoPin
,
HIGH
);
ultrasonic2Distance
=
(
ultrasonic2Duration
/
2
)
/
29
;
}
// ce code permet de déboguer le programme dans la console.
void
debugOutput
()
{
if
((
millis
()
-
timeSerialDelay
)
>
serialPeriod
)
{
Serial
.
print
(
"ultrasonic2Distance: "
);
Serial
.
print
(
ultrasonic2Distance
);
Serial
.
print
(
"cm"
);
Serial
.
println
();
timeSerialDelay
=
millis
();
}
}
Vidéo
À propos de ce wikiHow
Pour créer un petit robot autonome qui peut se déplacer et tourner, achetez un kit de base ou les composants nécessaires dans un magasin d'électronique. Vous aurez besoin d'un microcontrôleur, le petit ordinateur qui sera le cerveau du robot, de 2 servomoteurs à rotation continue pour entrainer les roues, de roues adaptées aux servos, d'une roue libre, d'une petite plaque d'essai pour assembler les circuits, d'un boitier à piles, d'un détecteur de distance, d'un interrupteur, et de câbles connecteurs. Fixez les servos au dos du support de piles avec du ruban adhésif double face ou de la colle à chaud, en veillant à bien disposer les extrémités rotatives des servos sur les grands côtés du boitier à piles. Fixez la plaque d'essai sur le boitier, à côté des servos, avec du ruban adhésif ou de la colle. Posez le microcontrôleur sur le dessus des moteurs et fixez-le solidement. Appuyez fermement sur les roues pour qu'elles s'insèrent sur les axes des servos. Placez la roue libre au bas de la plaque d'essai. Cette roue tournant librement à l'avant du robot, va lui permettre de se déplacer sans effort dans toutes les directions. Fixez le détecteur de distance à l'avant de la plaque d'essai. Branchez votre robot en connectant les servos, le microcontrôleur, l’interrupteur et le boitier de piles sur la plaque d'essai. Reliez le microcontrôleur à l'ordinateur avec un câble USB. Téléchargez depuis votre ordinateur vers le microcontrôleur un petit programme de contrôle. Votre robot peut alors aller vers l'avant, l'arrière, s'arrêter et contourner des obstacles. Testez votre robot sur une surface plane et lisse, et faites quelques essais pour voir ce dont il est capable. Pour davantage de conseils, par exemple sur l'utilisation du logiciel Arduino, continuez la lecture !