Controlling Radio Arduino Car Via Web Screen

3.5K198

Intro: Controlling Radio Arduino Car Via Web Screen

This is my first Arduino prototyping. I would like to create a moving object which can be controlled via radio. The car consists of Tamiya Kits and XBee.

The web page for controlling the car is written with Node.js and Socket.IO.

STEP 1: System Architecture, Components and Software Libraries.

The System architecture of the design is drawn above. I have installed Node.js, node-serialport(a Node.js library) and Socket.IO on my MacBookPro. Node.js controls XBee connection. Socket.IO controls Web screen.

These are the components and software libraries for this project.

  • *Arduino Uno x 1
  • *XBee Schield (sparkfun) x 1
  • *XBee Explorer USB(sparkfun) x 1
  • *XBee (Series 1) x 2

  • *Motor Driver TA7267BP x 2
  • *Capacitor 0.1uF x 2, 33uF x 2
  • *Tamiya Double GearBox
  • *Tamiya Universal Plate
  • *Tamiya Off-road Tire Set.
  • *Tamiya Ball caster

  • *Battery Box (for motor power)
  • *Mobile Battery (for Arduino power)

  • *Node.js (for XBee control and Web Server)
  • *node-serialport (a library of Node.js to handling serial connection)
  • *Socket.IO (for Web Screen Control)

STEP 2: Breadboard Wiring Diagram.

This is the wiring diagram of the prototype. You can find the details of TA7267BP on the other websites too. It is a very simple wiring.

STEP 3: Programming and Troubleshooting.

The source code of this prototyping is uploaded on GitHub.

https://github.com/mikilabo/arduino_remote_car

These are some difficulties which I encountered during this project.

XBee Setting via Mac: I found many articles about XBee setting for Windows OS, but only a few articles for Mac OS. Finally, I found XCTU for Mac. It is very useful XBee setting tool for Mac OS user.

Arduino Memory leak: I made a memory leak bug in my Arduino Programming. Initially, the program worked perfectly, but after few minutes, the arduino didn’t work well. At first, the programming source appeared to be ok. So, it took some time to resolve this issue.

Web Design: I can write programming code, but I am not good in at web design coding. Therefore, I decided to outsource html coding using oDesk. I hired Bangladeshi through oDesk. The cost of outsourcing was $6.67. It was quite a simple html coding, but it was good enough for me. The below picture is the specification sheet which I uploaded to oDesk.

Pin pointing: When you are making a prototype using Arduino, Web Programming and Server Programming, there are many possibilities which can cause bugs. In my case, the car suddenly stopped by the disconnection of jumper wire. However, it caused no problem in my programming and Arduino wiring at a glance. But still, it took hours to solve this issue.

STEP 4: Conclusion.

Enjoy!

8 Comments

when im searching for the motor driver i cant find the exact one, with the 14 pins. what other device or item can i used for this? thank you :)

In this case, I used TA7267BP. I think any kind of "Motor Driver IC" would be fine.

Question:

What is the voltage for the 33uf capacitor? It's not listed- and we're collecting our materials for this. Thanks!

Hi, thanks for your comment.

The voltage for the capacitor is about 6V. The capacitor is connected to the battery via motor driver TA7267BP.

Please check the datasheet of TA7267BP.


Smart idea! Thanks for shearig :)

Cool! Thanks for sharing your project.