Introduction: Infrared Sensor Guided Arduino Controlled L293D Robot ( Part 2 )

Here is part 2 of the Arduino controlled L293D Robot.

Part 2 includes Infrared Sensors.This is part of a series of instructables leading to a Line follower Robot.

QRD1114 Infrared Sensor connected to Arduino

Step 1: Wiring the Infrared Sensor to the Arduino

Negative from the IR Sensor connects to Negative on the Breadboard.

Middle Pin ( Positive ) from the IR Sensor connects to Positive on the Breadboard.

Last Pin ( Input ) from the IR Sensor connects to Analog input on Arduino Board.

In this case I had the Input from the IR Sensor connecting to Pin 3 on the Analog Input on the Arduino.

Step 2: Basic Code to Read the IR Sensor

int analogPin = 3;     // Infrared Sensor (Right lead) connected to analog pin 3
                                    // outside leads to ground and +5V
int val = 0;                  // variable to store the value read

void setup()
{
  Serial.begin(9600);          //  setup serial
}

void loop()
{
  val = analogRead(analogPin);    // read the input pin
  Serial.println(val);                           // debug value
}

Step 3: Code to Drive Forward When IR Sensor Value Is Less Than 100

// This is the basic code which runs a loop that makes the Robot go straight forward when the Infrared value is below 100.

int analogPin = 3;     // Infrared Sensor (Right lead) connected to analog pin 3
                                     // Infrared Sensor(middle Lead) connected to +5V
                                     // Infrared Sensor(Left Lead) connected to ground

int val = 0;           // variable to store the value read


int LeftMotorForward = 10; // Pin 10 has Left Motor connected on Arduino boards.
int LeftMotorReverse = 9; // Pin 9 has Left Motor connected on Arduino boards.

int RightMotorForward = 12; // Pin 12 has Right Motor connected on Arduino boards.
int RightMotorReverse = 13; // Pin 13 has Right Motor connected on Arduino boards.

//------------------------------------------------------------------------------------------------

void setup()
{
  pinMode(LeftMotorForward, OUTPUT);  // initialize the  pin as an output.
  pinMode(RightMotorForward, OUTPUT);  // initialize the  pin as an output.
  pinMode(LeftMotorReverse, OUTPUT);  // initialize the  pin as an output.
  pinMode(RightMotorReverse, OUTPUT);  // initialize the  pin as an output.

   Serial.begin(9600);          //  setup serial
}

// The following Loop is to make the Robot go staright when the Infrared value is below 100

void loop()

{
   val = analogRead(analogPin);    // read the input pin
  Serial.println(val);             // debug value

  if (val <100)

// If the read value is < 100 then run the code below which will turn  both Left and Right Motor on making the Robot go straight.

  {
   digitalWrite(RightMotorForward, HIGH);   // turn the Right Motor ON
   digitalWrite(LeftMotorForward, HIGH);   // turn the Left Motor ON
   delay(10000);               // wait for  10 seconds

   digitalWrite(RightMotorForward,LOW);   // turn the Right Motor OFF
   digitalWrite(LeftMotorForward, LOW);   // turn the Left Motor OFF
   delay(10000);               // wait for  10 seconds
  }

}

Step 4: IR Value Is Greater Than 100

When IR Value is greater than 100 then the Motors are off.

Step 5: IR Value Is Less Than 100

When IR Value is Less than 100 then the Motors are turned on and the Robot drives forward for 10 seconds.

Hurricane Lasers Contest

Participated in the
Hurricane Lasers Contest