Initiation à EasyRobot V3 : Suivi de Ligne & Évitement d’Obstacles avec Arduino

Sommaire

Bienvenue dans notre Guide Complet du EasyRobot V3

Bienvenue dans ce guide exhaustif qui vous guidera dans la construction et la programmation avec le EasyRobot V3, un robot avant-gardiste conçu pour captiver les amateurs de robotique de tous niveaux, du novice au chevronné. Ce tutoriel est votre passerelle vers la maîtrise de la navigation autonome, une compétence essentielle dans le domaine en constante évolution de la robotique.

EasyRobot V3, équiper de ses deux capteurs infrarouges TCRT5000 et de son capteur ultrasonique HC-SR04, ne se limite pas à suivre une ligne avec une précision exemplaire. Il est également apte à éviter avec adresse les obstacles sur son chemin. De plus, il peut mesurer des distances et communiquer avec votre application Android via sa connectivité Bluetooth, offrant ainsi une expérience interactive et immersive.

Doté d’un buzzer, d’un port pour cartes microSD, et d’un connecteur pour accéléromètre gyroscope (compatible avec MPU6050, MPU6500, ou MPU9250), le EasyRobot V3 ouvre un vaste champ d’opportunités pour l’apprentissage et l’expérimentation. Nous allons explorer ensemble les nuances de la programmation Arduino, à la fois en mode texte classique et via l’interface intuitive d’ArduBlock. Préparez-vous à plonger dans le passionnant univers de la robotique mobile avec le EasyRobot V3 et à transformer vos concepts les plus novateurs en réalité.

Montage du EasyRobot V3 : Lancez-vous dans l'Aventure Robotique

Commencez votre aventure en robotique en assemblant le EasyRobot V3, un projet passionnant qui vous initiera aux joies de la création mécanique et électronique. Ci-dessous, vous trouverez la liste complète des composants nécessaires pour assembler votre robot mobile. Assurez-vous de disposer de tous les éléments avant de commencer, pour une expérience de montage fluide et agréable.

  • 1 Châssis acrylique de 2 plateaux
  • 2 Moteurs TT 
  • 2 Roues pour moteur TT
  • 1 Module driver L298N
  • 1 Capteur à ultrasons HC-SR04
  • 1 Support pour le capteur à ultrasons HC-SR04
  • 2 Capteurs infrarouge TCRT5000
  • 1 Module Bluetooth HC-05
  • 1 Carte Arduino UNO
  • 1 Carte shield Eagle V1.5 avec lecteur de carte micro SD et buzzer intégrés
  • 2 Piles rechargeables 18650
  • 1 Coupleur de pile 18650
  • 1 Chargeur pour piles 18650
  • 1 Câble USB de programmation
  • Câbles Dupont mâle/femelle
  • 2 roues “folles”
  • Vis et entretoises

Une fois que vous avez réuni tous les composants, vous êtes prêt à entamer le montage de votre EasyRobot V3. Prenez votre temps, suivez les instructions pas à pas, et n’hésitez pas à nous contacter si vous rencontrez des difficultés. La construction de votre propre robot est une expérience enrichissante et éducative qui vous préparera au mieux pour les étapes de programmation à venir.

Étape 1 : Installation des Roues Folles

L’assemblage de votre EasyRobot V3 commence par la mise en place des roues folles. Ces composants cruciaux assurent la stabilité et la manœuvrabilité de votre robot. Suivez ces instructions pour installer correctement les roues folles sur le châssis inférieur.

  1. Identifiez l’emplacement prévu pour les roues folles sur le châssis inférieur.
  2. Alignez les roues folles avec les trous prévus à cet effet sur le châssis.
  3. Utilisez les entretoises fournies pour positionner les roues à la bonne hauteur.
  4. Fixez chaque roue folle à l’aide des vis adéquates, en veillant à ne pas trop serrer pour ne pas endommager le châssis.

Une fois les roues folles correctement installées, votre robot aura une base solide pour tous les mouvements à venir. Veillez à ce que les roues soient bien fixées mais qu’elles tournent librement pour garantir la meilleure mobilité possible.

Étape 2 : Installation des Moteurs DC

Le cœur de votre EasyRobot V3 bat grâce à ses moteurs à courant continu (DC). Ces pièces vitales confèrent à votre robot la capacité de se mouvoir avec fluidité et précision. Pour une installation sans faille, suivez attentivement les étapes ci-dessous :

  1. Repérez sur votre châssis les emplacements dédiés aux moteurs DC. Ces supports sont conçus spécifiquement pour accueillir les moteurs.
  2. Placez les moteurs sur leurs supports, en veillant à ce que leur orientation soit correcte pour favoriser le mouvement optimal du robot.
  3. Utilisez les vis fournies pour sécuriser les moteurs aux supports. L’acrylique étant un matériau délicat, procédez avec soin pour éviter tout dommage.

Après l’installation, assurez-vous que les moteurs sont solidement fixés tout en restant libres de tourner. Cette étape garantit non seulement la performance mais aussi la longévité de votre robot.

Étape 3 : Installation du Driver L298N

Progressons dans la construction de votre EasyRobot V3 avec l’installation du driver L298N, un élément clé qui contrôle la rotation et la vitesse des moteurs, tout en distribuant l’énergie nécessaire entre les moteurs, la carte Arduino UNO, et les capteurs du robot.

Pour une intégration réussie du driver L298N à votre système, suivez ces instructions :

  1. Trouvez sur le châssis l’emplacement destiné au driver L298N.
  2. Positionnez le driver en alignant soigneusement ses ports de connexion avec les emplacements correspondants sur la carte.
  3. Fixez le driver L298N à l’aide des vis fournies, en prenant garde de ne pas exercer une pression excessive qui pourrait endommager les composants.
  4. Connectez avec précaution les câbles du driver aux moteurs, à la carte Arduino UNO et aux capteurs, conformément aux illustrations ci-dessous.

Veillez à ce que toutes les connexions soient sécurisées et correctes pour assurer le bon fonctionnement de votre robot. Une installation adéquate du driver L298N est cruciale pour une expérience de robotique fluide et réussie.

Étape 4 : Installation des Entretoises

Les entretoises jouent un rôle crucial dans l’assemblage de votre EasyRobot V3, en garantissant une jonction solide entre le châssis inférieur et supérieur. Cette étape essentielle assure non seulement la stabilité structurelle de votre robot mais aussi une protection optimale pour les composants électroniques sensibles.

Procédez comme suit pour installer les entretoises :

  1. Identifiez les emplacements prévus pour les entretoises sur le châssis inférieur.
  2. Positionnez chaque entretoise précisément dans son logement désigné.
  3. Avec les vis appropriées, fixez les entretoises en veillant à ne pas les serrer excessivement afin de ne pas endommager le châssis.
  4. Contrôlez que les entretoises sont bien en place et assurez-vous qu’elles permettent une fixation ferme du châssis supérieur.

Une bonne installation des entretoises est capitale pour la performance et la durabilité de votre EasyRobot V3.

Étape 5 : Les Capteurs Infrarouge TCRT5000

Les capteurs infrarouge TCRT5000 sont essentiels pour la navigation autonome de votre EasyRobot V3. Équipés de deux capteurs, votre robot peut suivre une ligne avec une précision remarquable. Ces capteurs détectent les lignes généralement de couleur noire habituellement réalisée avec du ruban adhésif de type “Chatterton”, en captant le signal réfléchi par la surface sous le robot et en l’envoyant au récepteur du TCRT5000

Le capteur est doté de 2 Leds:

  • Une Led rouge qui indique la mise sous tension du capteur.
  • Une Led verte qui s’allume en absence de détection de ligne, et qui s’éteint en cas de succès détection de la ligne.

Voici les étapes pour installer correctement les capteurs infrarouge TCRT5000 :

  1. Assemblez les capteurs en suivant les illustrations fournies ci-dessous.
  2. Fixez les capteurs sur le châssis de votre robot, en vous assurant de leur positionnement optimal pour une détection efficace de la ligne.

Une installation précise des capteurs TCRT5000 est cruciale pour la fonctionnalité de suivi de ligne de votre EasyRobot V3.

Étape 6 : Le Support pour Capteur HC-SR04 et le Coupleur de Piles

Dans cette étape, nous installerons le support pour le capteur à ultrasons HC-SR04, ainsi que le coupleur pour les piles 18650, qui jouent un rôle indispensable dans l’alimentation de votre robot. Le coupleur de piles, équipé d’un bouton ON/OFF, permet d’allumer ou d’éteindre le robot facilement.

Procédure d’installation :

  1. Commencez par assembler le support du capteur HC-SR04 en suivant les images fournies.
  2. Installez le coupleur de piles 18650 sur le châssis, en vous assurant de la bonne orientation pour une connexion optimale.
  3. Veillez à ce que toutes les connections soient sécurisées et que le support ainsi que le coupleur soient correctement fixés au châssis.

Cette configuration garantit que votre robot sera alimenté de manière fiable et que le capteur HC-SR04 sera solidement installé pour une détection précise.

Étape 7 : La Carte Arduino UNO et le Shield EAGLE V1.5

Dans cette étape cruciale, nous allons installer la carte Arduino UNO et le Shield EAGLE V1.5, le cœur intellectuel de votre EasyRobot V3. Ces composants ne se contentent pas de piloter les différents modes de fonctionnement du robot ; ils forment également le pont nécessaire entre votre robot et l’application Android, permettant une interaction fluide et intuitive.

Procédure d’installation :

  1. Commencez par positionner la carte Arduino UNO sur le châssis via les entretoises et les vis en nylon fournies avec le robot (voir photos ci-dessous), en vous assurant que les connexions soient accessibles et correctement orientées.
  2. Fixez le Shield EAGLE V1.5 sur la carte Arduino UNO, en alignant soigneusement les broches et en vérifiant que la connexion est sécurisée.
  3. Assurez-vous que l’ensemble est solidement fixé au châssis, prêt à être intégré au reste des composants de votre robot.

Une bonne installation de ces éléments est essentielle pour le bon fonctionnement de votre robot, assurant à la fois la gestion des tâches et la communication avec les périphériques externes.

Étape 8 : Le Câblage

Avant de finaliser l’assemblage avec les plateaux acryliques, il est temps de procéder au câblage essentiel de votre EasyRobot V3. Un câblage méticuleux est crucial pour assurer la communication efficace entre les composants. Pensez à faire passer les câbles à travers les ouvertures prévues dans le châssis supérieur pour faciliter le montage et l’accès.

Suivez les instructions des tableaux et des images ci-dessous pour connecter les différents modules du robot à la carte Shield Eagle V1.5, en respectant l’ordre et les connexions indiquées :

  • Driver L298N au Shield Eagle V1.5
  • Capteur HC-SR04 au Shield Eagle V1.5
  • Capteurs suiveurs droit et gauche au Shield Eagle V1.5

Assurez-vous que chaque connexion est sécurisée et correctement établie pour garantir le bon fonctionnement de votre robot.

Driver L298NShield Eagle V1.5
ENA D3
IN1D4
IN2D2
IN3D6
IN4D7
ENBD5
Capteur HC-SR04Shield Eagle V1.5
VCCVCC
TRIGTRIG (D8)
ECHOECHO (D9)
GNDGND
Capteur Suiveur DroitShield Eagle V1.5
VCCVCC
D0D15
GNDGND
Capteur Suiveur GaucheShield Eagle V1.5
VCCVCC
D0D16
GNDGND

Étape 9 : Assemblage Final

Nous arrivons à l’ultime étape de la construction de votre EasyRobot V3 : l’assemblage final. C’est le moment de connecter les deux châssis l’un à l’autre à l’aide des entretoises et des vis en métal. Cette phase marque également le moment de finaliser le câblage des capteurs à la carte Shield EAGLE V1.5, assurant ainsi que votre robot est prêt pour l’aventure.

Procédure d’assemblage :

  1. Connectez les châssis supérieur et inférieur en utilisant les entretoises et les vis fournies.
  2. Assurez-vous que toutes les connexions électriques entre les composants et la carte Shield sont sécurisées et bien organisées pour éviter tout désordre ou risque de déconnexion.
  3. Vérifiez la solidité de l’assemblage et la bonne organisation du câblage avant de passer à la mise en marche de votre robot.

Une fois ces étapes complétées, votre EasyRobot V3 est entièrement assemblé et prêt à être exploré.

Et Voilà...Votre robot EasyRobot V3 est prêt!

Voilà, votre EasyRobot V3 est entièrement assemblé et prêt à l’exploration ! C’est un moment exaltant, car tout votre travail et votre dévouement ont abouti à la création d’un robot fonctionnel et prêt pour l’aventure. Ce robot, fruit de votre ingéniosité, est désormais prêt à suivre des lignes, éviter des obstacles, et interagir avec son environnement de manière intelligente.

Programmation du Robot EasyRobot V3

Le cœur de votre EasyRobot V3 bat grâce à une carte Arduino UNO, accompagnée d’un code source complet, qui ensemble, lui confèrent la capacité de fonctionner en mode complet ou FULL MODE. Cette flexibilité vous permet d’explorer une multitude de fonctionnalités et d’interactions via l’application Android, rendant votre expérience avec le robot non seulement éducative mais aussi extrêmement amusante.

Voici un aperçu des modes de fonctionnement que vous pouvez exploiter :

  • Mode manuel : Contrôlez le robot à distance, activez le buzzer, et mesurez des distances. Les distances mesurées sont affichées directement sur votre smartphone, vous permettant d’interagir avec l’environnement du robot en temps réel.
  • Mode suiveur de ligne : Le robot peut suivre une ligne tracée sur le sol, idéal pour les parcours d’obstacles ou les démonstrations éducatives.
  • Mode évitement d’obstacles : Grâce à ses capteurs, le robot détecte et navigue autour des obstacles, illustrant des concepts clés en robotique mobile.
  • Enregistrement de données : Sauvegardez des données de capteurs ou des informations de navigation sur une carte micro-SD pour une analyse ultérieure ou pour documenter les performances de votre robot.

Nous aborderons spécifiquement les programmations des modes suiveur de ligne et évitement d’obstacles, présentant les codes en version “classique” d’Arduino et en version “ArduBlock”, pour s’adapter à tous les niveaux d’expérience en programmation.

Mode Suivi de Lignes

Le suivi de ligne est une fonctionnalité fascinante et éducative de l’EasyRobot V3, nécessitant une programmation soignée pour assurer un comportement optimal. Cette section vous oriente sur les ajustements nécessaires pour les moteurs DC afin de garantir une trajectoire précise et explore l’utilisation d’ArduBlock pour une approche de programmation plus intuitive.

Code Arduino

Objectifs de Programmation :
  • Équilibrage des Vitesses des Moteurs : Ajustez les vitesses des moteurs DC pour que le robot suive la ligne de manière constante.
  • Précision du Suivi : Le robot doit détecter et suivre une ligne noire sur un fond clair, en ajustant sa direction pour rester aligné.
Stratégies de Programmation :
  • Calibration : Commencez par calibrer les capteurs et les moteurs selon les conditions d’éclairage et les types de surface.
  • Test et Optimisation : Testez le robot sur le parcours et ajustez la programmation pour améliorer sa capacité de suivi.
				
					/* 
 * EASY ROBOT V3.0 - MODE SUIVEUR DE LIGNE
 * ATELIER DE LA ROBOTIQUE ® 2024
 * Auteur: Christian Joseph
 * Help: Contact@atelierdelarobotique.fr
 * Site: www.atelierdelarobotique.fr
 */
 
 // Broches de contrôle Moteur 1
int enableA = 3;//ENA
int pinA1 = 4;//IN1
int pinA2 = 2;//IN2
// Broches de contrôle Moteur 2
int enableB = 5;//ENB
int pinB1 = 6; //IN3
int pinB2 = 7;//IN4
//Broches Suiveurs de ligne
#define LEFT_SENSORPIN 15 //D15 = A1 sur carte Arduino UNO
#define RIGHT_SENSORPIN 16 //D16 = A2 sur carte Arduino UNO

void setup() {
  // Configuration des broches de contrôle des moteurs
   pinMode (enableA, OUTPUT);
   pinMode (pinA1, OUTPUT);
   pinMode (pinA2, OUTPUT);
   pinMode (enableB, OUTPUT);
   pinMode (pinB1, OUTPUT);
   pinMode (pinB2, OUTPUT); 
  // Configuration des broches du suiveur de ligne
   pinMode(LEFT_SENSORPIN,INPUT);
   pinMode(RIGHT_SENSORPIN,INPUT);

   Serial.begin(9600);//Initialisation liaison série
   analogWrite (enableA, 100);//Activation moteur 1
   analogWrite (enableB, 120);//Activation moteur 2
}

void loop() {
 //Lecture de l'état des capteurs infrarouge
  byte leftSensor=digitalRead(LEFT_SENSORPIN);
  byte rightSensor=digitalRead(RIGHT_SENSORPIN);
  
 //Affichage des données des capteurs sur le moniteur série
 /* Serial.print("Capteur Gauche: ");
  Serial.print(leftSensor);
  Serial.print("Capteur Droit: ");
  Serial.print(rightSensor);
  Serial.println();  */
  
  //Si les capteurs infrarouge sont inactifs, alors le robot va tout droit
  if (leftSensor== LOW && rightSensor == LOW){  
  avant(3); 
  robotStop(1);
  }
  //Si le capteur droit est activé, le robot va à droite
else if (leftSensor== LOW && rightSensor == HIGH){
  droite(3); 
  robotStop(1); 
  }
  //Si le capteur gauche est activé, le robot va à gauche
else if (leftSensor== HIGH && rightSensor == LOW){
  gauche(3);  
  robotStop(1);  
  }
}

// Fonctions des moteurs
void avant (int duration) {
 digitalWrite (pinA1, LOW);
 digitalWrite (pinA2, HIGH);
 digitalWrite (pinB1, HIGH);
 digitalWrite (pinB2, LOW);
 delay (duration);
}

void gauche (int duration) {
 digitalWrite (pinA1, HIGH);
 digitalWrite (pinA2, LOW);
 digitalWrite (pinB1, HIGH);
 digitalWrite (pinB2, LOW);
 delay (duration);
}
void droite (int duration) {
 digitalWrite (pinA1, LOW);
 digitalWrite (pinA2, HIGH);
 digitalWrite (pinB1, LOW);
 digitalWrite (pinB2, HIGH)
 delay (duration);
}
void robotStop (int duration) {
 digitalWrite (pinA1, HIGH);
 digitalWrite (pinA2, HIGH);
 digitalWrite (pinB1, HIGH);
 digitalWrite (pinB2, HIGH);
 delay (duration);
}
				
			

Code ArduBlock

ArduBlock permet la programmation d’Arduino via des blocs visuels, facilitant l’apprentissage pour les débutants et offrant une méthode intuitive pour visualiser la logique du programme.

Mode Évitement d'Obstacles

Dans ce programme, nous considérons que si un obstacle est détecté à une distance de 20 cm ou plus, le robot continue tout droit grâce au capteur à ultrasons HC-SR04. Si un obstacle est détecté à moins de 20 cm, le robot exécute une manœuvre d’évitement. Dans notre scénario, cela implique une marche arrière suivie d’un demi-tour à gauche avant de continuer tout droit. Vous pouvez ajuster cette distance et le comportement du robot selon vos besoins, tout comme il est essentiel de régler la vitesse de rotation de chaque moteur dans le code pour un fonctionnement optimal.

Code Arduino

Le code Arduino spécifique pour le mode d’évitement d’obstacles ajuste la réaction du robot face aux obstacles rencontrés.

				
					/* 
 * EASY ROBOT V3.0 - MODE ÉVITEMENT D'OBSTACLES
 * ATELIER DE LA ROBOTIQUE ® 2024
 * Auteur: Christian Joseph
 * Help: Contact@atelierdelarobotique.fr
 * Site: www.atelierdelarobotique.fr
 */
 
 // Broches de contrôle Moteur 1
int enableA = 3;//ENA
int pinA1 = 4;//IN1
int pinA2 = 2;//IN2
// Broches de contrôle Moteur 2
int enableB = 5;//ENB
int pinB1 = 6; //IN3
int pinB2 = 7;//IN4
//Broche du capteur à Ultrasons
#define trigPin 8
#define echoPin 9
int duration, cm, cm2, b;

void setup() {
  // Configuration des broches de contrôle des moteurs
   pinMode (enableA, OUTPUT);
   pinMode (pinA1, OUTPUT);
   pinMode (pinA2, OUTPUT);
   pinMode (enableB, OUTPUT);
   pinMode (pinB1, OUTPUT);
   pinMode (pinB2, OUTPUT); 
 //Configuration des broches du capteur à Ultrasons
   pinMode(trigPin, OUTPUT);
   pinMode(echoPin, INPUT);

   Serial.begin(9600);//Initialisation liaison série
  analogWrite (enableA, 100);//Activation moteur 1
   analogWrite (enableB, 120);//Activation moteur 2
}

void loop() {
  distance();//Mesure de la distance en centimètres
  //Si la distance mesurée est supérieure ou égale à 20 cm, alors le robot va tout droit
  if (cm >= 20){ 
    avant(1);
    }
 /*Si la distance mesurée est inférieure à 20 cm, alors le robot recule, tourne à gauche 
 et il repart tout droit */
  else if (cm < 20){ 
    arriere(500);
    gauche(300);
    avant(1);
  }
}

// Mesures des distances
  void distance() {
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(1000);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  cm = (duration/2) / 29.1;
  Serial.println(cm); //Affichage de la distance mesurée en cm
}

// Fonctions des moteurs
void avant (int duration) {
 digitalWrite (pinA1, LOW);
 digitalWrite (pinA2, HIGH);
 digitalWrite (pinB1, HIGH);
 digitalWrite (pinB2, LOW);
 delay (duration);
}

void arriere (int duration) {
 digitalWrite (pinA1, HIGH);
 digitalWrite (pinA2, LOW);
 digitalWrite (pinB1, LOW);
 digitalWrite (pinB2, HIGH);
 delay (duration);
}

void gauche (int duration) {
 digitalWrite (pinA1, HIGH);
 digitalWrite (pinA2, LOW);
 digitalWrite (pinB1, HIGH);
 digitalWrite (pinB2, LOW);
 delay (duration);
}
void droite (int duration) {
 digitalWrite (pinA1, LOW);
 digitalWrite (pinA2, HIGH);
 digitalWrite (pinB1, LOW);
 digitalWrite (pinB2, HIGH)
 delay (duration);
}
void robotStop (int duration) {
 digitalWrite (pinA1, HIGH);
 digitalWrite (pinA2, HIGH);
 digitalWrite (pinB1, HIGH);
 digitalWrite (pinB2, HIGH);
 delay (duration);
}
				
			

Code ArduBlock

Le code ArduBlock offre une visualisation intuitive de la programmation du mode d’évitement d’obstacles, permettant une compréhension facile des logiques impliquées.

Mode Complet (FULL MODE)

Cette vidéo offre un aperçu détaillé du mode complet de notre EasyRobot V3, démontrant sa capacité à passer aisément entre divers modes fonctionnels via notre application Android. Découvrez comment le robot navigue, évite les obstacles, suit des lignes, et interagit avec son environnement en temps réel.

Bonjour ! 🌟 Rejoignez notre newsletter pour ne rien manquer.

Recevez nos offres spéciales et les derniers articles directement dans votre boîte de réception

Nous ne faisons pas de spam, promis ! Consultez notre politique de confidentialité pour en savoir plus.

Retour en haut

Projet sur mesure