1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-05 16:24:12 +01:00
Arduino/build/shared/examples/02.Digital/tonePitchFollower/tonePitchFollower.ino

53 lines
1.3 KiB
C++

/*
Pitch follower
Plays a pitch that changes based on a changing analog input
circuit:
* 8-ohm speaker on digital pin 8
* photoresistor on analog 0 to 5V
* 4.7K resistor on analog 0 to ground
created 21 Jan 2010
<<<<<<< HEAD:build/shared/examples/02.Digital/tonePitchFollower/tonePitchFollower.ino
modified 9 Apr 2012
by Tom Igoe
=======
modified 31 May 2012
by Tom Igoe, with suggestion from Michael Flynn
>>>>>>> Made changes to TonePitchFollower example for clarity, suggestions by user Michael Flynn:build/shared/examples/2.Digital/tonePitchFollower/tonePitchFollower.ino
This example code is in the public domain.
http://arduino.cc/en/Tutorial/Tone2
*/
void setup() {
// initialize serial communications (for debugging only):
Serial.begin(9600);
}
void loop() {
// read the sensor:
int sensorReading = analogRead(A0);
// 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);
// play the pitch:
tone(9, thisPitch, 10);
delay(1); // delay in between reads for stability
}