From 3def7bd1c8fa37b11168b91cfa0e1805ccbc572a Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Sun, 28 Jul 2013 07:43:43 +0400 Subject: [PATCH] initial --- guitar.ino | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 guitar.ino 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; +} + + + +