In this project, I have connected an Arduino to my computer and used a photoresistor to control an animation on the screen. Other sensors could have been used, but I chose a photoresistor because it feels like magic!!
The photoresistor responds to changes in ambient light as my hand moves up and down. The Arduino sends the reading to a Processing sketch on the computer via a Serial command (through the USB cable). The processing sketch interprets the signal from the Arduino and selects the appropriate picture to display.
I took a series of screenshots from the following YouTube video: http://www.youtube.com/watch?v=h6nE8m74kDg And after borrowing a bit of code from these sites (1,2), the project was born. This idea is not new, nor my own. There are many people who have done this project before, but I thought to blog about how I have done it, just for fun.
The Project Movie
Components Required
Arduino Uno (and associated software), and USB cable
//auto-adjust the minimum and maximum limits in real time if(minLight>lightLevel){ minLight=lightLevel; } if(maxLight<lightLevel){ maxLight=lightLevel; }
//Map the light level to produce a result between 1 and 28. adjustedLightLevel = map(lightLevel, (minLight+20), (maxLight-20), 1, 28); adjustedLightLevel = constrain (adjustedLightLevel, 1,28);
/*Only send a new value to the Serial Port if the adjustedLightLevel value changes.*/ if(oldLightLevel==adjustedLightLevel){ //do nothing if the old value and the new value are the same. }else{ //Update the oldLightLevel value for the next round oldLightLevel=adjustedLightLevel;
/*Send the adjusted Light level result to Serial port (processing)*/ Serial.println(adjustedLightLevel); } }
import processing.serial.*; Serial myPort; String sensorReading="";
// Create the array that will hold the images PImage[] movieImage = new PImage[29];
/* The frame variable is used to control which image is displayed */ int frame = 1;
/* Setup the size of the window. Initialise serial communication with Arduino and pre-load the images to be displayed later on. This is done only once. I am using COM6 on my computer, you may need replace this value with your active COM port being used by the Arduino.*/
void setup(){ size(700,600);
myPort = new Serial(this, "COM6", 9600); myPort.bufferUntil('\n');
you are reading post about Jumper: Arduino controlled animation which writed by malikmal with about : and sorry, you haven't permittion to copy paste this post and upload back my file !.
If you like the article on this blog, please subscribe free via email, that way you will get a shipment every article there is an article that appeared in malikmal
0 comments:
Post a Comment