arduino_guitar_repeater/guitar/guitar.ino

35 lines
543 B
C++

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