Arduino Nano

Arduino Nano – это небольшая, полнофункциональная отладочная плата, адаптированная для работы с макетными платами, построенная на базе микроконтроллера ATmega328 (Arduino Nano 3.x) или Atmega168 (Arduino Nano 2.x). Она обладает той же функциональностью, что и Arduino Duemilanove, но имеет меньшие размеры. Она отличается только отсутствием разъема питания и работой через mini-USB. Arduino Nano разработана и производится компанией Gravitech.

Arduino Nano
Arduino Nano
Arduino Nano. Вид сверху
Arduino Nano. Вид сверху
Arduino Nano. Вид снизу
Arduino Nano. Вид снизу

Технические характеристики

МикроконтроллерATmega168 или ATmega328
Рабочее напряжение (логический уровень)
Входное напряжение (рекомендуемое)7–12 В
Входное напряжение (предельное)6–20 В
Цифровые входные/выходные выводы14 (из которых 6 может использоваться в качестве ШИМ выходов)
Аналоговые входные выводы8
Постоянный ток через входные/выходные выводы40 мА
Флеш-память16 Кб (ATmega168) или 32 Кб (ATmega328), из которых 2 Кб используются загрузчиком
Оперативная память SRAM1 Кб (ATmega168) или 2 Кб (ATmega328)
Энергонезависимая память EEPROM512 б (ATmega168) или 1 Кб (ATmega328)
Тактовая частота16 МГц
Длина45 мм
Ширина18 мм
Вес5 г

Документация

Схемы, разводка платы

Arduino Nano 3.0 (ATmega328):

Arduino Nano 2.3 (ATmega168):

Питание

Arduino Nano может питаться через mini-B USB соединение, от внешнего нестабилизированного источника питания 6–20 В (вывод 30) или от стабилизированного источника напряжения 5В (вывод 27). Источник питания с наибольшим напряжением выбирается автоматически.

Память

ATmega168 обладает 16 килобайтами флэш-памяти для хранения кода программы (из которых 2 килобайта используется загрузчиком); ATmega328 обладает 32 килобайтами (из которых 2 килобайта также используется загрузчиком). ATmega168 имеет 1 килобайт SRAM и 512 байт EEPROM (которая может быть считана и записана с помощью библиотеки EEPROM); ATmega168 имеет 2 килобайта SRAM и 1 килобайт EEPROM.

Входы и выходы

Каждый из 14 цифровых выводов Arduino Nano может быть использован и как вход, и как выход, с помощью функций pinMode(), digitalWrite() и digitalRead. Они работают с напряжением 5 вольт. Каждый вывод может пропускать максимальный ток 40 мА и имеет внутренний подтягивающий резистор (по умолчанию отключен) 20–50 кОм.

Также некоторые выводы обладают специальными функциями:

  • последовательный порт: 0 (RX) и 1 (TX). Выводы используются для приема (RX) и передачи (TX) последовательных данных с TTL уровнями. Эти выводы подключены к соответствующим выводам FTDI микросхемы преобразователя USB/последовательный интерфейс с TTL уровнями;
  • внешние прерывания: 2 и 3. Эти выводы могут быть сконфигурированы для вызова прерывания по фронту или по спаду импульса или по изменению уровня на выводе. Смотрите работу с прерываниями на Arduino для более подробной информации;
  • ШИМ: выводы 3, 5, 6, 9, 10 и 11. Обеспечивают 8-битный ШИМ выход с помощью функции analogWrite();
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Эти выводы поддерживают связь через SPI;
  • светодиод: 13. Встроенный светодиод подключен к цифровому выводу 13. При высоком уровне на выводе светодиод загорается, при низком – гаснет;
  • I2C: A4 (SDA) и A5 (SCL). Поддерживают связь через I2C (TWI) с помощью библиотеки Wire.

Arduino Nano имеет 8 аналоговых входов, каждый из которых обеспечивает 10-битное разрешение (т.е. 1024 разных значений). По умолчанию они измеряют напряжение от 0 до 5 вольт, хотя можно изменить верхнюю границу их диапазона, используя функцию analogReference(). Аналоговые выводы 6 и 7 не могут быть использованы в качестве цифровых.

И еще пара выводов на плате:

  • AREF. Опорное напряжение для аналоговых входов. Используется совместно с analogReference();
  • Reset. Низкий уровень на этом выводе приводит к перезагрузке микроконтроллера. Обычно используется для добавления кнопки сброса на платы расширения, закрывающей доступ к кнопке сброса на самой плате Arduino.

Соответствие между выводами Arduino Nano и портами ATmega168 и ATmega328 аналогично.

Диаграмма выводов Arduino Nano
Диаграмма соответствия выводов Arduino Nano с выводами ATmega168/328

Связь

Плата Arduino Nano обладает рядом возможностей для связи с компьютером, с другой платой Arduino/Genuino или с другими микроконтроллерами. ATmega168 и ATmega328 обеспечивает аппаратный UART порт для последовательной связи с TTL уровнями (5 вольт), который доступен на цифровых выводах 0 (RX) и 1 (TX). FTDI FT232RL на плате связывает UART порт с USB и обеспечивает виртуальный COM порт с помощью FTDI драйверов (включены в Arduino IDE) для связи с программным обеспечением на компьютере. Arduino IDE включает в себя монитор последовательного порта, который позволяет посылать и принимать от платы простые текстовые данные. Светодиоды RX и TX на плате загораются при передаче данных через микросхему FTDI и USB соединение (но не при передаче данных через выводы 0 и 1 последовательного порта).

Библиотека SoftwareSerial позволяет организовать последовательную связь через любые цифровые выводы Arduino Uno.

ATmega168 и ATmega328 также поддерживают связь через I2C (TWI) и SPI. Arduino IDE включает в себя библиотеку Wire для упрощения использования шины I2C. Для связи через SPI используется библиотека SPI.

Программирование

Arduino Nano программируется с помощью Arduino IDE. Выберите "Arduino/Genuino Nano" в меню ИнструментыПлата (согласно микроконтроллеру на вашей плате).

ATmega168 и ATmega328 на Arduino Nano поставляются с уже прошитым загрузчиком, что позволит вам загружать в контроллер новый код без использования дополнительных программаторов. Загрузчик работает с протоколом STK500.

Также вы можете обойти загрузчик и прошить микроконтроллер через разъем ICSP, используя Arduino ICSP или аналог.

Автоматическая (программная) перезагрузка

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

Однако эта система может приводить и к другим последствиям. При подключении Arduino Nano к компьютерам, работающим на Mac OS X или Linux, микроконтроллер будет сбрасываться при каждом соединении программного обеспечения с платой (через USB). На следующие полсекунды после сброса на Arduino Nano активизируется загрузчик. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Arduino Nano, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Arduino Nano, осуществляет отправку спустя секунду после установки соединения.

Магазины и цены

Цены на Arduino Nano
Товар в магазинеКоличество штук в комплектеСтоимостьРасчетная стоимость за 1 шт.
Arduino Nano на AliExpress1 121.48 руб. / 1.87 USD
(на 1 октября 2016)
121.48 руб. / 1.87 USD
Arduino Nano на eBay1 138.96 руб. / 2.21 USD
(на 1 октября 2016)
138.96 руб. / 2.21 USD
Arduino Nano на GearBest.com1 223.89 руб. / 3.55 USD
(на 1 октября 2016)
223.89 руб. / 3.55 USD
Arduino Nano на DX.com1 304.36 руб. / 4.82 USD
(на 1 октября 2016)
304.36 руб. / 4.82 USD
Сообщить об ошибке