Arduino Based Homemade Robot with Wireless and Voice control Mode

Basic Overview of The Arduino-Based Homemade Robotics project "Homey the Robot."

Nowadays, robots play a significant role at the industry level and outside of the industry. Dependency on robots is increasing for their fast and reliable working speed and accuracy. Considering that the demand for the robot expanding every day.

Arduino Based Homemade Robot with Wireless and Voice control Mode
Homey Robot

This research focused on the necessity of robots in our daily life. This video documentation shows the system where a robot can be controlled in different ways like voice, wireless, and fully automatic mode. The prototype was built and tested. The robot prototype will be able to receive a voice command from a short distance. In the case of long-distance communication, users will be able to connect through the internet using the Internet of Things (IoT).

The used hardware's are:

  • Arduino Mega 2560
  • Arduino Nano
  • Voice Reorganization Module (V-3)
  • HC-05 Bluetooth Serial Communication Module
  • LM35 Temperature Sensor
  • LCD DISPLAY (16 X 2)
  • Ultrasonic Sensor
  • Servo motor
  • Power Supply 12v lipo
  • Jumper wire
  • L293D Motor Driver
  • Plastic board for body structure etc.

System development

The Homey robot was built based on the Arduino Open-Source Platform. The robot connects to an android phone through the HC-05 Bluetooth Serial Communication Module. The user can give commands using an android application. The system can send commands and also receive data from the robot. Users can observe sensor values from the robot.

Another way of giving instruction is voice command. The Voice Recognition module (VR-3) received voice commands along with Arduino Nano. Arduino Nano receives voice commands and processes them. Then it generates specific instructions for each voice command and sends it to Arduino mega through TX RX serial communication pins. Then Arduino mega performs according to the command. Voice training sets are stored in Arduino Nano. Therefore, it processes and compares the voice with the training data set when it receives a voice command.

Voice Input and Output 

Voice commands are stored in two different groups, each with unique voice commands. The voice recognition module takes input commands as a group. Each group can hold 6 commands. A maximum of 255 commands can be trained with the voice recognition module.

The commands for both groups are given below:
Table 1 Voice Input and Output in Group 1

Voice Command (Input)
Arduino Command
Work (Output)
Move Forward
Move Backward
Move Left
Move Right

Table 2 Voice Input and Output in Group 2

Voice Command (Input)
Arduino Command
Work (Output)
Light on
Light on
Light off
Night mode
Night mode

IoT Input and Output

A web application and an android application were developed to control the robot remotely through the internet. The android application interface is given below:

Arduino Based Homemade Robot android app
Android application

The robot can be controlled by an android application.
While the user presses any button on the application, the robot sends corresponding commands via the internet. The commands are in the form of ASCII characters. The Arduino on the robot then compares the received command with its pre-defined commands and controls the servo motors, gear motors, sensors, and other peripherals to move forward, backward, left, right, stop, move hands, fingers, or measure sensor values.

The temperature button sends a command to Arduino to check the temperature sensor value, and the value is sent back to the user. The temperature value is also displayed on the liquid crystal display attached to the front side of the robot. The robot can move anonymously if the user presses the auto button or gets disconnected from the internet. During the anonymous mode sonar sensor helps it to avoid obstacles.

The sonar sensor HC-05 helps to measure the distance of the obstacle in front of the robot.  The sonar sensor generates ultrasonic sound using a trigger. Then it reads the echo Pin and returns the sound wave travel time in microseconds. The distance is calculated using the following rule:

Duration = Distance / Speed
       Distance = duration*0.034 / 2  

The speed of sound in air is 0.034, and it travels twice to return, divided by 2.
The Arduino Mega microcontroller gets the distance value, checks the condition when it should stop, and searches for another long-distance path.

Motor driver l329d [8] was used to control the motor's speed. There are two gear motors attached to the legs of the robot. The motors are connected to the motor driver so the microcontroller can control speed. There are four digital inputs for two motors in the motor driver. The diagram of the motor driver makes it clear:

Arduino Based Homemade Robot motor driver
Motor Driver L329D

The robot was built in the shape of a human. Different body parts, like the hand, head, and fingers, are controlled by servo motors. It also can handshake with a human using its robotic arms and pick objects. As the structure could be stronger, it can only pick lightweight objects.

Arduino based robotic hand
Robotics Hand

The Video Documentation of the Project is given below:

If you like the Project, please, share, Subscribe to the YouTube Channel.

2/Post a Comment/Comments

  1. Replies
    1. The code for this Arduino based Robot can be found at this link:
      Please note that you have to compile the parts of the code by yourself. All the best for your Arduino based robot project.


Post a Comment