Pour vous aider à mieux comprendre ce que j'ai fait :
int K1 = 2, K2 = 3, K3 = 4, K4 = 5, K5 = 6, K6 = 7, K7 = 8, K8 = 9, fdc_g = A4, fdc_d = A5;
void setup() {
pinMode(K1,OUTPUT);
pinMode(K2,OUTPUT);
pinMode(K3,OUTPUT);
pinMode(K4,OUTPUT);
pinMode(K5,OUTPUT);
pinMode(K6,OUTPUT);
pinMode(K7,OUTPUT);
pinMode(K8,OUTPUT);
pinMode(fdc_g,INPUT);
pinMode(fdc_d,INPUT);
}
void loop()
{
analogRead(4);
analogRead(5);
while((analogRead(4) == 0) && (analogRead(5) == 0))
{
digitalWrite(K1,HIGH);
digitalWrite(K5,HIGH);
digitalWrite(K2,HIGH);
digitalWrite(K6,HIGH);
digitalWrite(K3,LOW);
digitalWrite(K7,LOW);
digitalWrite(K4,LOW);
digitalWrite(K8,LOW);
}
if(analogRead(4) == 1)
{
digitalWrite(K1,LOW); //on arrête les moteurs
digitalWrite(K5,LOW);
digitalWrite(K2,LOW);
digitalWrite(K6,LOW);
digitalWrite(K3,LOW);
digitalWrite(K7,LOW);
digitalWrite(K4,LOW);
digitalWrite(K8,LOW);
delay(1000);
digitalWrite(K1,LOW); //le robot recule
digitalWrite(K5,LOW);
digitalWrite(K2,LOW);
digitalWrite(K6,LOW);
digitalWrite(K3,HIGH);
digitalWrite(K7,HIGH);
digitalWrite(K4,HIGH);
digitalWrite(K8,HIGH);
delay(1000);
digitalWrite(K1,LOW); //le robot va à droite
digitalWrite(K5,HIGH);
digitalWrite(K2,LOW);
digitalWrite(K6,HIGH);
digitalWrite(K3,HIGH);
digitalWrite(K7,LOW);
digitalWrite(K4,HIGH);
digitalWrite(K8,LOW);
delay(1500);
}
else if(analogRead(5) == 1)
{
digitalWrite(K1,LOW); //on arrête les moteurs
digitalWrite(K5,LOW);
digitalWrite(K2,LOW);
digitalWrite(K6,LOW);
digitalWrite(K3,LOW);
digitalWrite(K7,LOW);
digitalWrite(K4,LOW);
digitalWrite(K8,LOW);
delay(1000);
digitalWrite(K1,LOW); //le robot recule
digitalWrite(K5,LOW);
digitalWrite(K2,LOW);
digitalWrite(K6,LOW);
digitalWrite(K3,HIGH);
digitalWrite(K7,HIGH);
digitalWrite(K4,HIGH);
digitalWrite(K8,HIGH);
delay(1000);
digitalWrite(K1,HIGH); //le robot va à gauche
digitalWrite(K5,LOW);
digitalWrite(K2,HIGH);
digitalWrite(K6,LOW);
digitalWrite(K3,LOW);
digitalWrite(K7,HIGH);
digitalWrite(K4,LOW);
digitalWrite(K8,HIGH);
delay(1500);
}
}