xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" ECE 5725 | Gesture Controlled Music Box

2-line sensor recognition

Tianze Jiang

Design and Testing

At first I planned to build an array of light sensors to recognize different patterns of gestures. But later I realized that using an array contains too much work to do on signals processing in one month. And since gestures to be recognized in our design only includes sweep left/right and sweep up/down, I think that there is no need to use an array of sensors because our gestures can be recognized by two 1-D sensor lines. Hence in my design, I use a vertical sensor line and a horizontal sensor line. Each line contains 5 sensors. They intersects at the center and share the center sensor.

Since this design can only recognize sweep left/right and sweep down gesture, to add more kinds of control, I apply a two level menu for my design. The user needs to put his hand at the center of the sensor patterns for more than 2 seconds to trigger controls in first level menu and more than 4 seconds for second level menu controls. There is a counter recording how long hand is put above the center censor to decide menu the system is on. The system has one variable for each direction of sweep pattern to record whether the gesture is a sweep at that corresponding direction according to the edge sensors output. Then the final decision will be made according to the second sensors from the edge about which kind of sweep is actually happening. There is an action flag. If the flag is set, the system will work in normal mode to recognize gestures according to above logic. After each action, the action flag will be set to 0 and recover until all sensors are uncovered. Also, all variables involve in gesture recognition will be reinitialized to 0.

 

Results

My design works correctly except that sometimes sweep left/right will trigger controls corresponding to sweep down. I fixed this by adding additional control logic. I set a higher priority to check whether it is a sweeping left or right and a lower priority of checking whether it is a sweeping down.

Conclusion

My design successfully realized the functions in plan. Instead of using an array of sensors, it uses two-line sensor pattern, which has less number of sensors and requires less GPIO pins on Raspberry-Pi.

 

The disadvantage of this design is that there is a relatively large difficulty to update it to recognize more complex gesture because the pattern of sensors are designed to recognize 1-D gestures only. Recognize more complex gestures may requires some significant modification of the whole design.

Further Work

There are still several points for this design that can be improved. First, I can still add more functions in this design. For example, playing next song or last song in the list. Also, it is better to add a display of current status of the music player including the name of the song it is playing, the volume level and the status of playing (paused or playing). Also, the display can be put on piTFT by adjust GPIO pins occupied by sensors to free pins required for piTFT usage.

 

Contact

Group members (alphabet order):

Delin Cao                                 dc884@cornell.edu

Tianze Jiang                             tj273@cornell.edu

 

Course Advisor:

Joe Skovira                               jfs9@cornell.edu

 

First thanks to our course advisor, professor Skovira. He help us with ideas comming up, model formation and python support.

Especially thanks to our teaching assistant, Jingyao Ren

W3C+Hates+Me Valid+CSS%21 Handcrafted with sweat and blood Runs on Any Browser Any OS