SOUND RESPONDING ROBOT
by Voice Of Technology in Circuits > Arduino
2046 Views, 3 Favorites, 0 Comments
SOUND RESPONDING ROBOT
Is it possible to control the movement of robots with sound ?
Ans:- YES
HOW?
ANS:- just keep calm and follow us :)
A simple, cost-efficient kind of project is our "SOUND RESPONDING ROBOT" best for college students or high school enthusiasts to start with Arduino learn and play and grow some interests.
Basically, the robot will move forward, backward, right, and left according to the sound of the count of clapping of our hands. Aren't interesting?!!
Guys just follow the instructions and our video from youtube, you can make it within 5 to 10 minutes sitting at home and enjoy the quarantine with this robot.
1:-Arduino uno(Generic Uno R3 ATmega328P with USB Cable length 1 feet, Compatible with ATMEGA16U2 Arduino (Color may vary))
2:-sound sensor module(REES52 Sound Detection sensor Module / Intelligent Vehicle Microphone Arduino smart car)
3:-jumper wires(OLatus OL-JUMPER-ALL-60 Jumper Wire, 20 Male to Male and 20 Female to Female and 20 Male to Female)
4:-breadboard(Generic Elementz High Quality Nickel Plated 840 Points Bread Board or Solderless Piecesb Circuit Test Board, White)
5:-gear dc motor(Robocraze 2 Set Smart Car Robot Chassis Kit With Plastic Tire Wheel With Deceleration DC 3-6V Drive Gear Motor For Arduino)
6:-chasis(Generic AX195 Advance Metal Chassis)
7:-caster wheel
8:-l293d motor driver(Embeddinator's L293D Motor Driving Module)
9:-9v battery/power bank(Intex
CIRCUIT DIAGRAM
Follow above circuit diagram to connect the circuit.
L293d has 16pin.
8pin,1pin,9pin and 16pin of l293d is connected to +5v
4,5,12,13pin of l293d is connected to gnd............
2pin of l293d is connected to 8 pin of arduino
7pin of l293d is connected to 9pin of arduino
10pin of l293d is connected to 10pin of arduino
15pin of l293d is connected to 11pin of arduino
3and 6pin of l293d is connected to left motor
11 and 14pin of l293d is connected to right motor..
Sound sensor module has 3pins...in which vcc to +5v and gnd to gnd
and output is connected to 6pin of arduino..
then connect your power supply through usb cable or battery jack properly..
How It Works?
This robot is controlled by the sound count of clapping. Then sound sensor catches the sound and passes the impulse to the microcontroller according to that ,it makes the pins of motor driver high and low to move forward ,backward, right and left.
if (digitalRead(sound)==0) {
cont +=1;
delay(2000);
if(cont==5)
cont=0;
switch (cont)
{
case 0:
{
STOP();
}
break;
case 1:
{
Forward();
}
break;
case 2:
{
Backward();
}
break;
case 3:
{
Left();
}
break;
case 4:
{
Right();
}
break;
}
}
there is 5cases in coding,..
so.. after 1clap, robot moves in forward direction by case1..
then after 2nd clap, robot moves in backward direction by case2.
then, 3rd clap.. robot moves in left direction by case3.
and after 4th clap... robot moves towars right direction by case4..
and after last or 5th clap... robot stops condition by case0..
CODE UPLOAD
Copy and paste the code in Arduino IDE .
int sound = 6; int m1_1 = 8;
int m1_2 = 9;
int m2_1 = 10;
int m2_2 = 11;
int cont = 0;
void Forward()
{
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
}
void Backward()
{
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
}
void STOP()
{
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
}
void Left()
{
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
delay(2000);
}
void Right()
{
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
delay(2000);
}
void setup()
{
//put your setup code here,to run once;
pinMode(6,INPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
}
void loop()
{
//put your main code here,to run repeatedly;
if (digitalRead(sound)==0)
{
cont +=1;
delay(2000);
if(cont==5)
cont=0;
switch (cont)
{
case 0:
{
STOP();
}
break;
case 1:
{
Forward();
}
break;
case 2:
{
Backward();
}
break;
case 3:
{
Left();
}
break;
case 4:
{
Right();
}
break;
}
}
}