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
Filed under: Electronics
We finally recieved the parts we ordered from sparkfun Electronics. Here are some pictures of the microcontroller, bluetooth module and the accelerometer!! At the current moment we are hoping to familiar ourselves with the microcontroller first and hopefully we will be able to implement a prototype of the Multitouch LED display as soon as possible.
The Arduino Stamp ships with an on-board ATmega168 microcontroller and it comes with an open source multiplatform (currently works on MacOSX, Windows, and Linux) IDE which can be downloaded for free. The Arduino Stamps connect to the computer via the serial port. Due to the compact design of the stamp, an additional adapter is required. The following is a picture of the Arduino Serial USB Board. Using the FT232RL, the Arduino Serial USB Board emulates a com port on the computer allowing communication between the computer and the Arduino Stamp. This is especially convieient since my MacBook doesn’t comes with a serial port =)
We also bought the BlueSMiRF bluetooth module from sparkfun. The bluetooth module connects to the Tx/Rx pins on the Arduino Stamp. And it will shows up as an bluetooth serial port on the computer side. It is capable of transmitting serial stream from 9600 to 115200bps from as far as 160m.
And here is our last piece of goodies… The IMU 5 Degree of Freedom from sparkfun. The “Inertia Measurement Unit” is only 1 square inch in size and it ships with an on-board 3-axis accelerometer from Analog Device and a dual axis gyro from InenSense. By combining these sensor, this board will allow us to sense the 5 degrees of freedom (Roll, Pitch, X, Y, Z). Mounting this on the our device will hopefully allow us to sense the rotational and translational movements of the device.
- Arduino Stamp $38
- Arduino USB Board $21
- BlueSMiRF $65
- IMU 5 DOF $110
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