====== Arduino Nano Every: распиновка, схема подключения и программирование ======
[[amp>product/arduino-nano-every?utm_source=man&utm_campaign=arduino-nano-every&utm_medium=wiki|Arduino Nano Every]] — компактная платформа для разработки с 8-битным микроконтроллером ATmega4809.
{{ :products:arduino-nano-every:arduino-nano-every.4.jpg?nolink |}}
===== Подключение и настройка =====
==== Шаг 1 ====
[[articles:arduino-ide-install|Скачайте и установите]] на компьютер интегрированную среду разработки Arduino IDE.
==== Шаг 2 ====
По умолчанию среда программирования настроена только на AVR-платы. Для работы с платформой Arduino Nano Every — [[:articles:arduino-boards-manager#добавление_плат_arduino_семейства_megaavr|добавьте в менеджере плат поддержку платформ семейства megaAVR]].
==== Шаг 3 ====
Отключите [[#программная_эмуляция|программную эмуляцию]] с микроконтроллером ATmega328:
Инструменты
Registaers Emulation
None (ATMEGA4809){{ :products:arduino-nano-every:arduino-nano-every-software-emulation-off.png?nolink |}}
Плата готова, можно смело переходить к примерам работы.
===== Программная эмуляция =====
Платформа Arduino Nano Every с микроконтроллером ATmega4809 поддерживает программную эмуляцию для полной совместимости с платой предшественника Arduino Nano с микроконтроллером ATmega328.
* Включение совместимости:
Инструменты
Registaers Emulation
ATMEGA328{{ :products:arduino-nano-every:arduino-nano-every-software-emulation-on.png?nolink |}}
* Отключение совместимости:
Инструменты
Registaers Emulation
None (ATMEGA4809){{ :products:arduino-nano-every:arduino-nano-every-software-emulation-off.png?nolink |}}
Эмуляция будет полезна, только если одновременно выполнены следующие пункты:
- Ваш проект собран на базовой плате Arduino Nano.
- Вы решили перейти с платы Arduino Nano на плату Arduino Nano Every.
- В коде прошивки использованы не базовые функции языка C++, а именно регистры микроконтроллера ATmega328.
- Вам лень менять код.
Во всех остальных случаях рекомендуем **не включать** эмуляцию.
===== Элементы платы =====
{{ :products:arduino-nano-every:arduino-nano-every-annotation.png?nolink |}}
==== Микроконтроллер ATmega4809 ====
Сердцем платформы является 8-битный микроконтроллер семейства megaAVR — {{ :products:arduino-nano-every:atmega4809-datasheet.pdf |ATmega4809}} с тактовой частотой до 20 МГц. Контроллер предоставляет 48 КБ Flash-памяти для хранения прошивки, 6 КБ оперативной памяти SRAM и 256 байт энергонезависимой памяти EEPROM для хранения данных.
На плате Arduino Nano Every частота контроллера установлена на 16 МГц.
==== Микроконтроллер ATSAMD11D14A ====
Микроконтроллер {{ :products:arduino-nano-every:atsamd11d14a-datasheet.pdf |ATSAMD11D14A}}, с прошивкой USB-UART преобразователя, обеспечивает связь контроллера [[#микроконтроллер_atmega4809|ATmega4809]] с USB-портом компьютера. При подключении к ПК Arduino Nano Every определяется как виртуальный COM-порт.
==== USB порт ====
Разъём micro-USB предназначен для прошивки платформы Arduino Nano Every с помощью компьютера.
==== Светодиодная индикация ====
^ Имя светодиода ^ Назначение ^
| ON |Информационный индикатор питания|
| RX и TX |Мигают при обмене данными между Arduino и ПК|
| L | Пользовательский светодиод на ''13'' пине микроконтроллера. Используйте определение ''LED_BUILTIN'' для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается.|
==== Понижающий регулятор 5V ====
Импульсный понижающий регулятор напряжения {{ :products:arduino-nano-every:mpm3610-datasheet.pdf |MPM3610}} обеспечивает питание микроконтроллера [[#микроконтроллер_atmega4809|ATmega4809]] и другой логики платформы при подключении платформы через пин ''Vin''. Диапазон входного напряжения от 7 до 18 вольт. Выходное напряжение 5 В с максимальным выходным током 1,2 А.
==== Понижающий регулятор 3V3 ====
Линейный понижающий регулятор напряжения {{ :products:arduino-nano-every:ap2112k-3.3-datasheet.pdf |AP2112K-3.3}} обеспечивает питание микроконтроллера [[#микроконтроллер_atsamd11d14a|ATSAMD11D14A]]. На регулятор поступает напряжение с линии ''5V''. Выходное напряжение 3,3 В с максимальным выходным током 600 мА.
==== Кнопка RESET ====
Пользовательская кнопка с двумя полезными функциями:
* Один клик (Single Сlick): служит для сброса микроконтроллера.
* Двойной клик (Double Click): переводит микроконтролер в BOOT-режим, который пригодиться при зависании платы или дургих сбоев в программе.
===== Распиновка =====
{{ :products:arduino-nano-every:arduino-nano-every-pinout.png?nolink |}}
==== Пины питания ====
* **VIN** Пин для подключения внешнего источника напряжения в диапазоне от 5 до 18 вольт.
* **5V** Пин от стабилизатора напряжения с выходом 5 вольт и максимальных током 1,2 А. Регулятор обеспечивает питание микроконтроллера [[#микроконтроллер_atmega4809|ATmega4809]] и другой вспомогательной логики платы.
* **3V3** Пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 600 мА. Регулятор обеспечивает микроконтроллера [[#микроконтроллер_atsamd11d14a|ATSAMD11D14A]].
* **GND** Выводы земли.
==== Порты ввода/вывода ====
* **Цифровые входы/выходы** 22 пина: ''0''–''21''\\ Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 20 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
* **ШИМ** 5 пинов: ''3'', ''5'', ''6'', ''9'' и ''10''\\ Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ не меняется и установлена в 8 бит.
* **АЦП** 8 пинов: ''A0''–''A7''\\ Позволяет представить аналоговое напряжение в виде цифровом виде. Разрядность АЦП не меняется и установлена в 8 бит.
* **TWI/I²C** пины ''SDA/18'' и ''SCL/19''\\ Для общения с периферией по интерфейсу «I²C». Для работы используйте библиотеку [[https://www.arduino.cc/en/Reference/Wire|Wire]].
* **SPI** пины ''MOSI/11'', ''MISO/12'' и ''SCK/13''\\ Для общения с периферией по интерфейсу «SPI». Для работы — используйте библиотеку [[https://www.arduino.cc/en/Reference/Spi|SPI]].
* **UART/Serial**
* **Serial** пины: ''RX/26'' и ''TX/27''\\ Выводы шины соединены с соответствующими выводами микроконтроллера [[#микроконтроллер_atsamd11d14a|ATSAMD11D14A]] с прошивкой USB-UART преобразователя.
* **Serial1** пины: ''RX/0'' и ''TX/1''\\ Для коммуникации платы Arduino с другими [[amp>collection/boards?utm_source=man&utm_campaign=arduino-nano-every&utm_medium=wiki|платами расширения]] и [[amp>collection/sensors?utm_source=man&utm_campaign=arduino-nano-every&utm_medium=wiki|сенсорами]] по последовательному интерфейсу.
===== Принципиальная и монтажная схемы =====
{{:products:arduino-nano-every:arduino-nano-every-schematic.png?direct&390 |}}
{{ :products:arduino-nano-every:arduino-nano-every-layout-top.png?direct&280|}}
{{ :products:arduino-nano-every:arduino-nano-every-layout-bottom.png?direct&280|}}
===== Габаритный чертёж =====
{{ :products:arduino-nano-every:arduino-nano-every-mechanical-drawing.png?nolink |}}
===== Характеристики =====
==== Общие ====
* Чипы: ATmega4809, ATSAMD11D14A
* Пинов ввода-вывода всего: 22
* Напряжение логических уровней: 5 В
* Пины с АЦП: 8
* Разрядность АЦП: 10 бит
* Пины с ШИМ: 5
* Разрядность ШИМ: 8 бит
* Аппаратных интерфейсов SPI: 1
* Аппаратных интерфейсов I²C / TWI: 1
* Аппаратных интерфейсов UART / Serial: 1
* Максимальный ток с пина или на пин: 20 мА
* Максимальный выходной ток пина 5V: 1,2 A
* Максимальный выходной ток пина 3V3: 600 мA
* Входное напряжение через пин Vin: 7–18 В
* Габариты платы: 45×18 мм
==== Микроконтроллер ATmega4809 ====
* Чип: Microchip ATmega4809
* Ядро: 8-битный megaAVR
* Тактовая частота: 20 МГц (В Arduino настроен на 16 МГц)
* Flash-память: 48 КБ
* SRAM-память: 6 КБ
* EEPROM-память: 256 Б
===== Ресурсы =====
* [[amp>product/arduino-nano-every?utm_source=man&utm_campaign=arduino-nano-every&utm_medium=wiki|Arduino Nano Every]] в магазине.
* [[https://github.com/amperka/hardware-drawings/blob/master/arduino-nano-every.svg|Векторное изображение Arduino Nano Every]]
* {{ :products:arduino-nano-every:atmega4809-datasheet.pdf |Datasheet на микроконтроллер ATmega4809}}
* {{ :products:arduino-nano-every:atsamd11d14a-datasheet.pdf |Datasheet на микроконтроллер ATSAMD11D14A}}
* {{ :products:arduino-nano-every:mpm3610-datasheet.pdf |Datasheet на понижающий регулятор 5V MPM3610}}
* {{ :products:arduino-nano-every:ap2112k-3.3-datasheet.pdf |Datasheet на понижающий регулятор 3V3 AP2112K-3.3}}