diff options
author | Cristian Maglie <c.maglie@bug.st> | 2013-01-27 12:52:06 +0100 |
---|---|---|
committer | Cristian Maglie <c.maglie@bug.st> | 2013-01-27 12:52:06 +0100 |
commit | 76d436f51501bd47ff463b88a196f517191f58ad (patch) | |
tree | 1f22ba2385ad22eca306d67793c0827451f2b50a /libraries/Esplora/Beginners/EsploraLedShow2 | |
parent | bb9cc4f70c17eed497ab30d7bfe6eebb35055205 (diff) | |
parent | c6287dd6ac33544179a6544b8f3f55a396ec6608 (diff) |
Merge branch 'ide-1.5.x' into can
Diffstat (limited to 'libraries/Esplora/Beginners/EsploraLedShow2')
-rw-r--r-- | libraries/Esplora/Beginners/EsploraLedShow2/EsploraLedShow2.ino | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/libraries/Esplora/Beginners/EsploraLedShow2/EsploraLedShow2.ino b/libraries/Esplora/Beginners/EsploraLedShow2/EsploraLedShow2.ino new file mode 100644 index 0000000..8f9f8a2 --- /dev/null +++ b/libraries/Esplora/Beginners/EsploraLedShow2/EsploraLedShow2.ino @@ -0,0 +1,55 @@ +/* + Esplora Led/Microphone + + This simple sketch reads the microphone, light sensor, and slider. + Then it uses those readings to set the brightness of red, green and blue + channels of the RGB LED. The red channel will change with the loudness + "heared" by the microphone, the green channel changes as the + amount of light in the room and the blue channel will change + with the position of the slider. + + Created on 22 november 2012 + By Enrico Gueli <enrico.gueli@gmail.com> + Modified 24 Nov 2012 + by Tom Igoe +*/ + +#include <Esplora.h> + +void setup() { + // initialize the serial communication: + Serial.begin(9600); +} + +int lowLight = 400; // the light sensor reading when it's covered +int highLight = 1023; // the maximum light sensor reading +int minGreen = 0; // minimum brightness of the green LED +int maxGreen = 100; // maximum brightness of the green LED + +void loop() { + // read the sensors into variables: + int mic = Esplora.readMicrophone(); + int light = Esplora.readLightSensor(); + int slider = Esplora.readSlider(); + + // convert the sensor readings to light levels: + byte red = constrain(mic, 0, 255); + byte green = constrain( + map(light, lowLight, highLight, minGreen, maxGreen), + 0, 255); + byte blue = slider/4; + + // print the light levels (to see what's going on): + Serial.print(red); + Serial.print(' '); + Serial.print(green); + Serial.print(' '); + Serial.println(blue); + + // write the light levels to the LED. + // note that the green value is always 0: + Esplora.writeRGB(red, green, blue); + + // add a delay to keep the LED from flickering: + delay(10); +} |