From c01bc2b62f76a5d417e5ed13dcb0c047a4f67224 Mon Sep 17 00:00:00 2001
From: Cristian Maglie <c.maglie@bug.st>
Date: Sun, 6 Jan 2013 18:38:03 +0100
Subject: Merged upcoming 1.0.4 and updated revision log

---
 .../Beginners/EsploraLedShow2/EsploraLedShow2.ino  | 55 ++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 libraries/Esplora/Beginners/EsploraLedShow2/EsploraLedShow2.ino

(limited to 'libraries/Esplora/Beginners/EsploraLedShow2')

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); 
+}
-- 
cgit v1.2.3-18-g5258