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

Arduino Nano 33 BLE Sense — компактная платформа для разработки на чипе U-blox NINA-B306 с микроконтроллером Nordic nRF52840 и беспроводным модулем Bluetooth BLE.

На плате также распаян IMU-модуль на 9 степеней свободы, который содержит трёхосевые сенсоры: акселерометр, гироскоп и магнитометр. Приведённый сет модулей, позволяет создать на Arduino Nano BLE собственный фитнес-браслет, умные часы или другой мобильный проект с беспроводной связью по Bluetooth.

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

Шаг 1

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

Шаг 2

По умолчанию среда Arduino IDE настроена только на AVR-платы. Для работы с платформой Arduino Nano 33 BLE Sense — добавьте в менеджере плат поддержку платформ Mbed OS.

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

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

Arduino Nano 33 BLE выполнена на чипе U-blox NINA-B306, который включает в себя 32-битный микроконтроллер Nordic nRF52840 на архитектуре ARM Cortex-M4 с тактовой частотой 64 МГц, 1 МБ флеш-памяти и 256 КБ оперативной памяти. Чип NINA-B306 так же обеспечивает связь Bluetooth v5.0 в диапазоне 2,4 ГГц и поддерживает энергосберегающий протокол ArduinoBLE.

IMU-сенсор

IMU-сенсор на 9 степеней свободы включает в себя акселерометр, компас и магнитометр. Сборка выполнена на чипе LSM9DS1 по технологии SiP (англ. System-in-Package — система в корпусе), где акселерометр, гироскоп и магнитометр лежат методом бутерброда в пластиковом корпусе. Для примеров работы используйте ArduinoLSM9DS1.

Метеосенсор HTS221

Датчик HTS221 определяет температуру и относительную влажность воздуха в окружающем пространстве и выдаёт их значения в 16-битном формате. Для запуска примеров работы используйте библиотеку ArduinoHTS221.

Барометр LPS22HB

Датчик атмосферного давления LPS22HB служит альтиметром для носимого гаджета или барометром для метеостанции. Для запуска примеров работы используйте библиотеку ArduinoLPS22HB.

Сенсор APDS-9960

Датчик Avago APDS-9960 от Broadcom использует четыре фотодиода с ИК-излучателями для измерения расстояния и распознавания базовых жестов: взмаха руки влево или вправо, вверх-вниз и вперёд-назад. Также он умеет распознавать цвета через интенсивность каналов RGB и уровень освещённости. Для запуска примеров работы используйте библиотеку ArduinoAPDS9960.

Микрофон MP34DT05

Встроенный цифровой микрофон MP34DT05 пригодится для распознавания коротких голосовых команд или записи звука. Для запуска примеров работы используйте библиотеку PDM.

USB порт

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

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

Имя светодиода Назначение
ON Информационный индикатор питания.
L Пользовательский светодиод на 13 пине микроконтроллера. Используйте определение LED_BUILTIN для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается.
RGB Пользовательский RGB-светодиод с общим анодом. Катоды красного, зелёного и синего цвета выведены на 22, 23 и 24 пине микроконтроллера соответственно. Для удобства используйте встроенные в Arduino IDE определения LEDR, LEDG и LEDB для работы с RGB-светодиодом. При задании значения высокого уровня светодиоды выключается, при низком – включается.

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

Импульсный понижающий регулятор напряжения MPM3610 обеспечивает питание модуля U-blox NINA-B306 и другой логики платформы при подключении платформы через пин 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 А. Регулятор обеспечивает питание чипа U-blox NINA-B306 и другой вспомогательной логики платы.
  • GND Выводы земли.

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

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

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

  • Цифровые входы/выходы 22 пина: D0D21
    Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 15 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
  • ШИМ 22 пина: D0D21
    Позволяет выводить аналоговые значения в виде ШИМ-сигнала. По умолчанию разрядность «ШИМ» установлена в 8 бит. Изменить разрядность «ШИМ» можно с помощью функции analogWriteResolution().
  • АЦП 8 пинов: A0A7
    Позволяет представить аналоговое напряжение в виде цифровом виде. По умолчанию разрядность «АЦП» установлена в 10 бит. Изменить разрядность «АЦП» можно с помощью функции analogReadResolution(). Диапазон входного напряжения от 0 до 3,3 В. При подаче большего напряжения микроконтроллер может выйти из строя.
  • I²C:
    Для общения с периферией по интерфейсу «I²C». Для работы используйте библиотеку Wire.
    • I²C пины SDA/D18 и SCL/D19
      Для коммуникации платы Arduino с другими платами расширения и сенсорами по параллельному интерфейсу.
    • I²C1 пины SDA/D30 и SCL/D31
      Используется для общение с беспроводным модем U-blox NINA-B306.
  • SPI: пины MOSI/D11, MISO/D12 и SCK/D13
    Для общения с периферией по интерфейсу «SPI». Для работы — используйте библиотеку SPI.
  • UART/Serial:
    Платформа поддерживает несколько последовательных интерфейсов. Для работы — используйте методы библиотеки Serial.
    • Serial/SerialUSB пины: D−/D31/C55 и D+/D32/C54
      Выводы шины соединены с USB-разъёмом платы. Используется для прошивки и отладки платформы через ПК.
    • Serial1 пины: RX/D0/C38 и TX/D1/C37
      Для коммуникации платы Arduino с другими платами расширения и сенсорами по последовательному интерфейсу.

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

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

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

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

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

  • Микроконтроллер: Nordic nRF52840
  • Вычислительное ядро: ARM Cortex M4 (32 бита)
  • Тактовая частота: 64 МГц
  • Flash-память: 1 МБ
  • SRAM-память: 256 КБ
  • Частотный диапазон связи: 2,4 ГГц
  • Стандарт связи: Bluetooth v5.0 с поддержкой BLE

IMU-сенсор ST LSM9DS1

  • Диапазон измерения ускорения: ±2/±4/±8/±16g
  • Диапазон измерения поворота: ±245/±500/±2000 град./с
  • Диапазон измерения магнитной индукции: ±4/±8/±12/±16 Гс
  • Частота опроса акселерометра и гироскопа: 14,9–952 Гц
  • Частота опроса магнитометра: 0,625–80 Гц

Ресурсы