Arduino Nano 33 IoT: распиновка, схема подключения и программирование

Arduino Nano 33 IoT — компактная платформа для разработки с 32-битным микроконтроллером Microchip ATSAMD21G18, беспроводным модулем U-blox NINA-W102 и IMU-сенсором на 6 степеней свободы.

Подключение и настройка

Шаг 1

Скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.

Шаг 2

По умолчанию среда Arduino IDE настроена только на AVR-платы. Для работы с платформой Arduino Nano 33 IoT — добавьте в менеджере плат поддержку платформ на ядре ARM Cortex-M0+.

Элементы платы

Микроконтроллер ATSAMD21G18

Мозгом платформы Arduino MKR Wi-Fi 1010 является 32-разрядный микроконтроллер фирмы Microchip (Atmel) — ATSAMD21G18 с вычислительном ядром ARM Cortex® M0.

Благодаря использованию 32-разрядного ядра ARM, Arduino Nano IoT во многом превосходит типичные платы на базе 8-разрядных микроконтроллеров. Наиболее существенные отличия заключаются в следующем:

  • 32-битное ядро позволяет обрабатывать четырёх-байтовые данные всего за один такт.
  • Тактовая частота – 48 МГц.
  • Объем памяти программ Flash – 256 КБ.
  • Объем оперативной памяти SRAM – 32 КБ.
  • Наличие DMA-контроллера позволяет разгрузить центральный процессор, выполняя ресурсоёмкие операции с памятью.

Беспроводной модуль NINA-W102

За беспроводную связь отвечает модуль U-blox NINA-W102 со встроенным чипом ESP32 для обмена данными по воздуху в диапазоне 2,4 ГГц по Wi-Fi и Bluetooth. Регулировка выходной мощности обеспечивает оптимальное соотношение между дальностью связи, скоростью передачи данных и энергопотреблением.

IMU-сенсор

IMU-сенсор на 6 степеней свободы включает в себя акселерометр и компас. Сборка выполнена на чипе LSM6DS3 по технологии (англ. System-in-Package — система в корпусе), где акселерометр и гироскоп лежат методом бутерброда в пластиковом корпусе.

Крипто-чип ATECC608A

Криптографический сопроцессор Microchip ATECC608A интегрирует протокол безопасности ECDH (Elliptic Curve Diffie Hellman) в сверхзащищенный метод, обеспечивающий согласование ключей для шифрования / дешифрования, наряду с ECDSA (алгоритм цифровой подписи эллиптической кривой) для проверки подлинности с подписью для Интернета вещей (IoT), включая домашнюю автоматизацию, промышленные сети, медицинские услуги, аутентификацию аксессуаров и расходных материалов.

USB порт

Разъём micro-USB предназначен для прошивки платформы Arduino Nano Every с помощью компьютера.

Светодиодная индикация

Имя светодиода Назначение
ON Информационный индикатор питания
L Пользовательский светодиод на 13 пине микроконтроллера. Используйте определение LED_BUILTIN для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается.

Понижающий регулятор 3V3

Импульсный понижающий регулятор напряжения MPM3610 обеспечивает питание микроконтроллера ATSAMD21G18 и другой логики платформы при подключении платформы через пин Vin. Диапазон входного напряжения от 5 до 18 вольт. Выходное напряжение 3,3 В с максимальным выходным током 1,2 А.

Кнопка RESET

Пользовательская кнопка с двумя полезными функциями:

  • Один клик (Single Сlick): служит для сброса микроконтроллера.
  • Двойной клик (Double Click): переводит микроконтролер в BOOT-режим, который пригодиться при зависании платы или дургих сбоев в программе.

Распиновка

Пины питания

  • VIN Пин для подключения внешнего источника напряжения в диапазоне от 5 до 18 вольт.
  • 5V: Для обратной совместимости с проектами на Arduino Nano пин 5V оставили на месте, но на плате отсутствует стабилизатор напряжения на 5 вольт и пин висит в воздухе. Чтобы получить активную линию питания на 5 вольт, вам понадобится спаять перемычку для площадок VUSB и подвести внешнее питание 5 вольт через USB-порт.
  • 3V3 Пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 1,2 А. Регулятор обеспечивает питание микроконтроллера ATSAMD21G18, беспроводного модуля NINA W-102 и другой вспомогательной логики платы.
  • AREF: Пин для подключения внешнего опорного напряжения АЦП относительно которого происходят аналоговые измерения при использовании функции analogReference() с параметром «EXTERNAL».
  • GND Выводы земли.

Порты ввода/вывода

В отличии от большинство плат Arduino, родным напряжением Arduino Nano 33 IoT является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Большее напряжение может повредить микроконтроллер!

Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений.

  • Цифровые входы/выходы 22 пина: 021
    Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 20 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
  • ШИМ 12 пинов: 3,5, 6, 912, 14, 16, 17 и 19
    Позволяет выводить аналоговые значения в виде ШИМ-сигнала. По умолчанию разрядность «ШИМ» установлена в 8 бит. Изменить разрядность «ШИМ» можно с помощью функции analogWriteResolution().
  • АЦП 8 пинов: A0A7
    Позволяет представить аналоговое напряжение в виде цифровом виде. По умолчанию разрядность «АЦП» установлена в 10 бит. Изменить разрядность «АЦП» можно с помощью функции analogReadResolution(). Диапазон входного напряжения от 0 до 3,3 В. При подаче большего напряжения микроконтроллер может выйти из строя.
  • ЦАП: пин DAC/A0
    Аналоговый выход цифро-аналогового преобразователя, который позволяет формировать 10-битные уровни напряжения. Вывод может использоваться для создания аудио-выхода — для этого используйте библиотеку AudioZero.
  • TWI/I²C пины SDA/18 и SCL/19
    Для общения с периферией по интерфейсу «I²C». Для работы используйте библиотеку Wire.
  • SPI: пины MOSI/11, MISO/12 и SCK/13
    Для общения с периферией по интерфейсу «SPI». Для работы — используйте библиотеку SPI.
  • UART/Serial:
    Платформа поддерживает несколько последовательных интерфейсов. Для работы — используйте методы библиотеки Serial.
    • SerialUSB пины: D−/31/C33 и D+/32/C34
      Выводы шины соединены с USB-разъёмом платы. Используется для прошивки и отладки платформы через ПК.
    • Serial1 пины: RX/0/C38 и TX/1/C37
      Для коммуникации платы Arduino с другими платами расширения и сенсорами по последовательному интерфейсу.
    • Serial2 пины: RX/30/C22 и TX/29/C21
      Используется для общение с беспроводным модем NINA-W102.

Принципиальная и монтажная схемы

Габаритный чертёж

Характеристики

Общие

  • Чипы: SAMD21, NINA-W102 и LSM6DS3
  • Порты ввода-вывода: 22
  • Напряжение логических уровней: 3,3 В
  • Пины с АЦП: 8
  • Разрядность АЦП: 8/10/12 бит (по умолчанию 10 бит)
  • Пины с ШИМ: 12
  • Разрядность ШИМ: 8/10/12 бит (по умолчанию 8 бит)
  • Пины с ЦАП: 1
  • Разрядность ЦАП: 10 бит
  • Аппаратные интерфейсы SPI: 1
  • Аппаратные интерфейсы I²C: 1
  • Аппаратные интерфейсы UART: 1
  • Максимальный ток с пина или на пин: 20 мА
  • Максимальный выходной ток пина 3V3: 1,2 A
  • Входное напряжение через пин Vin: 5–18 В
  • Габариты платы: 45×18 мм

Микроконтроллер Microchip ATSAMD21G18

  • Ядро: ARM Cortex M0+ (32 бита)
  • Тактовая частота: 48 МГц
  • Flash-память: 256 КБ
  • SRAM-память: 32 КБ

Беспроводной модуль NINA-W102

  • Микроконтроллер: Tensilica Xtensa LX6
  • Flash-память: 2 МБ
  • ROM-память: 448 КБ
  • SRAM-память: 520 КБ
  • Тактовая частота: до 240 МГц
  • Частотный диапазон связи: 2,4 ГГц
  • Стандарт Wi-Fi: 802.11b/g/n
  • Стандарт Bluetooth: BLE v4.2 BR/EDR
  • Интерфейс связи с микроконтроллером: SPI/UART

IMU-сенсор STM LSM6DSM

  • Частота обновления 3-осевого акселерометра: 1,6–6664 Гц
  • Диапазон измерения ускорения: ±2/±4/±8/±16g
  • Частота обновления 3-осевого гироскопа: 12,5–6664 Гц
  • Диапазон измерения поворота: ±125/±250/±500/±1000/±2000 град./с\
  • Интерфейс связи с микроконтроллером: I²C
  • Адрес: 0x6A

Ресурсы