Галерея проектов
Любой проект можно открыть, запустить и сделать своей копией. У каждого примера есть разбор: что на схеме, какие библиотеки нужны и что делает код.
Arduino Uno: журнал на карту SD
Карта на аппаратном SPI и файловая система на ней. Имена файлов короткие, 8.3 — библиотека для AVR не знает длинных, и это не ошиб…
Arduino Uno: весы на тензодатчике
Тензодатчик отдаёт двадцать четыре разряда тактами по двум проводам. Показания в граммах получаются только после тарирования и кал…
Arduino Uno: прерывание по фронту
На Uno прерывания по фронту есть только на выводах 2 и 3 — это первое, обо что спотыкаются переносящие код с ESP32, где их можно п…
Arduino Uno: восемь выходов из трёх проводов
Сдвиговый регистр 74HC595 на аппаратном SPI. У Uno это выводы 11 и 13 — не те, что у ESP32, и схема оттуда без правки не заработае…
Arduino Uno: выводы через регистры порта
digitalWrite тратит около пятидесяти тактов на один вывод. Запись прямо в регистр порта — один такт и восемь выводов сразу. Показа…
Arduino Uno: дисплей LCD 16x2 по I2C
Два провода данных вместо шести. На Uno шина прибита к A4 и A5 — схема с ESP32 сюда не переносится, и молчащий дисплей означает им…
Arduino Uno: кнопка со внутренней подтяжкой
Кнопка на выводе 2 без единого резистора: подтяжка включается в самом контроллере. Заодно видно, почему нажатие читается как LOW…
Arduino Uno: переменный резистор и монитор порта
Аналоговый вход даёт 0–1023, а не 0–4095: у Uno десять разрядов против двенадцати у ESP32. Числа уходят в монитор порта — и сразу…
Arduino Uno: нажал — включил, нажал — выключил
Кнопка без фиксации, а свет с фиксацией. Ловится не уровень на выводе, а момент перехода — иначе светодиод мигает всё время, пока…
Arduino Uno: два ритма без delay
Два светодиода мигают с разной частотой одновременно. С delay так не выйдет ни при каких ухищрениях — и это первое, обо что упирае…
Arduino Uno: мигание встроенным светодиодом
Первый скетч на Uno. Светодиод припаян к плате на выводе 13 — подключать ничего не нужно, и это лучший способ проверить, что сборк…
Arduino Uno: переключатель режимов
Переключатель на три вывода: средний идёт на плату, крайние на землю и питание. От кнопки отличается тем, что положение держит сам…
Arduino Uno: плавная яркость и выводы с ШИМ
analogWrite работает не на всяком выводе: на Uno ШИМ есть только на шести. Пример показывает разницу — на одном светодиоде яркость…
Arduino Uno: RGB-светодиод и три канала ШИМ
Цвет собирается из трёх яркостей. На Uno под это уходит три из шести выводов с ШИМ — половина запаса платы на один светодиод.
Arduino Uno: давление, влажность и температура
Три величины с одного датчика по двум проводам. Показания уходят в монитор порта в формате плоттера — вкладка График строит по ним…
Arduino Uno: клавиатура 4x4 без библиотеки
Шестнадцать кнопок на восьми выводах. Сканирование по строкам занимает двадцать строк кода и объясняет, почему у клавиатуры именно…
Arduino Uno: ночник с гистерезисом
Фоторезистор включает свет в темноте. Порогов два, а не один — иначе на границе освещённости лампа щёлкает по десять раз в секунду…
Arduino Uno: прерывание на любом выводе
Обход правила про выводы 2 и 3. У ATmega328P есть второй механизм прерываний, доступный на каждом выводе — ценой одного обработчик…
Arduino Uno: часы реального времени
millis считает от включения и обнуляется при сбросе. Часам нужна микросхема со своей батарейкой — и она же объясняет, зачем в схем…
Arduino Uno: команды из монитора порта
Плата слушает строки и выполняет команды. Разбор без класса String: на двух килобайтах памяти его склейки в цикле кончаются плохо.
Arduino Uno: печать без printf
У ядра Arduino для AVR нет Serial.printf, и код с ESP32 не соберётся. Разобрано, чем его заменяют и как печатать дробные числа и ш…
Arduino Uno: сглаживание показаний
Показания аналогового входа дрожат в последних разрядах всегда. Скользящее среднее убирает дрожь, и на графике сразу видно, чем за…
Arduino Uno: таймер 1 ровно раз в секунду
millis плюс проверка в цикле дают приблизительный интервал. Таймер в режиме CTC даёт точный — и срабатывает, даже когда цикл занят…
Arduino Uno: дальномер HC-SR04
Расстояние измеряется временем полёта звука. Без библиотеки: весь датчик — это импульс на TRIG и замер длины ответа на ECHO функци…