Галерея проектов
Любой проект можно открыть, запустить и сделать своей копией. У каждого примера есть разбор: что на схеме, какие библиотеки нужны и что делает код.
Реле от кнопки с фиксацией
Кнопка без фиксации управляет нагрузкой с фиксацией. Состояние держит программа.
Реле по расписанию
Периодическое включение нагрузки. Реле — единственный способ управлять чем-то мощнее светодиода.
Светофор
Конечный автомат на трёх светодиодах: состояние, длительность, переход. Основа для любой последовательности.
Свободное падение
Падающий датчик не чувствует силы тяжести: длина вектора уходит к нулю. На этом и строится определение падения.
Сглаживание показаний
Скользящее среднее против дрожания последнего разряда. Заодно видно, чем оно платит за гладкость.
Сглаживание показаний АЦП
Скользящее среднее по кольцевому буферу. Сырой АЦП шумит на пару единиц всегда.
Сдвиговый регистр: восемь выходов из трёх проводов
Аппаратный SPI и 74HC595: восемь светодиодов на трёх проводах. На выходы байт попадает только когда отпущена защёлка — до этого он…
Секундомер
Пуск, стоп, сброс одной кнопкой по длительности нажатия. Состояние — три поля и переход между ними.
Семисегментный: счётчик
Та же микросхема, другой индикатор. Цифры рисует она сама — если включить знакогенератор.
Сервопривод по потенциометру
Ручка задаёт угол напрямую. Классический пример пропорционального управления.
Сервопривод: развёртка
Угол задаётся длительностью импульса. Библиотека прячет это за градусами.
Сеть как источник, часы как резерв
Сеть точнее, но её может не быть. Микросхема всегда на месте, но уходит. Правильная схема — сверять первым вторым.
Сигнал перегруза
Порог с гистерезисом и усреднением. Заодно — что делает power_down и зачем он нужен на батарее.
Сканер шины I2C
Первое, что запускают, когда датчик на шине не отвечает: перебор всех адресов.
Счётчик импульсов на прерывании
Основа для расходомера, тахометра, счётчика оборотов: считать в обработчике, считать частоту в loop().
Счётчик пересечений луча
Фоторезистор как датчик прохода. Считается фронт, а не уровень, иначе один проход даст сотню срабатываний.
Таймер обратного отсчёта
Минуты и секунды на четырёх разрядах. Кнопка запускает и сбрасывает, а отсчёт идёт по millis, а не по delay.
Тара и отрицательный вес
Ноль весов — это не ноль датчика. Что происходит, когда груз снимают после тары, и почему это нормально.
Температура из часов
У DS3231 внутри свой термометр — им микросхема поправляет ход кварца. Его можно читать и просто так.
Термистор NTC
Уравнение Стейнхарта–Харта в упрощённой форме: сопротивление в градусы через бета-коэффициент.
Термометр на индикаторе
Показать -3.7°C на семисегментном индикаторе: знак, десятые и буква. Буквы C знакогенератор не знает — значит рисуем сегментами са…
Термометр с буквой
Показать -3.7C на четырёх разрядах: знак, десятые и буква. Сегменты приходится задавать руками.
Точка росы и запотевание
Точку росы датчик не измеряет — её считают из температуры и влажности. Формула Магнуса и проверка «стекло запотеет».
Уровень: крен и тангаж
Углы считаются из вектора силы тяжести — двумя арктангенсами. Покрутите наклон в свойствах датчика и смотрите на пузырёк.