Arduino Nano: обзор и характеристики платы от Arduino
Arduino Nano (рус. Ардуино Нано) – плата, которая работает на чипе ATmega328P и имеет минимальные размеры, которые лучше всего подходят для создания компактных устройств.
О плате

Отличие такой миниатюрной платы, заключается в отсутствии вынесенного гнезда для внешнего питания, но вместо него с легкостью можно подключиться напрямую к пинам. В плате используется чип FTDI FT232RL для USB-Serial преобразования и примененяется mini-USB кабель для связи с ардуино вместо стандартного. Связь с различными устройствами обеспечивают UART, I2C и SPI интерфейсы.
В остальном, способы взаимодействия и характеристики чипов совпадают с базовой моделью Уно, которая больше подходит для экспериментов, чем для реальных проектов. Нет более насущной проблемы для любителя электроники, чем желание красиво и компактно оформить своё устройство.
Платформа имеет контакты в виде пинов, поэтому ее легко устанавливать на макетную плату. Arduino Nano используется там где важна компактность, а возможностей Mini либо не хватает, либо не хочется заниматься пайкой.
Характеристики Arduino Nano
| Микроконтроллер | Atmel ATmega168 или ATmega328 |
|---|---|
| Рабочее напряжение (логическая уровень) | 5 В |
| Входное напряжение (рекомендуемое) | 7-12 В |
| Входное напряжение (предельное) | 6-20 В |
| Цифровые Входы/Выходы | 14 (6 из которых могут использоваться как выходы ШИМ) |
| Аналоговые входы | 8 |
| Постоянный ток через вход/выход | 40 mAh с одного вывода и 500 mAh со всех выводов |
| Флеш-память | 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика |
| ОЗУ | 1 Кб (ATmega168) или 2 Кб (ATmega328) |
| EEPROM | 512 байт (ATmega168) или 1 Кб (ATmega328) |
| Тактовая частота | 16 МГц |
| Размеры | 1.85 см x 4.2 см |
В первую очередь в разговоре о характеристиках нужно отметить, что Нано выпускается в различных версиях и самые распространённые:
Главное отличие – в самом микроконтроллере. Младшая версия использует Atmega168, Atmega328. Основные отличия чипов – это объём Flash-памяти:
Главный конкурент Arduino Nano по размеру – это Arduino Micro. В целом они похожи, но у «микро» интерфейс SPI разведен на другие пины, как и шина I2C, а также изменено количество выводов прерываний. В целом, платы похожи размерами, но различны соотношения сторон, а также некоторые схемотехнические нюансы.
Arduino Nano имеет 8 аналоговых входов, они могут использоваться как цифровой выход, 14 цифровых из которых 6 могут работать как широтно-импульсный модулятор (ШИМ), еще два задействованы под I2C и 3 под SPI.
В противоположном конце платы от разъёма микро-юсб расположена колодка Arudino ICSP для прошивки микроконтроллера.
ШИМ выходы и транзисторы помогут вам: регулировать обороты двигателя, яркость светодиодов, мощность нагревателей и многое другое. А аналоговые входы позволят читать значения с аналоговых датчиков, таких как:
Выходы Digital 2 и 3 могут быть использованы для внешних прерываний. Это такие сигналы, которые сообщают микроконтроллеру о каком-либо важном событии. По этим сигналам вызывается программа обработки прерывания и выполняются необходимые действия, например, выход из режима энергосбережения и выполнение вычислений.
На базе платы Nano получится отличный миниатюрный программатор Arduino ISP, для прошивки целого ряда контроллеров.
Питание модуля
Arduino Nano может работать с разных источников питания, его можно подключить как через Mini-B USB компьютера, или от обычного нерегулируемого 6-20 вольт (pin 30), или регулируемого 5 вольт (pin 27). Плата автоматически выберет питание с самым высоким напряжением.
Внешнее питание стабилизируется благодаря LM1117IMPX-5.0 с напряжением 5В. Когда подключение происходит через USB используется диод Шоттки.
Распиновка 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 каналов с выходом широтно-импульсного модулятора (ШИМ). К тому же имеется большее число пинов, на которые могут быть переведены запросы прерываний.
Проблема с микроконтроллерами заключается в том, что при больших функциональных возможностях (ведь в них кроме процессора есть еще довольно богатый набор периферийных устройств) они имеют ограниченное число выводов. Разработчику тут есть над чем подумать уже на этапе составления принципиальной схемы, ведь его цель – максимально использовать устройство, в то же время не допуская конфликтов между функциями выводов.
Распиновка Arduino Nano 3.0
У Arduino Nano 3.0 распиновка не отличается от той схемы, что приведена выше, несмотря на другой контроллер. ATmega328 отличается от ATmega168 вдвое большим объемами памяти всех видов:
Это позволяет улучшить ПО прошивки и загручика, а также дать пользователю больше возможностей для его прикладной задачи. Arduino nano v 3.0 распиновка может быть использована для программирования, но для этих целей используется отдельный разъем. Об этом ниже.
Принципиальная схема платы
Принципиальная схема платы ниже, нажмите для увеличения:
Схема Arduino Nano ISCP
Наконец, надо сказать о подключении программатора. Для программирования контроллеров Atmel, на котором собран модуль Arduino, используется интерфейс ICSP. Для Arduino Nano icsp распиновка выглядит выглядит следующим образом (см. верхнюю часть предыдущего рисунка):
Первый пин 6-контактного разъема имеет в основании форму квадратика и нумеруется по часовой стрелке, если смотреть сверху. Чтобы не возникало сомнений по порядку нумерации выводов коннектора, ниже приводится фрагмент принципиальной схемы платы Ардуино:
Этот разъем подключается к программатору с интерфейсом SPI (интерфейс последовательного программирования контроллеров Atmel). Кроме того, прошивка контроллера может меняться из среды программирования через кабель USB, так что приобретать программатор становится необязательным (он нужен только в том случае, если отсутствует программа загрузчика).
Интерфейсы связи
Arduino Nano поддерживает интерфейс I2C для связи с различными устройствами и периферией. Один из часто встречающихся способов применения – это связь с дисплеем через шину I2C. Благодаря особой технологии вы можете выводить наборы символов и данных на дисплей, используя всего лишь 2 пина, в Нано это пины D4 SDA) и D5 (SCL).
Код программы ниже:
Работа с SPI требует два пина под передачу данных (master in и out):
На официальном сайте есть специальная библиотека для работы с ним. При написании программ не забудьте подключить её директивой:
Теперь можно организовывать систему связи.
Принципиальная схема контроллера
Полную схему можно скачать на нашем сайте здесь, а инструкцию можно скачать здесь.
Заключение
Arduino Nano одна из самых маленьких полноценных версий плат Ардуино. По сути своей, она с точностью повторяет Arduino Uno, но имеет два главных отличия:
На нано-плате использован преобразователь на базе ft232, однако более дешевые китайские версии используют другой способ связи с ПК Arduino Nano CH341. По сути, эти микросхемы являются основой для USB-UART конвертера.
Конструктор Arduino создан для любителей электроники и робототехники начального уровня, чтобы помочь им обойти сложности низкоуровнего программирования микроконтроллеров, где требуются знания инженера-профи и опыт. Да и монтажника высокого разряда тоже, особенно для новой версии платы.
Паковать крупные платы в большие корпуса в последние десятилетия стало моветоном. Микроконтроллеры слегка улучшили ситуацию тем, что схемы с их использованием стали значительно компактнее, к тому же повысилась простота повторения результата или конструкции.
Вместе с тем активное распространение Ардуино-плат для освоения разработки и проектирования устройств на микроконтроллерных системах породило новый виток в вопросе качества и эргономики.
Всего выпущено несколько платформ Arduino, Nano является одной из них, в миниатюрном исполнении. В то же время сохраняется легкость подключения при помощи разъемов с шагом выводов 2,54 мм, что важно для любительских экспериментов. Для программирования используется Arduino IDE (среда разработки) и язык высокого уровня, похожий на Си, а фактически это и есть C/C++, просто структура программы немного изменена. Вместо функции main() используются две другие: setup() и loop(). Компилятор сам создает из них остальное)
Конечно, нельзя забывать, что это все та же 8-битная Атмега, которая имеет свой потенциал, и нельзя возлагать на неё невозможное – используйте её там, где ей место, а именно в малой автоматизации без особых прецизионных задач.
Разработчику программы для Arduino приходится также иметь дело со схемотехникой подключаемых устройств. Он должен знать уровни допустимых токов и напряжений, обеспечивать защиту электроники при использовании деталей с большой индуктивностью (моторов, катушек реле). Ардуино объединяет две области знаний: электронику и программирование, основу для построения роботов (здесь немного не хватает еще механики).
Раз уж тут объединены программирование и электроника, то ключевой вещью в использовании модуля становится спецификация его выводов, или распиновка, как еще принято говорить. Выводы модуля можно классифицировать разными способами, поскольку их функции зависят от программной конфигурации контроллера. Кроме того, поскольку есть две версии модулей, один из них использует чип ATmega168, а другой ATmega328, то появляется вопрос, есть ли у них различия в подключении.
В каждом конкретном проекте назначение каждого пина конфигурируется программой пользователя. При запуске контроллера сначала выполняется инициализация регистров конфигурации. Поэтому беспокойства по поводу функций выводов в отлаженном устройстве быть не должно.
Конечно, наборы Ардуино (Arduino) не предназначены для разработки встраиваемых приложений, работающих с большой скоростью в ответственных случаях, поэтому при их использовании возможны косяки, тем более что пользователи еще только учатся.
Но как часть конструктора для изучения автоматизации и робототехники он играет важную роль в образовательных целях и способен привлечь в отрасль много будущих специалистов.
Atmega 168 или 328 в чем разница
Она имеет схожую с Arduino Duemilanove функциональность, однако отличается сборкой. Отличие заключается в отсутствии силового разъема постоянного тока и работе через кабель Mini-B USB. Nano разработана и продается компанией Gravitech.
Принципиальные схемы и исходные данные
Arduino Nano 3.0 (ATmega328): схемы и файлы Eagle.
| Микроконтроллер | ATmega168 или ATmega328 |
| Рабочее напряжение | 5В |
| Входное напряжение(рекомендуемое) | 7-12В |
| Входное напряжение (предельное) | 6-20В |
| Цифровые Входы/Выходы | 14 (6 из которых могут использоваться как выходы ШИМ) |
| Аналоговые входы | 8 |
| Постоянный ток через вход/выход | 40 mA |
| Флеш-память | 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика |
| ОЗУ | 1 Кб (ATmega168) или 2 Кб (ATmega328) |
| Тактовая частота | 16 MHz |
Питание:
Arduino Nano может получать питание через подключение Mini-B USB, или от нерегулируемого 6-20 В (вывод 30), или регулируемого 5 В (вывод 27), внешнего источника питания. Автоматически выбирается источник с самым высоким напряжением.
Микросхема FTDI FT232RL получает питание, только если сама платформа запитана от USB. Таким образом при работе от внешнего источника (не USB), будет отсутствовать напряжение 3.3 В, генерируемое микросхемой FTDI, при этом светодиоды RX и TX мигаю только при наличие сигнала высокого уровня на выводах 0 и 1.
Память
Микроконтроллер ATmega168 имеет 16 кБ флеш-памяти для хранения кода программы, а микроконтроллер ATmega328, в свою очередь, имеет 32 кБ (в обоих случаях 2 кБ используется для хранения загрузчика). ATmega168 имеет 1 кБ ОЗУ и 512 байт EEPROM (которая читается и записывается с помощью библиотеки EEPROM), а ATmega328 — 2 кБ ОЗУ и 1 Кб EEPROM.
Входы и Выходы
Arduino Nano лицевая сторонаArduino Nano обратная сторона
Каждый из 14 цифровых выводов Nano, используя функции pinMode(), digitalWrite(), и digitalRead(), может настраиваться как вход или выход. Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:
Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины FTDI USB-to-TTL.
Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().
ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, которая, хотя и поддерживается аппаратной частью, не включена в язык Arduino.
LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.
На платформе Nano установлены 8 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством функции analogReference(). Некоторые выводы имеют дополнительные функции:
I2C: A4 (SDA) и A5 (SCL). Посредством выводов осуществляется связь I2C (TWI). Для создания используется библиотека Wire (информация на сайте Wiring).
Дополнительная пара выводов платформы:
AREF. Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
Reset. Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.
Обратите внимание на соединение между выводами Arduino и портами ATmega168.
Связь
На платформе Arduino Nano установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega168 и ATmega328 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). Установленная на плате микросхема FTDI FT232RL направляет данный интерфейс через USB, а драйверы FTDI (включены в программу Arduino) предоставляют виртуальный COM порт программе на компьютере. Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему FTDI или USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).
Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Nano.
ATmega168 и ATmega328 поддерживают интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C. Более подробная информация находится в документации. Для использования интерфейса SPI обратитесь к техническим данным микроконтроллеров ATmega168 и ATmega328.
Программирование
Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Diecimila, Duemilanove или Nano w/ ATmega168» или «Arduino Duemilanove или Nano w/ ATmega328» (согласно установленному микроконтроллеру). Подробная информация находится в справочнике и инструкциях.
Микроконтроллеры ATmega168 и ATmega328 поставляются с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.
Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы блока ICSP (внутрисхемное программирование). Подробная информация находится в данной инструкции.
Автоматическая (программная) перезагрузка
Nano разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой, а не нажатием кнопки на платформе. Одна из линий FT232RL, управляющих потоком данных (DTR), подключена к выводу перезагрузки микроконтроллеров ATmega168 или ATmega328 через конденсатор 100 нФ. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии DTR скоординирована с началом записи кода, что сокращает таймаут загрузчика.
Функция имеет еще одно применение. Перезагрузка Nano происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.
You have no rights to post s
Arduino Nano: обзор и характеристики платы от Arduino
Arduino Nano (рус. Ардуино Нано) — плата, которая работает на чипе ATmega328P и имеет минимальные размеры, которые лучше всего подходят для создания компактных устройств.
О плате
Ардуино Нано — это аналог Arduino Uno, которая также работает на чипе ATmega328P, но отличается формфактором платы, которая в 2-2,5 раза меньше, чем Уно (53 х 69 мм). Размеры подобны пачке сигарет, и позволяют легко собирать сложные схемы навесным монтажом, но после стадии создания макета идёт сборка действующих экземпляров, а для этого лучше подходит как раз Нано.
Размер Arduino Nano: 19 x 43 мм

Отличие такой миниатюрной платы, заключается в отсутствии вынесенного гнезда для внешнего питания, но вместо него с легкостью можно подключиться напрямую к пинам. В плате используется чип FTDI FT232RL для USB-Serial преобразования и примененяется mini-USB кабель для связи с ардуино вместо стандартного. Связь с различными устройствами обеспечивают UART, I2C и SPI интерфейсы.
В остальном, способы взаимодействия и характеристики чипов совпадают с базовой моделью Уно, которая больше подходит для экспериментов, чем для реальных проектов. Нет более насущной проблемы для любителя электроники, чем желание красиво и компактно оформить своё устройство.
Платформа имеет контакты в виде пинов, поэтому ее легко устанавливать на макетную плату. Arduino Nano используется там где важна компактность, а возможностей Mini либо не хватает, либо не хочется заниматься пайкой.
Характеристики Arduino Nano
| Микроконтроллер | Atmel ATmega168 или ATmega328 |
|---|---|
| Рабочее напряжение (логическая уровень) | 5 В |
| Входное напряжение (рекомендуемое) | 7-12 В |
| Входное напряжение (предельное) | 6-20 В |
| Цифровые Входы/Выходы | 14 (6 из которых могут использоваться как выходы ШИМ) |
| Аналоговые входы | 8 |
| Постоянный ток через вход/выход | 40 mAh с одного вывода и 500 mAh со всех выводов |
| Флеш-память | 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика |
| ОЗУ | 1 Кб (ATmega168) или 2 Кб (ATmega328) |
| EEPROM | 512 байт (ATmega168) или 1 Кб (ATmega328) |
| Тактовая частота | 16 МГц |
| Размеры | 1.85 см x 4.2 см |
В первую очередь в разговоре о характеристиках нужно отметить, что Нано выпускается в различных версиях и самые распространённые:
Главное отличие — в самом микроконтроллере. Младшая версия использует Atmega168, Atmega328. Основные отличия чипов — это объём Flash-памяти:
ПППЗУ — это перепрограммируемые запоминающее устройство.
Главный конкурент Arduino Nano по размеру — это Arduino Micro. В целом они похожи, но у «микро» интерфейс SPI разведен на другие пины, как и шина I2C, а также изменено количество выводов прерываний. В целом, платы похожи размерами, но различны соотношения сторон, а также некоторые схемотехнические нюансы.
Arduino Nano имеет 8 аналоговых входов, они могут использоваться как цифровой выход, 14 цифровых из которых 6 могут работать как широтно-импульсный модулятор (ШИМ), еще два задействованы под I2C и 3 под SPI.
В противоположном конце платы от разъёма микро-юсб расположена колодка Arudino ICSP для прошивки микроконтроллера.
ШИМ выходы и транзисторы помогут вам: регулировать обороты двигателя, яркость светодиодов, мощность нагревателей и многое другое. А аналоговые входы позволят читать значения с аналоговых датчиков, таких как:
Выходы Digital 2 и 3 могут быть использованы для внешних прерываний. Это такие сигналы, которые сообщают микроконтроллеру о каком-либо важном событии. По этим сигналам вызывается программа обработки прерывания и выполняются необходимые действия, например, выход из режима энергосбережения и выполнение вычислений.
На базе платы Nano получится отличный миниатюрный программатор Arduino ISP, для прошивки целого ряда контроллеров.
Питание модуля
Arduino Nano может работать с разных источников питания, его можно подключить как через Mini-B USB компьютера, или от обычного нерегулируемого 6-20 вольт (pin 30), или регулируемого 5 вольт (pin 27). Плата автоматически выберет питание с самым высоким напряжением.
Внешнее питание стабилизируется благодаря LM1117IMPX-5.0 с напряжением 5В. Когда подключение происходит через USB используется диод Шоттки.
Распиновка Arduino Nano
У Arduino Nano распиновка выполнена так, как показано на картинке ниже:
1 — TX (передача UART) или порт D0;
2 — RX (прием UART) или порт D1;
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 / ШИМ;
Более подробная схема вводов-выводов на рисунке ниже (нажмите для увеличения):

AIN0 и AIN1 — это входы быстродействующего аналогового компаратора. Кроме того, имеется 6 каналов с выходом широтно-импульсного модулятора (ШИМ). К тому же имеется большее число пинов, на которые могут быть переведены запросы прерываний.
Проблема с микроконтроллерами заключается в том, что при больших функциональных возможностях (ведь в них кроме процессора есть еще довольно богатый набор периферийных устройств) они имеют ограниченное число выводов. Разработчику тут есть над чем подумать уже на этапе составления принципиальной схемы, ведь его цель — максимально использовать устройство, в то же время не допуская конфликтов между функциями выводов.
Распиновка Arduino Nano 3.0
У Arduino Nano 3.0 распиновка не отличается от той схемы, что приведена выше, несмотря на другой контроллер. ATmega328 отличается от ATmega168 вдвое большим объемами памяти всех видов:
Это позволяет улучшить ПО прошивки и загручика, а также дать пользователю больше возможностей для его прикладной задачи. Arduino nano v 3.0 распиновка может быть использована для программирования, но для этих целей используется отдельный разъем. Об этом ниже.
Принципиальная схема платы
Принципиальная схема платы ниже, нажмите для увеличения:
Схема Arduino Nano ISCP
Наконец, надо сказать о подключении программатора. Для программирования контроллеров Atmel, на котором собран модуль Arduino, используется интерфейс ICSP. Для Arduino Nano icsp распиновка выглядит выглядит следующим образом (см. верхнюю часть предыдущего рисунка):
Первый пин 6-контактного разъема имеет в основании форму квадратика и нумеруется по часовой стрелке, если смотреть сверху. Чтобы не возникало сомнений по порядку нумерации выводов коннектора, ниже приводится фрагмент принципиальной схемы платы Ардуино:
Этот разъем подключается к программатору с интерфейсом SPI (интерфейс последовательного программирования контроллеров Atmel). Кроме того, прошивка контроллера может меняться из среды программирования через кабель USB, так что приобретать программатор становится необязательным (он нужен только в том случае, если отсутствует программа загрузчика).
Интерфейсы связи
Arduino Nano поддерживает интерфейс I2C для связи с различными устройствами и периферией. Один из часто встречающихся способов применения — это связь с дисплеем через шину I2C. Благодаря особой технологии вы можете выводить наборы символов и данных на дисплей, используя всего лишь 2 пина, в Нано это пины D4 SDA) и D5 (SCL).
К Ардуино Нано подключение аналогично — используйте отмеченные ранее пины. Для работы с дисплеем вам понадобится библиотека, которую можно скачать ниже:
Код программы ниже:
Пример скетча — управление задней подсветкой модуля I2C LCD1602:
Работа с SPI требует два пина под передачу данных (master in и out):
На официальном сайте есть специальная библиотека для работы с ним. При написании программ не забудьте подключить её директивой:
Теперь можно организовывать систему связи.
Принципиальная схема контроллера
Полную схему можно скачать на нашем сайте здесь, а инструкцию можно скачать здесь.
Заключение
Arduino Nano одна из самых маленьких полноценных версий плат Ардуино. По сути своей, она с точностью повторяет Arduino Uno, но имеет два главных отличия:
На нано-плате использован преобразователь на базе ft232, однако более дешевые китайские версии используют другой способ связи с ПК Arduino Nano CH341. По сути, эти микросхемы являются основой для USB-UART конвертера.
Конструктор Arduino создан для любителей электроники и робототехники начального уровня, чтобы помочь им обойти сложности низкоуровнего программирования микроконтроллеров, где требуются знания инженера-профи и опыт. Да и монтажника высокого разряда тоже, особенно для новой версии платы.
Паковать крупные платы в большие корпуса в последние десятилетия стало моветоном. Микроконтроллеры слегка улучшили ситуацию тем, что схемы с их использованием стали значительно компактнее, к тому же повысилась простота повторения результата или конструкции.
Вместе с тем активное распространение Ардуино-плат для освоения разработки и проектирования устройств на микроконтроллерных системах породило новый виток в вопросе качества и эргономики.
Всего выпущено несколько платформ Arduino, Nano является одной из них, в миниатюрном исполнении. В то же время сохраняется легкость подключения при помощи разъемов с шагом выводов 2,54 мм, что важно для любительских экспериментов. Для программирования используется Arduino IDE (среда разработки) и язык высокого уровня, похожий на Си, а фактически это и есть C/C++, просто структура программы немного изменена. Вместо функции main() используются две другие: setup() и loop(). Компилятор сам создает из них остальное)
Достоинства. Функциональная маленькая плата Arduino Nano, ничуть не уступающая по функциям большой UNО, — дешевле, удобнее для монтажа и сборки миниатюрных устройств.
Конечно, нельзя забывать, что это все та же 8-битная Атмега, которая имеет свой потенциал, и нельзя возлагать на неё невозможное — используйте её там, где ей место, а именно в малой автоматизации без особых прецизионных задач.
Разработчику программы для Arduino приходится также иметь дело со схемотехникой подключаемых устройств. Он должен знать уровни допустимых токов и напряжений, обеспечивать защиту электроники при использовании деталей с большой индуктивностью (моторов, катушек реле). Ардуино объединяет две области знаний: электронику и программирование, основу для построения роботов (здесь немного не хватает еще механики).
Раз уж тут объединены программирование и электроника, то ключевой вещью в использовании модуля становится спецификация его выводов, или распиновка, как еще принято говорить. Выводы модуля можно классифицировать разными способами, поскольку их функции зависят от программной конфигурации контроллера. Кроме того, поскольку есть две версии модулей, один из них использует чип ATmega168, а другой ATmega328, то появляется вопрос, есть ли у них различия в подключении.
В каждом конкретном проекте назначение каждого пина конфигурируется программой пользователя. При запуске контроллера сначала выполняется инициализация регистров конфигурации. Поэтому беспокойства по поводу функций выводов в отлаженном устройстве быть не должно.
Конечно, наборы Ардуино (Arduino) не предназначены для разработки встраиваемых приложений, работающих с большой скоростью в ответственных случаях, поэтому при их использовании возможны косяки, тем более что пользователи еще только учатся.
Но как часть конструктора для изучения автоматизации и робототехники он играет важную роль в образовательных целях и способен привлечь в отрасль много будущих специалистов.
28 мая 2017 в 14:10 | Обновлено 14 февраля 2020 в 16:14 (редакция)

















