byte fw=2,bw=3,lt=4,rt=5;
byte la=8,lb=9,ra=10,rb=11;
byte f=0,r=0,l=0,b=0,state=0;
void setup() {
pinMode(fw,INPUT);
pinMode(bw,INPUT);
pinMode(lt,INPUT);
pinMode(rt,INPUT);
pinMode(lb,OUTPUT);
pinMode(la,OUTPUT);
pinMode(ra,OUTPUT);
pinMode(rb,OUTPUT);
Serial.begin(9600);
}
byte reader(){
f=0;
r=0;
l=0;
b=0;
f=digitalRead(fw);
if(f==1)
{
Serial.println("out1");
return 10;
}
b=digitalRead(bw);
if(b==1)
{
Serial.println("out2");
return 20;
}
l=digitalRead(lt);
if(l==1)
{
Serial.println("out3");
return 30;
}
r=digitalRead(rt);
if(r==1)
{
Serial.println("out4");
return 40;
}
return 0;
}
void clearstate()
{
digitalWrite(ra,0);
digitalWrite(rb,0);
digitalWrite(la,0);
digitalWrite(lb,0);
}
void loop(){
state=reader();
while(state==10)
{
digitalWrite(la,1);
digitalWrite(lb,0);
digitalWrite(ra,1);
digitalWrite(rb,0);
state=reader();
}
clearstate();
while(state==20)
{
digitalWrite(la,0);
digitalWrite(lb,1);
digitalWrite(ra,0);
digitalWrite(rb,1);
state=reader();
}
clearstate();
while(state==30)
{
digitalWrite(la,0);
digitalWrite(lb,1);
digitalWrite(ra,1);
digitalWrite(rb,0);
state=reader();
}
clearstate();
while(state==40)
{
digitalWrite(la,1);
digitalWrite(lb,0);
digitalWrite(ra,0);
digitalWrite(rb,1);
state=reader();
}
clearstate();
}