Arduino Nano: миниатюрная плата от Ардуино

Arduino Nano - распиновка, характеристики, расположение вводов и выводов модуля, описание функций, подключение к внешним устройствам.

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

Нет более насущной проблемы для любителя электроники, чем желание красиво и компактно оформить своё устройство.

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

Вместе с тем активное распространение Ардуино-плат для освоения разработки и проектирования устройств на микроконтроллерных системах породило новый виток в вопросе качества и эргономики.

Arduino UNO отлично подходит для макетирования – её размеры не маленькие и не большие, а именно 53 х 69 мм. Размеры подобны пачке сигарет, и позволяют легко собирать сложные схемы навесным монтажом, но после стадии создания макета идёт сборка действующих экземпляров, для этого лучше подходит Arduino Nano с размерами 19 x 43 мм. Связь с различными устройствами обеспечивают UART, I2C и SPI интерфейсы.

Сравнение плат Arduino Uno и Arduino Nano
Сравнение плат Arduino Uno и Arduino Nano

Что такое Ардуино Нано?

Это одна из самых маленьких полноценных версий платы ардуино. По сути своей, она с точностью повторяет Arduino UNO, но имеет два главных отличия:

  1. Размеры платы.
  2. Связь платы UNO с компьютером осуществляется с помощью USB serial преобразователя на базе микроконтроллера типа Atmega8u На нано-плате использован преобразователь на базе ft232, однако более дешевые китайские версии используют другой способ связи с ПК Arduino Nano CH341. По сути, эти микросхемы являются основой для USB-UART конвертера.

Характеристики платы

ХарактеристикаЗначение
МикроконтроллерATmega328
Тактовая частота16 МГц
Предельное напряжение питания5-20 В
Рекомендуемое напряжение питания7-12 В
Цифровых пинов14
ШИМ6 цифровых пинов могут быть использованы как выводы ШИМ
Аналоговые выводы8
Максимальная сила тока40 mAh с одного вывода и 500 mAh со всех выводов.
Flash память32 кб
SRAM2 кб
EEPROM1 кб

В первую очередь в разговоре о характеристиках нужно отметить, что Нано выпускается в различных версиях; самые распространённые – Nano v.2 и Nano v.3. Главное отличие – в самом микроконтроллере. Младшая версия использует Atmega168, Atmega328. Основные отличия чипов – это объём Flash-памяти у меги328 – 32 кб, ПППЗУ – 1024 и ОЗУ – 2 кб. У меги168 они в два раза меньше.

Главный её конкурент по размеру – это Arduino micro, в целом они похожи, но у «микро» интерфейс SPI разведен на другие пины, как и шина I2C, а также изменено количество выводов прерываний. В целом, платы похожи размерами, но различны соотношения сторон, а также некоторые схемотехнические нюансы.

Ардуино имеет 8 аналоговых входов, они могут использоваться как цифровой выход, 14 цифровых из которых 6 могут работать как широтно-импульсный модулятор (ШИМ), еще два задействованы под I2C и 3 под SPI.

В противоположном конце платы от разъёма микро-юсб расположена колодка Arudino ICSP для прошивки микроконтроллера.

ШИМ выходы и транзисторы помогут вам: регулировать обороты двигателя, яркость светодиодов, мощность нагревателей и многое другое. А аналоговые входы позволят читать значения с аналоговых датчиков, таких как:

  • фоторезисторы;
  • терморезисторы;
  • термопары;
  • измерители влажности;
  • датчики давления и другие.
Смотрите также  Уроки Arduino: создаем бегущую строку с помощью микроконтроллера

Выходы Digital 2 и 3 могут быть использованы для внешних прерываний. Это такие сигналы, которые сообщают микроконтроллеру о каком-либо важном событии. По этим сигналам вызывается программа обработки прерывания и выполняются необходимые действия, например, выход из режима энергосбережения и выполнение вычислений.

На базе платы нано получится отличный миниатюрный программатор Arduino ISP, для прошивки целого ряда контроллеров.

Распиновка 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 – светодиод.

Более подробная схема вводов-выводов на рисунке ниже, нажмите для увеличения:

Распиновка Arduino Nano
Распиновка Arduino Nano

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

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

Распиновка Ардуино Нано 3.0

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

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

Принципиальная схема платы

Принципиальная схема платы ниже, нажмите для увеличения:

Схема Arduino Nano ISCP

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

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

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

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

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

Смотрите также  Тестер качества воды с помощью Ардуино

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

Интерфейсы связи арудино нано

Arduino NANO поддерживает интерфейс I2C для связи с различными устройствами и периферией. Один из часто встречающихся способов применения – это связь с дисплеем через шину I2C; благодаря особой технологии вы можете выводить наборы символов и данных на дисплей, используя всего лишь 2 пина, в нано это пин D4(SDA) и D5(SCL).

К ардуино нано подключение аналогично: используйте отмеченные ранее пины. Для работы с дисплеем вам понадобится библиотека, которую можно скачать бесплатно с http://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code

Работа с SPI требует два пина под передачу данных (master in и out); один для выбора системы, с которой идёт «общение» (SS или CS – crystal/system select), и сигнал тактирования SCLK. На официальном сайте есть специальная библиотека для работы с ним – https://www.arduino.cc/en/Reference/SPI

При написании программ не забудьте подключить её директивой:

Теперь можно организовывать систему связи.

Заключение

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

Функциональная маленькая плата Arduino Nano, ничуть не уступающая по функциям большой UNО, – дешевая, удобная для монтажа и сборки миниатюрных устройств – это всё достоинства ардуино нано.

Конечно, нельзя забывать, что это все та же 8-битная Атмега, которая имеет свой потенциал, и нельзя возлагать на неё невозможное – используйте её там, где ей место, а именно в малой автоматизации без особых прецизионных задач.

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

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

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

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

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