Распиновка Arduino Uno R3: все выводы на одной схеме
Arduino Uno R3 построена на микроконтроллере ATmega328P: 14 цифровых входов и выходов, шесть из них с ШИМ, плюс 6 аналоговых входов и отдельная группа выводов питания. Ниже интерактивная схема: нажмите на любой пин, чтобы увидеть его функции и типовое применение.
Проверить работу любого пина можно в симуляторе: светодиоды и кнопки подключаются автоматически по коду скетча.
Ниже разбираем, что именно умеет чип под крышкой платы, как устроено питание и почему 500 мА из таблицы это не столько для ваших деталей, сколько для всей платы сразу, какие пины нельзя занимать и как проверить плату по семи шагам.
Интерактивная распиновка
Нажимайте на выводы платы — функции, подводные камни и подсказки по каждому пину.
Подгружаем интерактив…
Что умеет ATmega328P
| Параметр | Значение | Что это значит на практике |
|---|---|---|
| Тактовая частота | 16 МГц | быстрые delay() не работают, нужен millis() |
| Flash | 32 КБ, из них 2 КБ загрузчик | скетч должен быть меньше 30 КБ |
| SRAM | 2 КБ | вот почему OLED с буфером 1 КБ на Uno тяжело |
| EEPROM | 1 КБ | настройки и калибровки переживают перезагрузку |
| Логика | 5 В | модули с 3.3 В логикой надо согласовывать |
| АЦП | 10 бит, 6 каналов | диапазон 0–1023, шаг около 5 мВ |
Одна цифра из этой таблицы объясняет половину всех новичковых ошибок: два килобайта оперативной памяти. Строка в скетче, длинная строка JSON, массив из пятидесяти элементов, и всё это начинает тесниться. Если скетч перестал собираться или начал вести себя странно, сначала посмотрите на предупреждения компилятора про память, а не ищите ошибку в логике. Второе, на что стоит смотреть, это ток. Официально рекомендуется не больше 20 мА с одного вывода и не больше 100 мА на все выводы вместе, а абсолютный предел вывода равен 40 мА.
Питание: как кормить плату
| Источник | Напряжение | Ток | Когда использовать |
|---|---|---|---|
| USB | 5 В | ~500 мА | Отладка, проекты без моторов |
| Vin / разъём DC | 7–12 В | зависит от адаптера | Автономные проекты |
| Пин 5V | 5 В | до 500 мА суммарно | Питание модулей от платы |
| Пин 3.3V | 3.3 В | 50 мА | ESP8266-адаптеры, некоторые датчики |
Читать эту таблицу нужно с оговоркой. 500 мА это ток, который USB-порт компьютера отдаёт на всю плату целиком, а не на вывод 5V. Свою долю из этих 500 мА съедают сам микроконтроллер, USB-чип и стабилизатор, поэтому на периферию остаётся заметно меньше. Именно поэтому сервопривод, мотор или светодиодная лента от вывода 5V не заработают: они возьмут столько, сколько попросят, и всё закончится просадкой и перезагрузкой платы.
ШИМ, I2C и интерфейсы
ШИМ через analogWrite работает на пинах 3, 5, 6, 9, 10 и 11, на схеме они помечены знаком тильды. Шина I2C сидит на A4 (SDA) и A5 (SCL), SPI занимает пины 10, 11, 12 и 13, аппаратный UART живёт на D0 и D1, и их лучше не занимать, потому что это тот же самый порт, через который идёт связь с компьютером. Отдельно отметим, что на Uno нет выводов A6 и A7, они есть только у Nano, и именно на них многие ошибаются, рисуя схему по памяти от другой платы.
| Интерфейс | Пины | Особенности |
|---|---|---|
| UART (Serial) | D0 (RX), D1 (TX) | не занимать: это связь с компьютером |
| I2C | A4 (SDA), A5 (SCL) | до 112 адресов, два провода |
| SPI | D10 SS, D11 MOSI, D12 MISO, D13 SCK | быстро, но выводов больше нет |
| Внешние прерывания | D2, D3 | остальные пины тоже умеют, но через polling |
| Аналоговый вход | A0–A5 | 10 бит, 0–1023, A4 и A5 заняты шиной I2C |
| ШИМ | D3, D5, D6, D9, D10, D11 | D10 и D11 заняты SPI, если он используется |
Тупик: плата не стартует от 5 В в разъёме питания
Нам принесли плату, которая не включалась ни при каком питании: светодиод L не горел, в порту пусто. Мы перебрали кабели и адаптеры, и в какой-то момент выяснили, что человек воткнул в разъём питания блок на 5 В, накарабкавшись на то, что рядом написано 5 В.
Разъём на плате это вход стабилизатора, и стабилизатор на Uno рассчитан на 7–12 В. На пяти вольтах он работает с просадкой, на выходе получается меньше пяти вольт, и микроконтроллер с ядром 16 МГц на таком напряжении уже не гарантирован. Плата может запуститься, может работать через раз, а может не запуститься вовсе, и это самый неприятный вид неисправности, потому что поведение невоспроизводимое. Правило простое: в разъём питания и на вывод Vin подают 7–12 В, а стабилизированные 5 В идут только на вывод 5V, и только при отключённом USB.
Личный опыт: почему половина плат не видится в портах
Когда мы собирали стенд из нескольких Uno, выяснилось, что часть плат не появлялась в списке портов, причём одинаковые платы, купленные в одной партии. Мы подключали их по очереди к одному и тому же компьютеру и к одному и тому же кабелю, и картина была случайной: одна плата видна, вторая нет.
Причина оказалась в USB-хабе: часть плат через него определялась, часть нет, а при прямом подключении в порт компьютера проблем не было вообще. Мы перестали использовать хаб для прошивки и перешли на удлинители с отдельным питанием. Второй случай с той же симптоматикой, но другой причиной: на китайских клонах вместо родного USB-чипа ATmega16U2 стоит CH340, и для него нужен отдельный драйвер, а без него система показывает плату как неизвестное устройство. Именно поэтому оригинальная Uno R3 не требует никаких драйверов вообще: её USB-чип это родное USB-устройство на микроконтроллере.
Авторская позиция: какую плату взять новичку
Мы советуем начинать с клона Uno R3 на ATmega328P и CH340, потому что это самая доступная плата, на которой распиновка полностью совпадает со всеми учебными схемами. Шилды, учебные наборы и примеры из интернета рассчитаны именно на Uno, и это снимает половину вопросов при сборке первых проектов.
Оригинальная Uno R3 от Arduino нужна тем, кто хочет полную поддержку и стабильные размеры, но для обучения разница не окупается. А вот две вещи мы советуем докупить сразу: кабель с передачей данных, потому что комплектный зарядный не подойдёт, и набор из десятка резисторов и светодиодов, потому что они заканчиваются. И ещё одно: если есть выбор между Uno и Nano для настольного проекта, мы берём Uno, а для встраиваемого, где важны размер и вес, Nano, и тогда стоит держать в голове, что у Nano есть два дополнительных аналоговых входа A6 и A7, но нет разъёма питания.