#define moteur 5
// Horizontal sur A0 avant arriere
// Vertical sur A1 Accélération Ralentir
int vitesse = 0;
int pas =0;
int sens ;
int change = 0 ;
int pinterupt = 2;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(moteur,OUTPUT);
Serial.print("bonjour");
delay ( 2000);
pinMode(pinterupt, INPUT);
attachInterrupt(digitalPinToInterrupt(2),arretUrgence,LOW);
}
void loop() {
// put your main code here, to run repeatedly:
int direction = analogRead(A0);
Serial.print("brut = ");
Serial.print(direction);
int avant_arriere = map(direction,1023,0, 0,5);
if ((avant_arriere == 0 )|| (avant_arriere == 5)) {
sens = avant_arriere ;
}
Serial.print(" Direction = ");
if (sens == 5)
{Serial.println("AVANT");}
else if( sens == 0) { Serial.println("ARRIERE");}
// on gere la vitesse par pas
pas = analogRead(A1);
Serial.print("pas = ");
Serial.print(pas);
quis_vitesse(pas);
Serial.print(" pas_mod = ");
Serial.println(change);
vitesse = vitesse + change ;
Serial.print(" vitesse = ");
Serial.println(vitesse);
delay(1000);
analogWrite(moteur, direction);
}
int quis_vitesse(int parm1) {
change = map(parm1,0,1023,-5,5);
Serial.println(change);
return(change);
}
void arretUrgence()
{
vitesse = 0;
}