You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
887 B
Plaintext
47 lines
887 B
Plaintext
15 years ago
|
/*
|
||
|
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
|
||
14 years ago
|
Modified 4 Sep 2010
|
||
15 years ago
|
by Tom Igoe
|
||
14 years ago
|
|
||
|
This example code is in the public domain.
|
||
15 years ago
|
|
||
|
http://arduino.cc/en/Tutorial/Tone2
|
||
|
|
||
|
*/
|
||
|
|
||
|
|
||
|
void setup() {
|
||
|
// initialize serial communications (for debugging only):
|
||
|
Serial.begin(9600);
|
||
|
}
|
||
|
|
||
|
void loop() {
|
||
|
// read the sensor:
|
||
14 years ago
|
int sensorReading = analogRead(A0);
|
||
15 years ago
|
// print the sensor reading so you know its range
|
||
|
Serial.println(sensorReading);
|
||
|
// map the pitch to the range of the analog input.
|
||
|
// change the minimum and maximum input numbers below
|
||
|
// depending on the range your sensor's giving:
|
||
|
int thisPitch = map(sensorReading, 400, 1000, 100, 1000);
|
||
|
|
||
|
// play the pitch:
|
||
|
tone(8, thisPitch, 10);
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|