/* * https://www.pjrc.com/teensy/td_libs_FreqMeasure.html * https://www.pjrc.com/teensy/td_libs_FreqCount.html * https://github.com/kosme/arduinoFFT * * https://www.youtube.com/watch?v=5RmQJtE61zE */ const int SoundSensor = A5; int sensorState; int i=0, val; #include #include #include double sum=0; int ff=0; char im[128], data[128]; void setup() { Serial.begin(9600); FreqMeasure.begin(); FreqCount.begin(1000); } void loop() { sensorState = analogRead(SoundSensor); int min=1024, max=0; for(i=0; i<128; i++) { val = analogRead(SoundSensor); data[i] = val / 4 -128; im[i] = 0; if(val>max) val = max; if(val 30) { float frequency = FreqMeasure.countToFrequency(sum / ff); Serial.print(frequency); Serial.println(" s"); sum = 0; ff = 0; } } else { delay(1000); Serial.println("FreqMeasure is not available."); } }