/* FreqMeasureMulti - Example with serial output * http://www.pjrc.com/teensy/td_libs_FreqMeasure.html * * This example code is in the public domain. */ #include // Measure 3 frequencies at the same time! :-) FreqMeasureMulti freq1; FreqMeasureMulti freq2; FreqMeasureMulti freq3; void setup() { Serial.begin(57600); while (!Serial) ; // wait for Arduino Serial Monitor delay(10); Serial.println("FreqMeasureMulti Begin"); delay(10); freq1.begin(6); freq2.begin(9); freq3.begin(10); } float sum1=0, sum2=0, sum3=0; int count1=0, count2=0, count3=0; elapsedMillis timeout; void loop() { if (freq1.available()) { sum1 = sum1 + freq1.read(); count1 = count1 + 1; } if (freq2.available()) { sum2 = sum2 + freq2.read(); count2 = count2 + 1; } if (freq3.available()) { sum3 = sum3 + freq3.read(); count3 = count3 + 1; } // print results every half second if (timeout > 500) { if (count1 > 0) { Serial.print(freq1.countToFrequency(sum1 / count1)); } else { Serial.print("(no pulses)"); } Serial.print(", "); if (count2 > 0) { Serial.print(freq2.countToFrequency(sum2 / count2)); } else { Serial.print("(no pulses)"); } Serial.print(", "); if (count3 > 0) { Serial.print(freq3.countToFrequency(sum3 / count3)); } else { Serial.print("(no pulses)"); } Serial.println(); sum1 = 0; sum2 = 0; sum3 = 0; count1 = 0; count2 = 0; count3 = 0; timeout = 0; } }