260 likes | 453 Views
Wireless Multi-touch Tablet. Peter Bankwitz Chris Glab Gierad Laput Malek Musleh. Advisor: Professor Xiang. Project Objectives. Design Wireless Human Interface Device Improve Presentation Method & Desktop Interaction Provide greater user freedom Wireless User Tools
E N D
Wireless Multi-touch Tablet Peter Bankwitz Chris Glab Gierad Laput Malek Musleh Advisor: Professor Xiang
Project Objectives • Design Wireless Human Interface Device • Improve Presentation Method & Desktop Interaction • Provide greater user freedom • Wireless • User Tools • Multi-touch Track-pad • Free-Hand Sketching • Virtual Keyboard
Project Assignments • To simplify the design process, the following subsystems have been assigned accordingly: • Software/Firmware (Malek & Gierad) • GUI • Image Processing • Gesture Recognition • Hardware (Peter & Chris) • Multi-touch System • Power Supply • Wireless Communication
Frustrated Total Internal Reflection • Edge of acrylic is lined with IR LEDs • IR internally reflects (stays within) the acrylic until “frustrated” • When touched, the IR is “frustrated” and refracts out of the acrylic • Refracted IR light is captured by rear mounted camera • Silicone Rubber on screen exterior increases touch coupling Image source: http://encryptio.com/images/screen/ftir
Switching Power Supply • Step-up configuration for IR LEDs • Step-down configuration for 5V Supply • Camera, Microcontrollers, Transmitter
Camera/Image Processing • Filter Camera with IR-pass lens to acquire image within IR band • Image Processing • Most of the image processing is done by the AVRCam • AVRCam performs good blob detection given good parameters • Calibration done via Point-cancellation Algorithm
Wireless Communication - AFSK Transmitted Bit-stream AFSKModulatorusing VCO(MC74HC4046A) FM Transmitter(MAX2606) FMReceiver(TDA7000) Audio Amplifier(LM386) AFSK Demodulator using PLL(MC74HC4046A) Received Bit-stream
Wireless Communication Design Decisions
Wireless Communication Spectral Analysis on FM band (88-108MHz) 10dB/div 2MHz/div (center frequency = 98MHz) Resolution Bandwidth = 9kHz
Wireless Communication Spectral Analysis near carrier frequency (107.9MHz) 10dB/div 100kHz/div (center frequency = 107.9MHz) Resolution Bandwidth = 9kHz
Gesture Recognition and USB HID • Dedicated Microcontroller for Gesture Recognition • USB/HID implemented via PIC18F2550
Gesture Recognition and USB HID • Data packet contains gesture information • Interpreted by the Gesture Recognition System • Three modes of operation and three sets of USB HID Reports • Mode K = Keyboard • Mode M = Mouse • Mode T = Tablet
Gesture Recognition and USB HID • Keyboard Data • Blob coordinates interpreted as keyboard keys via lookup table • Multi-touch enables simultaneous use of up to 4 keys including modifier keys (alt, ctrl, and shift) • Mouse Data • Blob coordinates interpreted through gesture recognition • Mouse report uses relative coordinates to provide desktop interaction and other predefined OS commands • Tablet Data • Blob coordinates interpreted as absolute coordinates which is best used for scribbles, handwriting, or freehand drawing
Gesture Recognition and USB HID • Gesture information is represented as a string • Mouse Mode • x = represents number of points • m = represents movement • c or d = represents convergence/divergence • o = represents finger release • Example gesture string: • x1mAmBmCmFx2c2c5o
Gesture Recognition and USB HID • Keyboard Mode • Keyboard data sent as a byte • Another byte will represent the modifier keys • xxxxxABC • A will represent CTRL • B will represent Shift • C will represent ALT • 0 or 1 means the modifier key is enabled
Gesture Recognition and USB HID • Tablet Mode • Tablet data is represented as pixel coordinates • Tablet information (X,Y): • where X and Y are the x-y coordinates corresponding to the camera image • X-Y coordinates are mapped to computer coordinates via software
Graphical User Interface • Designed & Implemented in Qt • Open Source • Multi-platform • Windows • Mac • Linux • Modular Programming • Separation of Graphics & Programming
GUI-Modes • Free-Hand Mode • Multi-Input Touch • Draw & Sketching • Note-Taking • Brushing/Painting • Shapes / Figures • Ellipses • Circles • Squares • Custom Shapes
GUI-Modes Virtual Keyboard • Document Workspace • Word Document • Text Files • Formatting, Font, Colors
GUI-Modes • ScreenShot • Image Capture • Can be used to Scribble Background • Delay Image Capture
Graphical User Interface - Why Qt? Design Decisions
Next Steps • Implement I2C Communication • Gesture Recognition & USB HID Microcontrollers • Order & Assemble PCB • Graphical User Interface • Test usability / Performance • Integrate &Test overall system