commit 3def7bd1c8fa37b11168b91cfa0e1805ccbc572a Author: Alexey Skobkin Date: Sun Jul 28 07:43:43 2013 +0400 initial diff --git a/guitar.ino b/guitar.ino new file mode 100644 index 0000000..a95db11 --- /dev/null +++ b/guitar.ino @@ -0,0 +1,34 @@ +int edge = 15; +const long d = 5; +int analogInPin = A0; +const int audioOutPin = 12; + +void setup() { + Serial.begin(115200); +} + +void loop() { + int freq = measureFrequency(); + if (freq != 0) + tone(audioOutPin, freq); + else + noTone(audioOutPin); + Serial.println(freq); +} + +int measureFrequency() { + long t = millis(); + int n = 0; + boolean o = analogRead(analogInPin) <= edge; + + while(millis() - t <= d) + if ((analogRead(analogInPin) <= edge) != o) { + o = !o; + n++; + } + return n * 1000 / d; +} + + + +