ESP32: Кнопки и ручки
ESP32: Кнопки и ручки — 51 готовый пример со схемой и кодом. Откройте любой в браузере и запустите без платы и проводов.
Автополив и фитолампа на ESP32 с веб-админкой
То же устройство, что на Arduino Nano — фитолампа 230 В по расписанию и два насоса 12 В со своим периодом полива, — но с веб-админ…
Сравнение фильтров
Скользящее среднее, экспоненциальное и медиана на одних данных. Видно, чем они отличаются на выбросах.
Автополив и фитолампа на ESP32: веб-админка и MQTT
Третий вариант прибора: к веб-админке ESP32 добавлен MQTT. Состояние — климат, лампа, насосы, всё расписание — уходит брокеру, ком…
Конечный автомат
Состояния, переходы и таблица. Способ описать поведение прибора, который перестаёт помещаться в if-ы.
FreeRTOS: сигнал из прерывания
Обработчик должен быть коротким. Он лишь отдаёт семафор, а работу делает задача.
Автополив
Датчик, порог, насос через реле и обязательная пауза после полива: воде нужно время дойти до датчика.
Бортовой компьютер автомобиля на ESP32: OBD-II по CAN, SN65HVD230 и панель Settings
Читает данные автомобиля через диагностический разъём OBD-II: обороты, скорость, температуры, расход, коды неисправностей и VIN. С…
Игра на реакцию
Случайная задержка, вспышка, замер времени до нажатия. Всё вместе: вывод, ввод, время, случайность.
Кнопка-триггер
Нажал — включилось, нажал ещё раз — выключилось. Реакция на фронт, а не на уровень.
Кодовый замок
Ввод накапливается в строку и сравнивается с образцом. Сброс по звёздочке.
OLED: график значения
Кольцевой буфер и столбики. Показывает не только текущее значение, но и как оно менялось.
NeoPixel: шкала уровня
Лента как линейный индикатор: зелёный, жёлтый, красный по мере роста значения.
Автополив и фитолампа на ESP32: панель на GyverLibs/Settings
Четвёртый вариант прибора: веб-админка не написана руками, а собрана библиотекой GyverLibs/Settings — скетч только перечисляет вид…
Датчик влажности почвы
Аналоговый вход и обратная шкала: чем влажнее, тем меньше сопротивление и ниже показание.
Кнопка зажигает светодиод
Прямая связь входа и выхода. Кратчайший скетч, в котором есть и то и другое.
Короткое и длинное нажатие
Одна кнопка — две команды. Различаются по длительности удержания.
Тепловой насос вода–вода на ESP32: 11 датчиков DS18B20, ЭРВ и панель Settings
Контроллер теплового насоса вода–вода на базе наружного блока кондиционера: 11 термометров DS18B20 на трёх линиях 1-Wire, два датч…
LCD: меню на двух кнопках
Список пунктов, курсор и выбор. Минимальный интерфейс, из которого вырастает любой прибор.
NVS: сохранение рекордов
Запись только при изменении. Ресурс флеша конечен, и переписывать одно и то же в цикле не стоит.
Serial: журнал в CSV
Заголовок один раз, дальше строки с временем и значениями. Копируется в таблицу как есть.
Кнопка: чтение состояния
Подтяжка внутри контроллера и инверсия логики: нажатая кнопка даёт LOW. Первое, обо что спотыкаются все.
Энкодер KY-040: счётчик щелчков и кнопка
Ручка без упоров: поворот считается прерыванием по спаду CLK, направление — по уровню DT. У ESP32 прерывание можно повесить на люб…
Антидребезг кнопки
Механический контакт при нажатии дребезжит несколько миллисекунд. Без фильтра одно нажатие считается десятком.
Аппаратный счётчик импульсов (PCNT)
То же, что «Счётчик импульсов на прерывании», но считает не скетч, а блок PCNT: без обработчика, без volatile и без потерь, когда…