Arduino Uno: распиновка, схема подключения и программирование
Arduino Uno — флагманская платформа для разработки на языке программирования С++.
Uno выполнена на микроконтроллере ATmega328P с тактовой частотой 16 МГц. На плате предусмотрены 20 портов входа-выхода для подключения внешних устройств, например плат расширения или датчиков.
Видеообзор
Подключение и настройка
Шаг 1
Подключите плату к компьютеру по USB. Для коммуникации используйте кабель USB (A — B). 
Шаг 2
Установите и настройте интегрированную среду разработки Arduino IDE.
Что-то пошло не так?
Пример работы
В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка. На плате уже есть встроенный пользовательский светодиод L , подключенный к 13 пину микроконтроллера.
После загрузки программы встроенный светодиод L начнёт мигать раз в секунду.
Это значит, всё получилось, и можно смело переходить к другим экспериментам на Ардуино.
Элементы платы

Микроконтроллер ATmega328P
Сердцем платформы Arduino Uno является 8-битный микроконтроллер фирмы Microchip — ATmega328P на архитектуре AVR с тактовой частотой 16 МГц. Контроллер обладает тремя видами памяти:
Микроконтроллер ATmega16U2
Микроконтроллер ATmega328P не содержит USB интерфейса, поэтому для прошивки и коммуникации с ПК на плате присутствует дополнительный микроконтроллер ATmega16U2 с прошивкой USB-UART преобразователя. При подключении к ПК Arduino Uno определяется как виртуальный COM-порт.
Микроконтроллер ATmega328P общается с ПК через сопроцессор ATmega16U2 по интерфейсу UART используя сигналы RX и TX , которые параллельно выведены на контакты 0 и 1 платы Uno. Во время прошивки и отладки программы, не используйте эти пины в своём проекте.
Светодиодная индикация
| Имя светодиода | Назначение |
|---|---|
| ON | Индикатор питания платформы. |
| L | Пользовательский светодиод на 13 пине микроконтроллера. Используйте определение LED_BUILTIN для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается. |
| RX и TX | Мигают при прошивке и обмене данными между Uno и компьютером. А также при использовании пинов 0 и 1 . |
Порт USB Type-B
Разъём USB Type-B предназначен для прошивки и питания платформы Arduino. Для подключения к ПК понадобится кабель USB (A — B).
Разъём питания DC
Коннектор DC Barrel Jack для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт.
Понижающий регулятор 5V
Понижающий линейный преобразователь NCP1117ST50T3G обеспечивает питание микроконтроллера и другой логики платы при подключении питания через разъём питания DC или пин Vin. Диапазон входного напряжения от 7 до 12 вольт. Выходное напряжение 5 В с максимальным выходным током 1 А.
Понижающий регулятор 3V3
Понижающий линейный преобразователь LP2985-33DBVR обеспечивает напряжение на пине 3V3 . Регулятор принимает входное напряжение от линии 5 вольт и выдаёт напряжение 3,3 В с максимальным выходным током 150 мА.
Кнопка сброса
Кнопка предназначена для ручного сброса прошивки — аналог кнопки RESET обычного компьютера.
ICSP-разъём ATmega328P
ICSP-разъём выполняет две полезные функции:
ICSP-разъём ATmega16U2
ICSP-разъём предназначен для программирования микроконтроллера ATmega16U2. А подробности распиновки читайте в соответствующем разделе.
Powering Alternatives for Arduino Boards
Arduino boards can be powered in several ways; we can use dedicated connectors (USB ports, barrel jacks or battery connectors) or dedicated pins. One fundamental question that usually arises when using an Arduino board in real-life applications is what dedicated power connector or pin we should use. This article will describe the main characteristics and correct use of power pins and connectors of Arduino boards.
Powering Alternatives
Arduino boards have five options in which they can be powered:
Powering via USB connector
Powering via the onboard barrel jack connector (if available on the board)
Powering via the onboard battery connector (if available on the board)
Powering via the VIN (Voltage In) pin
Powering via the 3V3/5V pin*
* Powering your board via the 3V3/5V pins is not recommended, as it can damage your board's voltage regulator. Read more here.
This article will examine these alternatives more in-depth.
USB Connector
The most common and easiest way we can power an Arduino board is by using its onboard USB connector. The USB connector provides a regulated 5V line to power the board's electronics. However, 5V from the USB connector can also power external components through the 5V pin that can be found in Arduino boards.

Micro USB connector of the Arduino Nano RP2040 board.
Something important about the USB connection is the current rating of the USB host device. For example, a USB host device can be a computer; this means that the computer's USB port is the 5V power source of the Arduino board connected to it. Besides USB ports of computers, we can also use power banks, for example, as power sources for Arduino boards. Power banks usually have one or more USB outputs that provide regulated 5V lines at different current ratings. Arduino boards that run at 5V use the USB-regulated 5V line directly, boards that run at 3V3 regulate the 5V line from the USB connector to 3V3 using their onboard voltage regulator. Output current rating from the 5V pin will vary, depending on the 5V power source.
Current from USB ports of computers is usually limited to 500mA.
Barrel Jack Connector
Some Arduino boards have an onboard barrel jack connector that is used to connect external power supplies. The Arduino boards with an onboard barrel jack connector are the following:
Arduino boards with onboard barrel jacks are configured with positive polarity; this means a negative sleeve and a positive pin. Boards with an onboard barreljack use a negative 5.5mm sleeve and a 2.1mm positive pin

Barrel jack connector of the Arduino Zero board.
The voltage line from the barrel jack connector is regulated in Arduino boards using their onboard voltage regulator; usually, it is first regulated to 5V and then regulated again to 3V3 in most Arduino boards. The recommended voltage and current ratings for external regulated DC power supplies connected to the barrel jack connector are summarized in the table below:
| Board | External Power Supply Voltage (V) | External Power Supply Current (A) |
|---|---|---|
| Arduino UNO Rev3 | 7-12 | 1 |
| Arduino UNO WiFi Rev2 | 7-12 | 1.5 |
| Arduino Leonardo | 7-12 | 1 |
| Arduino Mega 2560 Rev3 | 7-12 | 1 |
| Arduino Due | 7-12 | 1.5 |
| Arduino Zero | 5-18 | 1 |
Battery Connector
Some Arduino boards have an onboard battery connector to connect a battery to the board and use it as its primary or secondary power supply. The Arduino boards with an onboard battery connector are the following:
Pro family boards use a 3-pin, 1.2mm SMD ACH battery connector; MKR family boards use a 2-pin, 2mm SMD PH battery connector.

Battery connector of the Arduino MKR WAN 1310 board.
The boards mentioned before have an onboard integrated battery charge management circuit. This circuit integrates the most common battery and power management functions, like a battery charger, a voltage regulator, and a load switch, all in one.
Arduino boards with an onboard battery connector can work with single cell 3V7 Li-Ion and Li-polymer batteries.
VIN Pin
The VIN pin in Arduino boards is a power pin with a dual function. This pin can work as a voltage input for regulated external power supplies that do not use a barrel jack connector. This pin can also work as a voltage output when an external power supply is connected to the barrel jack connector present in some Arduino boards. An important consideration is that the VIN pin is connected directly to the input pin of the onboard voltage regulator on Arduino boards. Since the VIN pin is directly connected to the voltage regulator, the VIN pin does not have reverse polarity protection.
Use the VIN pin carefully to avoid damaging your Arduino board since it does not have reverse polarity protection.
The minimum and maximum voltages that can be applied to the VIN pin are determined by the onboard voltage regulator on Arduino boards, varying from board to board. Those voltages are summarized in the table below:
| Board | VIN Voltage (V) |
|---|---|
| UNO Mini | 5-18 |
| UNO Rev3 | 7-12 |
| UNO WiFi Rev2 | 7-12 |
| UNO Rev3 SMD | 7-12 |
| Leonardo | 7-12 |
| Mega 2560 Rev3 | 7-12 |
| Due | 7-12 |
| Micro | 7-12 |
| Zero | 5-18 |
| Portenta H7 | 5 |
| Nicla Sense ME | 5 |
| Nano RP2040 Connect | 5-18 |
| MKR NB 1500 | 5-7 |
| MKR GSM 1400 | 5-7 |
| MKR Vidor 4000 | 5-7 |
| MKR WiFi 1010 | 5-7 |
| MKR Zero | 5-5.5 |
| MKR1000 WIFI | 5-5.5 |
| MKR WAN 1300 | 5-5.5 |
| MKR WAN 1310 | 5-7 |
| Nano | 7-12 |
| Nano Every | 7-18 |
| Nano 33 IoT | 5-18 |
| Nano 33 BLE | 5-18 |
| Nano 33 BLE Sense | 5-18 |
3V3/5V Pin
3V3 and 5V pins are also power pins with a dual function. They can work as power outputs since these pins are directly connected to the onboard 3V3 and 5V voltage regulators outputs (depending on the board). Moreover, 3V3 and 5V pins can also be used as power inputs if no regulated power supply is connected through the other power inputs (USB port, barrel jack connector or VIN pin).
Since 3V3 and 5V pins are directly connected to the onboard's 3V3 and 5V voltage regulators outputs, these pins have no reverse polarity protection. Use them carefully when working as power inputs to avoid damaging your board's voltage regulator.
Although 3V3 and 5V pins can be used as power inputs, it is not recommended if no power supply is connected through the USB port, the barrel jack connector, or the VIN pin. 3V3 and 5V pins are connected directly to the onboard voltage regulator's output pin. Suppose the voltage in the voltage regulator output pin becomes higher than the input voltage of the voltage regulator. In that case, a large current may flow into the voltage regulator from its output pin to its input pin. That large current can permanently damage your board's voltage regulator.
It is safe, but not recommended, to apply a voltage to the 3V3 or 5V pins that are not higher than the input voltage of the voltage regulators.
The maximum current that can be drawn from the 3V3 and 5V pins when working as power outputs are summarized below. Notice that these currents can be provided by the 3V3 and 5V onboard voltage regulators, or from the power source connected to the board:
| Board | 5V Pin Output Current (A) | 3V3 Pin Output Current (A) |
|---|---|---|
| UNO Mini | 1 | 0.5 |
| UNO Rev3 | 1 | 0.15 |
| UNO WiFi Rev2 | 1 | 0.5 |
| UNO Rev3 SMD | 1 | 0.15 |
| Leonardo | 1 | 0.15 |
| Mega 2560 Rev3 | 0.8 | 0.05 |
| Micro | 1 | 0.15 |
| Zero | 1 | 0.5 |
| Portenta H7 | — | 1 |
| Nicla Sense ME* | — | 0.5 |
| Nano RP2040 Connect | — | 1 |
| MKR NB 1500 | — | 0.5 |
| MKR Vidor 4000 | 1 | 0.3 |
| MKR WiFi 1010 | 1 | 0.5 |
| MKR Zero | — | 0.5 |
| MKR1000 WIFI | — | 0.5 |
| MKR WAN 1300 | — | 0.5 |
| MKR WAN 1310 | — | 0.5 |
| Nano | 0.8 | 0.15 |
| Nano Every | 1 | 0.5 |
| Nano 33 IoT | 1 | 0.5 |
| Nano 33 BLE | — | 1 |
| Nano 33 BLE Sense | — | 1 |
Choosing a Power Input
Now that we know more about the powering alternatives of Arduino boards, we can answer that question we made at the beginning of this article about what power connector or pin we should use. When choosing a power connector or pin for a specific application or project, we should consider the available power source and the power budget of our application or project.
A power budget analyzes how much power our application or project requires for its correct working.
Let's talk about when it is recommended to use each of the options ways in which Arduino boards can be powered:
USB Connector
This option is often recommended when experimenting with small loads that require 5V; the current would be constrained by the USB host device where the board is connected.
Barrel Jack Connector
This option is recommended when a regulated power supply with a barrel jack connector is available. Current is constrained by the regulated power supply and the onboard voltage regulator.
Battery Connector
This option is recommended for portable projects or projects that need a secondary o backup power supply. Currently, 3V7 Li-Ion and Li-polymer batteries are supported only; the battery's capacity constrains current.
VIN Pin
This option is recommended when a regulated power supply without a barrel jack connector is available. Take into account that using VIN pin should be made carefully since this pin does not have reverse polarity protection. Current is constrained by the regulated power supply and the onboard voltage regulator.
3V3/5V Pin
Avoid this option since the risk of damaging the onboard voltage regulator is high. It can be done safely if the applied voltage to the 3V3 or 5V pins is not higher than the input voltage of the voltage regulators.
Further Reading and Resources
If you want to learn more about power supplies, check out the following links:
Сборка схемы из модулей

Микроконтроллер – очень универсальная штука, его можно научить взаимодействовать практически с любым другим электронным устройством: аналоговые датчики, цифровые датчики, всякие разные микросхемы, дисплеи, драйверы, контроллеры… Чтобы схема работала, входящие в неё компоненты нужно правильно соединить между собой. В этом уроке мы рассмотрим подключение электронных модулей.
Электронный модуль
Модуль – это специальная удобная плата на базе какой-то микросхемы или электронного компонента. Модуль может быть датчиком, драйвером, интерфейсом, памятью, дисплеем и так далее. Зачем использовать модуль, почему не взять конкретный компонент? Если вы хотите делать электронное устройство на печатной плате – конечно же лучше собирать его из голых компонентов, а не из модулей, потому что в большинстве случаев это выйдет дешевле, а также изготовление такой платы можно заказать вместе со сборкой на производстве (например на JLCPCB). Но мы с вами собираемся сначала научиться программировать, поэтому модули имеют неоспоримые преимущества:
- Основная концепция Ардуино – электронный конструктор, быстрое и простое создание прототипов электронных устройств без помощи паяльника.
- Микросхема очень маленькая, подключать её к чему-то – не очень приятная затея. У модуля выведена рейка для подключения проводов и работы на макетной плате.
- Чтобы подключить голую микросхему – понадобится изучить документацию. У модуля все нужные для подключения пины выведены и подписаны.
- Для корректной работы большинства микросхем требуются дополнительные компоненты (драйверы, контроллеры, резисторы, стабилизаторы, конденсаторы, индуктивности, кварцевые генераторы), посчитанные, выбранные и установленные согласно документации. На плате модуля всё это уже есть.
- У некоторых модулей на плате предусмотрена настройка: крутилки, джамперы, переключатели, перемычки для спайки паяльником.
Макетная плата
Макетная плата, она же макетка или брэдборд (breadboard) – самый удобный способ создания электронных макетов. Отверстия расположены со стандартным шагом 2.54мм, внутри каждого – пружинная клемма. Это позволяет вставлять в плату любые Arduino-модули, а также микросхемы в DIP корпусах.
Для соединения отверстий в пределах макетки используются провода штырёк-штырёк, рекомендую вариант с цилиндрическими штекерами (я пользуюсь одним комплектом на протяжении уже 5-ти лет). Также существуют провода с квадратными штекерами, они есть в вариантах гнездо-гнездо, гнездо-штырёк и штырёк-штырёк. Эти провода менее качественные, но вариант гнездо-штырёк позволяет подключить модуль к макетке, не втыкая модуль в макетку:

Что происходит на этом фото и как работает брэдборд? Очень просто! Контакты в нём соединены следующим образом:

“Простые” модули
Цифровые
Простые цифровые модули имеют два пина питания и пин с логическим выходом, он может быть подписан как OUT, S, D или DO. Плата таких модулей имеет синий цвет и содержит типовую схему – крутилка (синий корпус) и операционный усилитель (чёрная микросхема рядом с крутилкой). Такой модуль выдаёт только два состояния: датчик “сработал” и “не сработал”, на цифровом выходе появляется соответственно VCC (напряжение питания) или 0 Вольт, т.е. высокий и низкий цифровой сигнал. Крутилка на плате позволяет настроить порог срабатывания. Такие датчики подключаются к питанию и любому цифровому пину (GPIO). Опрашиваются стандартными средствами Arduino.
Примеры на картинке ниже: датчик звука, температуры, освещённости, приближения, магнитного поля.

Аналоговые
У аналоговых модулей помимо питания есть аналоговый выход, может быть маркирован как OUT, S, A или AO. Такие модули выдают аналоговый сигнал, пропорциональный показанию датчика. Подключаются к питанию и любому аналоговому пину (ADC) и опрашиваются стандартными средствами Arduino.
Примеры на картинке ниже: датчик звука, уровня жидкости, индуктивный датчик влажности почвы, обычный датчик влажности почвы, потенциометр (просто крутилка).

Смешанные
Некоторые модули имеют цифровой и аналоговый выходы одновременно, пины у них обычно подписаны как DO – цифровой выход и AO – аналоговый. Крутилка на плате настраивает порог срабатывания у цифрового выхода, а аналоговый просто выдаёт “сырой” сигнал с датчика. Опрашиваются как цифровые и аналоговые датчики соответственно.
Общая схема для всех перечисленных выше типов модулей:

Примеры на картинке ниже: датчик вибрации, звука, магнитного поля, влажности почвы и освещённости.

KY-модули
Существует также целое семейство модулей с названием KY-цифра, это самые дешёвые модули на чёрных платах. Среди них есть и цифровые, и аналоговые, и интерфейсные датчики, а также индикация (светодиоды, пищалки) и реле. Проблема в том, что пины почти у всех плат подписаны одинаково:
- – (минус) – минус, GND
- Средний пин без подписи – плюс, VCC
- S – сигнал

Сигналом здесь может быть как исходящий из датчика цифровой или аналоговый сигнал, так и цифровой сигнал управления, который нужно подать на модуль с микроконтроллера. Обязательно читайте описание к модулю такого типа, если не знаете, что делает компонент на его плате!

Интерфейсные модули
Некоторые модули имеют один или несколько логических выходов и передают данные по цифровому интерфейсу связи. Сигнальные пины таких датчиков могут быть подписаны как SCK, SDA, SCL, MISO, MOSI, SS и прочими аббревиатурами, отличными от OUT, как в “простых” модулях. Подключаются такие модули к пинам интерфейсов (подробнее в этом уроке) на плате Arduino и опрашиваются при помощи сторонних библиотек. Для работы с такими модулями нужно найти в интернете статью с описанием и примерами. Подробное описание к самым популярным модулям можно найти в базе примеров к набору GyverKIT, а также у меня в каталоге ссылок на Ардуино-компоненты. Примеры таких модулей:

Давайте вкратце рассмотрим самые распространённые интерфейсы и особенности подключения модулей с ними. Напомню распиновку плат Arduino Nano и Wemos Mini:
Соединительные провода и разъемы
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
