Галерея проектов
Любой проект можно открыть, запустить и сделать своей копией. У каждого примера есть разбор: что на схеме, какие библиотеки нужны и что делает код.
Сравнение фильтров
Скользящее среднее, экспоненциальное и медиана на одних данных. Видно, чем они отличаются на выбросах.
NVS: сохранение рекордов
Запись только при изменении. Ресурс флеша конечен, и переписывать одно и то же в цикле не стоит.
NeoPixel: шкала уровня
Лента как линейный индикатор: зелёный, жёлтый, красный по мере роста значения.
OLED: график значения
Кольцевой буфер и столбики. Показывает не только текущее значение, но и как оно менялось.
Serial: данные для графика
Числа через запятую в одной строке — формат, который читает построитель графиков.
Serial: журнал в CSV
Заголовок один раз, дальше строки с временем и значениями. Копируется в таблицу как есть.
Автополив
Датчик, порог, насос через реле и обязательная пауза после полива: воде нужно время дойти до датчика.
Веб-сервер: JSON с показаниями
Машиночитаемый ответ вместо страницы. Откройте «Веб-интерфейс» и наберите /data — отсюда данные забирает что угодно, от скрипта до…
Датчик влажности почвы
Аналоговый вход и обратная шкала: чем влажнее, тем меньше сопротивление и ниже показание.
Измерение напряжения делителем
АЦП принимает максимум 3.3 В. Делитель расширяет диапазон, а коэффициент возвращается в коде.
Метроном
Темп задаётся потенциометром, щелчок — коротким импульсом. Пример совместной работы трёх устройств.
Ночник
Темнее — ярче. Обратная пропорция и гистерезис, чтобы лампа не моргала на границе.
Порог с гистерезисом
Один порог заставляет выход дребезжать у границы. Два порога — нет.
Потенциометр управляет яркостью
Связка вход-выход через map(). Первый пример, где приборы взаимодействуют.
Потенциометр: чтение АЦП
analogRead и 12 бит разрешения. Значение 0…4095 на всю шкалу.
Сглаживание показаний АЦП
Скользящее среднее по кольцевому буферу. Сырой АЦП шумит на пару единиц всегда.
Сервопривод по потенциометру
Ручка задаёт угол напрямую. Классический пример пропорционального управления.
Счётчик пересечений луча
Фоторезистор как датчик прохода. Считается фронт, а не уровень, иначе один проход даст сотню срабатываний.
Термистор NTC
Уравнение Стейнхарта–Харта в упрощённой форме: сопротивление в градусы через бета-коэффициент.
Усреднение по времени
Экспоненциальное сглаживание: одна переменная вместо буфера, коэффициент задаёт инерцию.
Фоторезистор: уровень освещённости
Сопротивление падает на свету. Абсолютных единиц нет — нужна калибровка по крайним точкам.