Назначение пинов на платах Arduino — важная информация для тех, кто только начинает знакомиться с микроконтроллерами этого семейства. В этом обзоре мы решили подробно описать аналоговые, цифровые и ШИМ пины у популярных плат Arduino Uno, Nano и Mega 2560. Вы узнаете, как сделать аналоговые порты на плате цифровыми. Мы также рассмотрим назначение портов коммуникации: SDA и SCL, TX и RX Arduino.
СОДЕРЖАНИЕ
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- RGB светодиод и резисторы
- макетная плата
- коннекторы
Дополнительные материалы на эту тему:
Все пины можно разделить на несколько типов — цифровые, аналоговые и ШИМ порты, разница будет заключаться только в количестве выходов на разных платах. Например, Arduino Mega 2560 имеет гораздо больше цифровых и аналоговых портов, чем Uno или Nano, благодаря большему размеру микроконтроллера. В остальном характеристики и методы программирования всех перечисленных плат не отличаются друг от друга.
Назначение цифровых, аналоговых и PWM пинов

Power Pins — порты питания, их режим работы не может быть запрограммирован или изменен. Они выдают стабилизированное напряжение 5 В или 3,3 В, Vin — напряжение питания, а GND — земля (наименьшее общее);
PWM Pins — порты с ШИМ-модуляцией, которые могут быть запрограммированы как цифровой выход/вход. Эти порты отмечены на плате знаком тильда (˜);
Analog In — порты, принимающие аналоговый сигнал от датчиков, функционирующие как вход. Эти порты также могут быть запрограммированы как цифровые входы/выходы. Эти выводы не поддерживают ШИМ-модуляцию.
Мы не случайно отделили выводы ШИМ от аналоговых выводов. ШИМ-контакты создают аналоговый сигнал, они используются для подключения шагового двигателя и других устройств, где необходимо обеспечить сигнал с различными характеристиками. Аналоговые контакты (Analogue 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 |
Нежелательно использовать коммуникационные контакты в качестве обычных цифровых портов. Особенно с таким количеством портов общего назначения, как на Arduino Mega 2560. Более подробную информацию о рассматриваемых платах, а также о других микроконтроллерах семейства Arduino: характеристики, описание выводов Arduino, размеры и т.д. вы можете найти на нашем замечательном Интернет сайте.
Порты коммуникации: SDA, SCL и TX, RX Arduino
Пины коммуникации SDA, SCL Arduino используются для приема/передачи информации по протоколу I2C. Например, при подключении ЖК-дисплея к модулю I2C или модулю GPS. Используя специальную библиотеку, микроконтроллер может обмениваться информацией с подключенным устройством, которое поддерживает этот протокол. Arduino Mega, в отличие от Uno и Nano, имеет три пары выводов SDA, SCL.
Пины TX, RX Arduino также используются для связи, но по протоколу UART. На платах Uno и Nano TX RX пины подключены параллельно к разъему USB для связи с компьютером. Поэтому, если вы подключите к этим портам коммуникации какое-либо устройство, например, модуль bluetooth, вы не сможете загрузить программу в Arduino, поскольку плата переключится на считывание данных с устройства, а не с компьютера.
Заключение. Как вы уже поняли, при подключении к плате большого количества устройств, выводов общего назначения может оказаться недостаточно. Для этого вы указываете в программе, что используете аналоговые выводы как цифровые через функцию pinMode в процедуре void setup(). Также можете использовать неалфавитные цифры, т.е. порт A0 соответствует выводу 14, порт A1 — 15 и т.д. (работает на Uno или Nano).
