Introduction: Controlling RC Car Via a Web Interface

Hii friends, In this instructable I'm going to teach you to make an RC Car via a web interface. We'll control it wirelessly through a server of our own. Using the method that I'll be showing you, we won't need to use an RC receiver. To host the web server all we going to use a Raspberry Pi and an Arduino to interface the Rasberry Pi with the RC cars motor controller. Well, wait there's an another step for the list of materials which we're going to use in this instructable and don't forget to vote me Plzzzz:-).

Step 1: Materials + Tools

Things which you need to acquire to make this car are as follow:--

1. Raspberry Pi

2. Arduino UNO

3. 5V voltage regulator

4. 2 x Three pin locking header

5. A Female USB jack

6. An Arduino Prototyping Shield

7. Some Header's pins

8. A Male and Female Battery connector

9. 6 x PCB standoffs along with appropriate screws

10. Some Hookup Wires

11. Wifi Dongle

Step 2: Positioning the Components

After collecting all the stuff, I'm then going to begin the assembly by positioning the components on the board. I'm then going to solder all of them in place and then going to follow the wiring diagram above to make all of the appropriate connections.

I found that pinning the ends of the wires first allow me to solder them to the board easier. Once I've sold it off the wires in place I'm then going to solder the header pins in. I also made up a cable that goes between the battery and the motor control this allows me to add two extra wires that are easy to provide power to the 5-volt regulator. I also solder it in place those wires to the regulator. In the next step, we'll be installing the server and turning the Raspberry Pi into a wireless access point.

Step 3: Installing Server on Raspberry Pi

To begin with I'm going to install and set up the server. The instructions on how to install server is at this link. This is a git repository from which you can install the server on your Raspberry Pi. Follow that link to install the server. Once installed we can then configure our Pi to be a wireless access point. To do that we first need to run this command:-"sudo nano /etc/network/interfaces" and press enter. After that place, a hash in front of all lines containing "wlan0" or "wpa" except for the line which mentioned to "allow-hot plug wlan0" ( Be sure the only place the hash in front of that lines having Wlan0 or wpa). We can then also add these three lines to the file.

"#iface wlan0 inet static

address 192.168.42.1

netmask 255.255.255.0"

and then exit out of the file with ctrl+x and reboot out Pi using the cmd "sudo reboot".

Step 4: Installing Server on Raspberry Pi (part-2)

Then after logging back into our Pi, we can then install the DHCP server with cmd "sudo apt-get install isc-dhcp-server" and then edit the following configuration file with cmd "sudo nano /etc/dhcp/dhcpd.conf". Put a hash in front of the lines which mention " option domain-name ". We can then also remove the hash in front of the authoritative line ( which is four line below from the "option domain-name") and add the following lines to the file to the end of the file:--

subnet 192.168.42.0 netmask 255.255.255.0 {

range 192.168.42.10 192.168.42.50;

option broadcast-address 192.168.42.255;

option routers 192.169.42.1;

default-lease-time 600;

max-lease-time 7200;

option domain-name "local";

option domain-name-servers 8.8.8.8, 8.8.4.4;

We can then exit out of that file, Then run the following cmd "sudo nano /etc/default/isc-dhcp-server"

At the last line of that file, you can see there is written INTERFACES=" ", add "wlan0" between the quotes of interfaces and exit the file.

Step 5: Installing Server on Raspberry Pi (part-3)

We can then install hostapd with this command "sudo apt-get install hostapd" and then edit the configuration file by adding the following lines using the cmd "sudo nano /etc/hostapd/hostapd.conf":-

interface=wlan0

driver=n180211

#driver=rt1871xdrv

ssid=Mypi

hw_mode=g

channel=6

macaddr_acl-0

auth_algs=1

ignore_broadcast_ssid=0

wpa-2

wpa_passphrase=raspberry

wpa_key-mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise-CCMP

We can then edit the configuration file making the following changes by the cmd "sudo nano /etc/default/hostapd". Now there is a line where is written #DAEMON_CONF=" ". First, remove the hash from the front of it and write the following line between its quote "/etc/hostapd/hostapd.conf" and then exit the file.

Step 6: Configuring the Hardware

We can then insert a wireless adapter into a Pi USB port and access out Pi's wireless access point called Mypi and the password is raspberry Pi. Now I'll be showing you how I made a custom plate to mount the Raspberry Pi and Arduino on and how to connect everything together and give it a test.

After designing the platform for my car I used a laser cutter to cut the plywood. I then add the standoff to the plywood. After that, I mounted the Arduino and Raspberry Pi on the standoff using some more screws. after attaching the custom shield to the Arduino, I can mount plywood on top of my RC Cars. We can then connect the RC steering servo to the server connected to pin 10 and the motor controller to the server connected to pin 9. Then using a printer cable connect the Arduino to the Raspberry Pi USB port followed by connecting the wifi dongle to the Pi. We can then connect the USB cable to the Pi power jack and the end to the custom shield. Then after connecting the battery to the power supportive cable I then connected to my Pi wireless network and begin the server. Once connected to the Pi's wireless network, I entered the IP address to my browser. After that, an interface will appear. From this interface, I can then control the movement of my car.

After that, you can play with your RC car from your browser.

Comments

author
witnessmenow (author)2017-06-23

Hey, cool project.

You should check out the ESP8266 chip, they are WiFi enabled boards that can be programmed with Arduino IDE. you can even host a webserver on them so you might be able to take your PI back and use it for something else!

author
Be_Learner (author)witnessmenow2017-06-23

Absolutely right, I will try that one later and thnks for your positive comment.

About This Instructable

1,247views

41favorites

License:

More by Be_Learner:Voice Controlled Home AutomationControlling RC Car Via a Web InterfaceMatchbox Hue Go Light
Add instructable to: