Arduino UNO-Based Autonomous Robot with PIR and Ultrasonic Sensors
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary
This circuit is designed to control a robotic system using an Arduino UNO microcontroller. The system includes multiple sensors (PIR sensors and an Ultrasonic sensor), a servo motor, and several DC motors controlled via an L293D motor driver. The Arduino UNO reads sensor data and controls the motors based on the sensor inputs and predefined logic.
Component List
Arduino UNO
- Description: Microcontroller board based on the ATmega328P.
- Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0, A1, A2, A3, A4, A5, SCL, SDA, AREF, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0
L293D
- Description: Motor driver IC used to control DC motors and servo motors.
- Pins: 5V, GND, +, Servo1, Servo2, RX/DO, TX/D1, 9V, A0, A1, A2, A3, A4/SDA, A5/SCL, VIN, 3.3V, RESET, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13
PIR Sensor (Left)
- Description: Passive Infrared sensor used to detect motion.
- Pins: VDD, SIG, GND
PIR Sensor (Right)
- Description: Passive Infrared sensor used to detect motion.
- Pins: VDD, SIG, GND
Ultrasonic Sensor
- Description: Sensor used to measure distance by using ultrasonic waves.
- Pins: +VCC, Trigger, Echo, GND
Servo
- Description: Servo motor used for precise control of angular position.
- Pins: GND, VCC, PWM
DC Motor (x4)
- Description: Standard DC motor used for driving the robot.
- Pins: pin 1, pin 2
7.4V Battery
- Description: Power source for the circuit.
- Pins: +, -
Wiring Details
Arduino UNO
- Reset connected to L293D RESET
- 3.3V connected to L293D 3.3V
- 5V connected to L293D 5V
- GND connected to L293D GND
- Vin connected to L293D VIN
- A0 connected to L293D A0
- A1 connected to L293D A1
- A2 connected to L293D A2
- A3 connected to L293D A3
- A4 connected to L293D A4/SDA
- A5 connected to L293D A5/SCL
- AREF connected to L293D GND
- D13 connected to L293D D13
- D12 connected to L293D D12
- D11 connected to L293D D11
- D10 connected to L293D D10
- D9 connected to L293D D9
- D8 connected to L293D D8
- D7 connected to L293D D7
- D6 connected to L293D D6
- D5 connected to L293D D5
- D4 connected to L293D D4
- D3 connected to L293D D3
- D2 connected to L293D D2
- D1 connected to L293D TX/D1
- D0 connected to L293D RX/DO
L293D
- 5V connected to Arduino UNO 5V
- GND connected to Arduino UNO GND
- RESET connected to Arduino UNO Reset
- 3.3V connected to Arduino UNO 3.3V
- VIN connected to Arduino UNO Vin
- A0 connected to Arduino UNO A0
- A1 connected to Arduino UNO A1
- A2 connected to Arduino UNO A2
- A3 connected to Arduino UNO A3
- A4/SDA connected to Arduino UNO A4
- A5/SCL connected to Arduino UNO A5
- D13 connected to Arduino UNO D13
- D12 connected to Arduino UNO D12
- D11 connected to Arduino UNO D11
- D10 connected to Arduino UNO D10
- D9 connected to Arduino UNO D9
- D8 connected to Arduino UNO D8
- D7 connected to Arduino UNO D7
- D6 connected to Arduino UNO D6
- D5 connected to Arduino UNO D5
- D4 connected to Arduino UNO D4
- D3 connected to Arduino UNO D3
- D2 connected to Arduino UNO D2
- TX/D1 connected to Arduino UNO D1
- RX/DO connected to Arduino UNO D0
- Servo1 connected to Servo PWM
- A0 connected to Ultrasonic Sensor Echo
- A1 connected to Ultrasonic Sensor Trigger
- A2 connected to PIR Sensor (Right) SIG
- A3 connected to PIR Sensor (Left) SIG
- GND connected to Ultrasonic Sensor GND
- GND connected to PIR Sensor (Right) GND
- GND connected to PIR Sensor (Left) GND
- GND connected to Servo GND
- GND connected to 7.4V Battery -
- GND connected to DC Motor pin 2
- GND connected to DC Motor pin 1
- GND connected to DC Motor pin 2
- GND connected to DC Motor pin 1
- 5V connected to Ultrasonic Sensor +VCC
- 5V connected to PIR Sensor (Right) VDD
- 5V connected to PIR Sensor (Left) VDD
- 5V connected to Servo VCC
- + connected to 7.4V Battery +
- + connected to DC Motor pin 1
- + connected to DC Motor pin 2
- + connected to DC Motor pin 2
- + connected to DC Motor pin 1
PIR Sensor (Left)
- VDD connected to L293D 5V
- SIG connected to L293D A3
- GND connected to L293D GND
PIR Sensor (Right)
- VDD connected to L293D 5V
- SIG connected to L293D A2
- GND connected to L293D GND
Ultrasonic Sensor
- +VCC connected to L293D 5V
- Trigger connected to L293D A1
- Echo connected to L293D A0
- GND connected to L293D GND
Servo
- GND connected to L293D GND
- VCC connected to L293D 5V
- PWM connected to L293D Servo1
DC Motor (x4)
- pin 1 connected to L293D GND
- pin 2 connected to L293D GND
7.4V Battery
- + connected to L293D +
- - connected to L293D GND
Code Documentation
#include <Servo.h> // Include the Servo library
// PIR Sensor Pins
const int pirLeft = A0; // Left PIR Sensor
const int pirRight = A1; // Right PIR Sensor
// Ultrasonic Sensor Pins
const int trigPin = 9;
const int echoPin = 10;
// Motor Pins (L293D)
const int motorLeftForward = 4;
const int motorLeftBackward = 5;
const int motorRightForward = 6;
const int motorRightBackward = 7;
// Servo Motor
Servo servo; // Create a servo object
const int servoPin = 8; // Servo signal pin
// Distance thresholds (in cm)
const int minDistance = 10; // Stop if closer
const int maxDistance =