Здравствуйте.
Понимаю что мой вопрос получается объемный, тем не менее не могу не задать из-за того, что потратил уйму времени в попытках самостоятельно найти причину сбоя в работе ((
Решил сделать таймер для кухни который бы оповещал об окончании работы в указанной комнате (три комнаты на выбор + сама кухня)
Должно это выглядеть так - на кухне будет стоять ESP32 (38 пинов) с клавиатурой, двумя сегментными дисплеями (что бы можно было сделать два таймера) и пищалкой. В средней комнате должна стоять принимающая ESP32 (38pin) и от нее проводами по комнатам уйдут пищалки для оповещения.
Собрал схему и все вроде де как работает, однако временами плата начинает жить своей жизнью - произвольно начинают меняться цифры на дисплее, пищалка начинает работать сама по себе (вот короткий ролик на котором можно заметить спонтанное изменение https://youtube.com/shorts/4ZvMA-UMb1I)
Отправлено спустя 20 минут 52 секунды:
Касательно того что на схеме:
подключение матричной клавиатуры, с установкой задержки на срабатывание кнопок (специально задал большое значение что бы точно избавиться от дребезга)
блок с таймерами - берет значение времени из пункта меню (всего их два для двух таймеров) запуск происходит когда нажимается кнопка с буквами на клавиатуре (каждая буква определяет в какой комнате будет работать оповещение), остановка таймера происходит по кнопке на клавиатуре # - значения с таймера идут на экран
(я сделал суммирование строк что бы добавить букву комнаты к оставшемуся времени, так же сделан подсчет длины символов что бы либо ставить пробел после буквы комнаты "A 56", либо если время занимает 3 символа - пробела не будет "A123")
тут определяется нажатие буквы, далее сопоставляется буква и активное меню, потом буква записывается в массив (что бы далее ее можно было отобразить на экране)
тут происходит запись флагов для отправки на вторую ESP32
Отправлено спустя 4 минуты 24 секунды:
качательно пользовательского блока таймера - брал его на этом форуме, однако немного переделал для того что бы входящее в него число означало минуты и когда остается одна минута - отображается отсчет в секундах