Примеры проектов на Arduino
Примеры проектов на Arduino — 58 готовых примеров со схемой и кодом. Откройте любой в браузере и запустите без платы и проводов.
Arduino Uno: ручка яркости
Переменный резистор крутит яркость светодиода. Между входом и выходом стоит map: у входа 1024 значения, у ШИМ — 256, и переводить…
Arduino Uno: сглаживание показаний
Показания аналогового входа дрожат в последних разрядах всегда. Скользящее среднее убирает дрожь, и на графике сразу видно, чем за…
Arduino Uno: экран OLED и его цена в памяти
SSD1306 держит картинку в ОЗУ платы: 1024 байта из 2048 у Uno. Половина памяти уходит на экран ещё до первой переменной — и это на…
Термостат с гистерезисом
DHT22 меряет, реле греет, ручка задаёт уставку. Гистерезис в полградуса и выдержка в десять секунд берегут реле. Температуру датчи…
Arduino Uno: сколько осталось оперативной памяти
У ATmega328P две тысячи байт ОЗУ. Кончается она молча: ни ошибки, ни перезагрузки — плата просто начинает вести себя странно, и бе…
Arduino Uno: таймер 1 ровно раз в секунду
millis плюс проверка в цикле дают приблизительный интервал. Таймер в режиме CTC даёт точный — и срабатывает, даже когда цикл занят…
Змейка на OLED и энкодере
Классическая змейка на экране 128×64: ручка поворачивает направо и налево, нажатие — пауза. Змейка хранится кольцом по байту на кл…
Arduino Uno: плавная яркость и выводы с ШИМ
analogWrite работает не на всяком выводе: на Uno ШИМ есть только на шести. Пример показывает разницу — на одном светодиоде яркость…
Arduino Uno: прерывание на любом выводе
Обход правила про выводы 2 и 3. У ATmega328P есть второй механизм прерываний, доступный на каждом выводе — ценой одного обработчик…
Arduino Uno: светофор на состояниях
Три светодиода и четыре фазы. Написано машиной состояний, а не цепочкой delay — потому что светофор, который нельзя переключить кн…
Arduino Uno: часы реального времени
millis считает от включения и обнуляется при сбросе. Часам нужна микросхема со своей батарейкой — и она же объясняет, зачем в схем…
Будильник на DS3231 и энкодере
Время на индикаторе TM1637, будильник настраивается одной ручкой: нажатие — часы, минуты, выход; долгое нажатие — включить или вык…
Arduino Uno: «Жизнь» Конвея на матрице 8×8
Два правила — выжить при двух-трёх соседях и родиться при трёх — и на матрице ползёт планер и мигает мигалка. Поле замкнуто: улете…
Arduino Uno: меню на LCD и энкодере
Классический интерфейс прибора из одной ручки: поворот листает пункты, нажатие выбирает, в пункте поворот меняет значение, второе…
Arduino Uno: прерывание по фронту
На Uno прерывания по фронту есть только на выводах 2 и 3 — это первое, обо что спотыкаются переносящие код с ESP32, где их можно п…
Arduino Uno: таблицы и тексты во флеше
Тридцать две тысячи байт флеша против двух тысяч ОЗУ. Всё, что не меняется, должно лежать во флеше — иначе таблица на сто чисел съ…
Arduino Uno: электронный кубик на семи светодиодах
Семь светодиодов стоят как точки на грани кубика. Нажали кнопку — грани мелькают всё медленнее, как у катящегося кубика, и останав…
Игра «Саймон» на четырёх кнопках
Повтори последовательность огней: каждый раунд на огонь длиннее и чуть быстрее. Четыре светодиода, четыре кнопки, никаких библиоте…
Arduino Uno: азбука Морзе — текст из порта вспышками и писком
Напишите текст в монитор порта — Arduino отстучит его светодиодом и зуммером, а в порт напечатает точки и тире. Длительности по пр…
Arduino Uno: игра «Угадай число» в мониторе порта
Arduino загадывает число от 1 до 100 и отвечает «больше» или «меньше». Деля отрезок пополам, угадаете за семь попыток любое число…
Arduino Uno: насос 12 В по кнопке
Нажатие на кнопку включает насос на пять секунд. Насос питается от своего блока 12 В через предохранитель и контакты реле; с плато…
Arduino Uno: секундомер с кругами на LCD
Левая кнопка — старт и стоп, правая — отметить круг на ходу или сбросить на остановленном. На первой строке общее время с сотыми…
Arduino Uno: энкодер — яркость ручкой
Ручка с щелчками вместо потенциометра: у неё нет упоров, и она не врёт после выключения. Поворот ловит прерывание, кнопка под ручк…
Arduino Uno: HTU21D по I2C без библиотеки
Температура и влажность двумя командами по I2C. Контрольная сумма проверяется в скетче, чтобы сбой на шине не стал показанием.