Skip to content

jimenezjose/Xbox360_RC_Car

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Xbox360_RC_Car

How to make an Xbox 360 controlled RC car.

Materials Needed

Materials Explained:

  • USB Host Shield:

      Allows fast serial communication with the Xbox 360 PC reciever using the SPI protocol.
    
  • HC-06:

      Enables wireless data communication via bluetooth. Powerful accessory to emulate a bluetooth
    terminal and serial data monitor. The advantage of using a bluetooth module, is that it is 
    easily compatible with most industry devices such as Samsung Galaxies and Andoids. There 
    is a plethora of arduino bluetooth apps for such projects open to the public in the Google
    PlayStore. A disadvantage is that IOS devices cannot communicate with the HC-06 bluetooth module
    due to liscensing. As an iPhone user, this was a problem so I propose a work around.
    The way I worked around this problem was by emulating a bluetooth serial monitor on my MacBook Pro 
    using its built in terminal. 
    

    For more insight check out my Youtube video, Arduino Bluetooth Terminal on Mac, that demonstrates how to emulate a bluetooth terminal on your Mac.

      Just tell me. Open two seperate terminal windows, enter "cd /dev/" to change into the device 
    directory located in root. Then search for your HC-06 Bluetooth device with "ls cu.*". In my  
    case, my HC-06 device file is named "cu.HC-06-DevB". Once your device file is correctly  
    identified use the command "cat (the device file)". For example, in my case I would enter  
    "cat cu.HC-06-DevB". Now this will only display content that is being sent from your bluetooth
    module. To send bytes of data to your HC-06, enter the command, "cat > /dev/(the device file)" on 
    the second terminal window you opened. In my case I would enter, "cat > cu.HC-06-DevB". This 
    command redirects keyboard input into the wireless bluetooth module and thats it!
    
  • L298N dual H-Bridge

      Allows a higher voltage battery to externally power the dc motors (max 46v), safely protecting the 
    arduino from electrical failure due to either supllying an over-voltage to a motor, drawing an 
    excessive amount current due to load, and reverse voltage. The advantages of using an external dual 
    H-Bridge module is the ability of controlling higher voltages and a amperage (max 46v and 2A) comapred 
    to a max 5v and 40mA digitial pin on an arduino at a low cost. The disadvantage, is the 2 volt voltage 
    drop and an increase in project real estate.
    
  • Xbox 360 wireless PC receiver

      Pertaining an official Microsoft Xbox 360 PC reciever secures the wireless controller connection. 
    The advantages of using an Xbox 360 controller for an RC project is the concept of being able to hack 
    an Xbox controller to intuitively navigate a car just like a car game emulation. A disadvantage to 
    using an Xbox controller, is the low controller reachability of 20ft. But that's fine the Xbox 360 
    controller is really the beuaty of this project. 
    

Note:

    The USB host shield I used, occupied pin 10 on the arduino board as Slave Select, and pin 9 as a 
  serial pathway to program the USB host shield. It may not be for all shields but I found this out 
  myself in this particular model. For this reason I do not attach peripheral pins to sockets 9 or 10.
  Also I believe because pin 10 and 9 were used as SS and Serial transmission respectively, the Arduino 
  Uno did not work with this shield. 

alt text

alt text

alt text

alt text

Watch the video

Watch the video

Not Perfect:

  At the beginnig of the project I had a lot of issues with the power distribution of the car. I was 
using Pololu's DRV8835 Dual Motor Driver Shield for Arduino with a 9.6V lithium ion battery and the
car would draw more than 40.0 mA on the Arduino's I/O pins causing the Arduino to reset. So, I had 
to externally power and control the two DC motors using a L298N dual H-Bridge. Although the Arduino
did not reset anymore, there was a drastic drop in speed. Due to decrease in speed, I increased the 
voltage of the battery to 20 volts. I picked 20 volts only for the convenience of having a 20v DeWalt
drill battery laying around. Now, the speed increased as predicted, but the steering DC motor had to 
be replaced twice. The motor was getting an 18v PWM, 18v becuase the L298N had a voltage drop of 
about 2 volts. Hence, the steering DC motor fried due to having suppllied an over voltage of 18v to 
a 9-12v motor.
 

  A solution to this problem is to use two L298N dual H-Bridge modules, one for the accelerating DC 
motor and the second for steering DC motor. This will allow the capability of using a lower voltage
battery specifically for the steering DC motor. The disadvantage to this solution, is the amount of
real estate it will take on the car. Since, I did not have the space for a second L298N module and 
the 9.6v battery, I decided not to include it. Not including it meant I had to limit the drive time
of the RC car to about 7 minutes, which is an ideal usage time for the project.

__

About

How to make an Xbox 360 controlled RC car

Resources

License

Stars

Watchers

Forks

Packages

No packages published