Title: Hand Gesture Remote Control
1Hand Gesture Remote Control
- Justin Johnson, Joe Pommier, Mike Wang
2Overview
- A consumer device that just works
- Consists of a single box that can be plugged in,
easily configured for your television, and will
work reliably indefinitely - Works with already functional infrared remote
control receivers built into most television sets - Uses infrared light to track movements
3Camera Module
- Encompasses camera, clock generation, and logic
level translation circuitry - Camera is a Pixart infrared sensitive digital
camera with onboard digital signal processing
4Camera Module
- Use a crystal oscillator and double inverters to
create 25MHz clock - Using an LTC4301 I2C bus buffer chip, perform
logic level translations between 5V on the
Arduino side and 3.3V on the camera side - With properly written software, communication
with the camera was successful
5Camera Module Testing and Construction
- Laid out circuit in Eagle and ordered a PCB
- About to solder on the camera and realized the
pins were reversed - Had to re-layout the PCB
- Tested the clock circuit by plotting the waveform
on an oscilloscope - While the clock wasnt close to a perfect square
wave, the rise and fall was fast enough (lt2ms) - Once software was written, the I2C signals were
able to be seen on an oscilliscope
6Infrared Transmitter
- Simply an infrared LED modulated at 36KHz
- Turned on and off 67 times for various times,
specified in milliseconds - Tested by writing a simple program to loop
through various remote control codes that were
recorded - Verified that TV reacted in the way expected
7LED Array and Constant Current Source
- Infrared 20x10 LEDs for releasing Infrared light
flood - 1.7 V, 50mA DC voltage and current through each
LED
8LED Array and Constant Current Source
- Power Supply a 36V AC/DC Voltage Converter
(Input 110V AC, Output 36V DC) - Constant current source is made of 10 LM317
Voltage Regulator and 10 100ohm resistors - Each LM317 with a 100ohm resistor with it is
connected in series with each row of LEDs - Input Voltage for each row of LEDs 36V
- Input Current for each row of LEDs 5055mA
- System Power Consumption 20 Watts
9Constant Current Source
10Constant Current Source Development and Testing
- Initially we used Current Mirrors for making
constant current, including 11 NPN BJT
transistors successfully simulated, inconsistent
at proto-type performance - We upgraded Current Mirrors to Wilson Current
Mirrors by adding extra transistors to the
mirrors in order to stabilize the outputs
successful at supporting a single row of LEDs,
unsuccessful at supporting multi rows of LEDs - We also thought of using Op-Amps, but its not
cost-effective and it is hard to get Op-Amps with
36V tolerance.
11Final Design Reasoning
- Why we chose LM317 circuit plan
- Initially we chose Current Mirrors for
lowering manufacturing cost, but neither Wilson
Current Mirrors nor Op-Amp costs less than LM317. - All other plans result over-heating problems
for resistors as well as large power consumption
12Final Development and Testing
- Current Measurements our final design shows that
there is a current between 52.153.1 mA DC
current through each row of LEDs with consistent
performance - LEDs have been on duty without a single failure
for more than 45 minutes of testing since the
completion of the LED Array. - Temperature of resistors in the current source
circuit has been significantly lowered.
Row Current (mA)
1 52.3
2 52.5
3 52.5
4 52.1
5 53.1
6 52.6
7 52.8
8 52.9
9 52.4
10 52.8
13Gesture Recognition Software
- Initializes and samples coordinate data from the
Pixart camera via I2C. - Stores and operates on the data received from the
camera. - Upon successful recognition of a gesture, outputs
the corresponding signal to the television.
14Software Development
- At first, wanted to have a sliding window of
received coordinates with constant comparisons to
an accepted gesture for all four of the available
points given by the camera. - Due to the severe limitations of our
microcontroller, the gesture software had to be
toned down. - We decided to operate only on most prominent
received point, and only detect the most
rudimentary (straight line) gestures.
15Software Implementation
- The recognizing algorithm stores (x,y) data into
arrays. Upon seeing blank frames, or after one
second data storage, it sends this data to a
function that looks for a gesture. - To find a gesture, we first find the distance the
point moved in both the x and y directions. We
then check direction of movement, and distance of
movement to determine whether or not we can
consider the data to contain a gesture. - If a gesture is detected, we send a series of
pulses to the IR transmitter to control the
television.
16Software Testing
- The first version of the software that we used to
test simply relayed what the camera saw to a
computer desktop. This was used extensively in
debugging the later code and the hardware. - The final software had to go through a couple
iterations as we did not know the capacity of the
Arduino, and so we had to compensate for a low
memory, low processor situation. - The software was then calibrated for minimum
pixel movement to help filter out small movements
as gestures.
17Final Testing
- Once all the components were assembled, we
addressed fine-tuning issues - We were unable to get enough infrared light to be
reflected off our fingers - We tried using aluminum foil to reflect more
light - This provided more reflection, but the useful
range was limited to about one foot - Assembled a small LED pen in order to provide a
single point source of light for the infrared
camera
18Final Testing
- With this point source of light, we were able to
exceed 6 feet of range - Having overhead lights on interfered only if the
lights were in the line of sight
19Future Improvement Solutions
- To find better reflection material in order to
increase remote range and efficiency - To use stronger and fewer infrared LEDs for
better performance and lowering manufacturing
cost - To use more advanced cameras to increase
gesture detection ability
20Adaptability and Marketability
- Low Cost Analysis
-
- Proposed Manufacturing Cost
- Camera 35
- Microcontroller 1015
- LM317 x10 35
- LEDs and other minor components lt 5
- Total lt 30
Prototype Cost 144.47 Development cost for
Natal ???
Whats the price you are expecting from our
potential competitor Natal? 100? 200? or 300?
21Adaptability and Marketability
- Fields which this low-cost gesture remote system
can be applied at - Basic TV Remote
- Projector
- Active Video Game Devices
- Confidential Access Devices
- Dancing and Other Entertainment Devices
-
22- THANK YOU FOR COMING TO OUR PRESENTATION!