Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 18

WALTER - A VOICE

CONTROLLED ROBOTIC
BLUETOOTH CAR

20BRS1126 Pulak Jain


20BRS1150 Alabhya Sharma
LIST OF HARDWARE COMPONENTS
Sl. No​ Name of the component​ Specifications​
1​ Arduino UNO microcontroller​ Arduino Uno​

2​ Ultrasonic sensors​ HC-SR04​

3​ Bluetooth Module ​HC-05

4​ Motors​ DC (200/300 RPM)

5​ Battery​ 9V​& 1200 mah

6​ Motor driver shield​ L293D​

​7 ​Tyres ​-

​8 ​Jumper Cables ​-

​9 ​Arduino cable ​-
• It can be used to carry small goods and conduct other
common human chores.

• It can be used to help persons who are disabled.

• It can automate processes depending on human input,


APPLICATIONS resulting in little human intervention.

• It makes use of certain libraries and algorithms to


optimize the input and output we acquire from
sensors, resulting in lower costs.

• Because of its tiny dimensions, it can go places where


humans can't.
INDIVIDUAL CONTRIBUTIONS

Alabhya Sharma Pulak Jain

• Hardware modeling • Hardware Integrating

• Bluetooth communication
• Motor Working

• Command database
• Mobile App

• Obstacle avoidance
• Obstacle Detection
• Built a working model
• Built a Working Model
#include <AFMotor.h>
Motor AF_DCMotor motor1(1, MOTOR12_1KHZ);
Configuration AF_DCMotor motor2(2, MOTOR12_1KHZ);
#include <SoftwareSerial.h>
Bluetooth SoftwareSerial bt(0, 1);
configuration String command;
#define echoPin 7
Ultrasonic sensor #define trigPin 6
configuration long duration;
int distance;
void setup()
{
pinMode(echoPin,INPUT);
Initialization pinMode(trigPin,OUTPUT);
bt.begin(9600);
Serial.begin(9600);
}
void Stop()
{
Stopping motor1.run(RELEASE);
motor2.run(RELEASE);
}
int dist()
{
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
Obstacle digitalWrite(trigPin,LOW);
Detection duration = pulseIn(echoPin,HIGH);
distance = (duration*0.0343)/2;
Serial.println(distance);
delay(250);
return distance;
}
void avoid()
{
dist();
while(dist() < 10)
{
Stop();
Obstacle motor1.setSpeed(255);
Avoidance motor1.run(BACKWARD);
motor2.setSpeed(255);
motor2.run(FORWARD);
delay(500);
}
Stop();
}
void forward()
{
void avoid();
motor1.setSpeed(255);
motor1.run(FORWARD);
Forward motor2.setSpeed(255);
motor2.run(BACKWARD);
delay(800);
Stop();
}
void back()
{
void avoid();
motor1.setSpeed(255);
motor1.run(BACKWARD);
Backward motor2.setSpeed(255);
motor2.run(FORWARD);
delay(800);
Stop();
}
void right()
{
void avoid();
motor1.setSpeed(255);
motor1.run(BACKWARD);
Right motor2.setSpeed(255);
motor2.run(BACKWARD);
delay(400);
Stop();
}
void left()
{
void avoid();
motor1.setSpeed(255);
motor1.run(FORWARD);
Left motor2.setSpeed(255);
motor2.run(FORWARD);
delay(400);
Stop();
}
void loop()
{
dist();
delay(10);
while(bt.available())
{
Main body command = "";
command = bt.readString();
avoid();
if (command.length() > 0)
{
Serial.print(command);
if(command == "*move forward#" || command == "*forward#")
{
forward();
}
else if(command == "*move backward#" || command == "*backward#" || command == "*move
back#" || command == "*back#")
{
back();
}
else if(command == "*turn left#" || command == "*move left#" || command == "*left#")
{

Commands left();
}
else if(command == "*turn right#" || command == "*move right#" || command == "*right#")
{
right();
}
else if(command == "*stop#" || command == "*halt#" || command == "*pause#")
{
Stop();
}
command = "";
}
THANK YOU

You might also like