bouncer2, длительное нажатие кнопки
- Войдите на сайт для отправки комментариев
Втр, 11/01/2022 - 10:04
Здравствуйте.
Подскажите пожалуйста. Ардуино нано, подключена к дверному звонку. Библиотека bouncer2. Хочу чтобы при длительном нажатии кнопки (5 сек.) выполнялась следующая строка: client.publish("ihouse/gadget/ring/duration", "1");
Зараза, мне кажется он не заходит в конструкцию: if (currentMillis_ringDuration - previousMillis_ringDuration < 5000)
В коде есть ошибка? Или как вывести длительность нажатия кнопки?
//проверка состояния кнопки звонка if (debouncer5.update()) { if (debouncer5.fell()) { previousMillis_ringDuration = currentMillis_ringDuration; } //факт отпускания if (debouncer5.rose()) { if (currentMillis_ringDuration - previousMillis_ringDuration < 5000) { previousMillis_ring = currentMillis_ring; if (flag_ring == false) { client.publish("ihouse/gadget/ring", "1"); flag_ring = true; } } else { if (flag_ring == false) { client.publish("ihouse/gadget/ring/duration", "1"); } } } } if (currentMillis_ring - previousMillis_ring > interval_ring && flag_ring == true) { flag_ring = false; }
благодарю
В этом кусочке кода вообще нет ни одного вызова millis(). Что здесь за константы/переменные используются в строках 6, 13, 32 - неизвестно. Как считаются эти 5 секунд - непонятно. Нужен более осмысленный, полный кусок кода.