DIY Arduino All-in-One Robot Car: Control With Bluetooth, Voice, IR, Gestures, Avoid Obstacles, Follow Hand

by Smart Engineers in Circuits > Arduino

500 Views, 5 Favorites, 0 Comments

DIY Arduino All-in-One Robot Car: Control With Bluetooth, Voice, IR, Gestures, Avoid Obstacles, Follow Hand

image.png
image.png
image (14).png
image (13).png
image (15).png
image (1).png
How to make arduino robot | arduino all in one robot | arduino project

There are various DIY Arduino robot cars available on the internet, such as Arduino Bluetooth control robot, Arduino voice control robot, Arduino IR remote control robot, Arduino obstacle avoiding robot, Arduino hand following robot, Arduino gesture control robot etc. I thought, why not create a single robot that can perform all of these functions? There is no need to upload different codes for different functions. You just need to click one button and the robot will switch to that mode. For instance, if you are controlling the robot using Bluetooth and want to switch to obstacle avoiding mode, you just need to click one button. You can switch between different modes like human following mode, gesture control mode, etc. I have added more features like front and back RGB LEDs which emit seven different colors. You can also control the robot's speed. That's why I named this robot an 'All-in-One Robot'. Let's dive into its story—a mix of tech, fun, and endless ideas.

Features:

  • Bluetooth Control: Seamlessly control the robot using a custom-made mobile app created with MIT App Inventor. Enjoy the convenience of wireless control from your smartphone.
  • Voice Control: Command your robot with ease using voice commands. Interact with your creation effortlessly and explore a new dimension of control.
  • IR Remote Control: Utilize an infrared remote to navigate the robot through various modes and functionalities. Experience intuitive control at your fingertips.
  • Obstacle Avoidance Mode: Equipped with ultrasonic sensors, the robot autonomously navigates its environment, avoiding obstacles in its path to ensure smooth operation.
  • Hand Follower Mode: Activate this mode and watch as the robot follows your hand movements, demonstrating advanced tracking capabilities and interactive behaviour.
  • Front and Back RGB LEDs: Illuminate your surroundings with vibrant RGB lights mounted on the front and back of the robot. Customize the colors and patterns for a personalized touch.
  • Gesture Control Using Ultrasonic Sensor and IR Sensor: Interact with the robot using hand gestures detected by ultrasonic and IR sensors. Experience a hands-free control experience like never before.
  • Obstacle Detection Using Ultrasonic Sensor: Enhance safety and navigation with real-time obstacle detection. The robot intelligently detects obstacles while moving forward, automatically stopping if an obstacle is detected within 20 cm.
  • Speed Control: Adjust the robot's speed to suit your preferences and optimize performance for different tasks and terrains.

Supplies

Before creating this robot, please ensure that you have all the necessary components

  • Arduino nano
  • Arduino nano shield (in my case I made it on zero PCB)
  • Bo motor with bo wheels x 4
  • Sg90 servo motor
  • L298n motor driver module
  • Ultrasonic sensor
  • HC-05 Bluetooth module
  • Infrared proximity sensor x 2
  • Infrared receiver IR tsop 1738
  • RGB LEDs common anode x 4
  • 100 ohms resistor for leds x 12
  • 18650 lithium-ion battery 3.7 volts 2000 mah x 2
  • 18650 2-cell lithium-ion battery holder
  • On and off switch
  • Zero PCB
  • Male and female header pins
  • Chassis (I am using a DIY cardboard sheet chassis)

Arduino Nano Shield

image (8).png
image (1).png
image.png
imageeee.png

To connect all the signal input and output pins to Arduino Nano, I made a shield that costs less than buying a readymade shield. In addition, I added a 5-volt regulator circuit using a 7805 voltage regulator to power up the Arduino Nano and other 5-volt components such as sensors, LEDs, etc. The input voltage in my case is 7.4 volts or 8.4 volts at full charge, which comes from two 3.7 volt lithium-ion batteries connected in series to give 7.4 volts. To ensure efficient and stable 5-volt output, I recommend using a buck converter such as LM2596.

RGB Leds

led front.png
led back.png
led parallel.png

To easily mount RGB LEDs on a chassis, I created a circuit using a zero PCB. I used common anode RGB LEDs, with each red, green, and blue leg connected in series with a 100 ohm resistor. Then, I connected two RGB LED circuits in parallel - one for the front panel and another for the back panel. This means that the red-to-red, green-to-green, and blue-to-blue pins are connected, and the anode is common in all the RGB LED circuits, directly connected to 5 volts. I repeated this process to create another circuit.

Mount the RGB LEDs on the Chassis

image.png

To enhance the visual appeal of your chassis, it is recommended that you create precise and neat holes in the front and back panels for the purpose of attaching RGB LEDs. This will give your project an impressive and eye-catching appearance. The LEDs will emit vibrant colors that will illuminate your project and make it stand out from the rest. Follow the instructions carefully to ensure that the LEDs are perfectly aligned and secured.

Mount IR Sensor, Motor Driver and Arduino Nano Shield

arduino chassis.png
l298n chassis.png
ir sensor.png

I have created an IR sensor module, but you can also use a pre-made one. To facilitate hand following and gesture control for your robot, mount the IR sensor on the left and right side of the front chassis, as shown in the picture above. Then mount the L298N motor driver and Arduino Nano shield onto the chassis.

Make PCB for Bluetooth and IR Receiver

bluetooth ir.png

Make a PCB for a Bluetooth and IR receiver to mount on top of the chassis. Extend the wires of signal and power pins to connect it to Arduino.

Mount the Servo Motor on the Top of the Chassis

image (1).png

Mount the SG90 servo motor on the top of the chassis using screws. Make holes for mounting the 18650 battery holder, Bluetooth and IR receiver PCB.

Make All the Connections

connections.png
Arduino all in one car schematic.png
image (11).png
image (10).png

Please refer to the circuit diagram provided below and make all the necessary connections accordingly.

Application

Screenshot_20240228_173838.jpg

The application controlling the Arduino all-in-one robot was developed using MIT App Inventor. This bespoke mobile app enables smooth wireless robot control from a smartphone. Including functions such as voice control, obstacle avoidance, and hand tracking, the app provides a user-friendly and engaging control interface. Users can adjust the robot's speed and change the front and back RGB LED colors with seven different options. You can download the APK file from the given link below.

Coding

FRXQ7ATLTMYKSW6.png

The code for this robot is provided below. You can download it and upload it to your Arduino board. Don't forget to remove the TX and RX pins of your Bluetooth module before uploading the code to your Arduino board.

Conclusion

image (2).png

After completing the build, this robot will have multiple features including Bluetooth control, voice control, IR remote control, gesture control, obstacle avoiding, and hand following capabilities, RGB lights etc. I hope this article has given you an idea on how to make an Arduino all-in-one robot with these features. Have fun building this robot and if you encounter any issues related to this project, please let me know.