Ok so it's been a few months since the post on Interactive LED's. Even though I had already made a module and recorded a video, I had not had the time to upload the video or explain the circuit.
So below is a picture of the circuit in its most basic form. No LED protection for this simple circuit, however building more modules would require a far better design than the one shown...
Circuit Explination:
InfraRed light emmitting from the IR LED transmitter is beamed onto an obstacle (your hand/finger etc.) and reflected onto the IR Receiver (a reverse biased IR LED) which triggers the amplifier to turn on the green LED's.
In the circuit I am using an LM324 - Low Power Quad Operational Amplifier. This is due to the fact that the reflected IR creates a small voltage on the receiver (depends on variables however one test I did was around 150-200mV) and approx 16x gain so 2.4-2.6V on the output.
Being a Quad OP Amp, I had 1 Green LED per output.
Because I only made this module as a "Proof of concept" I have not gone any further with it... Hopefully when I get some time I might come back to this...
After the iPhone & Arduino project, I wanted to try some mechanical objects with the Arduino MEGA. This is the first test of controlling a Servo connected to the Arduino MEGA by moving the mouse.
The mouse X axis is read by a Processing Sketch and then sent to the arduino to tell the servo to rotate.
I have updated the code to include Y axis, however I only have 1 servo at the moment =P
I will post a new video once I have received more servos...
UPDATE: Here are the Processing and Arduino source codes for this project:
I've been working on some projects using the Arduino MEGA.
In this example I've used the iPhone connected to Arduino via WiFi using a custom layout from TouchOSC to control the Green and Red LED's. The application sending information to the Arduino is Processing.
(The website will need translation, however, the video and code are there)
Below is the Processing code for the Arduino Touch Screen Paint application I wrote for the above video...
Enjoy!
// Touch Screen Paint v1.1
// This example takes in a serial string of comma-separated values // from a 4-Wire Resistive touch screen (0 to 1023), maps them to the range // 0 to 480 or 0 to 800 of x,y values, and uses them to draw a line on the screen.
// By // Paul D'Intino
import processing.serial.*;
float xPos = 0; // touch screen x value float yPos = 0; // touch screen y value
Serial myPort;
void setup() { size(800, 480); //define the size of the Paint window background(0); //set the background to black // List all the available serial ports println(Serial.list()); // Open whatever port is the one you're using. myPort = new Serial(this, Serial.list()[2], 9600); // don't generate a serialEvent() unless you get a new line character: myPort.bufferUntil('\n'); }
void draw() {
}
void serialEvent(Serial myPort) { // get the ASCII string: String inString = myPort.readStringUntil('\n'); //background(0); if (inString != null) { // trim off any whitespace: inString = trim(inString); // split the string on the commas and convert the // resulting substrings into an integer array: float[] sensor = float(split(inString, ",")); // if the array has at least three elements, you know // you got the whole thing. Put the numbers in the // color variables: if (sensor.length >=2) { // map them to the range 0-255: xPos = map(sensor[0], 0, 1023, 0, 480); yPos = map(sensor[1], 0, 1023, 0, 800); //define the stroke and fill color of the circle stroke(0,255,0); //green (R,G,B) fill(0,255,0); //green (R,G,B) //draw the circle at the touch screen sensor x and y position ellipse(yPos,xPos,10,10); //print the serial x,y data for debugging purposes only println(inString); } } }
The processing app I wrote is a derivative of the Virtual Color Mixer code found here:
A while ago I saw some Interactive LED table videos that kinda got me thinking "I should build one of these..." so I did some research and started playing around with IR LED's as sensors. The idea being that the table we use to play cards on could do with some spicing up...
This video shows the first test of a reverse biased IR led used as an IR sensor to power some green LED's. This is the first step to making an interactive LED table using a fairly simple circuit.
(Oh and sorry about the portrait video, I filmed it with my iPhone)
It's here! The first edition release of the NUI Group community book Multi-Touch Technologies.
This book comprises state of the art articles from the NUI Group Community Wiki, as well as several chapters written by leading experts in the field specifically for this publication. Detailing basic hardware technologies as well as the process of developing software suited for multi-touch systems, this book provides a technical introduction to the world of multi-touch.
I am proud to have been a contributer to this book, and my "How-To" section has been included also. Please check it out as it is full of helpful information. Well done to all who made it happen..
So, I've been to Japan and back, but now I've finally found the time to get back into some multi-touch projects I started some months ago. This is my first video of the LED-LP (LED-Light Plane) 19" Widescreen multi-touch LCD prototype I am building.
There are a total of 40 IR LED's around the LCD panel, a PS3 Eye Webcam mounted behind the LCD module, and tbeta running for the blob detection.
This video is of the tbeta main screen where the raw camera feed and applied filters can be seen.
(NOTE: There are some glitches/false inputs being detected and that is due to reflection of IR from the back acrylic onto the LCD's PCB. This can be fixed easily by covering the PCB with non-reflective material.)
I have been extremely busy for the last couple of months so I thought I should keep everyone updated on what I've been up to...
I have been working on a portable LED-LP LCD setup which has been on the go for a while now, mainly due to the fact that I have been busy with other things..