2/8/11: Group decides to use the XBOX kinnect to control remote control car for a form of racing game.
2/15/11: Remote Control Cars Ordered.
2/19/11 Remote Control Cars received.
2/22/11: Tested compatability and operation of cars:
TEST RESULTS: 1) Cars are only one speed (on or off) for forward and reverse, so implementation of variable speed control from embedded system will now be more complicated if implemented at all-- Thoughts of implementation would be pulsing the forward button with a 555 timer or some other pulse generator, or completely replacing internal circuit to make it compatible with a varying speed (this will most likely not be acted upon).
2)Turning of car is separate from forward and reverse command and act in a similar motion at the forward and reverse signal (ie. on/off).
3)Found that both cars operate on the same frequency so this set up will not work for our plan. Tried adjusting the variable inductor to change frequency of transmission and found that the receiver is a wide band receiver so it work across frequencies of 24.5 to 29 MHz (our limitation of adjustment from the variable inductor). Work arounds are either a) to exclude a car all together, b)find an easy replacement part to allow for adjusting off frequency (ie solder in new variable inductor or change resistor values of RI tank) or c) change the "guts" of the car all together with a 315Mhz trans. receiver pair currently in Jason's stock. For simplicity as of now, only one car will be planned for (if time allows we will revisit this issue).
4)Found that circuitry inside of the remote is very simple and could easily interface with an open collector transistor to turn on the commands (ie. fwd/rev left/right). So using 4 pins of a uP to interface non-varying speed simplifies our circuitry which we originally thought a digital POT or DAC would be needed.
--END TEST RESULTS
4/4/11-4/13/11: Transitioned away from using the Kinect as our way of interfacing with the cars. After finding it difficult to interpret the data coming from the Kinect, we decided to use a regular webcam and use colors to track our movements. We have successfully interfaced with a webcam using opencv in Visual C++ and tracked a specific color. We are now deciding how we want to use the movements of our hands to control the remote control car. Currently we are experimenting with using six different sections of the frame to control the vehicle. Placing your hand (with a colored glove) in the top-left portion, for example, signifies forward and left, while bottom-center signifies backwards.
4/18/11: Successful in detecting hand consistently in each of the six locations, and displaying them on the output console to confirm detection above a threshold.
4/19/11-4/20/11: Interfaced Arduino with computer to recieve a stream of hand locations and output a voltage on a pin to control the remote for the RC car. We were able to power the remote and control the car connecting solely to the Arduino, but found out that with its output of 5 volts it could not produce a strong enough signal to control the car outside of the lab (or in the hall).
4/26/11-4/27/11: Added a camera to car and powerd the remote control with a power supply to gain sufficient range to control the car in the hallway. We needed to use transistor the buffer the 5 volt (arduino) logic level with the 12 volt supply (remote). Test ran the car in hallway with the camera reciever hooked up to a projector, finding that we were able to go about 1 third of the hall in each direction before finding dead spots (BENTON BLACK-HOLES).