Bonjour,
je bosse sur un projet de souris suiveuse de ligne et j’utilise pour celas un servo 9g.
voila mon problème, si mon capteur infrarouge capte la ligne noir a gauche la voiture doit aller a droite
et inversement et si le capteur du milieu capte la voiture reste droite et si la voiture capte les 3 ligne noir celle ci ne fait rien (on croise la ligne de départ ou d’arriver) pour le capteur a gauche celas marche mais pour le capteur droit celui-ci au lieu de tourner à droite tourne à gauche avec un angle double.
voici le code (très simple)
#include <Servo.h>
int moteur1 = 10;
int moteur2 = 11;
Servo servo;
void setup() {
pinMode(moteur1, OUTPUT);
pinMode(moteur2, OUTPUT);
servo.attach(8);
servo.write(90);
delay(3000);
digitalWrite(moteur2, HIGH);
digitalWrite(moteur1, HIGH);
}
void loop() {
int Gauche = analogRead(A2);
int Milieu = analogRead(A0);
int Droite = analogRead(A1);
if (Milieu >= 100 && Gauche >= 100 && Droite >= 100) {
servo.write(90);
}
else {
if (Gauche >= 100) {
servo.write(90);
}
else{
if (Droite >= 100) {
servo.write(45);
}
else {
if (Milieu >= 100) {
servo.write(75);
}
}
}
}
delay(15);
}
le montage:
le schema de montage