int controlPinA1 = 3; int controlPinA2 = 4; int controlPinB1 = 6; int controlPinB2 = 7; int controlPinC1 = 8; int controlPinC2 = 9; int controlPinD1 = 11; int controlPinD2 = 12; int enablePinAB = 5; int enablePinCD = 10; int start = 13; int forward = A0; int backward = A1; int right = A2; int left = A3; int val = 0; int Fvalue = 0; int Bvalue = 0; int Rvalue = 0; int Lvalue = 0; void setup() { pinMode(controlPinA1, OUTPUT); pinMode(controlPinA2, OUTPUT); pinMode(controlPinB1, OUTPUT); pinMode(controlPinB2, OUTPUT); pinMode(controlPinC1, OUTPUT); pinMode(controlPinC2, OUTPUT); pinMode(controlPinD1, OUTPUT); pinMode(controlPinD2, OUTPUT); pinMode(enablePinAB, OUTPUT); pinMode(enablePinCD, OUTPUT); pinMode(forward, INPUT); pinMode(backward, INPUT); pinMode(right, INPUT); pinMode(left, INPUT); pinMode(start, INPUT); } void loop() { val = digitalRead(start); if(val == HIGH){ Fvalue = digitalRead(forward); Bvalue = digitalRead(backward); Lvalue = digitalRead(left); Rvalue = digitalRead(right); Serial.begin(9600); Serial.print(Fvalue); Serial.print(Bvalue); Serial.print(Lvalue); Serial.print(Rvalue); if(Fvalue == HIGH){ digitalWrite(enablePinAB, HIGH); digitalWrite(enablePinCD, HIGH); digitalWrite(controlPinA1, HIGH); digitalWrite(controlPinA2, LOW); digitalWrite(controlPinB1, HIGH); digitalWrite(controlPinB2, LOW); digitalWrite(controlPinC1, LOW); digitalWrite(controlPinC2, HIGH); digitalWrite(controlPinD1, LOW); digitalWrite(controlPinD2, HIGH); }else if(Bvalue == HIGH){ digitalWrite(enablePinAB, HIGH); digitalWrite(enablePinCD, HIGH); digitalWrite(controlPinA1, LOW); digitalWrite(controlPinA2, HIGH); digitalWrite(controlPinB1, LOW); digitalWrite(controlPinB2, HIGH); digitalWrite(controlPinC1, HIGH); digitalWrite(controlPinC2, LOW); digitalWrite(controlPinD1, HIGH); digitalWrite(controlPinD2, LOW); }else if(Lvalue == HIGH){ digitalWrite(enablePinAB, HIGH); digitalWrite(enablePinCD, HIGH); digitalWrite(controlPinA1, HIGH); digitalWrite(controlPinA2, LOW); digitalWrite(controlPinB1, LOW); digitalWrite(controlPinB2, HIGH); digitalWrite(controlPinC1, LOW); digitalWrite(controlPinC2, HIGH); digitalWrite(controlPinD1, HIGH); digitalWrite(controlPinD2, LOW); }else if(Rvalue == HIGH){ digitalWrite(enablePinAB, HIGH); digitalWrite(enablePinCD, HIGH); digitalWrite(controlPinA1, LOW); digitalWrite(controlPinA2, HIGH); digitalWrite(controlPinB1, HIGH); digitalWrite(controlPinB2, LOW); digitalWrite(controlPinC1, HIGH); digitalWrite(controlPinC2, LOW); digitalWrite(controlPinD1, LOW); digitalWrite(controlPinD2, HIGH); }else{ digitalWrite(controlPinA1, HIGH); digitalWrite(controlPinA2, HIGH); digitalWrite(controlPinB1, HIGH); digitalWrite(controlPinB2, HIGH); digitalWrite(controlPinC1, HIGH); digitalWrite(controlPinC2, HIGH); digitalWrite(controlPinD1, HIGH); digitalWrite(controlPinD2, HIGH); } } delay(1000); }