Проекты на Arduino
Сотни проектов от простых до продвинутых: схемы, код и видео.

Управление лентой WS2812B NeoPixel на ESP32
Адресуемые светодиоды WS2812B (NeoPixel) — умные RGB-светодиоды, которыми управляют цепочкой через один пин данных. В этом проекте лента WS2812B из 8 светодиодов управляется библиотекой Adafruit_NeoPixel и показывает плавную радужную анимацию. Логика 3,3V у ESP32 работает с большинством WS2812B, но на случай нестабильности показано решение с последовательным резистором 470Ω и конденсатором 1000µF. Анимация получается сдвигом значения оттенка.

Антидребезг кнопки на Pico: IRQ против программного опроса
Нажимаешь кнопку один раз, а код насчитывает 3–4? Это дребезг контактов — металлические контакты колеблются доли миллисекунды! Сравни в мониторе два способа подсчёта рядом: сырой опрос (ловит дребезг и считает лишнее) и IRQ + программный антидребезг (точно). Изучи физику дребезга, программный антидребезг (ticks_diff() > 50ms), регистрацию прерывания Pin.irq(), триггер IRQ_FALLING, обработчики ISR и безопасность global в ISR.

Мини-радар на Arduino (сервопривод + HC-SR04 + OLED-дисплей)
Радар как в кино из датчика расстояния и сервопривода! Сервопривод SG90 поворачивает HC-SR04 от 0 до 180 градусов, а OLED на 0,96 дюйма рисует вращающийся луч и показывает найденные предметы точками. Когда что-то попадает в зону, пассивный зуммер пищит, и чем ближе предмет, тем выше звук. Управление сервоприводом, ультразвуковое измерение, рисование на тригонометрии и звук через tone() в одном проекте.

Цифровой песок с управлением наклоном на Arduino (MPU-6050 + матрица NeoPixel 8x8)
Светодиодный песок, который течёт туда, куда наклоняешь схему! Акселерометр MPU-6050 измеряет наклон, а 24 песчинки на матрице NeoPixel 8x8 падают по направлению силы тяжести и скапливаются у краёв, как настоящий песок. Кнопка темы переключает цвета песка, воды, лавы и радуги. Чтение I2C без библиотек, превращение наклона в направление силы тяжести и простой алгоритм падающего песка в одном проекте.

Ультразвуковой терменвокс на Arduino (HC-SR04 + кольцо NeoPixel + зуммер)
Музыкальный инструмент, на котором играют, ничего не касаясь, просто двигая рукой в воздухе! Чем ближе рука к HC-SR04, тем выше ноты играет пассивный зуммер, а кольцо NeoPixel из 24 светодиодов показывает каждую ноту цветом и заполнением. Кнопка переключает два режима: в режиме SCALE каждое расстояние притягивается к ноте пентатоники, а в режиме GLIDE звук плавно скользит, как в старых фантастических фильмах. Мелодию пишет твоя рука, а не код.

Глаза робота на ESP32 (OLED-дисплей + сенсорный датчик TTP223)
Настольный робот с чувствами! ESP32 рисует на OLED на 0,96 дюйма два глаза, которые сами осматриваются и моргают. Коснись сенсорного датчика TTP223, и робот обрадуется; удержи — глаза превратятся в сердечки; тыкай слишком часто — он рассердится; не обращай внимания 20 секунд — он уснёт. Пассивный зуммер даёт каждому настроению свой звук: конечный автомат, анимация фигур и неблокирующий звук в одном проекте.

Мини-метеостанция на Raspberry Pi Pico (DHT22 + график на OLED)
Как менялась температура в комнате за последние две минуты? Raspberry Pi Pico каждые 2 секунды считывает температуру и влажность с DHT22 и показывает значение крупными цифрами на OLED на 0,96 дюйма, а под ним — линейный график последних 60 измерений. Стрелка показывает тенденцию, а страницы температуры и влажности сменяются каждые 4 секунды. Драйвер OLED встроен в код: один файл, без библиотек.

Игра на память на Raspberry Pi Pico (4 светодиода + 4 кнопки + зуммер)
Сколько раундов ты продержишься? Классическая игра на запоминание цветов и звуков появляется у тебя на столе с Raspberry Pi Pico. Pico проигрывает случайную последовательность цветов, у каждого цвета свой светодиод (LED) и своя нота. Повтори её в том же порядке на 4 кнопках, и каждый раунд добавляется ещё один цвет. Нажмёшь не ту — зуммер сыграет мелодию проигрыша, а правильный цвет мигнёт. Списки, случайные числа и чтение кнопок в одной игре.

Кодовый замок с клавиатурой на Raspberry Pi Pico (клавиатура 4x4 + I2C LCD + сервопривод)
Дверь открывает 4-значный код, а три ошибки подряд означают ожидание 30 секунд! Raspberry Pi Pico проверяет PIN, набранный на клавиатуре 4x4: если он верный, сервопривод SG90 открывает замок и через 5 секунд сам закрывает его снова. I2C LCD показывает звёздочки, оставшиеся попытки и обратный отсчёт, а зуммер пищит на каждую клавишу. PIN по умолчанию — 1234; смени его клавишей A, и новый сохранится в pin.txt.

Flappy Bird на Raspberry Pi Pico (OLED-дисплей + кнопка + зуммер)
Та самая бесящая птичка из телефона, теперь на OLED на 0,96 дюйма с одной кнопкой! Игра в стиле Flappy Bird на Raspberry Pi Pico: каждое нажатие кнопки заставляет птичку взмахнуть крыльями, каждая пройденная пара труб приносит очко, а просветы становятся уже. Зуммер играет звуки взмаха, очка и рекорда. Рекорд хранится в flappy_best.txt, поэтому переживает отключение питания. Физика, столкновения и игровой цикл на 30 FPS в одном файле.

T-Rex Run на ESP32: игра с динозавром (OLED-дисплей + кнопка + зуммер)
Динозавр из Chrome, который появляется, когда нет интернета, теперь у тебя на столе! ESP32 рисует бегущего динозавра на OLED на 0,96 дюйма; нажимай кнопку, чтобы прыгать, пока кактусы всё ускоряются. Очки и рекорд показаны в верхней строке, а рекорд сохраняется во flash-памяти ESP32 через Preferences, поэтому переживает отключение питания. Это версия проекта OLED T-Rex Run для ESP32 с пассивным зуммером для звуков прыжка, каждых 100 очков и столкновения.

Лабиринт с шариком и управлением наклоном на Arduino (MPU-6050 + светодиодная матрица MAX7219 8x8)
Ни экрана, ни джойстика: наклоняй схему, и светодиодный шарик катится по лабиринту! Акселерометр MPU-6050 измеряет наклон, а шарик на светодиодной матрице MAX7219 8x8 катится в ту сторону, не проходя сквозь стены. Доберись до цели, и пассивный зуммер сыграет мелодию, а следом откроется следующий лабиринт; пройди все 3 — и увидишь смайлик. Чтение датчика без библиотек, управление скоростью наклоном и лабиринты, записанные текстом, в одном проекте.
