Галерея проектов
Любой проект можно открыть, запустить и сделать своей копией. У каждого примера есть разбор: что на схеме, какие библиотеки нужны и что делает код.
NeoPixel: радуга по ленте
Оттенок зависит от позиции и времени — волна цвета вдоль ленты.
Кнопка через прерывание
Обработчик вместо опроса. Показывает volatile и IRAM_ATTR — без них работать не будет.
Arduino Uno: журнал на карту SD
Карта на аппаратном SPI и файловая система на ней. Имена файлов короткие, 8.3 — библиотека для AVR не знает длинных, и это не ошиб…
Веб-сервер: управление выводом
Страница с двумя кнопками и обработчики маршрутов. Кнопка «Веб-интерфейс» над схемой открывает её в отдельном окне — как если бы в…
Датчик движения и контактор
Датчик движения рассчитан на несколько ампер и не тянет освещение подъезда напрямую. Он включает катушку контактора, а силовые кон…
Плавное разгорание (ШИМ)
ledcWrite и скважность: яркость задаётся долей времени, когда вывод включён.
Arduino Uno: прерывание по фронту
На Uno прерывания по фронту есть только на выводах 2 и 3 — это первое, обо что спотыкаются переносящие код с ESP32, где их можно п…
LCD 16x2: первый текст
Дисплей на I2C: два провода данных вместо шести. Адрес обычно 0x27, реже 0x3F — проверяется сканером шины.
Короткое и длинное нажатие
Одна кнопка — две команды. Различаются по длительности удержания.
Arduino Uno: весы на тензодатчике
Тензодатчик отдаёт двадцать четыре разряда тактами по двум проводам. Показания в граммах получаются только после тарирования и кал…
DHT22: температура и влажность
Однопроводный протокол с собственным таймингом. Библиотека читает датчик не чаще раза в две секунды — быстрее он не отвечает.
Динамик на восемь ом: почему между ним и схемой ставят повторитель
Динамик — нагрузка тяжёлая: восемь ом против килоомов остальной схемы. От выхода усилителя напряжения он заберёт весь ток и посади…
Пробуждение кнопкой
Просыпается не по времени, а по внешнему сигналу. Вывод должен быть из числа RTC-выводов.
Розеточная группа: автомат, УЗО и заземление
Как положено делать розетки: автомат 16 А защищает кабель, УЗО на 30 мА защищает человека, третий контакт розетки соединён с шиной…
Звук: мелодия по нотам
Массив частот и длительностей. Пауза между нотами нужна, иначе они сливаются.
Кнопка зажигает светодиод
Прямая связь входа и выхода. Кратчайший скетч, в котором есть и то и другое.
Лампа и выключатель: первая цепь
Самая простая рабочая схема: блок питания, тумблер и лампа на 12 вольт. С неё начинается всё остальное — здесь видно, что такое за…
Пробой на корпус: зачем нужно УЗО
У прибора в розетке пробита изоляция — фаза оказалась на корпусе. Корпус заземлён, ток утечки уходит по защитному проводнику мимо…
Селективность: чтобы утечка в ванной не гасила весь дом
Два УЗО одно за другим — схема, которая выглядит надёжной и работает неправильно. При утечке в группе отключаются оба сразу, и вме…
Сечение кабеля и номинал автомата
Автомат защищает не прибор, а провод. Пара «C16 на кабеле 1,5 мм²» — самая частая ошибка домашнего щитка: при нагрузке в двадцать…
Arduino Uno: восемь выходов из трёх проводов
Сдвиговый регистр 74HC595 на аппаратном SPI. У Uno это выводы 11 и 13 — не те, что у ESP32, и схема оттуда без правки не заработае…
Arduino Uno: кнопка со внутренней подтяжкой
Кнопка на выводе 2 без единого резистора: подтяжка включается в самом контроллере. Заодно видно, почему нажатие читается как LOW…
Arduino Uno: переменный резистор и монитор порта
Аналоговый вход даёт 0–1023, а не 0–4095: у Uno десять разрядов против двенадцати у ESP32. Числа уходят в монитор порта — и сразу…
WiFi: поиск сетей
Список точек доступа с уровнем сигнала и типом защиты. Проверка того, что радио работает.