// JOYSTICK Operated ROBOT... /* Program to display Serial Monitor: Remove commented part to check input from Serial Monitor for testing & Calibration (Ensure the other part of the code is commented out) int A = A0; // Analog PIN void setup() { Serial.begin(9600); pinMode(A,INPUT); } void loop() { int s = analogRead(A); serial.println(s); } OUTPUT::: The Values of Serial Monitor for... X+ = 275 X = 336 X- = 394 Y+ = 283 Y = 335 Y- = 376 */ // OUTPUT from Accelerometer int A = A0; // Analog output int B = A1; // MOTOR 1 int M1 = 6; int M2 = 7; // MOTOR 2 int M3 = 8; int M4 = 9; void setup() { Serial.begin (9600); pinMode(A,INPUT); pinMode(B,INPUT); pinMode(M1,OUTPUT); pinMode(M2,OUTPUT); pinMode(M3,OUTPUT); pinMode(M4,OUTPUT); } void loop() { int s1 = analogRead(A); int s2 = analogRead(B); if (s1>540 && s2<540 && s2>500) Forward(); else if(s1<500 && s2<540 && s2>500) Backward(); else if(s2>540 && s1<540 && s1>500) Right(); else if(s2<500 && s1<540 && s1>500) Left(); else if(s1<540 && s1>500 && s2<540 && s2>500) Steady(); } void Forward() { digitalWrite(M1,HIGH); digitalWrite(M2,LOW); digitalWrite(M3,HIGH); digitalWrite(M4,LOW); } void Backward() { digitalWrite(M1,LOW); digitalWrite(M2,HIGH); digitalWrite(M3,LOW); digitalWrite(M4,HIGH); } void Left() { digitalWrite(M1,LOW); digitalWrite(M2,LOW); digitalWrite(M3,HIGH); digitalWrite(M4,LOW); } void Right() { digitalWrite(M1,HIGH); digitalWrite(M2,LOW); digitalWrite(M3,LOW); digitalWrite(M4,LOW); } void Steady() { digitalWrite(M1,LOW); digitalWrite(M2, LOW); digitalWrite(M3,LOW); digitalWrite(M4,LOW); }