



#include
AF_DCMotor motorA(1);
AF_DCMotor motorB(2);
-
const int leftSensor = A0; const int frontSensor = A1; const int rightSensor = A2; const int forwardSpeed = 120; const int TurningSpeed = 115; const int turnDelay = 25; const int uTurnDelay = 50; -
void setup() { pinMode(leftSensor, INPUT); pinMode(frontSensor, INPUT); pinMode(rightSensor, INPUT); Serial.begin(9600); } -
void loop() { int leftValue = digitalRead(leftSensor); int frontValue = digitalRead(frontSensor); int rightValue = digitalRead(rightSensor); int sensorState = (leftValue << 2) | (frontValue << 1) | rightValue; switch (sensorState) { case 0b000:uTurn();break; case 0b010:moveForward();break; case 0b111:turnLeft();break; case 0b100:turnLeft(); break; case 0b110:turnLeft();break; case 0b001:turnRight();break; case 0b011:turnRight();break; case 0b101:stopMotors();break; default:stopMotors();break; } }
Une fois le code téléchargé sur le robot assemblé via l’ide Arduino, il est temps de tester. Nous avons montré la vidéo de travail complète de ce robot de résolution de labyrinthe au bas de cette page. Mais pour comprendre ce qui se passe, examinons-le pas à pas.
Étape 1: Position de départ
- Le robot commence à l’entrée du labyrinthe.
- Il suit la règle de gauche, ce qui signifie qu’il gardera toujours son capteur gauche ou son côté contre le mur.

Étape 2: Décision à la jonction
- La première jonction est une intersection à trois.
- Selon l’algorithme, le robot choisit le chemin gauche.
- Si la jonction n’offre que des chemins à droite et à gauche, la priorité est toujours donnée sur le côté gauche.

Étape 3: Tourner les coins
- Ensuite, le robot rencontre deux coins à droite.
- Étant donné que les deux coins se penchent à droite, le robot se déplace à droite comme prévu.

Étape 4: Décision à la deuxième jonction
- La jonction suivante est une autre intersection à trois, mais cette fois, les chemins sont droits et laissés.
- Étant donné que la règle de gauche est suivie, le robot se tourne à gauche.

Étape 5: Virage
Comme les coins précédents, le robot tournera dans le coin dans la bonne direction.

Étape 6: Mouvement final
- La jonction finale ressemble au premier, offrant des chemins droite et gauche.
- Comme prévu, le robot choisit le chemin gauche, menant à la destination.

Conclusion et améliorations futures
Si vous êtes venu si loin, donnez-vous une tape dans le dos, car vous avez réussi à construire un robot de résolution de labyrinthe de base. Mais la meilleure chose à propos de ce projet est que vous pouvez facilement l’étendre et expérimenter avec des algorithmes complexes. Faites une pause et jouez avec ce robot, construisez différents motifs de labyrinthe et voyez comment votre robot les résout. Vous comprendrez bientôt que ce robot n’est pas en mesure de résoudre des modèles de labyrinthe complexes et n’est certainement pas le robot de résolution de labyrinthe le plus rapide. Actuellement, vous pouvez porter votre chapeau de programmation et coder ce robot pour résoudre le labyrinthe plus rapidement et même trouver le chemin le plus court, ce sera également en mesure de participer à des concours de robot de résolution de labyrinthe où vous pourrez vous défier et votre robot pour résoudre le complexe labyrinthes et rivalisez avec d’autres ingénieurs.
Projets similaires au robot de résolution de labyrinthes







Robot de suiveur de ligne à l’aide de MSP430 Launchpad
Apprenez à créer un robot en ligne à l’aide de Launchpad MSP430 de Texas Instruments, de capteurs IR et de pilotes de moteur. Ce projet est parfait pour comprendre les systèmes intégrés et la robotique avec MSP430.
Retrouvez l’histoire de Raspberry Pi dans cette vidéo :
-
Science4you - Robotique Deltabot, Kit Robot à Construire de 117 pièces pour Enfants +8 Ans - Monter Un Robot Interactif pour Enfant avec ce Jeux de Construction; Jeu STEM avec Activites Manuelles
-
Générique Construire Un Robot Éducatifs en Bois avec Capteur Sonore
