Галерея проектов
Любой проект можно открыть, запустить и сделать своей копией. У каждого примера есть разбор: что на схеме, какие библиотеки нужны и что делает код.
Веб-сервер: форма настроек
Форма и разбор полей через server.arg(): так прибору задают имя, яркость, пороги. Ползунок меняет скважность ШИМ — яркость видна п…
Arduino Mega: пятнадцать выводов с ШИМ
Главная причина брать Mega — не память, а выводы. ШИМ здесь на пятнадцати выводах против шести у Uno, и четыре светодиода с плавно…
Arduino Nano: выводы A6 и A7, которые только читают
У Nano на два аналоговых входа больше, чем у Uno. Но digitalWrite и pinMode на них не работают вовсе — не запрещены, а физически н…
Дыхание светодиода
Та же яркость, но по синусу. Линейное изменение скважности глаз воспринимает неравномерно.
Плавное разгорание (ШИМ)
ledcWrite и скважность: яркость задаётся долей времени, когда вывод включён.
Звук: мелодия по нотам
Массив частот и длительностей. Пауза между нотами нужна, иначе они сливаются.
Arduino Uno: выводы через регистры порта
digitalWrite тратит около пятидесяти тактов на один вывод. Запись прямо в регистр порта — один такт и восемь выводов сразу. Показа…
Arduino Uno: плавная яркость и выводы с ШИМ
analogWrite работает не на всяком выводе: на Uno ШИМ есть только на шести. Пример показывает разницу — на одном светодиоде яркость…
Serial: разбор команд
Команда и аргумент, разделённые пробелом. Отсюда вырастает консоль прибора.
Метроном
Темп задаётся потенциометром, щелчок — коротким импульсом. Пример совместной работы трёх устройств.
RGB: перебор цветов
Три канала ШИМ на один светодиод. Показывает, что цвет — это три независимые яркости.
RGB: плавная радуга
Перевод HSV в RGB. Один параметр — оттенок — вместо трёх яркостей.
Звук: одна нота
Пьезоизлучатель на ШИМ. Частота задаёт высоту, скважность — громкость.
Потенциометр управляет яркостью
Связка вход-выход через map(). Первый пример, где приборы взаимодействуют.
Arduino Uno: RGB-светодиод и три канала ШИМ
Цвет собирается из трёх яркостей. На Uno под это уходит три из шести выводов с ШИМ — половина запаса платы на один светодиод.
Звук: сирена
Частота меняется непрерывно. Тот же приём, что у плавной яркости, но для звука.
Парктроник
Чем ближе препятствие, тем чаще писк. Расстояние превращается в период — приём, который работает и без дисплея.
Сервопривод: развёртка
Угол задаётся длительностью импульса. Библиотека прячет это за градусами.
Arduino Uno: команды из монитора порта
Плата слушает строки и выполняет команды. Разбор без класса String: на двух килобайтах памяти его склейки в цикле кончаются плохо.
Ночник
Темнее — ярче. Обратная пропорция и гистерезис, чтобы лампа не моргала на границе.
Arduino Uno: ручка яркости
Переменный резистор крутит яркость светодиода. Между входом и выходом стоит map: у входа 1024 значения, у ШИМ — 256, и переводить…
Сервопривод по потенциометру
Ручка задаёт угол напрямую. Классический пример пропорционального управления.
Сигнал о перегреве
Порог с гистерезисом поверх датчика: светодиод и зуммер срабатывают, когда температура выходит за границу.