- Résumé
Ce projet présente un robot car pédagogique, conçu pour aider les élèves et étudiants à développer leurs compétences en robotique et programmation. Le robot, basé sur Arduino, suit un objet et s’arrête à 5 cm de distance. Ce projet permet une introduction pratique à des technologies innovantes, stimulant la créativité et l’intelligence des jeunes apprenants, en les orientant vers des spécialisations techniques d’avenir.
- Introduction
Aujourd’hui, la technologie avance très vite, et apprendre la robotique et la programmation devient important, surtout pour les jeunes qui veulent se préparer à des métiers du futur. Ce projet présente un robot car éducatif, créé pour aider les élèves et étudiants à apprendre facilement. Le robot utilise Arduino et des capteurs pour suivre un objet et s’arrêter à 5 cm de distance. Grâce à ce projet, les jeunes peuvent découvrir des bases simples, comme l’utilisation des capteurs et le contrôle des moteurs, tout en développant leur créativité. Cela les aidera à se préparer à des domaines importants comme la robotique et l’intelligence artificielle.
- Matériel utilisé :
- Arduino : La carte Arduino UNO est une carte électronique de prototypage rapide sur laquelle on peut raccorder des capteurs (entrées) et des actionneurs (sorties). Elle est constituée de plusieurs composants électroniques dont le principal est un microcontrôleur permettant de stocker et d’exécuter un programme informatique. [1]
- Capteur à ultrasons (HC-SR04) : Ce module permet d’évaluer les distances entre un objet mobile et les obstacles rencontrés.
- Driver L298N : pour connecter les moteurs
- Châssis de robot car :
- Composants supplémentaires (Files, batterie, etc.)
- Schéma de montage :
Voici une représentation textuelle du schéma de montage de votre robot car Arduino :
- Arduino UNO :
- Pin 9 → Connecté au Trig du capteur à ultrasons (HC-SR04).
- Pin 10 → Connecté au Echo du capteur à ultrasons.
- Pins 3, 4, 5, 6 → Connectés au module de commande de moteur (L298N) pour contrôler les deux moteurs.
- Capteur à ultrasons (HC-SR04) :
- VCC → Alimentation 5V de l’Arduino.
- GND → GND de l’Arduino.
- Trig → Pin 9 de l’Arduino.
- Echo → Pin 10 de l’Arduino.
- Module de commande de moteur (L298N) :
- IN1, IN2, IN3, IN4 → Connectés aux pins 3, 4, 5, 6 de l’Arduino pour contrôler les moteurs.
- VCC → Connecté à une alimentation externe (batterie).
- GND → Connecté au GND de l’Arduino et de la batterie.
- Moteurs (2 moteurs pour les roues) :
- Chaque moteur est connecté aux sorties du module de commande de moteur (L298N).
- Alimentation :
- La batterie externe alimente le module de commande de moteur.
- L’Arduino peut être alimenté par la batterie ou via USB.
Codage et programmation :
// Déclaration des pins
const int trigPin = 9;
const int echoPin = 10;
const int motorPin1 = 3; // Premier moteur
const int motorPin2 = 4; // Deuxième moteur
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
Serial.begin(9600); // Pour le moniteur série
}
void loop() {
// Envoi d'un signal
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Lecture de la durée de l'echo
duration = pulseIn(echoPin, HIGH);
// Calcul de la distance
distance = duration * 0.034 / 2;
// Affichage de la distance
Serial.print("Distance: ");
Serial.println(distance);
// Contrôle des moteurs en fonction de la distance
if (distance < 5) {
// Si la distance est inférieure à 5 cm, arrêter les moteurs
Serial.println("Distance < 5 cm: Arrêt des moteurs");
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
}
else if (distance >= 5 && distance < 10) {
// Si la distance est comprise entre 5 et 10 cm, faire tourner les moteurs
Serial.println("5 cm <= Distance < 10 cm: Les moteurs roulent");
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, HIGH);
}
else if (distance >= 10) {
// Si la distance est supérieure ou égale à 10 cm, arrêter les moteurs
Serial.println("Distance >= 10 cm: Arrêt des moteurs");
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
}
delay(100); // Petite pause pour la stabilité
}
- Conclusion
[1] https://docs.arduino.cc/