Библиотеки для разных контроллеров
1.после того как Вы выбираете в Arduino IDE нужный контроллер(из списка поддерживаемых ecoins) компиляция выполняется с учетом этого контроллера.
Проверил и на ESP8266, ESP32 на тестах: ---------------------------------------------------------------
Можно.
Спасибо.
Сейчас готовится новая версия -другая разбивка, несколько иная подача материала, новые функциональные блоки, новые устройства.
Блок работает по прерываниям, если пин Echo подключен к пину с прерываниями.
Идея любопытная. В структуре есть сигнал fresh - флаг нового результата, можно сделать дополнительный выход (событие) для использования
Есть у меня к нему претензии на малых (<2 cм) расстояниях из-за аппаратной реализации сенсора - в нем в одном "прожекторе" излучатель, в другом приемник.
Вы об этом уже писали - согласен.
"Я молчу, не смея волю дать словам…
Думаю это будет весьма полезно и не только в этом блоке, а и во всех которые выдают значения периодически.
Возьмите на вооружение алгоритм медианного фильтра из блока который в проекте. Это фильтр для быстрых процессов. Медиана из 3 значений. С одиночными выбросами отлично справляется. Я над ним 2 дня думал, прежде чем упихал в 5 тернарников.
На модуле SR04 установлен собственный 8-битный контроллер с жестко прошитой программой - она особо нигде не описана. Мы исследовали работу этого контроллера и модуля в целом - там есть совокупность нюансов.
Возможно, задумались. Может быть будем предусматривать в сенсорах настраиваемый выход fresh.
Фильтрами сейчас заниматься не планируем.Dryundel писал(а): ↑26.10.2021{, 22:03}Возьмите на вооружение алгоритм медианного фильтра из блока который в проекте. Это фильтр для быстрых процессов. Медиана из 3 значений. С одиночными выбросами отлично справляется. Я над ним 2 дня думал, прежде чем упихал в 5 тернарников.
Если не считать запись значения в стек, сам алгоритм выполняется за 1,5 - 2,5 мкс на стандартной NANO, что для фильтра ну очень быстро.
Не про специфические знания идет речь, а про элементарное описание блока, функционала, назначения входов/выходов, специфике настройки, предупреждениях и т.п.
тернарный оператор
Нет. Ошибки нет. Именно 1.5-2.5 мкс.
Так посмотрите.
Хорошо, что Вы об этом знаете.
ecoins, похоже я поторопился с выводами. Тестировал на пинах без прерывания (NANO) и был уверен что уж с прерываниями будет еще лучше. Подключил на D2 D3 и началась свистопляска. Показания прыгают как жеребцы не объезженные.
У меня на столе стенд на MEGA2560 - много устройств (пять дисплеев, сенсоры и пр), SR04 подключен Echo - пин 2, Trig - пин 3.
Возможно все правильно работает. Просто очень быстро.