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

Светофор на Pico с выбором 4 режимов кнопкой (конечный автомат)
4 режима светофора всего одной кнопкой! Каждое нажатие меняет режим: обычный цикл (красный → жёлтый → зелёный по очереди), только красный (сигнал стоп), мигающий жёлтый (внимание/ночной режим) и выключено (обслуживание). Понятия: конечный автомат (переменная mode определяет, какое поведение выполняется), цикл режимов по модулю ((mode + 1) % 4 → 0→1→2→3→0), неблокирующий тайминг (фазы светодиодов отсчитываются через time.ticks_ms() + time.ticks_diff()).

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

Игра «Перетягивание каната» со светодиодами на Raspberry Pi Pico (лента NeoPixel + 2 кнопки + зуммер)
Кнопочная дуэль на двоих! Raspberry Pi Pico превращает ленту WS2812B NeoPixel из 30 светодиодов в канат: красный игрок слева, синий справа. Каждое нажатие продвигает твой цвет на один светодиод; заполни всю ленту, чтобы выиграть раунд, и возьми 3 раунда, чтобы выиграть матч. Нажмёшь раньше времени во время отсчёта — потеряешь позиции; пассивный зуммер даёт каждому игроку свой щелчок, а матч заканчивается радугой. neopixel, подавление дребезга и неблокирующий звук на MicroPython.

Светодиодный костёр на Raspberry Pi Pico (матрица NeoPixel 8x8 + потенциометр + зуммер)
Костёр, который ничего не жжёт и не греет, но всё равно потрескивает! Raspberry Pi Pico рисует реалистичное пламя на матрице NeoPixel 8x8, пересчитывая его в каждом кадре: внизу появляются искры, жар остывает по мере подъёма и светится от красного до белого. Потенциометр задаёт высоту пламени, кнопка переключает темы «Огонь», «Газ», «Магия» и «Аметист», а зуммер добавляет треск горящих дров. Процедурная анимация, ADC, PWM и MicroPython в одном проекте.

Мини-метеостанция на 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 в одном файле.

Солнечная панель с отслеживанием солнца на Raspberry Pi Pico (2 фоторезистора + сервопривод SG90)
Панель, которая сама находит солнце! Raspberry Pi Pico измеряет свет 2 фоторезисторами по обеим сторонам панели, а сервопривод SG90 поворачивает её к более яркой стороне. Большая разница поворачивает её быстро, маленькая — медленно, а когда обе стороны сравниваются, панель плавно останавливается. Ночью панель возвращается на восток ждать рассвета. Готовый опыт для научных выставок и школьных проектов.

Пинг-понг на Raspberry Pi Pico (OLED-дисплей + 2 потенциометра + зуммер)
Классическая игра с ракетками и мячом, теперь на OLED на 0,96 дюйма для двоих! Каждый игрок крутит свой потенциометр, чтобы двигать ракетку. Мяч ускоряется с каждым ударом и отскакивает под углом, который зависит от того, куда он попал на ракетке; побеждает тот, кто первым наберёт 5 очков. Зуммер играет звуки стенки, ракетки и очка. Аналоговый вход, целочисленная физика и частичное обновление экрана в одной игре на Raspberry Pi Pico.

Кубик, который бросают встряхиванием, на Raspberry Pi Pico (MPU-6050 + OLED-дисплей + зуммер)
Потерялись кубики? Не беда: встряхни схему, и кубик покатится на OLED на 0,96 дюйма! Акселерометр MPU-6050 чувствует встряхивание, кубик качается и вращается, а когда перестаёшь трясти, он замедляется и останавливается на грани. Кнопка MODE переключает один кубик и два; выпадет дубль — экран вспыхивает, а зуммер играет праздничную мелодию. Raspberry Pi Pico читает датчик напрямую по I2C, библиотека не нужна.

Шахматные часы на Raspberry Pi Pico (2 дисплея TM1637 + 2 кнопки + зуммер)
Сделай ход, нажми кнопку, и часы переключаются на соперника! Шахматные часы для двоих на Raspberry Pi Pico: время каждого игрока убывает на его собственном дисплее TM1637, а сделавший ход получает добавку времени. В последние 10 секунд показываются сотые доли, у проигравшей по времени стороны мигает FLAG, а зуммер подаёт тревогу. Нажми обе кнопки вместе, чтобы поставить на паузу. Драйвер TM1637 встроен в код, библиотека не нужна.
