cover photo

PROJECT

Voice Controlled Robot

"Voice-Controlled Robot powered by ESP32 for precise movement via voice commands."

Hemanth S CAUTHORACTIVE
Sohan AiyappaCOORDINATORACTIVE
Voice Controlled Robot
This Report is yet to be approved by a Coordinator.

Voice-Controlled Robot Project Report

Project Title: Voice-Controlled Robot

1. Introduction

The Voice-Controlled Robot is a robotic system designed to move based on user voice commands. The robot executes directional movements such as Move Forward, Move Backward, Turn Left, Turn Right, and Stop. Voice commands are captured using Google Assistant and transmitted to the robot through the Arduino Bluetooth Controller app. The ESP32 microcontroller receives these commands via Bluetooth and drives the motors using the L298N motor driver, enabling smooth and precise movements.

This project highlights the practical integration of wireless communication, motor control, and voice recognition for robotic systems. Voice-Controlled Robot

2. Objective

The goal of this project is to implement a voice-controlled robotic system that responds accurately to predefined user commands. The project focuses on efficient communication, hardware control, and real-time execution of directional movements.

3. Technologies Used

ESP32 Microcontroller:

  • Description: A microcontroller with integrated Bluetooth for wireless communication.
  • Role: Receives Bluetooth commands and processes motor control signals for directional movements.

L298N Motor Driver:

  • Description: A dual H-Bridge motor driver used to control the direction of DC motors.
  • Connections:
    • IN1, IN2 → Control left motors with identical logic.
    • IN3, IN4 → Control right motors with identical logic.
  • Logic Implementation:
    • Left and right motors operate independently to allow for forward, backward, left-turn, and right-turn movements.
    • Enable pins (ENA and ENB) were not used.

Bluetooth Communication:

  • Medium: Integrated Bluetooth on the ESP32 board.
  • App Used: Arduino Bluetooth Controller.
  • The app relays text commands (converted from voice input) to the ESP32.

Voice Command Input (Google Assistant):

  • Description: Google Assistant captures the user's voice commands and converts them into text. The text commands are sent to the Arduino Bluetooth Controller app, which transmits them via Bluetooth to the ESP32.

4. Connections and Circuit Logic

Connections Overview:

  • ESP32 to L298N Motor Driver:
    • IN1, IN2 → Control left motors (identical logic).
    • IN3, IN4 → Control right motors (identical logic).
  • Motors to L298N:
    • Left-side motors → Connected to Motor A outputs.
    • Right-side motors → Connected to Motor B outputs.
  • Power Supply:
    • L298N powered by a 12V external battery.
    • ESP32 powered via the L298N 5V output.

Circuit Logic:

The ESP32 processes the Bluetooth signals and generates control signals for the motor driver:

  • Move Forward:
    • IN1=HIGH, IN2=LOW, IN3=HIGH, IN4=LOW (Both motors rotate forward).
  • Move Backward:
    • IN1=LOW, IN2=HIGH, IN3=LOW, IN4=HIGH (Both motors rotate backward).
  • Turn Left:
    • IN1=LOW, IN2=HIGH, IN3=HIGH, IN4=LOW (Left motors stop, right motors rotate forward).
  • Turn Right:
    • IN1=HIGH, IN2=LOW, IN3=LOW, IN4=HIGH (Right motors stop, left motors rotate forward).
  • Stop:
    • IN1=LOW, IN2=LOW, IN3=LOW, IN4=LOW (All motors stop).

5. Working Principle

Voice Command Input:

The user provides commands such as:

  • “Move Forward”
  • “Move Backward”
  • “Turn Left”
  • “Turn Right”
  • “Stop” These commands are captured through Google Assistant.

Signal Transmission:

  • Google Assistant converts the voice input into text.
  • The Arduino Bluetooth Controller app transmits the text commands as Bluetooth signals to the ESP32 microcontroller.

Bluetooth Communication:

  • The ESP32 receives the Bluetooth commands and decodes the text instructions.

Motor Driver Control:

  • The ESP32 generates control signals for the L298N motor driver, enabling the motors to execute the desired movement.

Execution:

  • Move Forward: Robot moves straight.
  • Move Backward: Robot moves in reverse.
  • Turn Left: Robot turns left by stopping the left motors.
  • Turn Right: Robot turns right by stopping the right motors.
  • Stop: Robot halts all movement.

6. Code Implementation

The program was written using Arduino IDE, utilizing Bluetooth libraries for communication and GPIO control for the motor driver.

Code Link: Project Code

7. Working

The voice-controlled robot successfully executed the following commands:

  • Move Forward → Smooth forward motion.
  • Move Backward → Reverse movement.
  • Turn Left → Robot turns left by stopping the left motors.
  • Turn Right → Robot turns right by stopping the right motors.
  • Stop → Immediate halt of all motors.

Bluetooth communication was reliable, and the ESP32 responded instantly to user voice inputs, ensuring smooth operation.

8. Conclusion

The voice-controlled robot project successfully implemented a system that combines Bluetooth communication, motor control, and voice recognition. Commands captured via Google Assistant were transmitted to the ESP32 microcontroller using the Arduino Bluetooth Controller app. The ESP32 decoded the instructions and controlled the motors using the L298N motor driver, enabling movements in all directions.

This project demonstrates a practical application of wireless control and lays the groundwork for future enhancements such as obstacle detection, speed control, and autonomous navigation.

9. Future Scope

  • Integration of obstacle detection sensors for collision avoidance.
  • Implementation of additional commands for complex maneuvers.
  • Addition of a camera module for live streaming and real-time feedback.

Prepared by:

  • Hemanth S C, Karthik N V, Chethan S R, Lokesh K S

Batch: 2027, ECE-A, UVCE

UVCE,
K. R Circle,
Bengaluru 01