Vous êtes sur la page 1sur 2

int plateau=0,plateau_demander=0,conteur=1;

boolean etap=0,last=1;
int capteur_plateau=888 ,capteur_porte=888 ,capteur_zero=888 ,KM1=888 ,KM2=888 ,
bit1=888 ,bit2=888 ,bit3=888 ,bit4=888 ;
void setup() {
pinMode(capteur_plateau,INPUT);
pinMode(capteur_porte,INPUT);
pinMode(capteur_zero,INPUT);
pinMode(bit1,INPUT);
pinMode(bit2,INPUT);
pinMode(bit3,INPUT);
pinMode(bit4,INPUT);
pinMode(KM1,OUTPUT);
pinMode(KM2,OUTPUT);}
int lecture(){
int i=0;
if(bit1) i+=1;
if(bit2) i+=2;
if(bit3) i+=4;
if(bit4) i+=8;
return i;
}
void plateau_cont(){
if(capteur_plateau=LOW)last=1;
else if ((last)&&(capteur_plateau==HIGH))
{last=0;
plateau+=conteur;
plateau=plateau%13;
}
}
void motor(boolean a,boolean b){
if(capteur_porte){
digitalWrite(KM1,a);
digitalWrite(KM2,b);
plateau_cont();
}}
void tourner_motor_positif(){motor(HIGH,LOW);}
void tourner_motor_negatif(){motor(LOW,HIGH);}
int differance(){
int i=0,plat=plateau;
while(plateau_demander!=plat){
plat++;i++;}
return i;
}

void loop() {
plateau_demander=lecture() ;
if (!etap)
{while(capteur_zero==LOW) tourner_motor_positif();
etap=1;
}
else {

while(plateau_demander!=plateau)
{if(differance()< 7){tourner_motor_positif();conteur=1;}
else {tourner_motor_negatif();conteur=-1;}
}
}
}

Vous aimerez peut-être aussi