/*Obstacle Avoiding Robot Using Mediatek linkIt One board and IR module*/ // --------------------------------------------------------------------------- Motors int motor_left[] = {2, 3}; int motor_right[] = {7, 8}; int s1=4; int s2=10; // --------------------------------------------------------------------------- Setup void setup() { Serial.begin(9600); // Setup motors int i; for(i = 0; i < 2; i++){ pinMode(motor_left[i], OUTPUT); pinMode(motor_right[i], OUTPUT); } pinMode(s1,OUTPUT); pinMode(s2,OUTPUT); } // --------------------------------------------------------------------------- Loop void loop() { boolean a=digitalRead(s1); boolean b=digitalRead(s2); if(a==LOW&&b==LOW){ drive_forward(); Serial.println("FORWARD DRIVE"); delay(250); } if(a==HIGH&&b==HIGH){ drive_revert(); Serial.println("Revert DRIVE"); delay(250); } if(a==LOW&&b==HIGH){ turn_left(); Serial.println("LEFT Drive"); delay(250); } if(a==HIGH&&b==LOW){ turn_right(); Serial.println("RIGHT Drive"); delay(250); } } // --------------------------------------------------------------------------- Drive void drive_forward(){ digitalWrite(motor_left[0], HIGH); digitalWrite(motor_left[1], LOW); digitalWrite(motor_right[0], HIGH); digitalWrite(motor_right[1], LOW); } void drive_revert(){ digitalWrite(motor_left[0], LOW); digitalWrite(motor_left[1], HIGH); digitalWrite(motor_right[0], LOW); digitalWrite(motor_right[1], HIGH); } void turn_left(){ digitalWrite(motor_left[0], LOW); digitalWrite(motor_left[1], HIGH); digitalWrite(motor_right[0], HIGH); digitalWrite(motor_right[1], LOW); } void turn_right(){ digitalWrite(motor_left[0], HIGH); digitalWrite(motor_left[1], LOW); digitalWrite(motor_right[0], LOW); digitalWrite(motor_right[1], HIGH); }