#define L1 5 #define L2 4 #define R1 3 #define R2 2 void setup() { pinMode(A0,INPUT); // X-axis pinMode(A1,INPUT); // Y-axis pinMode(L1,OUTPUT); // Left Motor (M1) pinMode(L2,OUTPUT); pinMode(R1,OUTPUT); // Right Motor (M2) pinMode(R2,OUTPUT); analogReference(EXTERNAL); } void loop() { int x = analogRead(A0); int y = analogRead(A1); if(x<495) // Turn Left { digitalWrite(L1,LOW); digitalWrite(L2,HIGH); digitalWrite(R1,HIGH); digitalWrite(R2,LOW); } if(x>535) // Turn Right { digitalWrite(L1,HIGH); digitalWrite(L2,LOW); digitalWrite(R1,LOW); digitalWrite(R2,HIGH); } if(y>535) // Move Forward { digitalWrite(L1,HIGH); digitalWrite(L2,LOW); digitalWrite(R1,HIGH); digitalWrite(R2,LOW); } if(y<495) // Reverse { digitalWrite(L1,LOW); digitalWrite(L2,HIGH); digitalWrite(R1,LOW); digitalWrite(R2,HIGH); } if(x>495 && x<535 && y>495 && y<535) // Halt { digitalWrite(L1,LOW); digitalWrite(L2,LOW); digitalWrite(R1,LOW); digitalWrite(R2,LOW); } }