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/EsploraMusic/EsploraMusic.ino        | 53 ++++++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 libraries/Esplora/Beginners/EsploraMusic/EsploraMusic.ino

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

diff --git a/libraries/Esplora/Beginners/EsploraMusic/EsploraMusic.ino b/libraries/Esplora/Beginners/EsploraMusic/EsploraMusic.ino
new file mode 100644
index 0000000..7a950fb
--- /dev/null
+++ b/libraries/Esplora/Beginners/EsploraMusic/EsploraMusic.ino
@@ -0,0 +1,53 @@
+/*
+  Esplora Music
+
+  This sketch turns the Esplora in a simple musical instrument.
+  Press the Switch 1 and move the slider to see how it works.
+
+  Created on 22 november 2012
+  By Enrico Gueli <enrico.gueli@gmail.com>
+  modified 22 Dec 2012
+  by Tom Igoe
+*/
+
+
+#include <Esplora.h>
+
+// these are the frequencies for the notes from middle C
+// to one octave above middle C:
+const int note[] = {
+262, // C
+277, // C#
+294, // D
+311, // D#
+330, // E
+349, // F
+370, // F#
+392, // G
+415, // G#
+440, // A
+466, // A#
+494, // B
+523  // C next octave
+};
+
+void setup() {
+}
+
+void loop() {
+  // read the button labeled SWITCH_DOWN. If it's low,
+  // then play a note:
+  if (Esplora.readButton(SWITCH_DOWN) == LOW) {
+    int slider = Esplora.readSlider();
+    
+    // use map() to map the slider's range to the 
+    // range of notes you have:
+    byte thisNote = map(slider, 0, 1023, 0, 13);
+    // play the note corresponding to the slider's position:
+    Esplora.tone(note[thisNote]);
+  }
+  else {
+    // if the button isn't pressed, turn the note off:
+    Esplora.noTone();
+  }
+}
-- 
cgit v1.2.3-18-g5258