arduino nano что это такое
Arduino nano что это такое
Схема и исходный проект
Arduino Nano 2.3 (ATmega168): руководство (pdf), файлы Eagle. Примечание: печатная плата этой версии Arduino Nano содержит 4 слоя, в то время как бесплатная версия Eagle позволяет работать только с двухслойными платами. Поэтому, для возможности работы со схемой в бесплатной версии, проект выложен без трассировки печатной платы.
Характеристики:
Микроконтроллер | Atmel ATmega168 или ATmega328 |
Рабочее напряжение (логический уровень) | 5В |
Напряжение питания (рекомендуемое) | 7-12В |
Напряжение питания (предельное) | 6-20В |
Цифровые входы/выходы | 14 (из которых 6 могут использоваться как ШИМ-выходы) |
Аналоговые входы | 8 |
Максимальный ток одного вывода | 40 мА |
Flash-память | 16 КБ (ATmega168) или 32 КБ (ATmega328) из которых 2 КБ используются загрузчиком |
SRAM | 1 КБ (ATmega168) или 2 КБ (ATmega328) |
EEPROM | 512 байт (ATmega168) или 1 КБ (ATmega328) |
Тактовая частота | 16 МГц |
Размеры платы | 1.85 см х 4.3 см |
Питание
Arduino Nano может быть запитан через кабель Mini-B USB, от внешнего источника питания с нестабилизированным напряжением 6-20В (через вывод 30) либо со стабилизированным напряжением 5В (через вывод 27). Устройство автоматически выбирает источник питания с наибольшим напряжением.
Напряжение на микросхему FTDI FT232RL подается только в случае питания Arduino Nano через USB. Поэтому при питании устройства от других внешних источников (не USB), выход 3.3В (формируемый микросхемой FTDI) будет неактивен, в результате чего светодиоды RX и TX могут мерцать при наличии высокого уровня сигнала на выводах 0 и 1.
Память
Входы и выходы
В Arduino Ethernet есть 8 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). По умолчанию, измерение напряжения осуществляется относительно диапазона от 0 до 5 В. Тем не менее, верхнюю границу этого диапазона можно изменить, используя вывод AREF и функцию analogReference(). Помимо этого, некоторые из выводов имеют дополнительные функции:
Помимо перечисленных на плате существует еще несколько выводов:
Связь
Arduino Nano предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Ардуино или другими микроконтроллерами. В ATmega168 и ATmega328 есть приемопередатчик UART, позволяющий осуществлять связь по последовательным интерфейсам посредством цифровых выводов 0 (RX) и 1 (TX). Микросхема FTDI FT232RL обеспечивает связь приемопередатчика с USB-портом компьютера, и при подключении к ПК позволяет Ардуино определяться как виртуальный COM-порт (драйвера FTDI включены в пакет программного обеспечения Ардуино). В пакет программного обеспечения Ардуино также входит специальная программа, позволяющая считывать и отправлять на Ардуино простые текстовые данные. При передаче данных компьютеру через USB на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1 данные светодиоды не задействуются).
Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Arduino Nano.
В микроконтроллерах ATmega328 и ATmega168 также реализована поддержка последовательных интерфейсов I2C (TWI) и SPI. В программное обеспечение Ардуино входит библиотека Wire, позволяющая упростить работу с шиной I2C; для получения более подробной информации см. документацию. Для работы с интерфейсом SPI см. даташиты микроконтроллеров ATmega168 и ATmega328.
Программирование
Arduino Nano программируется с помощью программного обеспечения Ардуино (скачать). Для этого из меню Tools > Board необходимо выбрать «Arduino Diecimila, Duemilanove, or Nano w/ ATmega168» или «Arduino Duemilanove or Nano w/ ATmega328» (в зависимости от микроконтроллера на вашей плате). Для получения более подробной информации см. справку и примеры.
ATmega168 и ATmega328 в Arduino Nano выпускается с прошитым загрузчиком, позволяющим загружать в микроконтроллер новые программы без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500 (справка, заголовки C-файлов).
Тем не менее, микроконтроллер можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик; более подробно об этом см. соответствующие инструкции.
Автоматический (программный) сброс
Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Arduino Nano спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Один из выводов микросхемы FT232RL, участвующий в управлении потоком данных (DTR), соединен с выводом RESET микроконтроллера ATmega168 или ATmega328 через конденсатор номиналом 100 нФ. Когда на линии DTR появляется ноль, вывод RESET также переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Данная особенность используется для того, чтобы можно было прошивать микроконтроллер всего одним нажатием кнопки в среде программирования Ардуино. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR.
Однако эта система может приводить и к другим последствиям. При подключении Arduino Nano к компьютерам, работающим на Mac OS X или Linux, его микроконтроллер будет сбрасываться при каждом соединении программного обеспечения с платой. После сброса на Arduino Nano активизируется загрузчик на время около полсекунды. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Ардуино, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Ардуино, осуществляет отправку спустя секунду после установки соединения.
Плата Arduino Nano v 3.0 : распиновка, схемы, драйвер
Arduino Nano входит в тройку самых популярных плат ардуино. Она позволяет создавать компактные устройства, использующие тот же контроллер, что и в Arduino Uno. Название платы нано говорит само за себя – она действительно имеет небольшие размеры при той же функциональности. В этой статье мы рассмотрим плату поближе: разберемся с распиновкой платы, узнаем особенности подключения и сделаем краткий обзор шилдов и плат расширения.
Плата Arduino Nano
Nano – одна из самых миниатюрных плат Ардуино. Она является полным аналогом Arduino Uno – так же работает на чипе ATmega328P (хотя можно еще встретить варианты с ATmega168), но с меньшим форм-фактором. Из-за своих габаритных размеров плата часто используется в проектах, в которых важна компактность. На плате отсутствует вынесенное гнездо внешнего питания, Ардуино работает через USB (miniUSB или microUSB). В остальном параметры совпадают с моделью Arduino Uno.
Описание платы Arduino Nano
Технические характеристики Arduino Nano:
Питание платы может осуществляться двумя способами:
Стабилизация внешнего источника выполняется при помощи схемы LM1117IMPX-5.0 на 5В. При подключении через кабель от компьютера подключение к стабилизатору происходит через диод Шоттки. Схемы обоих типов питания приведены на рисунке.
При подключении двух источников напряжения плата выбирает с наибольшим питанием.
У платы Arduino Nano имеются такие же ограничения по напряжению и току на входы и выходы платы. Все цифровые и аналоговые контакты работают в диапазоне от 0 до 5 В. При подаче питания, выходящего за рамки этих значений, напряжение будет ограничиваться защитными диодами. В этом случае сигнал должен подключаться через резистор, чтобы не вывести контроллер из строя. Наибольшее значение втекающего или вытекающего тока не должно превышать значение 40 мА, а общий ток контактов должен быть не более 200 мА.
На плате имеются 4 светодиода, которые показывают состояние сигнала. Они обозначены как TX, RX, PWR и L. На первых двух светодиод загорается, когда уровень сигнала низкий, и показывает, что сигнал TX или RX активен. Светодиод PWR загорается при напряжении в 5 В и показывает, что подключено питание. Последний светодиод – общего назначения, загорается, когда подается высокий сигнал.
На настоящий момент выпускается несколько видов Arduino Nano. Есть версии 2.X, 3.0., которые отличаются только чипом, на котором они работают. В версии 2.Х. используется чип ATmega168 с меньшим объемом памяти (флэш, энергонезависимой) и пониженной тактовой частотой, версия 3.0. работает на чипе ATmega328.
Где купить Arduino Nano
Традиционно самые низкие цены предлагают зарубежные интернет-магазины. В России цены почти всегда будут выше на 20-200 процентов, но не придется ждать заказа около месяца.
Приведем ссылки на надежных поставщиков Aliexpress:
Распиновка Arduino Nano
Плата Ардуино Нано имеет 14 цифровых контактов, которые помечаются буквой D (цифровой, digital). Контакты используются как входы и выходы, у каждого имеется подтягивающий резистор.
Аналоговые пины обозначаются буквой А и используются как входы. У них отсутствую подтягивающие резисторы, они измеряют поданное на них напряжение и возвращают значение при помощи функции analogRead().
На некоторых цифровых пинах можно увидеть значок
. Такие контакты можно использовать в качестве выходов ШИМ. Ардуино нано оснащена шестью такими контактами – это пины D3, D5, D6, D9, D10, D11. Для работы с ШИМ выводами используется функция analogWrite().
Описание пинов Ардуино Нано
Пробежимся по пинам:
Микроконтроллеры обладают большими функциональными возможностями, но у них есть один недостаток – это ограниченное, по сраyвению с Arduino Mega, число выводов. Поэтому на этапе составления схемы устройства следует продумать, каким образом можно максимально упростить проект, чтобы сократить число нужных для подключения контактов.
Подключение Arduino Nano
Подключение платы Arduino Nano к компьютеру не представляет особого труда – оно аналогично обычной плате Uno. Единственная сложность может возникнуть при работе с платой на базе чипа ATMEGA 168 – в настройках нужно выбрать сперва плату Nano, а затем нужный вариант процессора.
Установка драйвера для CH340
Микросхема CH340 часто используется в платах Ардуино со встроенным USB-to-Serial преобразователем. Она позволяет уменьшить затраты на производство плат, не влияя на ее работоспособность. При помощи этого программатора можно легко прошивать платы Ардуино. Для того, чтобы начать работать с этой микросхемой, нужно установить драйвер на компьютер.
Установка выполняется в несколько этапов:
Настройка Arduino IDE
Стандартная среда разработки Arduino IDE используется для работы всех видов Ардуино с компьютером. Чтобы начать работу, нужно сначала скачать Arduino IDE с официального сайта и установить ее. Удобнее скачивать Windows Installer, особенно если среда разработки будет установлена на постоянном рабочем компьютере. Если скачан архив, то его нужно распаковать и запустить файл Arduino.exe.
Как только среда установлена, нужно ее запустить. Для этого нужно подключить к компьютеру саму плату Ардуино через USB. Затем перейти в меню Пуск >> Панель управления >> Диспетчер устройств, найти там Порты COM и LPT. В списке появится установленная плата и указан номер порта, к которому подключается плата.
После этого нужно запустить Arduino IDE, перейти в меню Инструменты >> Порт, и указать порт, к которому присоединена Ардуино. В меня Инструменты>> Платы нужно выбрать модель подключенной платы, в данном случае Arduino Nano. Если у вас плата Nano версии 2.0, то вам нужно также выбрать вариант процессора в соответствующем меню.
Важно помнить, что если к компьютеру будет подключаться другая плата, настройки снова нужно будет поменять на соответствующее устройство.
Примеры проектов с Arduino Nano
Проектов с использованием платы Нано существует огромное количество. По идее, в любой проект для Arduino Uno можно совершенно спокойно внести плату Nano и не придется менять современно ничего в коде. Именно поэтому часто после отладки проекта на “большом и удобном” Uno схему переделывают под нано и используют в рабочем варианте “уменьшенный” контроллер, который легче сделать миниатюрным.
Подключение светодиодов к Arduino Nano
В качестве тестовой программы, проверяющей работу платы, можно использовать мигание светодиодом. На плате имеется встроенный светодиод L, с которым обычно выполняются первые проекты. Но можно подключить и внешний светодиод к выходу D13. Мы, конечно, не забываем, что светодиод обязательно подключать через резистор, чтобы не сжечь его и не повредить плату. Анод светодиода подключается к резистору, который присоединяется к выходу D13. Катод светодиода – к земле. Вот пример схемы:
В Arduino IDE есть пример, который включает мигание светодиода. Для этого нужно перейти в меню Файл>>Образцы>>1. Basics>> Blink и загрузить пример. После выгрузки пода Ардуино будет выполнять программу, мигая светодиодом раз в секунду.
Подключение LCD 1602 к Arduino Nano
Экран LCD 1602 достаточно распространенный, для него существует разнообразные виды шилдов, но также его можно подключить напрямую к Ардуино. Для подключения дисплея к плате нужны Arduino Nano, макетная плата, экран LCD 1602 и соединительные провода.
Выбор пинов, к которым нужно подключать дисплей, может быть любым. Для примера будет выбрана такая конфигурация: контакт RW с дисплея подключается к земле, 4й контакт дисплея – к А0 на Ардуино, 6-й контакт – к Е (Enable), с 11-го по 14-й подключаются к D4-D7. Экран подключен. Для того, чтобы началь писать код, нужно подключить библиотеку LiquidCrystal. В ней также имеется тестовый скетч, который позволит проверить работоспособность установки. Код находится по адресу Arduino\libraries\LiquidCrystal\examples\HelloWorld\HelloWorld.ino, в скетче нужно только поменять номера контактов, к которым подключен экран. Если все подключено правильно, на мониторе загорится надпись.
Подключение nrf24l01 к Arduino Nano
Радиомодуль nrf24l01 используется в случаях, когда нужно получать данные от датчиков, которые расположены на удалении от управляющего устройства. Модуль прост в использовании и легко подключается к Ардуино.
Подключение к Ардуино Нано изображено на рисунке. Земля с платы соединяется с землей модуля, напряжение – на 3,3В, 3й контакт (CE) – к D9, с 4 по 7й – к D10-D12. Для 3го контакта и 4-го можно использовать любые пины, главное указать это потом в коде.
К радиомодулю может быть также припаян конденсатор между выходами земля и питание, который позволит уменьшить шумы, и сделает работу устройства более стабильной.
Для работы с модулем существует несколько библиотек. Наиболее распространенные библиотеки – это RF24 и Mirf. Выбор той или иной библиотеки определяется удобством использования.
Обзор популярных шилдов для Arduino Nano
Платы расширения (или arduino shield, шилд) используются для решения различных задач и упрощения проектов. На плате расширения устанавливаются все нужные электронные компоненты, а взаимодействие с другими контроллерами осуществляется через стандартные контакты Ардуино.
Nano Uno shield – это шилд, который позволяет превратить плату Нано в Уно. Платформа имеет различные колодки для подключения, кнопку перезагрузки и гнездо питания.
Arduino Nano Ethernet Shield – используется для обеспечения работы с сетью через Ethernet. Аналогичен такому же шилду для Arduino Uno, но имеет меньшие размеры и гораздо удобнее в реальных проектах.
Arduino Nano Motor Shield – шилд, который используется в робототехнических проектах для подключения моторов и двигателей к плате Ардуино. Его основная задача – обеспечение управления устройствами, которые потребляют большой (по сравнению с Ардуино) ток. Также с помощью шилда можно управлять мощностью мотора и менять его направление вращения. Моделей плат Motor Shield существует множество, у всех имеется в схеме мощный транзистор, теплоотводящие компоненты, схемы для подключения внешнего источника напряжения и разъемы ля подключения двигателей.
Arduino Nano Sensor Shield – самая распространенная платформа. Шилд прост – основной его задачей является обеспечение удобного подключения к плате Ардуино других устройств. На шилде расположены дополнительные разъемы питания и земли, разъемы для подключения внешнего источника напряжения, светодиод и кнопка перезагрузки.
Arduino Data Logging Shield – шилд, который позволяет писать лог данных с датчиков. Также он используется как файловое хранилище или часы реального времени. Для работы с шилдом существует специальная библиотека, которая позволяет логировать информацию на карту памяти.
Arduino Proto Shield – платформа для быстрого прототипирования или создания своего шилда. На этих платах расположены площадки для монтажа нужных компонентов, выведена кнопка сброса, 2 светодиода и разъем для внешнего питания. С их помощью можно повысить компактность устройства.
Итоги
Контроллеры Arduino Nano активно используются в самых разнообразных DIY проектах. Использование миниатюрного контроллера позволяет создавать устройства в небольшом форм-факторе, что является важным для проектов в области автоматизации и робототехники. Эта плата довольно компактная, удобная и обладает всеми возможностями “большой Uno”. Можно рекомендовать ее к использованию даже начинающим ардуинщикам.
Arduino.ru
Arduino Nano
Общие сведения
Платформа Nano, построенная на микроконтроллере ATmega328 (Arduino Nano 3.0) или ATmega168 (Arduino Nano 2.x), имеет небольшие размеры и может использоваться в лабораторных работах. Она имеет схожую с Arduino Duemilanove функциональность, однако отличается сборкой. Отличие заключается в отсутствии силового разъема постоянного тока и работе через кабель Mini-B USB. Nano разработана и продается компанией Gravitech.
Принципиальные схемы и исходные данные
Arduino Nano 3.0 (ATmega328): схемы и файлы Eagle.
Arduino Nano 2.3 (ATmega168): руководство (pdf) и файлы Eagle. Примечание: т.к. свободная версия файлов Eagle не позволяет работать более чем с двумя слоями, а данная версия схем Nano содержит четыре слоя, то схемы публикуются не трассированными.
Краткие характеристики
Питание:
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.
Входы и Выходы
Каждый из 14 цифровых выводов Nano, используя функции pinMode(), digitalWrite(), и digitalRead(), может настраиваться как вход или выход. Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:
На платформе Nano установлены 8 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством функции analogReference(). Некоторые выводы имеют дополнительные функции:
Дополнительная пара выводов платформы:
Связь
На платформе 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). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.