Arduino Based Homemade Robot with Wireless and Voice control Mode

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

Nowadays robots are playing a very important role at the industry level and also out of the industry. Dependency on robots is increasing for their fast and reliable working speed and accuracy. Considering that the demand for the robot increasing every day.

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

This research was conducted focusing 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 itself with 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) was used to receive 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, when it receives a voice command it processes and compares the voice with the training data-set.

Voice Input and Output 

Voice commands are stored in two different groups and each group has its unique voice commands. The voice recognition module takes input commands as a group. Each group can hold 6 commands. 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)
Stop
1
Stop
Auto
2
Auto
Forward
3
Move Forward
Piche
4
Move Backward
Left
5
Move Left
Right
6
Move Right

Table 2 Voice Input and Output in Group 2

Voice Command (Input)
Arduino Command
Work (Output)
Blink
7
Blink
Light on
8
Light on
Lightning
9
Light off
Temperature
T
Temperature
Handshake
P
Handshake
Night mode
N
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, corresponding commands are sent via the internet to the robot. 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 measuring 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. If the user presses the auto button or gets disconnected from the internet, the robot can move anonymously. 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 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, so divided by 2.
The Arduino Mega microcontroller gets the distance value and 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 with the motor driver so that speed can be controlled by the microcontroller. There is 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 like 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 is not that strong, at present 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.

0/Post a Comment/Comments