Now that the Bidirectional LED demo is working but we realized a few problems.
The refresh rate is too slow. It appears that it is taking too much time for the LED to discharge. However this is quite minor, we fixed this by grounding the LED using a resistor.
When we try to extend this to the 8×8 LED Matrix we found a much bigger problem and we are quite clueless as to how to solve it. When we work with the matrix, we are not dealing with a single LED. All the LED are connected to each other by the matrix. The problem is that when a user places a finger on an LED, all the matrix in the entire array is distrubed, so it is almost impossible to determine where the user is touching.
We don’t really have a solution right now but we are thinking about switching to a multitouch surface instead.
Although we have not yet been able to get any useful input from the LED. We bought some LED Marix Display wired them up to the Arduino Stamp. We wrote some firmware code in C and a demo app in Processing. I was hoping to quickly draw a schematic of how the LED Matrix is wired, but I didn’t get to that yet. Hopefully it will be up in the near future. Below is a picture of the 8×8 LED Matrix setup. Each row of the matrix is controlled by a digital I/O pin on the Arduino Stamp. However there is not enough digital I/O on the Arduino Stamp to control the columns, we use a shift register to output data to control the columns on the matrix.
Each circle on the java applet corresponds to a single LED on the display.
Below is also a youtube demonstration of the setup
**Note that the RxTxLib included in the GUI source code is strictly for MacOSX
We basically set up our bi-directional LED the circuit according to diagram shown in the last last post. We did followed all the instruction stated the paper on the implementation of a simple bidirectional LED demo, but it just doesn’t work!! There are I think two possibilities why this is not working.
- We did something seriously wrong
- Something is wrong with the microcontroller
At the current moment, I really don’t know how to fix this but here is a picture of the setup followed by the source code
#define digi_fwd 2
#define digi_rev 3
count = 0;
The Arduino Sketch can be downloaded here
Since there isn’t really much Information on any multitouch LED display, we started off with some background research on the subject. The paper by Paul Dietz, William Yerazunis, and Darren Leigh talks in detail about using LEDs as both input and an output.
Part A of the above diagram illustrate the noramal operating condition a typical LED driver. The current is flowing from the cathode to the anode of the LED and the LED is emitting light. However LED is also a photodiode and therefore it is sensitive to light.
Part B of the diagram illustrate a LED that is reverse biased. Under such conditions, the LED acts as a capacitor and the reverse biases charges the capacitance.
In Part C of the diagram, the I/O pin that is previously at VCC is switched to input mode. This allows the photocurrent to discharge the capacitance built up in the LED. By timing how long it takes the LED to discharge we can measure the amount of photocurrent. (Paul Dietz, William Yerazunis, Darren Leigh) If we extend this to a LED matrix, then it is possible to create a multitouch LED Display.
E. Fred Schubert, Light-Emitting Diodes
Paul Dietz, William Yerazunis, Darren Leigh, Very Low-Cost Sensing and Communication Using Bidrectional LEDs
Jonathan Pak, The Light Matrix: An Interface for musical expression and performance.
Scott E. Hudson, Using Light Emitting Diode Arrays as Touch-Sensitive Input and Output Devices
Now it really seems like the original idea of using the Force Sensing Resistors isn’t going to work. After talking to some other people, we come up with a few possible other ideas.
We can either try to construct a 2D multitouch surface using the Force Sensing Resistor. This sounds like a good solution but we would like to try something new.
We can try to construct a 2D multitouch surface using the novel method by Jeff Han, a researcher at NYU of using a webcam/projector setup.
We can also try to construct a multitouch LED Display also by Jeff Han. We kind of like this idea alot especially after seeing this really cool youtube clip. There is no documentation or what so ever on the web concerning the construction of this device. Professor Anind suggest that we should seek advice from Johnny. This does seem to be a risky choice for us to try since there are a lot of potential problems with such a device. But we like the idea and want to give it a shot