forked from arduino/arduino-examples
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtonePitchFollower.ino
39 lines (31 loc) · 1.06 KB
/
tonePitchFollower.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*
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.
https://docs.arduino.cc/built-in-examples/digital/tonePitchFollower/
*/
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
}