Robot Suiveur Humain DIY avec Arduino UNO et Shield Moteur
Composants et Fournitures
| Arduino UNO | × | 1 |
| Shield Moteur Adafruit | × | 1 |
| Servomoteur SG90 | × | 1 |
| Capteurs IR Transceiver (×2) | × | 2 |
| Capteur à ultrasons HC-SR04 | × | 1 |
| Fils de connexion | × | 1 |
| Moteurs DC 12V (×4) | × | 4 |
| Roues et micromoteurs Pimoroni (×4) | × | 4 |
| Batterie 9V | × | 1 |
| Interrupteur à bascule SPST | × | 1 |
Logiciels
- Arduino IDE
À Propos du Projet
Projet « Human Following Bot » réalisé pendant la pandémie. Ce robot suit une personne ou un objet grâce à deux capteurs IR et recule si un obstacle est trop proche via le capteur à ultrasons.
Étapes de Construction
- Rassembler les composants : Arduino, 4 moteurs DC avec roues, 2 capteurs IR, capteur ultrasons, servomoteur, carton, shield L293D, batterie 9V, interrupteur, fils.
- Fixer les 4 moteurs sur une base en carton.
- Positionner les capteurs IR sur le châssis.
- Fixer le servomoteur.
- Monter le capteur ultrasons sur le servomoteur (dans une boîte avec poignée).
- Installer l'Arduino et le shield moteur.
- Câbler selon le schéma.
- Téléverser le code, connecter l'interrupteur et la batterie au shield.
- Ajuster la sensibilité des capteurs IR.
Chaîne YouTube : Electronics is Fun
Code Arduino
// www.YouTube.com/Electronics is Fun
#include <Servo.h>
#include <AFMotor.h>
#define LEFT A0
#define echopin A1
#define trigpin A2
#define RIGHT A3
AF_DCMotor Motor1(1, MOTOR12_1KHZ);
AF_DCMotor Motor2(2, MOTOR12_1KHZ);
AF_DCMotor Motor3(3, MOTOR34_1KHZ);
AF_DCMotor Motor4(4, MOTOR34_1KHZ);
Servo myservo;
int pos = 0;
long time;
void setup() {
Serial.begin(9600);
myservo.attach(10);
// Balayage initial du servo
for (pos = 90; pos <= 180; pos += 1) { myservo.write(pos); delay(15); }
for (pos = 180; pos >= 0; pos -= 1) { myservo.write(pos); delay(15); }
for (pos = 0; pos <= 90; pos += 1) { myservo.write(pos); delay(15); }
pinMode(RIGHT, INPUT);
pinMode(LEFT, INPUT);
pinMode(trigpin, OUTPUT);
pinMode(echopin, INPUT);
}
void loop() {
unsigned int distance = read_cm();
int Right_Value = digitalRead(RIGHT);
int Left_Value = digitalRead(LEFT);
Serial.print("R= "); Serial.print(Right_Value);
Serial.print(" L= "); Serial.print(Left_Value);
Serial.print(" D= "); Serial.println(distance);
if ((Right_Value == 1) && (distance >= 10 && distance <= 30) && (Left_Value == 1)) {
forward();
} else if ((Right_Value == 0) && (Left_Value == 1)) {
turnRight();
} else if ((Right_Value == 1) && (Left_Value == 0)) {
turnLeft();
} else if ((Right_Value == 1) && (Left_Value == 1)) {
stop();
} else if (distance > 5 && distance < 10) {
stop();
} else if (distance < 5) {
backward();
}
delay(50);
}
long read_cm() {
digitalWrite(trigpin, LOW);
delayMicroseconds(2);
digitalWrite(trigpin, HIGH);
delayMicroseconds(10);
time = pulseIn(echopin, HIGH);
return time / 29 / 2;
}
void forward() {
Motor1.setSpeed(120); Motor1.run(FORWARD);
Motor2.setSpeed(120); Motor2.run(FORWARD);
Motor3.setSpeed(120); Motor3.run(FORWARD);
Motor4.setSpeed(120); Motor4.run(FORWARD);
}
void backward() {
Motor1.setSpeed(120); Motor1.run(BACKWARD);
Motor2.setSpeed(120); Motor2.run(BACKWARD);
Motor3.setSpeed(120); Motor3.run(BACKWARD);
Motor4.setSpeed(120); Motor4.run(BACKWARD);
}
void turnRight() {
Motor1.setSpeed(200); Motor1.run(FORWARD);
Motor2.setSpeed(200); Motor2.run(FORWARD);
Motor3.setSpeed(100); Motor3.run(BACKWARD);
Motor4.setSpeed(100); Motor4.run(BACKWARD);
}
void turnLeft() {
Motor1.setSpeed(100); Motor1.run(BACKWARD);
Motor2.setSpeed(100); Motor2.run(BACKWARD);
Motor3.setSpeed(200); Motor3.run(FORWARD);
Motor4.setSpeed(200); Motor4.run(FORWARD);
}
void stop() {
Motor1.setSpeed(0); Motor1.run(RELEASE);
Motor2.setSpeed(0); Motor2.run(RELEASE);
Motor3.setSpeed(0); Motor3.run(RELEASE);
Motor4.setSpeed(0); Motor4.run(RELEASE);
}
Schéma de Câblage

Processus de fabrication
- Moteurs à réluctance variable : types, fonctionnement et applications
- Raspoulette : Prototype de système autonome de porte de poulailler à énergie solaire
- Simple Pi Robot – Construire un rover autonome 2 roues motrices avec Raspberry Pi
- Jeu UFO Attack DIY avec Arduino UNO et Afficheur MAX7219
- Robot de détection humaine basé sur Arduino Uno : Intégration capteurs étape par étape
- Horloge 3D RGB Arduclock – Montre LED Bluetooth avec horloge temps réel
- Médiator Motorisé et Pédale d'Effet DIY – Impression 3D et Arduino
- Comprendre les moteurs linéaires : de l'énergie électrique au mouvement linéaire précis
- Servomoteurs expliqués : fonctionnement et importance