int pin_a=9;
int pin_b=1;
int pin_c=2;
int pin_d=3;
int pin_e=4;
int pin_f=5;
int pin_g=6;
int NKM1=10;
int NKM2=11;
int X0=1;
int X1=0;
int X2=0;
int X3=0;
int MW100=0;
int MW102=0;
int r0=1;
int r1=0;
int r2=0;
int r3=0;
int r4=0;
int T=0;
int NBE1=A0;
int NBE2=A1;
int NBE3=A2;
int NCE1=A3;
int NCE2=A4;
int NCE3=A5;
int speed_ = 150 ;
void setup() {
pinMode(NBE1,INPUT_PULLUP);
pinMode(NBE2,INPUT_PULLUP);
pinMode(NBE3,INPUT_PULLUP);
pinMode(NCE1,INPUT_PULLUP);
pinMode(NCE2,INPUT_PULLUP);
pinMode(NCE3,INPUT_PULLUP);
pinMode(NKM1,OUTPUT);
pinMode(NKM2,OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
pinMode(5,OUTPUT);
pinMode(4,OUTPUT);
pinMode(3,OUTPUT);
//analogWrite(OUT_Motor_2,HIGH);
//delay(500);
void loop() {
// Prel
if (digitalRead(NCE1)==0) {MW100=1;}
if (digitalRead(NCE2)==0) {MW100=2;}
if (digitalRead(NCE3)==0) {MW100=3;}
if (digitalRead(NBE1)==0) {MW102=1;}
if (digitalRead(NBE2)==0) {MW102=2;}
if (digitalRead(NBE3)==0) {MW102=3;}
// Chart
// Initialisation
if ((X0==0) && (X1==0) && (X2==0) && (X3==0))
{X0=1;}
// Evol de 0 a 1
if (MW102>MW100)
{r0=1;}
else
{r0=0 ;}
if(X0==1 && r0==1 )
{X1=1 ;
X0=0;}
// Evol de 1 a 3
if (MW102==MW100)
{r1=1;}
else
{r1=0;}
if(X1==1 && r1==1 )
{X1=0 ;
X3=1;}
// Evol de 0 a 2
if (MW102<MW100)
{r2=1;}
else
{r2=0 ;}
if(X0==1 && r2==1 )
{X2=1 ;
X0=0 ;}
// Evol de 2 a 3
if (MW102==MW100)
{r3=1;}
else
{r3=0;}
if(X2==1 && r3==1 )
{X2=0;
X3=1;}
// Evol de 3 a 0
if (T>600)
{r4=1;}
else
{r4=0 ;}
if(X3==1 && r4==1 )
{X3=0;
X0=1;}
// Post Prog des actions
// analogWrite(OUT_Motor_2,HIGH);
// delay(500);
if(X1==1)
{digitalWrite(NKM1,HIGH);}
//{analogWrite(NKM1,256);}
else
{ digitalWrite (NKM1,LOW) ;}
//{analogWrite(NKM1,0);}
if(X2==1)
{digitalWrite(NKM1,HIGH);}
//{analogWrite(NKM2,256);}
else
{ digitalWrite (NKM2,LOW) ;}
//{analogWrite(NKM2,256);}
if(X3==1)
{T=T+1;}
else
{T=0;}
// AFFICHAGE 1
if (digitalRead(NCE1)==0) {
digitalWrite(9,LOW);
digitalWrite(8,HIGH);
digitalWrite(7,HIGH);
digitalWrite(6,LOW);
digitalWrite(5,LOW);
digitalWrite(4,LOW);
digitalWrite(3,LOW);
}
// AFFICHAGE 2
if (digitalRead(NCE2)==0) {
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,LOW);
digitalWrite(6,HIGH);
digitalWrite(5,HIGH);
digitalWrite(4,LOW);
digitalWrite(3,HIGH);
}
// AFFICHAGE 3
if (digitalRead(NCE2)==0) {
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,HIGH);
digitalWrite(6,HIGH);
digitalWrite(5,LOW);
digitalWrite(4,LOW);
digitalWrite(3,LOW);
}