Introduction: Arduino Bluetooth RC Car
In this project I will show you how to build a simpler version of RC cars.
I’m providing a full step-by-step guidance to show you how to make your own RC car, and I'm explaining in details both hardware and software parts in order to turn this guidance the simplest way that leads you to try your own skills in electronic making. This project is so handy to make specially after getting the customized PCB that we’ve ordered from easyEDA to improve the appearance of our car and also there is enough documents and codes in this guide to allow you create customized movements for your car. If you dislike to read so much! You can watch this video for more clear guidance.
We've made this project in just 7 days only, just three days to finish the hardware making and the assemble, then 4 days to prepare the code and the android app. in order to control the car through it.
Before starting let’s see first
what you will learn from this tutorial :
- We will hack a Porsche GT3 RS to use its engines and chassis etc.
- Then we will design the PCB of our new controllable board
- We will see also how to make the android app to control the car
- And finally we will assemble all the parts and we start driving.
Step 1: What Is an RC Car!
Here is some information about RC car or a remote control vehicle which is defined as any vehicle that is teleoperated by a means that does not restrict its motion with an origin external to the device. This is often a radio control device, cable between control and vehicle, or an infrared controller.
Toy-grade R/C cars are typically manufactured with a focus on design coupled with reducing production costs. Where as a hobby-grade car has separate electronic components that are individually replaceable if they fail, toy grade cars are typically made with components harder to find as spare parts and a single electronic circuit board integrated into the design of the vehicle.
In our case we are using a radio linker which is a Bluetooth HC-05 module to connect both the car and a smartphone or any other android device since we are controlling the car through an Android app.
About the Android app.
We used MIT app inventor platform to make a graphical programming for our android app.
Using this platform is so easy and simple.
You can download the app. that we've made for this project through this link
Step 2: Porsche GT3 RS Model
I’ve got this RC car from one of my friends, it’s a Porsche model GT3 RS and it was in a real bad conditions but it still having its good standing so after performing some cleaning steps, the car is having a great appearance now, but the most important thing is the engines.
So when I unscrew it I found two motors the first one is in the back side of the car for forward and backward movements and the second one is in the front side of it to represent the steering wheel and they are operating very well. So I moved all useless wires and keep only the motors wires and after soldering some connector the chassis is ready for action. The car has some lights too, there is two white LEDs in the front side and two Red LEDs in the back side, but we will add more LEDs to have more fun with it like the side lights which will follow the steering wheel motor movements :
For example when the car turns left (after picking the left arrow on the android app) then the left side LEDs will start blinking automatically and it will be the same thing for the right direction
And also I've added some RGB LEDs which will change colors depending on your selection.
Step 3: PCB Making Under EasyEDA Platform
About EasyEDA!
EasyEDA is a free online Electronic design automation community that allows the creation, testing and editing of schematics and PCBs. Find the link to the easyEDA platform here. This online program is supported in all platforms even android, with easyEDA you can make a Schematic Capture for your documents, Circuit Simulation, Online PCB Designing with the ability of importing PCB and Schematic files, so from this point we can understand that we can create the PCB in this online designer or just make it with another software and upload a gerber file to easyEDA to place an order.
Back to our project
We move back to our project and talking about circuit design this is directly related to this platfor, the best PCB makers who provides this online software where you can design your PCB and then order it. This is super amazing providing all these options, tools and specially a great library here because all the needed components are available such as Arduino Nano L293 H-bridge motor driver the HC Bluetooth module and more so all what we need to do is simply searching the component by its name then just place it
As usual we need to run the easyEDA platform from here, then start a new project and import the necessary components.. and connect them together to make the circuit showed in the picture, Also this platform allows you to transform your schematic into PCB and this is exactly what we need just click on convert project to PCB then you will get your PCB design area. I advise you to click directly the following link to the PCB automatically: Direct link for RC car project You can also check the PCB before ordering it using the PCB viewer, and I provided a picture that shows the PCB that we designed.
This schematic is useful no matter what is your need because I’ve added the ESP-01 module if you want to control your car over WIFI and also NRF is available there if you want to use a Radio transceiver. After making this schematic we move directly to transform it to PCB which is super handy now, and after placing each component in its place and adding some Labels and some beautiful Logos now our PCB is ready for an online ordering, so all what you need to do is going to fabrication output and set some parameters, for me I prefer the red color for my PCB. Do the payment and wait for the delivery. Just 4 days only to receive the packet and it was an amazing service, and after opening the package I noticed a new service provided by easyEDA which is LCSC service that allows you to order the needed components for your PCB. And we’ve got the PCBs with all the preset options that we’ve choose.the PCBs are very well manufactured as usual and all the labels are there with the description etc, so the making of this project will be so handy now.
Step 4: Ingredients
Now let’s review the necessary components for this project and you can find all the related links for an online ordering so we will need:
- - Any RC car toy chassis
- - The PCB that you can order from this link : http://ouo.io/1i1Lc
- - One Arduino nano
- - HC-05 or HC-06 Bluetooth module
- - Light sensor BH1750
- - Temperature & Humidity sensor
- - L293D H-bridge motor driver
- - Some RGB LEDs
- - 5V buzzer
- - Some Header connectors
Step 5: The Assemble (Soldering the Components)
We are ready now so let’s start soldering the components and don’t forget to follow the labels to avoid soldering mistakes. We start by soldering Arduino connector to test the power supply and you can also write some basic test code to verify the right connection for each sensor like the Light sensor and its the same for the LEDs because they are all connected directly to the board (Arduino) so you have a full acces to them.
Note: You need to keep your soldering iron nice and clean. That means wiping it on the sponge every time you use it. The tip of your soldering iron should be clean and shiny. Whenever the you see the tip becoming dirty with flux or oxidizing, that means loosing it's shinyness, you should clean it. Even if you are in the middle of soldering. Having a clean soldering tip makes it A LOT easier to transfer heat to the soldering target.
The PCB that we ordered from EasyEDA will guide you keep everything in the right placement so do not hesitate to visit this link if you want to view the PCB that we've made and make an online ordering.
Step 6: Andoid App Test
This app will allow you to control the car using Bluetooth for forward and backward movements and left right directions and also there is a drift mode with the buzzer button and the hand breaker but first you should enable Bluetooth and connect to your car so the app will guide you through some vocal messages.
After picking the car we can test now the ability to control the RGB LEDs color, and as you can see the LEDs changing color depending on our selection.
About the android app I will show you in the coming instructables how to make it using MIT app inventor platform but for now you can download it and install it for free from this link
Step 7: The Code and Validation Test
The chassis seems like ready for some serious tests so all what we need now is the code.
So! Here is how it works, for each button press on our android app a character will be transferred to Arduino through Bluetooth and for each character there is an algorithm to perform, for example if we press the button forward we transfer the character ‘f’ so when the board receive the character ‘f’ it calls a function to control the back side motor for forward movement and it is the same for all buttons.
the code is available and as usual you can download it from this link. And as you can see in the photos the code is so simple and very well commented so you can understand it you own.
As you can see guys each button has a functionality with the car but what I really appreciate is the automatic mode for light brightness control I placed the light sensor at the top back of the car then when we select this mode the car will control the brightness of the front light LEDs depending on the sensor signals. Also we can read the temperature and humidity values directly on the screen of the smart phone which is really impressive.
Thank you :)
I believe this Instructable is the most comprehensive step-by-step guide to build an RC car ever published. That is it for this instructable, feel free to thumb it and to ask us anything you want to know about this project through a comment.