Arduino nano with bluetooth

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

Arduino Nano 33 BLE — компактная платформа для разработки на чипе 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 — добавьте в менеджере плат поддержку платформ 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 по технологии (англ. System-in-Package — система в корпусе), где акселерометр, гироскоп и магнитометр лежат методом бутерброда в пластиковом корпусе. Для примеров работы используйте ArduinoLSM9DS1.

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

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

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

Читайте также:  Замена bluetooth модуля iphone x

Распиновка

Пины питания

5V: Для обратной совместимости с проектами на Arduino Nano пин 5V оставили на месте, но на плате отсутствует стабилизатор напряжения на 5 вольт и пин висит в воздухе. Чтобы получить активную линию питания на 5 вольт, вам понадобится спаять перемычку для площадок VUSB и подвести внешнее питание 5 вольт через USB-порт.

3V3 Пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 1,2 А. Регулятор обеспечивает питание чипа U-blox NINA-B306 и другой вспомогательной логики платы.

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

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

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

Цифровые входы/выходы 22 пина: D0 – D21
Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 15 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.

ШИМ 22 пина: D0 – D21
Позволяет выводить аналоговые значения в виде ШИМ-сигнала. По умолчанию разрядность «ШИМ» установлена в 8 бит. Изменить разрядность «ШИМ» можно с помощью функции analogWriteResolution().

АЦП 8 пинов: A0 – A7
Позволяет представить аналоговое напряжение в виде цифровом виде. По умолчанию разрядность «АЦП» установлена в 10 бит. Изменить разрядность «АЦП» можно с помощью функции analogReadResolution(). Диапазон входного напряжения от 0 до 3,3 В. При подаче большего напряжения микроконтроллер может выйти из строя.

I²C пины SDA/D18 и SCL/D19
Для коммуникации платы Arduino с другими платами расширения и сенсорами по параллельному интерфейсу.

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 с другими платами расширения и сенсорами по последовательному интерфейсу.

Источник

Arduino Nano RP2040 Connect: обзор «ардуинки» с Wi-Fi и BLE на борту

В середине мая мы писали о появлении новой платы от Arduino, которая получила название Arduino Nano RP2040 Connect. Ее основа — чип RP2040 от Raspberry. В знакомую компоновку Nano весьма аккуратно интегрирован модуль связи Wi-Fi Nina W102 uBlox, который обеспечивает работу 2,4 ГГц Wi-Fi, Bluetooth с низким энергопотреблением, плюс есть гироскоп (IMU), способный обнаруживать движения и жесты, и микрофон.

Нужна ли вашему проекту такая плата? Как всегда, это зависит от потребностей и бюджета. Если нужны только светодиоды и базовая функциональность без беспроводной связи, хватит возможностей Raspberry Pi Pico. Если проект имеет отношение к IoT, да еще нужен веб-интерфейс, то Arduino Nano RP2040 Connect как раз то, что нужно. Правда, с оговорками, о которых поговорим ниже.

Читайте также:  Приложения которые включают блютуз

Характеристики платы

ATECC608A-MAHDA-T Crypto IC

Circuit operating voltage

Board Power Supply (USB/VIN)

448 КБ ROM, 520 КБ SRAM, 16 МБ Flash

Дизайн и использование Arduino Nano RP2040 Connect

Что касается дизайна, то он базируется на Arduino Nano, включая Nano 33 IoT и Nano Every. У всех этих плат аналогичная распиновка, так что при необходимости более старые и менее функциональные системы можно заменять на Arduino Nano RP2040 Connect. Плату можно распаивать на другой плате.

Из 22 GPIO-пинов 20 можно использовать для ШИМ. У платы 8 аналоговых входов. Что касается I2C пинов, то это A4 и A5. Доступ к встроенному гироскопу реализуется как раз через l2C шину.

К сожалению, вместо USB-С, который постепенно становится стандартом, система оснащена micro-USB. Эта плата — одна из самых дорогих в модельном ряду систем с чипом RP2040, поэтому производители могли бы и оснастить ее USB-C без удорожания. Но, как видим, не оснастили.

Наиболее заметной возможностью Arduino Nano RP2040 Connect является беспроводная связь, о чем уже говорилось выше. Ее наличие обеспечивается чипом Nina W102 с 802.11 b/g/n 2.4 ГГц Wi-Fi и Bluetooth 4.2. Антенна расположена с противоположной стороны от USB-порта. Чип бесплатной связи представляет собой мощный микроконтроллер с 520 КБ SRAM и двухъядерным 240 МГц 32-битным процессором Xtensa LX6. На этой плате он отвечает лишь за связь.

Поскольку это Arduino, то выбор IDE прост — это Arduino IDE. Недавнее обновление, добавившее поддержку чипа RP2040, делает работу простой и приятной. Мы протестировали Arduino Nano RP2040 Connect с Arduino 1.8.15 и 2.0 beta 7 IDE и все заработало без проблем. Тест, конечно, проводился с модулем связи. Для получения доступа к WiFi понадобилось установить библиотеку WiFiNINA, а затем создать файл с данными доступа. Для теста запустили Simple Web Server WiFi, и он без проблем заработал. Правда, для управления платой через интерфейс нужно было изменить вывод GPIO, используемый по умолчанию, с 9 на «LED_BUILTIN».

Детали подключения должны были появиться во встроенном мониторе последовательного интерфейса (Serial monitor). К сожалению, поначалу с этим возникла проблема — постоянно появлялась ошибка с сообщением о том, что порт занят. Единственный способ решить проблему в этом случае — закрыть Arduino IDE и использовать иное решение. В итоге мы разобрались: оказалось, что проблема связана с нашей операционной системой Ubuntu 18.04, пришлось удалить modemmanager, чтобы увидеть последовательные данные порта.

Читайте также:  Bluetooth колонка remax rb m13

Также мы протестировали встроенный микрофон. И здесь возникла проблема — вместо визуализации звука при тесте система выдавала лишь одно значение — 128. Нигде не удалось найти никаких указаний по устранению этой проблемы.

Возникали и другие проблемы, включая работу с сервисом Arduino IoT Cloud, причем мы пытались изучать официальную документацию по плате, но она была далеко неполной. Это огромный недостаток, поскольку IoT Cloud — новый сервис, позволяющий создавать различные проекты интернета вещей, контролируя их через веб-интерфейс. Вероятно, разработчики постараются исправить недостатки, но пока порекомендуем использовать обычные IDE.

Вероятно, вы рассчитываете на возможность работы с другими языками программирования, раз уж это плата на основе RP2040? Все верно. Можно работать с CircuitPython и MicroPython, правда, потребуется создать собственные библиотеки для микрофона, гироскопа и WiFi. Проблема в разной распиновки. Так, контакт, который используется в IDE Arduino для вывода — это, скажем D2. В RP2040 это уже GPIO25. Другой пример — встроенный светодиод D13, который при работе с MicroPython оказался GPIO 6.

С CircuitPython все оказалось гораздо проще. Благодаря большому количество библиотек и в особенности библиотеке ESP32SPI нам удалось вывести Arduino Nano RP2040 Connect в онлайн и добиться получения данных от удаленного API.

Кстати, есть нюанс при прошивке платы. Для того, чтобы войти в режим прошивки нужно замкнуть между собой контакты REC и GND.

Юзкейсы для Arduino Nano RP2040 Connect

Наиболее очевидное применение платы — IoT-проекты. При помощи IoT Cloud есть возможность оперативно создавать приложения с графическим интерфейсом для снятия данных с удаленного устройства. Так, можно создать метеостанцию с помощью Arduino Nano RP2040 Connect и передавать данные в реальном времени в облако. А уже доступ к облаку можно получить с любого устройства, подключенного к Интернету.

Плату можно применить для удаленного управления роботизированной системой — как пример. И реализовать это вовсе не сложно.

Но и без IoT Cloud кейсов достаточно много. Даже с традиционной IDE и новыми библиотеками для HTTP, MQTT и Bluetooth без проблем можно работать с телеуправляемыми роботами, IoT-устройствами и т.п.

В сухом остатке

Здесь главное, вероятно — цена, которая составляет 22 евро. Если нужен WiFi и чип RP2040, значит, Arduino Nano RP2040 Connect вполне подходит. Стоит учитывать, что это, в целом, неплохая плата, но она дороже любого другого решения на основе того же чипа, включая Raspberry Pi Pico и Pimoroni Pico Wireless. Существенный недостаток — недоработанная документация, которая не соответствует стандартам Arduino.

Если бы не этот фактор, то плату можно было бы рекомендовать в качестве универсального решения. Есть и альтернатива — Seeed RP2040, у которой тоже есть WiFi, и которая, как ожидается, будет в два раза дешевле Arduino Nano RP2040 Connect.

Источник

Оцените статью
Adblock
detector