Arduino Nano: распиновка, схема подключения и программирование
Плата Arduino Nano — аналог флагманской Uno в миниатюрном размере. На ней предусмотрено всё необходимое для удобной работы с микроконтроллером: 14 цифровых входов/выходов (6 из них могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, кварцевый резонатор на 16 МГц, разъём Mini-USB, разъём питания, разъём для внутрисхемного программирования (ICSP) и кнопка сброса.
Видеообзор
Подключение и настройка
Для запуска платформы скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.
При выборе платформы выбирайте Arduino Nano.
Если всё получилось — можете смело переходить к экспериментам.
Элементы платы
Микроконтроллер ATmega328P
Сердцем платформы Arduino Nano является 8-битный микроконтроллер семейства AVR — ATmega328P с тактовой частотой 16 МГц. Контроллер предоставляет 32 КБ Flash-памяти для хранения прошивки, 2 КБ оперативной памяти SRAM и 1 КБ энергонезависимой памяти EEPROM для хранения данных.
Микросхема FT232R
Микросхема FTDI FT232R обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера. При подключении к компьютеру Nano определяется как виртуальный COM-порт.
USB-UART преобразователь общается с микроконтроллером ATmega328P по интерфейсу UART через пины 0(RX) и 1(TX) . Рекомендуем не использовать эти контакты в своём проекте.
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
RX и TX | Мигают при обмене данными между Arduino Nano и ПК. |
L | Пользовательский светодиод подключённый к 13 пину микроконтроллера. При высоком уровне светодиод включается, при низком – выключается. |
ON | Наличие питания на Arduino Nano. |
Разъём Mini-USB
Разъём Mini-USB предназначен для прошивки платформы с помощью компьютера.
Регулятор напряжения 5 В
Линейный понижающий регулятор напряжения LM1117MPX-5.0 с выходом 5 вольт обеспечивает питание микроконтроллера ATmega328P и другой логики платформы. Максимальный выходной ток составляет 800 мА.
ICSP-разъём для ATmega328
ICSP-разъём предназначен для загрузки прошивки в микроконтроллер ATmega328 через программатор.
Также через контакты ICSP Nano общается с платами расширения по интерфейсу SPI.
Arduino Uno: распиновка, схема подключения и программирование
Arduino Uno — флагманская платформа для разработки на языке программирования С++.
Uno выполнена на микроконтроллере ATmega328P с тактовой частотой 16 МГц. На плате предусмотрены 20 портов входа-выхода для подключения внешних устройств, например плат расширения или датчиков.
Видеообзор
Подключение и настройка
Шаг 1
Подключите плату к компьютеру по USB. Для коммуникации используйте кабель USB (A — B).
Шаг 2
Установите и настройте интегрированную среду разработки Arduino IDE.
Что-то пошло не так?
Пример работы
В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка. На плате уже есть встроенный пользовательский светодиод L , подключенный к 13 пину микроконтроллера.
После загрузки программы встроенный светодиод L начнёт мигать раз в секунду.
Это значит, всё получилось, и можно смело переходить к другим экспериментам на Ардуино.
Элементы платы
Микроконтроллер ATmega328P
Сердцем платформы Arduino Uno является 8-битный микроконтроллер фирмы Microchip — ATmega328P на архитектуре AVR с тактовой частотой 16 МГц. Контроллер обладает тремя видами памяти:
Микроконтроллер ATmega16U2
Микроконтроллер ATmega328P не содержит USB интерфейса, поэтому для прошивки и коммуникации с ПК на плате присутствует дополнительный микроконтроллер ATmega16U2 с прошивкой USB-UART преобразователя. При подключении к ПК Arduino Uno определяется как виртуальный COM-порт.
Микроконтроллер ATmega328P общается с ПК через сопроцессор ATmega16U2 по интерфейсу UART используя сигналы RX и TX , которые параллельно выведены на контакты 0 и 1 платы Uno. Во время прошивки и отладки программы, не используйте эти пины в своём проекте.
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
ON | Индикатор питания платформы. |
L | Пользовательский светодиод на 13 пине микроконтроллера. Используйте определение LED_BUILTIN для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается. |
RX и TX | Мигают при прошивке и обмене данными между Uno и компьютером. А также при использовании пинов 0 и 1 . |
Порт USB Type-B
Разъём USB Type-B предназначен для прошивки и питания платформы Arduino. Для подключения к ПК понадобится кабель USB (A — B).
Разъём питания DC
Коннектор DC Barrel Jack для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт.
Понижающий регулятор 5V
Понижающий линейный преобразователь NCP1117ST50T3G обеспечивает питание микроконтроллера и другой логики платы при подключении питания через разъём питания DC или пин Vin. Диапазон входного напряжения от 7 до 12 вольт. Выходное напряжение 5 В с максимальным выходным током 1 А.
Понижающий регулятор 3V3
Понижающий линейный преобразователь LP2985-33DBVR обеспечивает напряжение на пине 3V3 . Регулятор принимает входное напряжение от линии 5 вольт и выдаёт напряжение 3,3 В с максимальным выходным током 150 мА.
Кнопка сброса
Кнопка предназначена для ручного сброса прошивки — аналог кнопки RESET обычного компьютера.
ICSP-разъём ATmega328P
ICSP-разъём выполняет две полезные функции:
ICSP-разъём ATmega16U2
ICSP-разъём предназначен для программирования микроконтроллера ATmega16U2. А подробности распиновки читайте в соответствующем разделе.
Распиновка плат Arduino UNO и NANO
Приведены схемы плат Ардуино UNO и Ардуино NANO, указано назначение каждого вывода на плате. Также дана распиновка микроконтроллера Atmega328, расположенного на этих платах
Распиновка платы ардуино UNO
На плате UNO расположено 14 цифровых входов/выходов и 6 аналоговых входов, USB-разъем, разъем для подключения блока питания на 7-12 В, разъем ICSP, а также кнопка перезагрузки.
Здесь можно скачать схему платы .
Расшифровка цветового обозначения:
Здесь возле платы ардуино обозначено разными цветами:
— серый цвет — физический пин микроконтроллера Atmega328;
— желтый цвет — номер порта, который управляется из программы;
— розовый цвет — номер выхода, который написан на самой плате;
— далее разным цветом указаны различные назначения портов;
Назначение и обозначения выводов:
VIN — питание от внешнего источника питания на 7-12 В (блок питания покупается отдельно, если он нужен).
USB — ардуионо можно подключать к компьютеру через USB-кабель (используется такой же кабель, как для подключения принтеров).
5V — через этот пин можно запитывать плату от источника питания на 5V, однако напряжение должно быть более-менее стабильным, поскольку оно подается непосредственно на микроконтроллер (минуя стабилизатор), и резкий скачек напряжения может вывести МК из строя.
3.3V — на этом пине будет висеть напряжение 3.3 В, которое формируется от внутреннего стабилизатора платы. Этот пин нужен для подключения некоторых внешних устройств, которым нужно именно 3.3 В, например некоторые ЖК-дисплеи. Однако максимальный ток вывода не должны превышать 50 мА.
AREF — опорное напряжение для аналоговых входов. Используется по необходимости, что указывается в функции analogReference().
IOREF — через этот вывод можно узнать рабочее напряжение микроконтроллера. Редко используется. На китайских платах этого вывода нет вовсе.
Reset — сброс микроконтроллера. Для сброса нужно подать низкий уровень на этот вход.
SDA, SCL — пины интерфейса TWI/I2C.
0. 13 — цифровые входы/выходы.
13 — вывод под номером 13 имеет одну особенность, на нем висит встроенный светодиод, который можно включить подав HIGH на этот вывод.
0 (RX), 1 (TX) — выводы порта UART (это тот же последовательный интерфейс Serial).
A1. A5 — аналоговые входы (но могут используется и в качестве цифровых)
Купить плату Arduino UNO по низкой цене можно по этой ссылке.
Распиновка платы Ардуино Нaно (Arduino Nano Rev3.2) + схема
Схема платы Arduino Nano с нумерацией всех пинов (выводов) с указанием соответствия выводам микроконтроллера Atmega328. Скачать принципиальную схему Arduino Nano.
Arduino Nano — младший брат ардуины UNO, который отличается более компактными размерами, более низкой ценой , несколько урезанным количеством выводов и разъемов, но обладающий практически тем же функционалом, что и UNO, поскольку на обоих платах стоит один и тот же микроконтроллер Atmega328.
(замечание: в старых версиях Arduino Nano 2.x использовался МК ATmega168).
Распиновка платы Arduino Nano
На рисунке указаны номера и назначения выводов Arduino Nano (вид со стороны, на которой расположен микроконтроллер Atmega328):
Расшифровка цвета:
— серый цвет — физический пин микроконтроллера Atmega328;
— светло серый цвет (PD0, PD1 и т.д.) — номер порта микроконтроллера, который доступен из программ на ассемблере;
— зеленый цвет (ADC0 и т.д.) — номера аналогивых выводов;
— голубой цвет — пины портов UART и SPI.
Назначение и обозначения выводов:
USB — USB-порт, предназначенный для подключения ардуины к компьютеру через USB-кабель (нужен Mini-B USB разъем).
VIN — сюда может подается питание от внешнего источника питания на 7-12 В (блок питания покупается отдельно). Напряжение будет подаваться на стабилизатор и понижаться до 5 В. Поэтому оптимально подавать на этот пин около 9 В.
5V — через этот пин также можно запитывать плату от источника питания на 5 вольт, однако напряжение должно быть более-менее стабильным, поскольку оно подается непосредственно на микроконтроллер (стабилизатор не задействован), и поэтому высокое напряжение может убить основной микроконтроллер.
3.3V — на этом пине будет висеть напряжение 3.3 В, которое формируется от внутреннего стабилизатора платы. Этот пин нужен для подключения некоторых внешних устройств, которым для работы требуется 3.3 В — обычно это всякие ЖК-дисплеи. Однако максимальный ток вывода при этом не должны превышать 50 мА.
GND — земля (Ground Pin).
AREF — опорное напряжение для аналоговых входов. Используется по необходимости (настраивается с помощью analogReference()).
IOREF — позволяет узнать рабочее напряжение микроконтроллера. Используется редка. На китайских платах отсутствует вовсе.
Reset — выполняет сброс микроконтроллера, подать низкий уровень на этот вход.
SDA, SCL — пины интерфейса TWI/I2C.
D0. D13 — цифровые входы/выходы. На вывод D13 висит встроенный светодиод, который загорается, если на вывод D13 подан уровень HIGH.
0 (RX), 1 (TX) — выводы порта UART (последовательный порт Serial).
A1. A5 — аналоговые входы (могут использоваться и в качестве цифровых).
Внешний вид платы Arduino Nano с подписанными выводами:
RX+TX LEDs — светодиоды — моргают, когда передаются данные через последовательный порт Serial UART (пины RX и TX).
Reset Button — кнопка для перезапуска микроконтроллера;
(остальные обозначения смотри выше)
FTDI USB chip — микросхема FTDI FT323RL, которая используется для связи ардуины с компьютером через USB-кабель. Со стороны ардуины это serial-интерфейс. На компьютер этот интерфейс будет доступен в виде виртуального COM-порта (должны быть установлены драйвера для чипа FTDI — обычно входят в состав IDE Arduino).
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 мА. Некоторые выводы имеют особые функции:
- Последовательная шина: 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 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). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.