Robot is a elector-mechanical device controlled by computer program.A micro controller is the brain of Robot as it is able to execute a program and decide action to achieve desired goal based on written program.
BLOCK DIAGRAM

Required Components
- Bread Board.
- Connecting wires.
- Castor wheel.
- Robot Wheel.
- Robot Chasis.
- Motor Driver l293d.
- DC Geared or BO motor
- Arduino
- Battery
- LM7805
- Switch
- Capacitors 470uf & 100uf
PARTS OF ROBOT
MICROCONTROLLER
A microcontroller is the main part where we upload the computer program in chip to perform the desired action by robot. Usually we use Arduino, whereas Arduino is a development board that contains a microcontroller typical an 8-bit AVR such as the ATmega8, ATmega168, ATmega328, ATmega1280, and ATmega2560 etc..
MOTOR
Motors are machine that could convert electrical energy into physical motion while motor drivers act as the intermediate device between a microcontroller and motors. It provides the current at the required voltage and works together with microcontrollers to make the motors move appropriately. In basic robot it moves forward,reverse, left, right and stop for certain delay.

L293D MOTOR DRIVER
L293D is a dual H-bridge, 16 pin IC, with eight pins on each side, dedicated to the controlling of a motor.With the help of L293D we can control two motors.

Pin Diagram:

BATTERY
Battery is used to provide supply to controller and motor driver, mostly 12v lithium ion batteries are used for better efficiency.

CHASSIS
Chassis is the body of robot where we place PCB or general purpose or bread board, components and parts that are interfaced and connected to it.
WHEEL
Wheel acts like legs for Robot. The Wheels can be mounted on shafts connected to motors or gearboxes.

CASTOR WHEEL
With the help of wheel robot moves in forward or backward without any problem but if robot wants to move left or right it needs support,so to provide differential drive castor wheel is used.

MOTOR LOGIC TABLE

Basic Robot Logic Table

Pin Mapping
Between Arduino and L293D

Between Motor and L293D

CIRCUIT DIAGRAM:

FLOW CHART:

Program:
#define LEFT_MOTOR1 1 #define LEFT_MOTOR2 2 #define RIGHT_MOTOR1 3 #define RIGHT_MOTOR2 4 void setup() { /* Motor Pin Configuration */ pinMode(LEFT_MOTOR1,OUTPUT); pinMode(LEFT_MOTOR2,OUTPUT); pinMode(RIGHT_MOTOR1,OUTPUT); pinMode(RIGHT_MOTOR2,OUTPUT); } void loop() { /* Move Forward */ digitalWrite(LEFT_MOTOR1,HIGH); digitalWrite(LEFT_MOTOR2,LOW); digitalWrite(RIGHT_MOTOR1,HIGH); digitalWrite(RIGHT_MOTOR2,LOW); /* Move Left */ digitalWrite(LEFT_MOTOR1,LOW); digitalWrite(LEFT_MOTOR2,HIGH); digitalWrite(RIGHT_MOTOR1,HIGH); digitalWrite(RIGHT_MOTOR2,LOW); /* Move Right */ digitalWrite(LEFT_MOTOR1,HIGH); digitalWrite(LEFT_MOTOR2,LOW); digitalWrite(RIGHT_MOTOR1,LOW); digitalWrite(RIGHT_MOTOR2,HIGH); /* Move Reverse */ digitalWrite(LEFT_MOTOR1,LOW); digitalWrite(LEFT_MOTOR2,HIGH); digitalWrite(RIGHT_MOTOR1,LOW); digitalWrite(RIGHT_MOTOR2,HIGH); }