DJ Multitouch — A FTIR Touchscreen Device Using Atmega644
The DJ Touch is a portable turntable touchscreen and interactive LED display.
Our end goal was to produce a low cost touchscreen device, and demonstrate its application in a common consumer application. Out of an interest in electronic music, and with the knowledge of deejaying’s close roots to electronics, we decided to develop a touch screen turntable.
The device relies on the concept of frustrated total internal reflection (FTIR) to detect user motion on an acrylic surface. Using a camera system and infrared LED setup, these blobs of infrared light are read into the microprocessor and detected using a dynamic thresholding algorithm. The data is streamed over serial using the FT232R USB connection and a compatible program on the user interface emulates the turntable motion. We have also written up additional code that uses the blob tracking for simple mouse movement. Using MATLAB’s powerful image processing library, more complex interactions can be coded.
High Level Design
There has been a plethora of touchscreen gadgets in today’s market of consumer electronic goods. Smart phones and portable entertainment devices are expected to ship with some form of touch screen functionality. In particular, several multitouch projects have been successfully completed leveraging on the FTIR effect. These include and have served as an inspiration for our build. DJTouch demonstrates the ability to build an interactive display using minimal processing resources for low cost.
At the heart of the device is an ATMEGA644 which is connected to a CMOS camera and a LED driver. With only a RS232 serial port to communicate data to the computer, we had to push most of the image processing to the ATMEGA644, outputting only a stream of bits representing the background/foreground data of the screen. The LED display allows the user to confirm that the touch screen is functional, if the computer is not used.
On the computer end, there is a serial read-in code that translates the binary bits of information into a full image. Applications can be developed to use the data to track motion across the screen, or as demonstrated in the main DJ application.
The system relies on the program Virtual DJ Home, which simulates a DJ deck. Configuring the appropriate keyboard inputs to the turntable actions, the user’s rotational motion across the surface of the acrylic is translated into rotations of the turntable. This allows the user to “scratch” music. There is also an additional play/pause button, located in the center of the touch screen.
The project relies on I2C, SPI and serial communication protocols. I2C is used to program the camera to allow for optimal image capture of the touchscreen. SPI is used to drive the LED display, controlling up to a maximum of 64 LEDs using only four input wires from the microcontroller. The serial communication data stream is custom formatted in order to minimize the time needed to send data over the connection.
With the limited bandwidth of the serial port connection, our device speed is limited. With the addition of processing from the MATLAB front end, the low sampling rate can be compensated for, applying correlation to determine user movement. Using a reduced version of the code, which only outputs rotational speed, we can speed up the rate of image sampling and increase the sensitivity of the device. For demonstration purposes, however, we felt that streaming the full image was essential to show the proper operation of the touchscreen.
As the device’s sole output is through the serial port connection, there were no applicable standards by which our device had to conform.
To our knowledge, while the term “multitouch” is patented by Apple, the concept of FTIR to track user finger presses across a surface predates the patent application.
Our device consists of a touchscreen and a LED display. As a significant part of the project required setting up the FTIR touchscreen, we have documented the process of obtaining blobs on the acrylic surface. In addition, we will discuss hardware concerns regarding the LED matrix build and the physical camera characteristics.
Frustrated Total Internal Reflection is a multi-touch methodology developed by Jeff Han (Multi-Touch Interaction Research, 2006). Light directed from a material of a smaller refractive index to a material with a higher refractive index at an angle above that of a critical sum will be reflected totally. Light from the infrared LEDs directed into the acrylic is trapped in the material. When the user presses on the surface, the refractivity of the user’s finger frustrates the light rays, breaking the TIR effect. This is visible as bright blobs on the camera.
|Infrared LEDs (12, at $0.3 unit cost)||$3.60||eBay|
|Bulk LEDs (60, at $0.05 unit cost||$3.00||eBay|
|Solder board 6 inch (2, at $2.50 unit cost)||$5.00||lab|
|Small solder board||$1.00||lab|
|9V Power Supply||$5.00||lab|
|16 MHz Crystal Oscillator||—||lab|
|various resistors, capacitors||—||lab|
|1″ 6″x6″ acrylic||$10.00||jmkdisplays|
|Two-way mirror (overstock piece)||$4.00||Two Way Mirrors|
|790nm filter||(on loan)||Prof Pollock|
|Scrap wood, metal||$0.00||—|
For more detail: DJ Multitouch — A FTIR Touchscreen Device Using Atmega644
Leave a Comment
You must be logged in to post a comment.