СОДЕРЖАНИЕ ►
Назначение пинов Arduino плат: Uno, Nano, Mega 2560 — важная информация, для тех кто начал свое знакомство с микроконтроллерами этого семейства. Мы решили в этом обзоре максимально подробно описать аналоговые, цифровые и шим пины Arduino, также вы узнаете, как сделать аналоговые пины цифровыми. Еще мы рассмотрим назначение пинов с дополнительными функциями: SDA и SCL, TX и RX, и другие.
Аналоговые, цифровые и шим пины Ардуино
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega
Все пины можно разделить на несколько видов, различие будет только в количестве данных выводов на различных платах. Например, на Arduino Mega 2560 цифровых и аналоговых портов, значительно больше, чем на Uno или Nano из-за большего размера платы и производительности микроконтроллера. В остальном характеристики и способы программирования пинов не отличаются друг от друга.
- Power Pins — порты питания, режим их работы нельзя запрограммировать или изменить. Они выдают стабилизированное напряжение 5V или 3,3V, Vin выдает напряжение от источника питания, а GND — это заземление (общий минус);
- PWM Pins — порты с ШИМ модуляцией, которые можно запрограммировать, как цифровой выход/вход. Данные порты обозначены на плате знаком тильда (˜);
- Analog In — порты, принимающие аналоговый сигнал от датчиков, работают на вход. Данные порты тоже можно запрограммировать, как цифровой вход/выход. Данные пины не поддерживают ШИМ модуляцию.
Режим пинов назначается в процедуре void setup с помощью pinMode(), например:
void setup() { pinMode(10, OUTPUT); // объявляем пин 10 как выход pinMode(A2, OUTPUT); // объявляем пин A2 как выход pinMode(12, INPUT); // объявляем пин 12 как вход pinMode(A1, INPUT); // объявляем пин A1 как вход }
Пояснения к коду:
- к выходу 10 и A2 можно подключить светодиод, который будет включаться и выключаться при вызове команды в программе;
- пин 10 может использоваться для ШИМ сигнала, например, чтобы плавно включить светодиод, а пин A2 может выдавать только цифровой сигнал (0 или 1);
- к входу 12 и A1 можно подключить цифровой датчик и микроконтроллер будет проверять наличие сигнала на этих пинах (логический нуль или единицу);
- к входу A1 можно подключить аналоговый датчик тогда микроконтроллер будет получать не только сигнал но и узнавать характеристику сигнала.
Мы не случайно разделили пины с ШИМ модуляцией (PWM Pins) и аналоговые. PWM пины создают аналоговый сигнал, к ним подключают сервопривод, шаговый двигатель и другие устройства, где требуется подавать сигнал с разными характеристиками. Аналоговые пины (Analog In) используются для подключения аналоговых датчиков, с них входящий сигнал преобразуется в цифровой с помощью встроенного АЦП.
Пины Ардуино Уно: шим, аналоговые, цифровые

| ШИМ (PWM) порты (Analog Out) |
3, 5, 6, 9, 10, 11 |
| Аналоговые порты (Analog In) |
A0, A1, A2, A3, A4, A5 на некоторых платах: A6, A7 |
| Цифровые порты (Digital In/Out) |
все порты со 2 по 13 пин можно использовать: A0 — A7 |
Из таблицы видно, какие пины на Arduino UNO поддерживают шим. Аналоговые пины (Analog In) используют, как цифровые если недостаточно портов общего назначения, например, вы хотите подключить к плате 15 светодиодов. Кроме того, на плате Arduino Uno и Nano порты A4 и A5 используются для I2C протокола (SDA и SCL пины) — они работают параллельно с пинами A4 и A5. Об этом мы расскажем чуть позже.
Пины Ардуино Нано: шим, аналоговые, цифровые

| ШИМ (PWM) порты (Analog Out) |
3, 5, 6, 9, 10, 11 |
| Аналоговые порты (Analog In) |
A0, A1, A2, A3, A4, A5 на некоторых платах: A6, A7 |
| Цифровые порты (Digital In/Out) |
все порты со 2 по 13 пин можно использовать: A0 — A7 |
Если вы заметили, то пины на Arduino Nano и Uno имеют одинаковое количество и назначение. Платы отличаются лишь своими габаритами. Nano — более компактная и удобная плата, для экономии места на нее не ставят разъем питания, для этого используются пины Vin и GND на которое подается питание от источника.
Пины Ардуино Мега: шим, аналоговые, цифровые

| ШИМ (PWM) порты (Analog Out) |
все порты со 2 по 13 пин дополнительно: 44, 45, 46 пин |
| Аналоговые порты (Analog In) |
с A0 до A15 |
| Цифровые порты (Digital In/Out) |
все порты со 2 по 13, со 22 по 52 пин можно использовать: A0 — A15 |
Пины коммуникации нежелательно использовать, как обычные цифровые порты. Особенно при таком количестве портов общего назначения, как на Mega 2560. Более подробную информацию о рассмотренных платах, а также о других микроконтроллерах семейства Arduino (Pro Mini, Leonardo, Due и пр.): характеристики, описание пинов, габариты и т.д. можно узнать в разделе Микроконтроллеры на нашем сайте.
Аналоговые пины Ардуино, как цифровые
Как вы уже поняли, при подключении большого количества устройств к плате, пинов общего назначения может не хватить. Тогда в скетче указываете, что вы используете аналоговые пины, как цифровые. Также можно использовать не буквенное, а цифровое обозначение выходов, т.е. A0 — это 14 пин, A1 — это 15 пин и т.д. (работает только на Uno или Nano). В следующем примере две строчки имеют одинаковое значение.
void setup() { pinMode(A2, OUTPUT); // объявляем пин A2, как цифровой выход pinMode(16, OUTPUT); // объявляем пин 16, как цифровой выход }
Пины коммуникации на плате Arduino
Назначение пинов SDA, SCL Arduino
Данные пины используются для приема/передачи информации по протоколу I2C. Например, при подключении жк дисплея с модулем I2C или GPS модуля. С помощью специальной библиотеки микроконтроллер может обмениваться информацией с подключенным периферийным устройством, поддерживающим данный протокол. На Ардуино Мега, в отличии от Уно и Нано, имеется целых три пары пинов SDA, SCL.
Назначение пинов TX, RX Arduino
Пины TX/RX также используются для коммуникации, но уже по протоколу UART. На платах Уно и Нано пины TX/RX подключены параллельно USB разъему для связи с компьютером. Поэтому, если вы подключите к данным портам устройство, например, блютуз модуль, то вы не сможете загрузить в Ардуино скетч, так как плата автоматически переключается на чтение данных с устройства, а не с компьютера.










Я не думала что найду, спасибо большое!
Помогло узнать много важного. спс вам
Были рады вам помочь
Лаконично и понятно. Благодарю! Страничка стремится попасть в закладки браузера 🙂 Не могли бы для полноты счастья добавить сюда же в статью и краткое описание платы Arduino Pro Mini?
Уже есть подробное описание Arduino Pro Mini — https://xn--18-6kcdusowgbt1a4b.xn--p1ai/arduino-pro-mini/
У вас ошибка в информации по шим портам ардуино уно
🙂 Спасибо большое. Исправили неточность в описании пинов
Что-то не понял по статье разницу между объявлением А2 дискретным выходом и просто выходом. И там и там pinMode(A2, OUTPUT);. В чем прикол?
Смысл в том, что A2 тоже может работать, как цифровой выход с напряжением 5 Вольт и к нему можно подключить тот же светодиод
статья полезная, но качество картинок резко эту полезность снижает.
и опять же непонятно — что понимается под «пинами» — это номер ноги микросхемы, или номер сигнала буфера, или когда как что? Например:
pinMode(10, OUTPUT); // объявляем пин 10 как выход
pinMode(A2, OUTPUT); // объявляем пин A2 как выход
если 10 — порядковый номер ноги микросхемы, то А2 — точно не может быть порядковым номером.
Как транслятор понимает, что когда мы имеем ввиду???
пин — это порт на плате Ардуино. 10 и A2 — это имена пинов (портов) на Ардуино. Откуда вы взяли микросхему, буфер и транслятор?
Смените Ардуино на STM32, и будет нормальные наименования ног и классический С++, в полном объеме. И миллион листов техдокументации, в том числе с непротокольной работой ))
Натурально в замешательстве от последней информации про пины Rx/Tx и подключенный модуль радиосвязи…
Выходит, в скетче можно объявить (по незнанию) названные выше пины, залить в плату, и… и всё? Не исправить через usb?
У меня на хозяйстве пять плат Nano, в которые (когда-то в прошлом) загрузил скетч, и все пять теперь не позволяют ничего иного перезалить…
что то я не понимаю вашего сленга что за чертовшына