X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=piezo%2Fpiezo_1_tonePitchFollower%2Fpiezo_1_tonePitchFollower.ino;h=c609b2918ae618d9dea20e9fe5b0b738aca8bb32;hb=0c04d0b910d1566ae3fa4c20f8cb6e2c1c0cbb79;hp=9ceda24d32cdabfc4475e6f7f51be22477f55990;hpb=1ec9a5af55ae42ae4678fbdceaa6ae006fb66ab0;p=sketchbook_andrea diff --git a/piezo/piezo_1_tonePitchFollower/piezo_1_tonePitchFollower.ino b/piezo/piezo_1_tonePitchFollower/piezo_1_tonePitchFollower.ino index 9ceda24..c609b29 100644 --- a/piezo/piezo_1_tonePitchFollower/piezo_1_tonePitchFollower.ino +++ b/piezo/piezo_1_tonePitchFollower/piezo_1_tonePitchFollower.ino @@ -13,8 +13,9 @@ 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 */ @@ -38,7 +39,7 @@ void loop() { // 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, sensorMin, sensorMax, 220, 3500); + int thisPitch = map(sensorReading, 300, 900, 220, 3500); // play the pitch: tone(ledPin, thisPitch, 10); @@ -52,85 +53,4 @@ tra i valori 20hz e 20.000hz. 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). - -Soluzioni in fondo. - - - - - - - - - - - - - - - - - - - - - - - - -Soluzioni: -// 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 - -// variables: -int sensorValue = 0; // the sensor value -int sensorMin = 1023; // minimum sensor value -int sensorMax = 0; // maximum sensor value - -void setup() { - // initialize serial communications (for debugging only): - Serial.begin(9600); - pinMode(13, OUTPUT); - digitalWrite(13, HIGH); - - // calibrate during the first five seconds - while (millis() < 5000) { - sensorValue = analogRead(sensorPin); - - // record the maximum sensor value - if (sensorValue > sensorMax) { - sensorMax = sensorValue; - } - - // record the minimum sensor value - if (sensorValue < sensorMin) { - sensorMin = sensorValue; - } - } - - // signal the end of the calibration period - digitalWrite(13, LOW); -} - -void loop() { - // read the sensor: - 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: - int thisPitch = map(sensorReading, sensorMin, sensorMax, 220, 3500); - - // play the pitch: - if (sensorReading < sensorMax -50) { - tone(ledPin, thisPitch, 10); - } - delay(1); // delay in between reads for stability -} */ - - -