0% found this document useful (0 votes)
44 views4 pages

Code Arduino

The document declares variables for pin assignments and initializes them. It then defines functions for setup and loop that control outputs to pins based on sensor inputs and state variables to drive motors or displays in a state machine.

Uploaded by

Rebhi Achref
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views4 pages

Code Arduino

The document declares variables for pin assignments and initializes them. It then defines functions for setup and loop that control outputs to pins based on sensor inputs and state variables to drive motors or displays in a state machine.

Uploaded by

Rebhi Achref
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

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);
}

You might also like