SlideShare ist ein Scribd-Unternehmen logo
1 von 22
KIET Group of Institutions
Robotic Car Controlled over
Bluetooth with Obstacle Avoidance
SURYA PRATAP
ECE DEPARTMENT
1900290310175 Ph..7500613027
Introduction
 Robotic is the branch of electrical engineering,
mechanical engineering and computer science that deals
with the design, construction, operation, and application of
robot, as well as computer system for their control, sensory
feedback, and information processing.
 This is a robot car that can be remotely controlled using a
Bluetooth terminal mobile application and has the
capability to avoid the collision with the obstacles.
Hardware Components
 Arduino Uno (1)
 Ultrasonic Sensor-HC-SR04 (1)
 Motor Driver IC-L298N (2)
 Dc Motor (4)
 Bluetooth REES52 HC-05 (1)
 Car Chassis (4)
 12v Rechargeable Battery (1)
 Jumper Wires Male Female (30)
 Switch (2)
 Passive Buzzer (1)
 Red and Blue LED (5)
 Charging Female Switch (1)
 Resistance 220ohm (5)
 Diode (2)
Arduino Uno
The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has
14 digital input/output pins (of which 6 can be used as PWM), 6 analog inputs, a 16
MHz ceramic resonator , dc current per I/O 40mA, flash memory 32Kb, clock speed
16MHz. It also has 2KB of SRAM and 1 KB of EEPROM.
The board can operate on an external supply of 6 to 20 volts. If supplied with
less than 7V, however, the 5V pin may supply less than 5V and the board may be
unstable. If using more than 12V, the voltage regulator may overheat and damage the
board. The recommended range is 7 to 12V.
Ultrasonic Sensor
The Ultrasonic sensor works on the same principles as a radar
system. It can convert electrical energy into acoustic wave and
vice versa. The acoustic wave signal is an ultrasonic wave
traveling at a frequency above 40kHz. It has working voltage 5V,
working current 15mA, Max range 4m and Min range 2cm ,
Measuring angle 15 degree.
L298N Motor Driver
This L298N Motor Driver is a high power motor driver for
driving DC and Stepper motors. This module consists of
an L298 motor driver IC and a 78M05 5V regulator,
resistors, capacitor, Power LED.
We can apply Input voltage 3.2V-40Vdc in this module. It
has Power supply 5V-35V, and peak current 2amp,
operating current range 0-36mA.
Bluetooth HC-05
Bluetooth Communication is a 2.4GHz frequency based RF Communication with a range of
approximately 10 meters. It is one of the most popular and most frequently used low range
communication for data transfer. It come with sex pins namely: VCC, GND, TX, RX, EN and
STATE. This module works on a logic level of 3.3V regulator is used on the board.
HC-05 module has Baud rate: 9600 with 8 data bits, no parity and 1 stop bit.
Module can be configured in two modes of operation:
 In Command Mode, At commands for configuring various settings and parameter of
the module like get firmware information, change UART baud rate , set it as either
master or slave.
 In Data Mode, In this mode, the module is used for communication with other
Bluetooth device example data transfer happens in this mode.
Circuit Diagram
AssemblingThe Part
Assembling the Chassis Wire ConnectionsSoldering
Ready For Uploading the Code
#define light_FR 14 //LED Front Right pin A0 for Arduino Uno
#define light_FL 15 //LED Front Left pin A1 for Arduino Uno
#define light_BR 16 //LED Back Right pin A2 for Arduino Uno
//#define light_BL 17 LED Back Left pin A3 for Arduino Uno
#define horn_Buzz 18 //Horn Buzzer pin A4 for Arduino Uno
#define ENA_m1 5 // Enable/speed motor Front Right
#define ENB_m1 6 // Enable/speed motor Back Right
#define ENA_m2 10 // Enable/speed motor Front Left
#define ENB_m2 11 // Enable/speed motor Back Left
#define IN_11 2 // L298N #1 in 1 motor Front Right
#define IN_12 3 // L298N #1 in 2 motor Front Right
#define IN_13 4 // L298N #1 in 3 motor Back Right
#define IN_14 7 // L298N #1 in 4 motor Back Right
#define IN_21 8 // L298N #2 in 1 motor Front Left
#define IN_22 9 // L298N #2 in 2 motor Front Left
#define IN_23 12 // L298N #2 in 3 motor Back Left
#define IN_24 13 // L298N #2 in 4 motor Back Left
Arduino Code
int command; //Int to store app command
state.
int speedCar = 100;
int speedCarM = 95;// 50 - 255.
int speed_Coeff = 4;
const int trigPin = A5;
const int echoPin = A3;
// defines variables
long duration;
int distance;
int safetyDistance;
boolean lightFront = false;
boolean lightBack = false;
boolean horn = false;
void setup() {
pinMode(light_FR, OUTPUT);
pinMode(light_FL, OUTPUT);
pinMode(light_BR, OUTPUT);
pinMode(light_BR, OUTPUT);
pinMode(horn_Buzz, OUTPUT);
pinMode(ENA_m1, OUTPUT);
pinMode(ENB_m1, OUTPUT);
pinMode(ENA_m2, OUTPUT);
pinMode(ENB_m2, OUTPUT);
pinMode(IN_11, OUTPUT);
pinMode(IN_12, OUTPUT);
pinMode(IN_13, OUTPUT);
pinMode(IN_14, OUTPUT);
pinMode(IN_21, OUTPUT);
pinMode(IN_22, OUTPUT);
pinMode(IN_23, OUTPUT);
pinMode(IN_24, OUTPUT);
pinMode(trigPin, OUTPUT); // Sets the
trigPin as an Output
pinMode(echoPin, INPUT); // Sets the
echoPin as an Input
Serial.begin(9600);
}
void goAhead(){
digitalWrite(IN_11, HIGH);
digitalWrite(IN_12, LOW);
analogWrite(ENA_m1, speedCar);
digitalWrite(IN_13, LOW);
digitalWrite(IN_14, HIGH);
analogWrite(ENB_m1, speedCar);
digitalWrite(IN_21, LOW);
digitalWrite(IN_22, HIGH);
analogWrite(ENA_m2, speedCar);
digitalWrite(IN_23, HIGH);
digitalWrite(IN_24, LOW);
analogWrite(ENB_m2, speedCar);
}
void goBack(){
digitalWrite(IN_11, LOW);
digitalWrite(IN_12, HIGH);
analogWrite(ENA_m1, speedCar);
digitalWrite(IN_13, HIGH);
digitalWrite(IN_14, LOW);
analogWrite(ENB_m1, speedCar);
digitalWrite(IN_21, HIGH);
digitalWrite(IN_22, LOW);
analogWrite(ENA_m2, speedCar);
digitalWrite(IN_23, LOW);
digitalWrite(IN_24, HIGH);
analogWrite(ENB_m2, speedCar);
}
void goBackM(){
digitalWrite(IN_11, LOW);
digitalWrite(IN_12, HIGH);
analogWrite(ENA_m1, speedCarM);
digitalWrite(IN_13, HIGH);
digitalWrite(IN_14, LOW);
analogWrite(ENB_m1, speedCarM);
digitalWrite(IN_21, HIGH);
digitalWrite(IN_22, LOW);
analogWrite(ENA_m2, speedCarM);
digitalWrite(IN_23, LOW);
digitalWrite(IN_24, HIGH);
analogWrite(ENB_m2, speedCarM);
}
void goRight(){
digitalWrite(IN_11, LOW);
digitalWrite(IN_12, HIGH);
analogWrite(ENA_m1, speedCar);
digitalWrite(IN_13, HIGH);
digitalWrite(IN_14, LOW);
analogWrite(ENB_m1, speedCar);
digitalWrite(IN_21, LOW);
digitalWrite(IN_22, HIGH);
analogWrite(ENA_m2, speedCar);
digitalWrite(IN_23, HIGH);
digitalWrite(IN_24, LOW);
analogWrite(ENB_m2, speedCar);
}
void goLeft(){
digitalWrite(IN_11, HIGH);
digitalWrite(IN_12, LOW);
analogWrite(ENA_m1, speedCar);
digitalWrite(IN_13, LOW);
digitalWrite(IN_14, HIGH);
analogWrite(ENB_m1, speedCar);
digitalWrite(IN_21, HIGH);
digitalWrite(IN_22, LOW);
analogWrite(ENA_m2, speedCar);
digitalWrite(IN_23, LOW);
digitalWrite(IN_24, HIGH);
analogWrite(ENB_m2, speedCar);
}
void goAheadRight(){
digitalWrite(IN_11, HIGH);
digitalWrite(IN_12, LOW);
analogWrite(ENA_m1, speedCar/speed_Coeff);
digitalWrite(IN_13, LOW);
digitalWrite(IN_14, HIGH);
analogWrite(ENB_m1, speedCar/speed_Coeff);
digitalWrite(IN_21, LOW);
digitalWrite(IN_22, HIGH);
analogWrite(ENA_m2, speedCar);
digitalWrite(IN_23, HIGH);
digitalWrite(IN_24, LOW);
analogWrite(ENB_m2, speedCar);
}
void goAheadLeft(){
digitalWrite(IN_11, HIGH);
digitalWrite(IN_12, LOW);
analogWrite(ENA_m1, speedCar);
digitalWrite(IN_13, LOW);
digitalWrite(IN_14, HIGH);
analogWrite(ENB_m1, speedCar);
digitalWrite(IN_21, LOW);
digitalWrite(IN_22, HIGH);
analogWrite(ENA_m2, speedCar/speed_Coeff);
digitalWrite(IN_23, HIGH);
digitalWrite(IN_24, LOW);
analogWrite(ENB_m2, speedCar/speed_Coeff);
}
void goBackRight(){
digitalWrite(IN_11, LOW);
digitalWrite(IN_12, HIGH);
analogWrite(ENA_m1, speedCar/speed_Coeff);
digitalWrite(IN_13, HIGH);
digitalWrite(IN_14, LOW);
analogWrite(ENB_m1, speedCar/speed_Coeff);
digitalWrite(IN_21, HIGH);
digitalWrite(IN_22, LOW);
analogWrite(ENA_m2, speedCar);
digitalWrite(IN_23, LOW);
digitalWrite(IN_24, HIGH);
analogWrite(ENB_m2, speedCar);
}
void goBackLeft(){
digitalWrite(IN_11, LOW);
digitalWrite(IN_12, HIGH);
analogWrite(ENA_m1, speedCar);
digitalWrite(IN_13, HIGH);
digitalWrite(IN_14, LOW);
analogWrite(ENB_m1, speedCar);
digitalWrite(IN_21, HIGH);
digitalWrite(IN_22, LOW);
analogWrite(ENA_m2, speedCar/speed_Coeff);
digitalWrite(IN_23, LOW);
digitalWrite(IN_24, HIGH);
analogWrite(ENB_m2, speedCar/speed_Coeff);
}
void stopRobot(){
digitalWrite(IN_11, LOW);
digitalWrite(IN_12, LOW);
analogWrite(ENA_m1, speedCar);
digitalWrite(IN_13, LOW);
digitalWrite(IN_14, LOW);
analogWrite(ENB_m1, speedCar);
digitalWrite(IN_21, LOW);
digitalWrite(IN_22, LOW);
analogWrite(ENA_m2, speedCar);
digitalWrite(IN_23, LOW);
digitalWrite(IN_24, LOW);
analogWrite(ENB_m2, speedCar);
}
void loop(){
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro
seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel
time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance= duration*0.034/2;
safetyDistance = distance;
if (Serial.available() > 0) {
command = Serial.read();
stopRobot(); //Initialize with motors stopped.
if (lightFront) {digitalWrite(light_FR, HIGH);
digitalWrite(light_FL, HIGH);}
if (!lightFront) {digitalWrite(light_FR, LOW);
digitalWrite(light_FL, LOW);}
if (lightBack) {digitalWrite(light_BR, HIGH);
digitalWrite(light_BR, HIGH);}
if (!lightBack) {digitalWrite(light_BR, LOW);
digitalWrite(light_BR, LOW);}
if (horn) {digitalWrite(horn_Buzz, HIGH);}
if (!horn) {digitalWrite(horn_Buzz, LOW);}
if (safetyDistance <= 20){
digitalWrite(light_BR, HIGH);
digitalWrite(horn_Buzz, HIGH);
delay(500);
goBackM();
delay(750);
}
else{
switch (command) {
case 'F':goAhead();break;
case 'B':goBack();break;
case 'L':goLeft();break ;
case 'R':goRight();break;
case 'I':goAheadRight();break;
case 'G':goAheadLeft();break;
case 'J':goBackRight();break;
case 'H':goBackLeft();break;
case '0':speedCar = 100;break;
case '1':speedCar = 115;break;
case '2':speedCar = 130;break;
case '3':speedCar = 145;break;
case '4':speedCar = 160;break;
case '5':speedCar = 175;break;
case '6':speedCar = 190;break;
case '7':speedCar = 205;break;
case '8':speedCar = 220;break;
case '9':speedCar = 235;break;
case 'q':speedCar = 255;break;
case 'W':lightFront = true;break;
case 'w':lightFront = false;break;
case 'U':lightBack = true;break;
case 'u':lightBack = false;break;
case 'V':horn = true;break;
case 'v':horn = false;break;
}
}
}
}
Android Application
Forward
Backward
Front Light Back Light Horn Acceleratio
Right
Left
https://www.pdfdrive.com/beginning-c-for-arduino-learn-c-programming-for-
the-arduino-e156890686.html
https://www.instructables.com/ROBOT-CAR-Bluetooth-
Controlled-Obstacle-Avoidance-/
https://www.arduino.cc/
https://www.youtube.com/watch?v=fJWR7dBu
c18&list=PLGs0VKk2DiYw-L-RibttcvK-
WBZm8WLEP
Books:
Arduino Links:
https://www.pdfdrive.com/arduino-programming-with-net-and-sketch-
e40130578.html
Reference
MOOC Course 1
MOOC Course 2
THANK
YOU

Weitere ähnliche Inhalte

Was ist angesagt?

Advanced motion controls dr101ee15a40ldc
Advanced motion controls dr101ee15a40ldcAdvanced motion controls dr101ee15a40ldc
Advanced motion controls dr101ee15a40ldc
Electromate
 
Advanced motion controls dr101ee30a40ldc
Advanced motion controls dr101ee30a40ldcAdvanced motion controls dr101ee30a40ldc
Advanced motion controls dr101ee30a40ldc
Electromate
 
Advanced motion controls dq112ee15a40ldc
Advanced motion controls dq112ee15a40ldcAdvanced motion controls dq112ee15a40ldc
Advanced motion controls dq112ee15a40ldc
Electromate
 
Advanced motion controls dq111ee40a8bdc
Advanced motion controls dq111ee40a8bdcAdvanced motion controls dq111ee40a8bdc
Advanced motion controls dq111ee40a8bdc
Electromate
 
Advanced motion controls dq111ee30a40ldc
Advanced motion controls dq111ee30a40ldcAdvanced motion controls dq111ee30a40ldc
Advanced motion controls dq111ee30a40ldc
Electromate
 
Advanced motion controls dq111se40a8bdc h
Advanced motion controls dq111se40a8bdc hAdvanced motion controls dq111se40a8bdc h
Advanced motion controls dq111se40a8bdc h
Electromate
 
RoboticCarKit_MANUAL
RoboticCarKit_MANUALRoboticCarKit_MANUAL
RoboticCarKit_MANUAL
Elijah Barner
 
Advanced motion controls dq111ee20a8bdc qd1
Advanced motion controls dq111ee20a8bdc qd1Advanced motion controls dq111ee20a8bdc qd1
Advanced motion controls dq111ee20a8bdc qd1
Electromate
 
Meier_ECET365_Manual_LI
Meier_ECET365_Manual_LIMeier_ECET365_Manual_LI
Meier_ECET365_Manual_LI
jmeier72
 
Advanced motion controls mc1xdzpc01
Advanced motion controls mc1xdzpc01Advanced motion controls mc1xdzpc01
Advanced motion controls mc1xdzpc01
Electromate
 

Was ist angesagt? (20)

Advanced motion controls dr101ee15a40ldc
Advanced motion controls dr101ee15a40ldcAdvanced motion controls dr101ee15a40ldc
Advanced motion controls dr101ee15a40ldc
 
CHART FOR PROJECT
CHART FOR PROJECTCHART FOR PROJECT
CHART FOR PROJECT
 
Interfacing Bluetooth Modules with 8051 Microcontroller
Interfacing Bluetooth Modules with 8051 MicrocontrollerInterfacing Bluetooth Modules with 8051 Microcontroller
Interfacing Bluetooth Modules with 8051 Microcontroller
 
Advanced motion controls dr101ee30a40ldc
Advanced motion controls dr101ee30a40ldcAdvanced motion controls dr101ee30a40ldc
Advanced motion controls dr101ee30a40ldc
 
ARM COMPLETE DETAIL PART 4
ARM COMPLETE DETAIL PART 4ARM COMPLETE DETAIL PART 4
ARM COMPLETE DETAIL PART 4
 
Advanced motion controls dq112ee15a40ldc
Advanced motion controls dq112ee15a40ldcAdvanced motion controls dq112ee15a40ldc
Advanced motion controls dq112ee15a40ldc
 
Ppt
PptPpt
Ppt
 
Advanced motion controls dq111ee40a8bdc
Advanced motion controls dq111ee40a8bdcAdvanced motion controls dq111ee40a8bdc
Advanced motion controls dq111ee40a8bdc
 
Advanced motion controls dq111ee30a40ldc
Advanced motion controls dq111ee30a40ldcAdvanced motion controls dq111ee30a40ldc
Advanced motion controls dq111ee30a40ldc
 
Touch Switch (Smart Switches) by arduino Project report file
Touch Switch (Smart Switches) by arduino  Project  report fileTouch Switch (Smart Switches) by arduino  Project  report file
Touch Switch (Smart Switches) by arduino Project report file
 
Advanced motion controls dq111se40a8bdc h
Advanced motion controls dq111se40a8bdc hAdvanced motion controls dq111se40a8bdc h
Advanced motion controls dq111se40a8bdc h
 
An Introduction to Robotics and Embedded System
An Introduction to Robotics and Embedded SystemAn Introduction to Robotics and Embedded System
An Introduction to Robotics and Embedded System
 
RoboticCarKit_MANUAL
RoboticCarKit_MANUALRoboticCarKit_MANUAL
RoboticCarKit_MANUAL
 
VIPA SLIO Introduction
VIPA SLIO IntroductionVIPA SLIO Introduction
VIPA SLIO Introduction
 
Bluetooth controlled robot
Bluetooth controlled robotBluetooth controlled robot
Bluetooth controlled robot
 
Advanced motion controls dq111ee20a8bdc qd1
Advanced motion controls dq111ee20a8bdc qd1Advanced motion controls dq111ee20a8bdc qd1
Advanced motion controls dq111ee20a8bdc qd1
 
PM16 Technical Specification 20022013
PM16 Technical Specification 20022013PM16 Technical Specification 20022013
PM16 Technical Specification 20022013
 
Meier_ECET365_Manual_LI
Meier_ECET365_Manual_LIMeier_ECET365_Manual_LI
Meier_ECET365_Manual_LI
 
OPAL-RT RT14: New hardware presentation
OPAL-RT RT14: New hardware presentationOPAL-RT RT14: New hardware presentation
OPAL-RT RT14: New hardware presentation
 
Advanced motion controls mc1xdzpc01
Advanced motion controls mc1xdzpc01Advanced motion controls mc1xdzpc01
Advanced motion controls mc1xdzpc01
 

Ähnlich wie Robotic Car Controlled over Bluetooth with Obstacle Avoidance

Office automation system using arduino
Office automation system using arduinoOffice automation system using arduino
Office automation system using arduino
Ashfaqul Haque John
 

Ähnlich wie Robotic Car Controlled over Bluetooth with Obstacle Avoidance (20)

Obstacle detection Robot using Ultrasonic Sensor and Arduino UNO
Obstacle detection Robot using Ultrasonic Sensor and Arduino UNOObstacle detection Robot using Ultrasonic Sensor and Arduino UNO
Obstacle detection Robot using Ultrasonic Sensor and Arduino UNO
 
Design and Development of a prototype of AGV
Design and Development of a prototype of AGVDesign and Development of a prototype of AGV
Design and Development of a prototype of AGV
 
Arduino Based Collision Prevention Warning System
Arduino Based Collision Prevention Warning SystemArduino Based Collision Prevention Warning System
Arduino Based Collision Prevention Warning System
 
Obstacle avoiding Robot
Obstacle avoiding RobotObstacle avoiding Robot
Obstacle avoiding Robot
 
Arduino Programming Basic
Arduino Programming BasicArduino Programming Basic
Arduino Programming Basic
 
Aircraft Anti collision system using ZIGBEE Communication
Aircraft Anti collision system using ZIGBEE CommunicationAircraft Anti collision system using ZIGBEE Communication
Aircraft Anti collision system using ZIGBEE Communication
 
Arduino windows remote control
Arduino windows remote controlArduino windows remote control
Arduino windows remote control
 
WIRELESS GESTURED CONTROLLED ROBOT USING ACCELEROMETER
WIRELESS GESTURED CONTROLLED ROBOT USING ACCELEROMETERWIRELESS GESTURED CONTROLLED ROBOT USING ACCELEROMETER
WIRELESS GESTURED CONTROLLED ROBOT USING ACCELEROMETER
 
438050190-presentation-for-arduino-driven-bluetooth-rc-cr.pptx
438050190-presentation-for-arduino-driven-bluetooth-rc-cr.pptx438050190-presentation-for-arduino-driven-bluetooth-rc-cr.pptx
438050190-presentation-for-arduino-driven-bluetooth-rc-cr.pptx
 
Remote Operated Spy Robot Circuit
Remote Operated Spy Robot CircuitRemote Operated Spy Robot Circuit
Remote Operated Spy Robot Circuit
 
Gesture Robot car.pptx
Gesture Robot car.pptxGesture Robot car.pptx
Gesture Robot car.pptx
 
Touchpad Monitored Car
Touchpad Monitored CarTouchpad Monitored Car
Touchpad Monitored Car
 
Touchpad Monitored Car
Touchpad Monitored Car Touchpad Monitored Car
Touchpad Monitored Car
 
Fire Fighting Robot
Fire Fighting RobotFire Fighting Robot
Fire Fighting Robot
 
Bluetooth controled robot
Bluetooth controled robotBluetooth controled robot
Bluetooth controled robot
 
IRJET- Automated Elevator-An Attentive Elevator to Elevate using Speech Recog...
IRJET- Automated Elevator-An Attentive Elevator to Elevate using Speech Recog...IRJET- Automated Elevator-An Attentive Elevator to Elevate using Speech Recog...
IRJET- Automated Elevator-An Attentive Elevator to Elevate using Speech Recog...
 
QuickSilver Controls QCI-DS018 QCI-D2-IG8
QuickSilver Controls QCI-DS018 QCI-D2-IG8QuickSilver Controls QCI-DS018 QCI-D2-IG8
QuickSilver Controls QCI-DS018 QCI-D2-IG8
 
IRJET- Intelligent Security and Monitoring System for Vehicle
IRJET- Intelligent Security and Monitoring System for VehicleIRJET- Intelligent Security and Monitoring System for Vehicle
IRJET- Intelligent Security and Monitoring System for Vehicle
 
Office automation system using arduino
Office automation system using arduinoOffice automation system using arduino
Office automation system using arduino
 
Contactless digital tachometer using microcontroller
Contactless digital tachometer using microcontroller Contactless digital tachometer using microcontroller
Contactless digital tachometer using microcontroller
 

Kürzlich hochgeladen

Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
 

Kürzlich hochgeladen (20)

Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 

Robotic Car Controlled over Bluetooth with Obstacle Avoidance

  • 1. KIET Group of Institutions Robotic Car Controlled over Bluetooth with Obstacle Avoidance SURYA PRATAP ECE DEPARTMENT 1900290310175 Ph..7500613027
  • 2. Introduction  Robotic is the branch of electrical engineering, mechanical engineering and computer science that deals with the design, construction, operation, and application of robot, as well as computer system for their control, sensory feedback, and information processing.  This is a robot car that can be remotely controlled using a Bluetooth terminal mobile application and has the capability to avoid the collision with the obstacles.
  • 3. Hardware Components  Arduino Uno (1)  Ultrasonic Sensor-HC-SR04 (1)  Motor Driver IC-L298N (2)  Dc Motor (4)  Bluetooth REES52 HC-05 (1)  Car Chassis (4)  12v Rechargeable Battery (1)  Jumper Wires Male Female (30)  Switch (2)  Passive Buzzer (1)  Red and Blue LED (5)  Charging Female Switch (1)  Resistance 220ohm (5)  Diode (2)
  • 4. Arduino Uno The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM), 6 analog inputs, a 16 MHz ceramic resonator , dc current per I/O 40mA, flash memory 32Kb, clock speed 16MHz. It also has 2KB of SRAM and 1 KB of EEPROM. The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than 5V and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12V.
  • 5. Ultrasonic Sensor The Ultrasonic sensor works on the same principles as a radar system. It can convert electrical energy into acoustic wave and vice versa. The acoustic wave signal is an ultrasonic wave traveling at a frequency above 40kHz. It has working voltage 5V, working current 15mA, Max range 4m and Min range 2cm , Measuring angle 15 degree. L298N Motor Driver This L298N Motor Driver is a high power motor driver for driving DC and Stepper motors. This module consists of an L298 motor driver IC and a 78M05 5V regulator, resistors, capacitor, Power LED. We can apply Input voltage 3.2V-40Vdc in this module. It has Power supply 5V-35V, and peak current 2amp, operating current range 0-36mA.
  • 6. Bluetooth HC-05 Bluetooth Communication is a 2.4GHz frequency based RF Communication with a range of approximately 10 meters. It is one of the most popular and most frequently used low range communication for data transfer. It come with sex pins namely: VCC, GND, TX, RX, EN and STATE. This module works on a logic level of 3.3V regulator is used on the board. HC-05 module has Baud rate: 9600 with 8 data bits, no parity and 1 stop bit. Module can be configured in two modes of operation:  In Command Mode, At commands for configuring various settings and parameter of the module like get firmware information, change UART baud rate , set it as either master or slave.  In Data Mode, In this mode, the module is used for communication with other Bluetooth device example data transfer happens in this mode.
  • 8. AssemblingThe Part Assembling the Chassis Wire ConnectionsSoldering Ready For Uploading the Code
  • 9. #define light_FR 14 //LED Front Right pin A0 for Arduino Uno #define light_FL 15 //LED Front Left pin A1 for Arduino Uno #define light_BR 16 //LED Back Right pin A2 for Arduino Uno //#define light_BL 17 LED Back Left pin A3 for Arduino Uno #define horn_Buzz 18 //Horn Buzzer pin A4 for Arduino Uno #define ENA_m1 5 // Enable/speed motor Front Right #define ENB_m1 6 // Enable/speed motor Back Right #define ENA_m2 10 // Enable/speed motor Front Left #define ENB_m2 11 // Enable/speed motor Back Left #define IN_11 2 // L298N #1 in 1 motor Front Right #define IN_12 3 // L298N #1 in 2 motor Front Right #define IN_13 4 // L298N #1 in 3 motor Back Right #define IN_14 7 // L298N #1 in 4 motor Back Right #define IN_21 8 // L298N #2 in 1 motor Front Left #define IN_22 9 // L298N #2 in 2 motor Front Left #define IN_23 12 // L298N #2 in 3 motor Back Left #define IN_24 13 // L298N #2 in 4 motor Back Left Arduino Code
  • 10. int command; //Int to store app command state. int speedCar = 100; int speedCarM = 95;// 50 - 255. int speed_Coeff = 4; const int trigPin = A5; const int echoPin = A3; // defines variables long duration; int distance; int safetyDistance; boolean lightFront = false; boolean lightBack = false; boolean horn = false; void setup() { pinMode(light_FR, OUTPUT); pinMode(light_FL, OUTPUT); pinMode(light_BR, OUTPUT); pinMode(light_BR, OUTPUT); pinMode(horn_Buzz, OUTPUT); pinMode(ENA_m1, OUTPUT); pinMode(ENB_m1, OUTPUT); pinMode(ENA_m2, OUTPUT); pinMode(ENB_m2, OUTPUT); pinMode(IN_11, OUTPUT); pinMode(IN_12, OUTPUT); pinMode(IN_13, OUTPUT); pinMode(IN_14, OUTPUT); pinMode(IN_21, OUTPUT); pinMode(IN_22, OUTPUT); pinMode(IN_23, OUTPUT); pinMode(IN_24, OUTPUT); pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output pinMode(echoPin, INPUT); // Sets the echoPin as an Input Serial.begin(9600); }
  • 11. void goAhead(){ digitalWrite(IN_11, HIGH); digitalWrite(IN_12, LOW); analogWrite(ENA_m1, speedCar); digitalWrite(IN_13, LOW); digitalWrite(IN_14, HIGH); analogWrite(ENB_m1, speedCar); digitalWrite(IN_21, LOW); digitalWrite(IN_22, HIGH); analogWrite(ENA_m2, speedCar); digitalWrite(IN_23, HIGH); digitalWrite(IN_24, LOW); analogWrite(ENB_m2, speedCar); } void goBack(){ digitalWrite(IN_11, LOW); digitalWrite(IN_12, HIGH); analogWrite(ENA_m1, speedCar); digitalWrite(IN_13, HIGH); digitalWrite(IN_14, LOW); analogWrite(ENB_m1, speedCar); digitalWrite(IN_21, HIGH); digitalWrite(IN_22, LOW); analogWrite(ENA_m2, speedCar); digitalWrite(IN_23, LOW); digitalWrite(IN_24, HIGH); analogWrite(ENB_m2, speedCar); } void goBackM(){ digitalWrite(IN_11, LOW); digitalWrite(IN_12, HIGH); analogWrite(ENA_m1, speedCarM); digitalWrite(IN_13, HIGH); digitalWrite(IN_14, LOW); analogWrite(ENB_m1, speedCarM);
  • 12. digitalWrite(IN_21, HIGH); digitalWrite(IN_22, LOW); analogWrite(ENA_m2, speedCarM); digitalWrite(IN_23, LOW); digitalWrite(IN_24, HIGH); analogWrite(ENB_m2, speedCarM); } void goRight(){ digitalWrite(IN_11, LOW); digitalWrite(IN_12, HIGH); analogWrite(ENA_m1, speedCar); digitalWrite(IN_13, HIGH); digitalWrite(IN_14, LOW); analogWrite(ENB_m1, speedCar); digitalWrite(IN_21, LOW); digitalWrite(IN_22, HIGH); analogWrite(ENA_m2, speedCar); digitalWrite(IN_23, HIGH); digitalWrite(IN_24, LOW); analogWrite(ENB_m2, speedCar); } void goLeft(){ digitalWrite(IN_11, HIGH); digitalWrite(IN_12, LOW); analogWrite(ENA_m1, speedCar); digitalWrite(IN_13, LOW); digitalWrite(IN_14, HIGH); analogWrite(ENB_m1, speedCar); digitalWrite(IN_21, HIGH); digitalWrite(IN_22, LOW); analogWrite(ENA_m2, speedCar); digitalWrite(IN_23, LOW); digitalWrite(IN_24, HIGH); analogWrite(ENB_m2, speedCar); }
  • 13. void goAheadRight(){ digitalWrite(IN_11, HIGH); digitalWrite(IN_12, LOW); analogWrite(ENA_m1, speedCar/speed_Coeff); digitalWrite(IN_13, LOW); digitalWrite(IN_14, HIGH); analogWrite(ENB_m1, speedCar/speed_Coeff); digitalWrite(IN_21, LOW); digitalWrite(IN_22, HIGH); analogWrite(ENA_m2, speedCar); digitalWrite(IN_23, HIGH); digitalWrite(IN_24, LOW); analogWrite(ENB_m2, speedCar); } void goAheadLeft(){ digitalWrite(IN_11, HIGH); digitalWrite(IN_12, LOW); analogWrite(ENA_m1, speedCar); digitalWrite(IN_13, LOW); digitalWrite(IN_14, HIGH); analogWrite(ENB_m1, speedCar); digitalWrite(IN_21, LOW); digitalWrite(IN_22, HIGH); analogWrite(ENA_m2, speedCar/speed_Coeff); digitalWrite(IN_23, HIGH); digitalWrite(IN_24, LOW); analogWrite(ENB_m2, speedCar/speed_Coeff); } void goBackRight(){ digitalWrite(IN_11, LOW); digitalWrite(IN_12, HIGH); analogWrite(ENA_m1, speedCar/speed_Coeff); digitalWrite(IN_13, HIGH); digitalWrite(IN_14, LOW);
  • 14. analogWrite(ENB_m1, speedCar/speed_Coeff); digitalWrite(IN_21, HIGH); digitalWrite(IN_22, LOW); analogWrite(ENA_m2, speedCar); digitalWrite(IN_23, LOW); digitalWrite(IN_24, HIGH); analogWrite(ENB_m2, speedCar); } void goBackLeft(){ digitalWrite(IN_11, LOW); digitalWrite(IN_12, HIGH); analogWrite(ENA_m1, speedCar); digitalWrite(IN_13, HIGH); digitalWrite(IN_14, LOW); analogWrite(ENB_m1, speedCar); digitalWrite(IN_21, HIGH); digitalWrite(IN_22, LOW); analogWrite(ENA_m2, speedCar/speed_Coeff); digitalWrite(IN_23, LOW); digitalWrite(IN_24, HIGH); analogWrite(ENB_m2, speedCar/speed_Coeff); } void stopRobot(){ digitalWrite(IN_11, LOW); digitalWrite(IN_12, LOW); analogWrite(ENA_m1, speedCar); digitalWrite(IN_13, LOW); digitalWrite(IN_14, LOW); analogWrite(ENB_m1, speedCar); digitalWrite(IN_21, LOW); digitalWrite(IN_22, LOW); analogWrite(ENA_m2, speedCar); digitalWrite(IN_23, LOW); digitalWrite(IN_24, LOW); analogWrite(ENB_m2, speedCar); }
  • 15. void loop(){ // Clears the trigPin digitalWrite(trigPin, LOW); delayMicroseconds(2); // Sets the trigPin on HIGH state for 10 micro seconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Reads the echoPin, returns the sound wave travel time in microseconds duration = pulseIn(echoPin, HIGH); // Calculating the distance distance= duration*0.034/2; safetyDistance = distance; if (Serial.available() > 0) { command = Serial.read(); stopRobot(); //Initialize with motors stopped. if (lightFront) {digitalWrite(light_FR, HIGH); digitalWrite(light_FL, HIGH);} if (!lightFront) {digitalWrite(light_FR, LOW); digitalWrite(light_FL, LOW);} if (lightBack) {digitalWrite(light_BR, HIGH); digitalWrite(light_BR, HIGH);} if (!lightBack) {digitalWrite(light_BR, LOW); digitalWrite(light_BR, LOW);} if (horn) {digitalWrite(horn_Buzz, HIGH);} if (!horn) {digitalWrite(horn_Buzz, LOW);} if (safetyDistance <= 20){ digitalWrite(light_BR, HIGH); digitalWrite(horn_Buzz, HIGH); delay(500); goBackM(); delay(750); } else{ switch (command) { case 'F':goAhead();break; case 'B':goBack();break; case 'L':goLeft();break ; case 'R':goRight();break;
  • 16. case 'I':goAheadRight();break; case 'G':goAheadLeft();break; case 'J':goBackRight();break; case 'H':goBackLeft();break; case '0':speedCar = 100;break; case '1':speedCar = 115;break; case '2':speedCar = 130;break; case '3':speedCar = 145;break; case '4':speedCar = 160;break; case '5':speedCar = 175;break; case '6':speedCar = 190;break; case '7':speedCar = 205;break; case '8':speedCar = 220;break; case '9':speedCar = 235;break; case 'q':speedCar = 255;break; case 'W':lightFront = true;break; case 'w':lightFront = false;break; case 'U':lightBack = true;break; case 'u':lightBack = false;break; case 'V':horn = true;break; case 'v':horn = false;break; } } } }
  • 17. Android Application Forward Backward Front Light Back Light Horn Acceleratio Right Left
  • 18.