Voice-Controlled Robot interface with Arduino UNO in proteus

Voice-Controlled Robot interface with Arduino UNO in proteus

In this article we will learn how to interface arduino UNO with Voice-Controlled Robot in proteus.
In the last post we will learn how to interface arduino with DC motor through voice control in proteus. You can visit our website,
I hope you appreciate my work, let’s discuss about today’s project.

Components which we use in this project are listed below:

  1. Arduino UNO
  2. Bluetooth (HC-05)
  3. I2C
  4. LCD display
  5. Virtual terminal
  6. Servo motor
  7. DC motors
  8. Jumper wires

Diagram of this project is below:

Voice-Controlled Robot interface with Arduino UNO in proteus
Voice-Controlled Robot interface with Arduino UNO in proteus

Construction of Voice-Controlled Robot interface with Arduino UNO in proteus:

  • Connect the RX pin of arduino UNO with the pin TX of Bluetooth module
  • Connect the TX pin of arduino UNO with the pin RX of Bluetooth module
  • Connect the A5 pin of arduino UNO with the pin 14 of I2C
  • Connect the A4 pin of arduino UNO with the pin 15 of I2C
  • Connect the A0,A1,A2 of I2C with the GND
  • Connect the VSS pin of LCD display with the GND
  • Connect the VDD pin of LCD display with the +ve point
  • Connect the P0 pin of I2C with the pin RS of LCD  display
  • Connect the P1 pin of I2C with the pin RW of LCD display
  • Connect the P2 pin of I2C with the pin E of LCD display
  • Connect the P3 pin of I2C with the pin D3 of LCD display
  • Connect the P4 pin of I2C with the pin D4 of LCD display
  • Connect the P5 pin of I2C with the pin D5 of LCD display
  • Connect the P6 pin of I2C with the pin D6 of LCD display
  • Connect the P7 pin of I2C with the pin D7 of LCD display
  • Connect the +ve point of servo motor with the +ve
  • Connect the –ve point of servo motor with he –ve
  • Connect the signal pin of servo motor with the pin 9 of arduino
  • Connect the pin 11 of arduino with the pin 7 of virtual terminal
  • Connect the pin 12 of arduino with the pin 2 of virtual terminal
  • Connect the pin 1,9 of virtual terminal with the +ve
  • Connect the pin 5 of arduino with the pin 15 of virtual terminal
  • Connect the pin 6 of arduino with the pin 10 of virtual terminal
  • Connect the VSS,VS pin of virtual terminal with the +ve
  • Connect the GND point of virtual terminal with the GND
  • Connect the pin 3 of virtual terminal with the 1,1 sides of DC motor 1&2
  • Connect the pin 6 of virtual terminal with the other sides of DC motors 1&2
  • Connect the pin 11 of virtual terminal with the 1,1 side of DC motor 2&3
  • Connect the pin 14 of virtual terminal with the other sides of DC 2&3

Working of Voice-Controlled Robot interface with Arduino UNO in proteus:

When we command to move forward in the APP its move his arms forward and his legs backward

When we command to move backward in the App its move his arms backward and his legs forward

When we command to move head in the App its move his head into 90 degree

Applications of Voice-Controlled Robot interface with Arduino UNO in proteus:

  1. Home Automation
  2. Assistive Robotics
  3. Educational Tools
  4. Security Systems
  5. Entertainment

Advantages of Voice-Controlled Robot interface with Arduino UNO in proteus:

  1. User-Friendly Interaction
  2. Hands-Free Operation
  3. Accessibility
  4. Remote Operation
  5. Educational Tool

Program code of this project is below:

#include <LiquidCrystal_I2C.h >

LiquidCrystal_I2C lcd(0x20, 16, 2);

#include <Servo.h>

 

Servo myservo;

int pos = 0;

 

#define led 13

#define m1 5

#define m2 6

#define m3 12

#define m4 11

 

void setup() {

lcd.begin(16, 2);

lcd.init();

lcd.setCursor(0,0);

lcd.print (“Projectiot123”);

pinMode(led,OUTPUT);

pinMode(m1,OUTPUT);

pinMode(m2,OUTPUT);

pinMode(m3,OUTPUT);

pinMode(m4,OUTPUT);

Serial.begin(9600);

myservo.attach(9);

}

void loop () {

 

String voice= Serial.readString();

Serial.println(voice);

if(voice == “hello”)

{

lcd.clear();

lcd.setCursor(1,0);

lcd.print (“Hello”);

Serial.println(“hello”);

digitalWrite(led,HIGH);

 

}

else if (voice == “walk forward”)

{

lcd.clear();

lcd.setCursor(0,0);

lcd.print (“Projectiot123”);

lcd.setCursor(1,0);

lcd.print (“Dir:”);

lcd.setCursor(1,5);

lcd.print (“Walk forward”);

 

Serial.println(“Forward”);

digitalWrite(m1,HIGH);

digitalWrite(m2,LOW);

digitalWrite(m3,LOW);

digitalWrite(m4,HIGH);

delay (250);

digitalWrite(m1,LOW);

digitalWrite(m2,LOW);

digitalWrite(m3,LOW);

digitalWrite(m4,LOW);

delay (100);

digitalWrite(m1,LOW);

digitalWrite(m2,HIGH);

digitalWrite(m3,HIGH);

digitalWrite(m4,LOW);

delay (250);

digitalWrite(m1,LOW);

digitalWrite(m2,LOW);

digitalWrite(m3,LOW);

digitalWrite(m4,LOW);

 

}

else if (voice==”walk backward”)

{

lcd.clear();

lcd.setCursor(0,0);

lcd.print (“Projectiot123”);

lcd.setCursor(1,0);

lcd.print (“Dir:”);

lcd.setCursor(1,5);

lcd.print (“Walk Backward”);

digitalWrite(m1,LOW);

digitalWrite(m2,HIGH);

digitalWrite(m3,HIGH);

digitalWrite(m4,LOW);

delay (250);

digitalWrite(m1,LOW);

digitalWrite(m2,LOW);

digitalWrite(m3,LOW);

digitalWrite(m4,LOW);

delay (100);

digitalWrite(m1,HIGH);

digitalWrite(m2,LOW);

digitalWrite(m3,LOW);

digitalWrite(m4,HIGH);

delay (250);

digitalWrite(m1,LOW);

digitalWrite(m2,LOW);

digitalWrite(m3,LOW);

digitalWrite(m4,LOW);

}

 

else if (voice==”move your head “)

{

lcd.clear();

lcd.setCursor(0,0);

lcd.print (“Projectiot123”);

lcd.setCursor(1,0);

lcd.print (“Dir:”);

lcd.setCursor(1,5);

lcd.print (“Move your head”);

 

//digitalWrite(m1,HIGH);

//digitalWrite(m2,LOW);

//delay (1000);

}

 

 

else if (voice==”move your head”)

{

lcd.clear();

lcd.setCursor(0,0);

lcd.print (“Projectiot123”);

lcd.setCursor(1,0);

lcd.print (“Dir:”);

lcd.setCursor(1,5);

lcd.print (“Move your head”);

 

for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees

// in steps of 1 degree

myservo.write(pos);              // tell servo to go to position in variable ‘pos’

delay(15);                       // waits 15 ms for the servo to reach the position

}

 

}

 

}