|
|
|
@ -1,20 +1,4 @@
|
|
|
|
|
/*
|
|
|
|
|
Pitch follower
|
|
|
|
|
|
|
|
|
|
Plays a pitch that changes based on a changing analog input
|
|
|
|
|
|
|
|
|
|
circuit:
|
|
|
|
|
- 8 ohm speaker on digital pin 9
|
|
|
|
|
- photoresistor on analog 0 to 5V
|
|
|
|
|
- 4.7 kilohm resistor on analog 0 to ground
|
|
|
|
|
|
|
|
|
|
created 21 Jan 2010
|
|
|
|
|
modified 31 May 2012
|
|
|
|
|
by Tom Igoe, with suggestion from Michael Flynn
|
|
|
|
|
|
|
|
|
|
This example code is in the public domain.
|
|
|
|
|
|
|
|
|
|
http://www.arduino.cc/en/Tutorial/Tone2
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
void setup() {
|
|
|
|
@ -24,25 +8,18 @@ void setup() {
|
|
|
|
|
|
|
|
|
|
void loop() {
|
|
|
|
|
// read the sensor:
|
|
|
|
|
int sensorReading = analogRead(0);
|
|
|
|
|
// print the sensor reading so you know its range
|
|
|
|
|
Serial.print("0: ");
|
|
|
|
|
Serial.print(sensorReading);
|
|
|
|
|
|
|
|
|
|
Serial.print(", 1: ");
|
|
|
|
|
Serial.print(analogRead(0));
|
|
|
|
|
Serial.print(" ");
|
|
|
|
|
Serial.print(analogRead(1));
|
|
|
|
|
Serial.print(", 2: ");
|
|
|
|
|
Serial.print(" ");
|
|
|
|
|
Serial.print(analogRead(2));
|
|
|
|
|
Serial.print(", 3: ");
|
|
|
|
|
Serial.print(" ");
|
|
|
|
|
Serial.println(analogRead(3));
|
|
|
|
|
|
|
|
|
|
// 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, 400, 1000, 120, 1500);
|
|
|
|
|
// play the pitch:
|
|
|
|
|
// tone(11, thisPitch, 10);
|
|
|
|
|
|
|
|
|
|
delay(250); // delay in between reads for stability
|
|
|
|
|
}
|
|
|
|
|