arduino_guitar_repeater/guitar/guitar.ino

35 lines
543 B
Arduino
Raw Permalink Normal View History

2013-07-28 03:46:26 +00:00
const int edge = 10;
const long d = 10;
const int analogInPin = A0;
2013-07-28 03:43:43 +00:00
const int audioOutPin = 12;
void setup() {
2013-07-28 03:46:26 +00:00
//Serial.begin(115200);
2013-07-28 03:43:43 +00:00
}
void loop() {
2013-07-28 03:46:26 +00:00
long freq = measureFrequency();
2013-07-28 03:43:43 +00:00
if (freq != 0)
tone(audioOutPin, freq);
else
noTone(audioOutPin);
2013-07-28 03:46:26 +00:00
//Serial.println(freq);
2013-07-28 03:43:43 +00:00
}
2013-07-28 03:46:26 +00:00
long measureFrequency() {
2013-07-28 03:43:43 +00:00
long t = millis();
2013-07-28 03:46:26 +00:00
long n = 0;
2013-07-28 03:43:43 +00:00
boolean o = analogRead(analogInPin) <= edge;
while(millis() - t <= d)
if ((analogRead(analogInPin) <= edge) != o) {
o = !o;
n++;
}
return n * 1000 / d;
}