]> git.piffa.net Git - sketchbook_andrea/blobdiff - piezo/piezo_1_tonePitchFollower/piezo_1_tonePitchFollower.ino
Common: aggiunto shift temporale per pwm e blink
[sketchbook_andrea] / piezo / piezo_1_tonePitchFollower / piezo_1_tonePitchFollower.ino
index e74c7b343449a5c366c457ebb127c5887d99dcc4..c609b2918ae618d9dea20e9fe5b0b738aca8bb32 100644 (file)
  by Tom Igoe, with suggestion from Michael Flynn
 
 This example code is in the public domain.
  by Tom Igoe, with suggestion from Michael Flynn
 
 This example code is in the public domain.
- http://arduino.cc/en/Tutorial/Tone2
+
+- http://www.dummies.com/how-to/content/how-to-make-an-instrument-with-the-arduino.html
+- https://www.arduino.cc/en/Tutorial/tonePitchFollower
  
  */
 
 
  
  */
 
 
+// These constants won't change:
+const int sensorPin = A0;    // pin that the sensor is attached to
+const int ledPin = 9;        // pin that the LED is attached to
+
+
 void setup() {
   // initialize serial communications (for debugging only):
   Serial.begin(9600);
 void setup() {
   // initialize serial communications (for debugging only):
   Serial.begin(9600);
@@ -26,22 +32,25 @@ void setup() {
 
 void loop() {
   // read the sensor:
 
 void loop() {
   // read the sensor:
-  int sensorReading = analogRead(A0);
+  int sensorReading = analogRead(sensorPin);
   // print the sensor reading so you know its range
   Serial.println(sensorReading);
   // map the analog input range (in this case, 400 - 1000 from the photoresistor)
   // to the output pitch range (120 - 1500Hz)
   // change the minimum and maximum input numbers below
   // depending on the range your sensor's giving:
   // print the sensor reading so you know its range
   Serial.println(sensorReading);
   // map the analog input range (in this case, 400 - 1000 from the photoresistor)
   // to the output pitch range (120 - 1500Hz)
   // change the minimum and maximum input numbers below
   // depending on the range your sensor's giving:
-  int thisPitch = map(sensorReading, 400, 1000, 120, 1500);
+  int thisPitch = map(sensorReading, 300, 900, 220, 3500);
 
   // play the pitch:
 
   // play the pitch:
-  tone(9, thisPitch, 10);
+  tone(ledPin, thisPitch, 10);
   delay(1);        // delay in between reads for stability
 }
 
   delay(1);        // delay in between reads for stability
 }
 
-
-
-
-
-
+/* Domande:
+1. Modificare l'estensione del range di frequenza del piezo
+tra i valori 20hz e 20.000hz.
+2. Inserire l'auto calibrazione
+3. Modificare lo script in modo che vengano emessi suoni solo quando
+una mano offusca leggermente la luce (il piezo non deve suonare
+se non c'e' un operatore a interagire con la fotoresistenza).
+*/