Arduino Nano — распиновка, интерфейс модуля, схема

Конструктор Arduino создан для любителей электроники и робототехники начального уровня, чтобы помочь им обойти сложности низкоуровнего программирования микроконтроллеров, где требуются знания инженера-профи и опыт.

Да и монтажника высокого разряда тоже, особенно для новой версии платы.

Arduino Nano - распиновка, интерфейс модуля, схема

1. Введение

Всего выпущено несколько платформ Arduino, Nano является одной из них, в миниатюрном исполнении. В то же время сохраняется легкость подключения при помощи разъемов с шагом выводов 2,54 мм, что важно для любительских экспериментов. Для программирования используется IDE (среда разработки) и язык высокого уровня, похожий на C. (Фактически это и есть C/C++, просто структура программы немного изменена. Вместо функции main() используются две другие: setup() и loop(). Компилятор сам создает из них остальное).

Разработчику программы для Arduino приходится также иметь дело со схемотехникой подключаемых устройств. Он должен знать уровни допустимых токов и напряжений, обеспечивать защиту электроники при использовании деталей с большой индуктивностью (моторов, катушек реле). Ардуино объединяет две области знаний: электронику и программирование, основу для построения роботов (здесь немного не хватает еще механики).

Раз уж тут объединены программирование и электроника, то ключевой вещью в использовании модуля становится спецификация его выводов, или распиновка, как еще принято говорить. Выводы модуля можно классифицировать разными способами, поскольку их функции зависят от программной конфигурации контроллера. Кроме того, поскольку есть две версии модулей, один из них использует чип ATmega168 (Arduino Nano), а другой ATmega328, то появляется вопрос, есть ли у них различия в подключении.

2. Arduino Nano распиновка

У Arduino Nano распиновка выполнена так, как показано на картинке ниже:

Arduino Nano - распиновка, интерфейс модуля, схема

1 – TX (передача UART) или порт D0;
2 – RX (прием UART) или порт D1;
3,28 – сброс (RESET);
4,29 – земля;
5…16 – порты D3…D13;
17 – напряжение 3,3 В;
18 – опорное напряжение АЦП;
19…26 – 8 каналов АЦП A0…A7;
27 – напряжение 5,0 В;
30 – плюс питания модуля 2-20 В.

Первые два вывода используются либо для связи по классическому последовательному интерфейсу с другим устройством, либо как порты для двоичных данных. В arduino nano распиновка 5…16 выводов, кроме указанных, имеет дополнительные функции:

5 – прерывание INT0;
6 – прерывание INT1 / ШИМ / AIN0;
7 – таймер-счетчик T0 / шина I2C SDA / AIN1;
8 – таймер-счетчик T1 / шина I2C SCL / ШИМ;
9,12,13,14 – ШИМ;
16 – светодиод.

AIN0 и AIN1 – это входы быстродействующего аналогового компаратора. Кроме того, имеется 6 каналов с выходом широтно-импульсного модулятора (ШИМ). К тому же имеется большее число пинов, на которые могут быть переведены запросы прерываний.

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

3. Arduino Nano 3.0 распиновка

У Arduino Nano 3.0 распиновка не отличается от предыдущей, несмотря на другой контроллер. ATmega328 отличается от ATmega168 вдвое большим объемами памяти всех видов: flash, оперативной и EEPROM.

Это позволяет улучшить ПО прошивки и загручика, а также дать пользователю больше возможностей для его прикладной задачи. Arduino nano v 3.0 распиновка может быть использована для программирования, но для этих целей используется отдельный разъем. Об этом ниже.

4. Arduino Nano icsp распиновка

Наконец, надо сказать о подключении программатора. Для программирования контроллеров Atmel, на котором собран модуль Arduino, используется интерфейс ICSP. Для Arduino Nano icsp распиновка выглядит выглядит следующим образом (см. верхнюю часть предыдущего рисунка):

1 – MISO (ведущий принимает от ведомого);
2 – +5V (питание);
3 – SCK (тактовый импульс);
4 – MOSI (ведущий передает ведомому);
5 – RESET (сброс);
6 – GND (земля).

Первый пин шестиконтактного разъема имеет в основании форму квадратика и нумеруется по часовой стрелке, если смотреть сверху. Чтобы не возникало сомнений по порядку нумерации выводов коннектора, ниже приводится фрагмент принципиальной схемы платы Ардуино:

Arduino Nano icsp распиновка

Этот разъем подключается к программатору с интерфейсом SPI (интерфейс последовательного программирования контроллеров Atmel).

Кроме того, прошивка контроллера может меняться из среды программирования через кабель USB, так что приобретать программатор становится необязательным (он нужен только в том случае, если отсутствует программа загрузчика).

5. Заключение

В каждом конкретном проекте назначение каждого пина конфигурируется программой пользователя. При запуске контроллера сначала выполняется инициализация регистров конфигурации. Поэтому беспокойства по поводу функций выводов в отлаженном устройстве быть не должно.

Конечно, наборы Ардуино (Arduino) не предназначены для разработки встраиваемых приложений, работающих с большой скоростью в ответственных случаях, поэтому при их использовании возможны косяки, тем более что пользователи еще только учатся.

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

Arduino Mega 2560 на базе микроконтроллера ATmega2560 Arduino Mega 2560 – флагманская платформа для разработки на базе микроконтроллера ATmega2560. На плате предусмотрено всё необходимое для удобной раб...
Установка драйвера CP210x USB to UART Bridge VCP driver Назначение адаптера CP210x Адаптер RS232 порта для последовательной универсальной шины (USB to UART Bridge) представляет собой высокоскоростное USB-устр...
Среда разработки для Arduino: программирование контроллера — это проще, чем каже... Покупая плату Arduino, нужно иметь представление о том, где и как можно запрограммировать этот контроллер. Разработчики плат Arduino позаботились об этом и...

Просмотров: 223