FreqCount измеряет частоту сигнала путем подсчета числа импульсов в течение фиксированного времени. Описание библиотеки находится ниже.
скачать библиотеку можно здесь
Если входной сигнал меньше 5В то обязательно потребуется буфер для устройства на базе усилителя 74HC14
В схеме используется модуль aruino Teensy
Основные команды
FreqCount.begin(GateInterval);
Начинаем подсчет частоты. GateInterval это время в миллисекундах для каждого измерения. Через 1000 обеспечивает прямой выход частоты без mulitplying или делением на коэффициент масштабирования.
FreqCount.available();
Функция возвращает True, если новое значение доступно. Только одно значение заносится в буфер, поэтому данные должны быть прочитаны перед началом следующего интервала считывания.
FreqCount.read();
Возвращает значение в виде целого числа. Если получено число 1000.5 то оно округлится к целому в пределах от 1000 до 1001.
FreqCount.end();
Останавливает подсчет. ШИМ контролер (analogWrite) может быть использован снова.
Пример скетча
Open from the menu :
#include <FreqCount.h> void setup() { Serial.begin(57600); FreqCount.begin(1000); } void loop() { if (FreqCount.available()) { unsigned long count = FreqCount.read(); Serial.println(count); } }
Результат мониторинга порта