Arduino UNO Q: начало работы (характеристики, распиновка, примеры)

Компания Arduino была недавно приобретена Qualcomm, и вместе с этим они выпустили совершенно новую плату Arduino: Arduino UNO Q. Сохраняя тот же форм-фактор, что и предыдущие платы Arduino, она обладает уникальными, весьма впечатляющими характеристиками, которые могут вывести ваши IoT-проекты на новый уровень. На данный момент её главная особенность заключается в том, что она одновременно является микроконтроллером и микрокомпьютером (работающим под управлением Linux), и они могут легко обмениваться данными друг с другом, помимо других функций, которые мы упомянем в этой статье.

Arduino UNO Q — начало работы, характеристики, распиновка, примеры

Знакомство с Arduino UNO Q

Arduino UNO Q — это новейшая плата Arduino, которая объединяет микроконтроллер (STM32U585) и микрокомпьютер с поддержкой Linux (Qualcomm Dragonwing QRB2210 SoC), сохраняя при этом классический форм-фактор платы Arduino.

Arduino UNO Q Qualcomm — характеристики и обзор спецификаций

Qualcomm Dragonwing™ QRB2210:

  • Четырёхъядерный Arm® Cortex®-A53 @ 2.0 ГГц

  • Графический ускоритель Adreno GPU 3D

  • 2x ISP (13 МП + 13 МП или 25 МП) @ 30 кадров/с

STM32U585 Arm® Cortex®-M33 32-битный MCU:

  • Arm® Cortex®-M33 до 160 МГц

  • 2 МБ флеш-памяти

  • 786 КБ SRAM

  • Модуль вычислений с плавающей точкой (FPU)

Программирование платы Arduino UNO Q

Плата Arduino UNO Q может быть запрограммирована точно так же, как обычная Arduino UNO для управления её GPIO с помощью Arduino IDE, или вы можете использовать Arduino App Lab для работы как с микроконтроллером, так и с микрокомпьютером.

MCU программируется на C/C++, как вы обычно делаете для других плат Arduino, а для микрокомпьютера можно писать программы на Python.

Несмотря на то, что одной из интересных особенностей является возможность программировать и MPU, и MCU из одной IDE, вы по-прежнему можете сосредоточиться только на стороне Arduino или использовать только микрокомпьютер, как если бы вы работали с Raspberry Pi.

Arduino UNO Q Qualcomm QRB2210 микропроцессор STM32U585 микроконтроллер

Итак, когда речь идёт о программировании платы Arduino UNO Q, мы можем выбрать:

  • Классический Arduino: используя только MCU;

  • Интегрированный App Lab: единая среда: скетчи на C/C++ для Arduino + программы на Python для микрокомпьютера с Linux;

  • Автономный Linux: использование платы как Raspberry Pi с доступом к Linux OS напрямую через SSH или как автономный компьютер.

Связь между MCU и микрокомпьютером

Что действительно интересно — микроконтроллер и микрокомпьютер могут обмениваться данными друг с другом с помощью инструмента/библиотеки под названием Router Bridge.

Например, на стороне Arduino вы можете собирать данные с датчиков и управлять выходами, а затем передавать эту информацию для обработки более сложными программами на стороне микрокомпьютера. Например, запуск моделей ИИ, обработка изображений и аудио, или подключение к продвинутым веб-приложениям — и всё это при сохранении управления оборудованием через MCU STM32.

Arduino App Lab

Arduino App Lab — рекомендуемое программное обеспечение для программирования платы Arduino UNO Q.

Arduino App Lab

В Arduino App Lab вы пишете программы для Arduino на C/C++, как обычно, и можете писать и запускать программы на Python на стороне микрокомпьютера. Это универсальная среда разработки.

Ещё одна полезная функция и новинка здесь — это Bricks (Кирпичи). Это модульные строительные блоки, которые можно установить и добавить в ваши проекты для получения готовых к использованию функциональностей, таких как модели ИИ и другие более сложные возможности.

Итак, в Arduino App Lab мы можем иметь:

  • Arduino скетчи для MCU

  • Python скрипты для MPU

  • Bricks для вашего приложения

Режимы программирования

Когда речь идёт о программировании платы с помощью Arduino App Lab, она может быть запрограммирована в трёх различных режимах:

  • Подключение к ПК: программирование платы напрямую с компьютера через USB-кабель с использованием Arduino IDE или Arduino App Lab.

  • Автономный режим: запуск всего на самой плате как полноценного одноплатного компьютера с использованием предустановленного Arduino App Lab.

  • Беспроводной режим: подключение через Wi-Fi (или Bluetooth) для удалённого развёртывания и отладки кода с ПК или мобильного устройства через App Lab.

Использование как автономный компьютер

Как и Raspberry Pi, Arduino UNO Q может работать как автономный компьютер с Linux, если подключить клавиатуру, мышь и монитор, или вы можете использовать свой компьютер для отправки и выполнения команд в Терминале через SSH.

При использовании в качестве автономного компьютера вы можете использовать предустановленный Arduino App Lab для написания и запуска программ как для MCU, так и для микрокомпьютера.

Встроенная память и возможности подключения

Очень полезно то, что плата поставляется со встроенным хранилищем eMMC объёмом 16 ГБ или 32 ГБ, плюс 2 ГБ или 4 ГБ оперативной памяти LPDDR4, обеспечивая быстрый доступ к памяти и надёжное хранение данных для встраиваемых приложений.

Ещё одна очень важная функция для IoT-проектов — плата поддерживает Wi-Fi и Bluetooth.

Разъёмы расширения и коннекторы

Помимо классических GPIO-разъёмов (которые сохраняют совместимость с существующими шилдами), плата оснащена высокоскоростными разъёмами на задней стороне для подключения дисплеев, камер или аудиоустройств.

Arduino UNO Q Qualcomm QRB2210 STM32U585 — цифровые и PWM выводы

Плата также включает разъём Qwiic для plug-and-play интеграции со сторонними датчиками и исполнительными механизмами.

Arduino UNO Q Qualcomm — разъём QWIIC

Кроме того, на плате есть встроенная светодиодная матрица, которая может быть полезна для предоставления обратной связи пользователю.

Arduino UNO Q Qualcomm — светодиодная матрица, пример кода с логотипом

Распиновка Arduino UNO Q

UNO Q сохраняет знакомую компоновку классического UNO с 14 цифровыми I/O выводами (включая 6 PWM), 6 аналоговыми входами, выводами питания (3.3 В, 5 В, GND) и разъёмом ICSP, но добавляет выделенные высокоскоростные интерфейсы MIPI CSI/DSI для камер и дисплеев, а также разъём Qwiic I2C для удобного последовательного подключения датчиков.

Arduino UNO Q Qualcomm QRB2210 STM32U585 — аналоговые входы

Плата также оснащена четырьмя маленькими встроенными RGB-светодиодами, два из которых управляются MPU, а два других — MCU.

На следующем изображении представлен обзор распиновки Arduino UNO Q.

Распиновка Arduino UNO Q

Распиновка Arduino UNO Q (источник изображения)

Для получения более подробной информации рекомендуем ознакомиться с полным PDF-файлом распиновки Arduino UNO Q.


Тестирование платы Arduino UNO Q

Как мы упоминали ранее, существуют различные способы использования и программирования платы Arduino UNO Q. В этом разделе мы быстро протестируем микроконтроллер и микрокомпьютер с помощью Arduino App Lab на вашем компьютере, при этом плата также подключена к компьютеру через USB-C.

Для получения дополнительной информации и других способов управления и программирования платы (через SSH, сетевой режим или как автономный компьютер) вы можете ознакомиться с официальным руководством пользователя Arduino UNO Q.

Установка и запуск Arduino App Lab на компьютере

1) Перейдите по этой ссылке и скачайте Arduino App Lab на свой компьютер.

Скачивание Arduino App Lab

2) Запустите установочный файл.

3) Запустите Arduino App Lab.

4) Подключите плату Arduino UNO Q к компьютеру с помощью кабеля USB-C.

Arduino UNO Q Qualcomm — подключение кабелем USB-C

Если у вас есть сомнения относительно процедуры установки, вы можете ознакомиться с инструкциями в официальной документации.

5) Затем подождите немного, пока ваш компьютер и IDE распознают плату. После этого выберите опцию USB.

Arduino App Lab — подключение к плате Arduino

Заключение

Это был быстрый и простой обзор новейшей платы Arduino UNO Q. Для получения более подробной информации вы можете ознакомиться с официальной документацией.

Я считаю, что эта новая плата весьма полезна, и она открывает целый новый мир возможностей для IoT-приложений, которые сочетают простоту использования датчиков и периферийных устройств на микроконтроллере с более сложными моделями и приложениями, которые могут потребовать микрокомпьютер. Я думаю о таких вещах, как запуск моделей ИИ, сложные программы веб-серверов, создание собственной самостоятельно размещённой базы данных и многое другое.

Однако для новичков, которые только начинают знакомиться с IoT и микроконтроллерами, простая плата Arduino, ESP32 или Raspberry Pi Pico могут быть лучшим выбором, чтобы сначала понять, как работает микроконтроллер, прежде чем переходить к чему-то более сложному, как UNO Q. В качестве альтернативы они могут просто использовать только функциональность MCU платы и программировать её с помощью классической Arduino IDE — хотя я думаю, что это несколько избыточно для простых IoT-проектов и проектов автоматизации.

Что вы думаете об этой новой плате? Напишите нам в комментариях ниже.

Хотите начать работу с другими платами? У нас есть руководства по началу работы с ESP32, Raspberry Pi Pico, ESP8266 и Raspberry Pi: