Arduino UNO Q 使い方完全ガイド:App Lab設定からAI画像認識まで詳しく紹介

Arduino UNO Qアイキャッチ

「Arduino UNO Q」の使用方法を、開発環境「Arduino App Lab」のインストールから初期設定、動作確認(Lチカ/AI画像認識)、トラブル時の初期化方法まで詳しく紹介します。

「Lチカ」から「AI」へ――プログラミング初心者の最初の一歩が、一気に進化します。
「Arduino UNO Q」は、フルLinuxで動き、従来の「Arduino UNO」との互換性を維持しながら、「AI」までこなせるまったく新しい「マイコン搭載のAI開発ボード」です。
見た目はUNOでも、GPU付きCPUと大容量メモリを搭載し、顔認証や画像分類などの「AI処理」をこれ単体で動かせます。
初心者でも手軽に試せる、最新のAI開発環境を最短ルートで体感してみましょう♪
スポンサーリンク

1.Arduino UNO Qとは

Arduino UNO Q」とは、電子工作を始めたばかりの方にも、ちょっとステップアップしてAIに挑戦したい方にもおすすめな次世代シングルボードコンピュータです。

これまでの「Arduino」は「マイコンで手軽に電子工作」が魅力でしたが、「UNO Q」は1枚のボードの中に、Linux OSが動く高性能プロセッサと、いつものArduinoスケッチを動かすマイコンの両方を搭載しています。

Linux」を搭載したクアッドコアMPU(2GHz)とGPU内蔵の「Qualcomm製 マイクロプロセッサ(MPU)DragonwingプラットフォームのQRB2210」により、画像処理やAI、エッジコンピューティングといった高度な処理が可能です。

一方で「Arduino Core(Zephyr OS)」を搭載した「STマイクロエレクトロニクス製 マイクロコントローラ(MCU)STM32U585」により、従来どおりの「Arduinoスケッチ」を実行でき、センサー制御やモーター制御などのリアルタイムな高速処理が可能です。

AIや画像処理などの高度な処理はLinux側センサーやGPIO(入出力)などの高速処理はマイコン側で処理し、これらの処理を1枚のボード上で連携させて利用できることが「UNO Q」の最大の魅力です。

動作確認には専用アプリの「Arduino App Lab」をパソコンにインストールして「UNO Q」ボードとUSBケーブルで接続して使用しますが、Wi-Fi経由の無線接続でも同様に使用することができます。

さらにRaspberry Pi」のようにモニタやキーボード、マウスを接続することで「UNO Q」単体をシングルボードコンピュータ(SBC)のLinuxマシンとして使用することもできます。

Arduino UNO Qシングルボードコンピュータモード
Arduino UNO Qシングルボードコンピュータモード
もちろんこの場合でも「Arduino App Lab」が最初からインストールされているため、パソコンがなくても「UNO Q」ボード単体で開発から動作確認まで行うことができます。(メモリ4GBモデル推奨)
基本的な開発はパソコンと接続して行うのが手軽でおすすめなので「UNO Q」ボードとパソコン、USBケーブルがあれば使用することができます。
「UNO Q」はこれまでの「Arduino」の使いやすさを保ちながら、より本格的な開発や「AI」にもチャレンジできる次世代ボードで、初心者の第一歩としても、ステップアップ用としても最適な1枚です。
スポンサーリンク

2.外観

Arduinno UNO Q」の梱包状態から本体の外観、デモ動作ついて画像で詳しく紹介します。

・梱包状態

梱包状態は以下になります。

Arduino Uno Q外観 梱包状態

本体はしっかりとしたコンパクトな箱に収まっています。

Arduino Uno Q外観 梱包状態

箱の裏側には基本的なスペックが書かれています。
メモリは2GBと4GBの2種類ありますが、写真は2GBのものです。

Arduino Uno Q外観 梱包状態
Arduino Uno Q外観 梱包状態
Arduino Uno Q外観 梱包状態

内容物は上写真のようになります。
中に入っているカードのQRコードから「UNO Q」ボードの使用方法のWebページを確認することができます。

Arduino Uno Q外観 梱包状態

梱包箱の側面と、付属の取説に「技適マーク」と「登録番号」が書かれているため、どちらか一方は大切に保管しておきましょう。


・本体

本体の外観は以下になります。
基板の寸法的には従来のUNOと同じですが、搭載されている部品が異なります。

Arduino Uno Q本体外観

USBコネクタはType-Cになり使いやすくなりました。
13x8LEDのドットマトリクスが実装されており、文字や数字、イラストの表示用として使用できます。

Arduino Uno Q本体外観

基板背面にはカメラやディスプレー等が接続できるコネクタが実装されています。
このため、従来のUNO用ケースのほとんどは干渉して使用することができないと思います。

Arduino Uno Q本体外観
Arduino Uno Q本体外観

下写真のように、GPIO(入出力)やシリアル通信、アナログ入力、電源用コネクタの端子配列は従来のUNOと同じで、機能拡張のシールドユニット等も接続して使用することができます

Arduino Uno Q本体外観
Arduino Uno Q本体外観

「Raspberry Pi 4」との寸法比較は下写真のようになります。

Arduino UNO Qとラズパイの寸法比較
Raspberry Pi」はUSBコネクタが4つあり、これらにキーボードやマウスを接続して使用します。さらにディスプレイを接続するmicroHDMIコネクタも実装しています。
Arduino UNO Q」はUSBコネクタが「Type-C」1つでUSBハブを使用して、ディスプレイやキーボードを接続して使用するため、より小型な構成となっています。

・デモ動作

最初に電源を入れると下写真のようなデモ動作が確認できます。

Arduino Uno Qデモ動作紹介

USBケーブルを接続して電源を供給すると、上写真のようにArduinoのロゴマークが描かれて表示されます。

Arduino Uno Qデモ動作紹介

上写真の基板右上の「LED(青)」が点灯するとLinuxの起動が完了して使用できる状態になり、ハートマークが大小交互に表示されてドキドキ感を演出します^^

Linux搭載のシングルボードコンピュータのため、従来のUNOのように電源を入れてすぐに使用することはできず、起動には少々時間(数秒〜十数秒)がかかります。
スポンサーリンク

3.仕様一覧表

基本的な仕様は下表のようになります。

項目詳細
マイクロプロセッサ(MPU)Qualcomm製 Dragonwing™ QRB2210 (SoC)
4コア  Arm Cortex-A53 2.0 GHz, 64-bit
マイクロコントローラ(MCU)STMicroelectronics製 STM32U585
Arm Cortex-M33 up to 160 MHz
Arduino Core on Zephyr OS(RTOS) 2 MB Flash, 786 kB SRAM
グラフィックス処理装置(GPU)Adreno 702, 845 MHz (3D graphics)
画像信号処理プロセッサ(ISP)Dual ISPs: 13 MP + 13 MP or 25 MP @ 30 fps
Linux OSDebian (upstream[公式] support)
内蔵ストレージeMMC 16 or 32 GB(OS/data用)
メモリLPDDR4X 2GB or 4 GB(single-rank, 32-bit)
無線モジュールWCBN3536A (Qualcomm製 WCN3980)
Wi-Fi® 5 802.11a/b/g/n/ac (dual-band) + Bluetooth® 5.1
USB-CコネクタUSB 3.1
Role-Switching Capabilities ※接続先に応じて役割(ホスト/デバイス)を切換
SDIO 3.0(高速SDカード/無線モジュール接続対応)
DisplayPort Alt-Mode via the ANX7625 DSI-to-DP bridge (映像出力対応)
電圧5V固定/最大3A
保護回路:過電流防止、逆流防止
カメラ&ディスプレイ コネクタ4並列 MIPI-CSI-2 & 4並列 MIPI-DSI(基板裏に配置)
入出力コネクタArduino UNO 互換コネクタ(18ピン+14ピン):
 入出力、SPI/I2C/UART通信、PWM、CAN、アナログ入力
 電源DC5V/3.3V出力、外部電源入力DC7〜24V
QWIICコネクタ:I2C通信
JSPI 6ピンヘッダ:SPI通信、リセット
JCTL 10ピンヘッダ:
 デバッグ、ブートモード切換、電源ICリセット
 VBUS無効信号(1.8Vロジック)
基板寸法68.58mm×53.34mm(Arduino UNO互換)
動作温度-10~60℃
この表は個人的にまとめたものになります。間違いや、解釈違いがあるかもしれませんので詳細は以下リンク先の「公式マニュアルPDF」を参照してください
スポンサーリンク

4.端子配列、機能一覧表

端子配列は以下リンク先の公式ページから抜粋しています。

たくさんの機能があって下画像では見にくいと思います。
また、ここで紹介する内容は個人的にまとめたもので間違いや、解釈違いがあるかもしれませんので、詳細は公式ページで確認してください。

端子機能一覧表

端子機能について、各コネクタごとに以下のように一覧表にまとめました。

Arduino UNO 互換コネクタ端子一覧表

基板表面の「18ピンと14ピンコネクタ」の信号端子の機能は「Arduino UNO」と互換性があり、下表のようになります。

Arduino UNO Q端子機能
基本機能は「Arduino UNO」と同じで、「CAN通信」や「オペアンプ」としての機能が追加されています。
端子の信号レベルは「3.3V」で、ほとんどの端子の入力耐圧は「5V」ですが、「A0」と「A1」端子は5V耐圧ではないため注意が必要です。
電源、その他端子機能一覧表

基板表面の電源入出力等の端子の機能は下表のようになります。

USB等で電源を供給していない時には、「5V」端子は電源入力としても使用することができますが、同時に2箇所から電源が供給されると、それぞれの5Vの微妙な電圧差でお互いの電源が異常な状態になり、最悪破損する可能性があるため注意しましょう。
その他コネクタ端子一覧表

QWIICコネクタ」が実装されているため、I2C通信対応センサやスイッチ、モータドライバ等を接続して使用できます。
6ピンのピンヘッダー「JSPI」はSPI通信として使用することができ、各端子の機能は下表のようになります。

UNO Q」ボード裏面には、カメラやディスプレイを接続するためのコネクタ(JMISC/JMEDIA)がありますが、まだ情報が少ないため詳細が公開されたらまたここでも紹介したいと思います。
スポンサーリンク

5.開発環境の準備

Arduino UNO Q」専用の開発環境「Arduino App Lab」のインストールから初期設定まで、以下から詳しく紹介します。

従来の「Arduino IED」でもボードマネージャで「Arduino UNO Q Zephyr Core」を、ライブラリで「Arduino_RouterBridge」をインストールすれば使用できますが、「スケッチ」の書き込みのみで、「AI」や「Linux」の操作には「Arduino App Lab」が必要になります。

Arduino公式のチュートリアルページへのリンクは以下になります。

https://docs.arduino.cc/hardware/uno-q/#tutorials

・Arduino App Labのインストール

まずは「Arduino App Lab」をダウンロードするために、以下公式サイトへのリンクをクリックします。

https://docs.arduino.cc/software/app-lab/

下画像のようなページが表示されたら「Arduino App Lab」の[DOWNLOAD]ボタンをクリックします。

Arduino App Labのダウンロード

下画像のようなページが表示されるため、ご使用のOS環境に合ったインストーラーを選択して[DOWNLOAD]ボタンをクリックするとダウンロードが始まります。

Arduino App Labのダウンロード
ここでは「Windows11」へのインストールを例に紹介していきます。

ダウンロードが完了したら、ダウンロードしたインストーラーを開いて実行します。

Arduino App Labのインストール
上画像はブラウザに「Bing」を使用した場合のものです。ご使用の環境に合わせてダウンロードしたファイルを実行してください。
Arduino App Labのインストール

上画像のようなウインドウが表示されたら[はい]をクリックします。

Arduino App Labの起動

インストールにそれほど時間はかからないと思います。インストールが完了すると上画像のように「Arduino App Lab」が起動します。

インストールが完了するとデスクトップには下画像のような「ショートカットアイコン」ができます。

Arduino App Labのインストール

・Arduino App Labの起動とUno Qボードの接続

Arduino App Lab」のインストールが完了して、下画像のように起動したら、「Arduino UNO Q」ボードをパソコンとUSBケーブルで接続します。

Arduino App Labの起動
Arduino Uno Qの接続

USBケーブルを接続すると、「デモ動作」が実行され「Linux」が起動されます。起動するまでしばらく待ちましょう。

Arduino Uno Qデモ動作紹介

Linux」が起動すると、上画像右上の「青色LEDランプ」が点灯します。
※緑色LEDの点灯は環境によります。

UNO Q」で「Linux」が起動して準備が整うと、下画像のようにパソコン側の「Arduino App Lab」でボードが認識されるため、これをクリックします。

Arduino App Labボードの接続

・Uno Qボードのアップデート

Arduino App Lab」が起動し「UNO Q」ボードとの接続が完了すると下画像のように「ボードのアップデート」が開始されます。

ボードのアップデート」では「Linux Debian」のアップデートが実行されます。
パソコンの空き容量として「10GB」必要なため注意しましょう。
Arduino App Labでボードのアップデート

上画像のようにアップデート画面が表示されたら[Update]ボタンをクリックします。

Arduino App Labでボードのアップデート

アップデート情報が表示されたら[Start flashing]ボタンをクリックします。

Arduino App Labでボードのアップデート

アップデートファイル(Debian image)のダウンロードが開始されるので、完了するまでしばらく待ちます。

Arduino App Labでボードのアップデート

ファイルのダウンロードが完了すると、上画像のように、ボード本体をブートモードへ切り替えるための手順が表示されます。

ここで一旦USBケーブルを抜いて「UNO Q」の電源をOFFにします。

次に、下写真のピンヘッダーの右端上下の2ピンを「ジャンパーピン」で短絡してから、再度USBケーブルでパソコンと接続します。

Arduino App Labでボードのアップデート

UNO Q」の電源がOFFしているのを確認して、上写真のような「ジャンパーピン」を準備します。

上写真の箇所に「ジャンパーピン」を接続したら再度USBケーブルでパソコンと接続します。

ジャンパーピン」が無い場合の対処方法について、以下のような方法が案内されています。

Arduino App Labでボードのアップデート

上画像のように「ワイヤー」や「クリップ」「コイン」でも代用できますとありますが、他の端子や金属部に触れないように注意が必要です。

Arduino UNO Qブートボードでの起動方法

実際に上画像のように「1円玉」でやってみました。
できないことはない(押し当てながらUSB-Cを挿す、書き込みが開始されたら離してOK)ですが、おすすめはできません・・・

ジャンパー箇所を間違えたり、他の端子や金属部同士を短絡させると基板が破損する可能性があります。特に「ジャンパーピン」以外を使用する場合は、あくまで自己責任で、慎重に行なってください。
Arduino App Labでボードのアップデート

ジャンパーピン」を接続して、USBケーブルでパソコンと接続すると、上画像のように書き込みが始まるので、完了するまでしばらく待ちます。

Arduino App Labでボードのアップデート

上画像のように表示されたら画面の手順に沿って以下のようにします。
 1.USBケーブルを抜く
 2.ジャンパーピンを外す
 3.USBケーブルとパソコンを再接続
最後に[OK, done]ボタンをクリックして終了です。

最後の画面の最下部にも書かれていますが、ここでのボードのアップデートは繰り返し実行されることがあるようです。
再度アップデート画面が表示される場合は、同じ手順を実行してみましょう。

・Uno Qボードの初期設定

ボードのアップデートが完了して「Arduino App Lab」が再起動したら、以下のように「キーボード配列設定」や「ボード名」「Wi-Fi設定」等の初期設定を行います。

Arduino App Labでボードの初期設定

上画像のように初期設定画面が表示されたら、好みのキーボード配列(ここではJapanese)とボード名(ここではlogikara)を設定して[Next]ボタンをクリックします。

Arduino App Labでボードの初期設定

次に、周囲のWi-Fi環境がスキャンされて表示されるため、お使いの「ネットワーク名(SSID)」を選択してクリックします。

Arduino App Labでボードの初期設定

上画像のような「ネットワーク設定画面」が表示されたら、Wi-Fi接続先ネットワークの「パスワード」を入力して[Confirm]ボタンをクリックします。

Arduino App Labでボードの初期設定

Wi-Fi接続が完了すると「UNO Q」のソフトウェアアップデートの確認が始まります。
この画面が表示されたら、Wi-Fi設定は問題なく完了です。


・Uno Qソフトウェアのアップデート

UNO Q」ソフトウェアのアップデートがある場合は以下のようにアップデートを行なっていきます。

Arduino App Labでボードの初期設定

上画像のようにアップデートファイルが見つかったら[Install Updates]ボタンをクリックします。

Arduino App Labでボードの初期設定

アップデートが開始されたら、完了するまでしばらく待ちます。

Arduino App Labでボードの初期設定

上画像のようにアップデートが完了したら[Restart App Lab]ボタンをクリックします。

Arduino App Lab」が再起動しますが、Wi-Fi設定が完了していると、上画像のように[USB][NETWORK]の2つが選択できるようになっています。
どちらを選択してもいいですが、今回は引き続き[USB]の方を選択していきます。


・Arduino App Labの再起動、パスワード設定

Arduino App Lab」をインストールして「UNO Q」の「アップデート」や「初期設定」が完了したら、最後に「Linux」のパスワードを設定することで「Arduino App Lab」が使えるようになります。

上からの続きですが、「Arduino App Lab」が再起動したらどちらでもいいですが、ここでは[USB]の方をクリックします。

初回起動時には上画像のように「パスワード」の設定画面が表示されるため、任意のパスワードを入力して[Confirm]ボタンをクリックします。
パスワードは忘れないようにメモしておきましょう。

Arduino App Lab」が起動すると下画像のように「Examples」画面が表示されます。
ここでは、完成された「サンプルアプリ」を選択して動作確認を行うことができます。

Arduino App Lab初期画面

サンプルアプリ」は沢山あるので、最初はこれらを使用して、「Arduino App Lab」の使い方の確認や、「UNO Q」の動作確認をするのがおすすめです。

使い方がわかってきたら、目的に近いアプリをコピーして改良しながらオリジナルのアプリを完成させていくことになりそうです。
Arduino App Lab初期画面

次は「サンプルアプリ」の動作確認をしながら「Arduino App Lab」の基本的な使い方について紹介していきます。

スポンサーリンク

6.Arduino App Labの使い方

Arduino App Lab」の基本的な使い方について、定番の「Lチカ(Blink LED)」のサンプルアプリを使用して詳しく紹介していきます。

・Uno Qボードとの接続(有線USB/無線Wi-Fi)

まずは「Arduino App Lab」を起動して「UNO Q」ボードとパソコンをUSBケーブルで接続したら、パソコン側で認識されるのを待ちます。

ネットワーク設定完了後は「UNO Q」ボードとパソコンを接続しなくても、ボードに電源を供給するだけで「Wi-Fi(NETWORK)」で接続できるため、以下のようにどちらでもお好みの接続先を選択してください。
Arduino App Labログイン

有線USB」でパソコンと接続して使用する場合は「UNO Q」をパソコンとUSBケーブルで接続して、上画像のように[USB]の方をクリックします。

Arduino App LabログインWi-Fi

無線Wi-Fi」で接続する場合は、パソコンと接続する必要はないので、「UNO Q」に電源を供給します。上画像のように認識されて[NETWORK]が表示されたら、これをクリックします。


・開発画面の紹介

UNO Q」ボードとの接続が完了すると、最初に表示されるのは「Examples」画面です。

ここでは「サンプルアプリ」を選択して実行できるため、定番の「Lチカ(Blink LED)」アプリを実行しながら開発画面の紹介を行なっていきます。

アプリの起動

まずは「サンプルアプリ」を起動していきます。下画像のように「Blink LED」をクリックします。

Arduino App Labサンプルアプリの実行

アプリの実行画面が表示されるので、アプリ内の構成ファイルについて、詳しく紹介していきます。

アプリの説明ファイル(README.md)

下画像のように「README.md」ファイルはアプリの説明が書かれたファイルです。

Arduino App Lab基本の使い方
全て英語で書かれているので翻訳しながらの確認になりますが、画像付きでアプリの使用方法や、プログラムについての詳細が書かれています。

Arduinoスケッチファイル(sketch.ino)

下画像のように「sketch」には、Arduinoを使用している方にはお馴染みのC言語ベースのプログラム「スケッチ」ファイル(sketch.ino)が保存されています。

Arduino App Lab基本の使い方

ここの「スケッチ」では初期設定と「state」の状態に応じて「UNO Q」ボード本体のLEDを「点灯/消灯」させるプログラムだけが書かれています。

Lチカ」動作にはLEDの点滅するタイミング(時間)を設定するプログラムが必要ですが、この「スケッチ」の中には書かれていません。

LEDの点滅タイミングは「Linux」側で実行している「python」プログラムから制御されています。

スケッチ」と「python」プログラムの「橋渡し」をするためには「Bridge」という仕組みが使われます。ここの「スケッチ」内でも「Bridge.〜」のように初期化されて使用できるようになっています。
Arduino UNO Q」では「スケッチ」を実行する「マイクロコントローラ(MCU)」pythonやAI処理を行う「Linux」を実行するマイクロプロセッサ(MPU)がそれぞれ単独で実行されています。
このため「Linux」側でどれだけ重たいAI処理を実行しても、「スケッチ」側はその影響を受けることなく正確なタイミングで処理を実行させ続けることができます。

pythonファイル(main.py)

下画像のように「python」には、「Linux」側で実行する「python」ファイル(main.py)が保存されています。

Arduino App Lab基本の使い方

ここでは1秒ごとに「state」の状態を反転させ、「Bridge」を使用して「スケッチ」の「set_led_state」関数を実行するプログラムが書かれています。

スケッチ」側では「state」の状態に応じて「LEDの点灯/消灯」を制御しているため、ここの「python」と「Bridge」で連携させることで、LEDを点滅させる「Lチカ」動作を実現させています。

素材データ(assets)

下画像のように「assets」には、アプリ全体で使用できる「素材」となるデータやファイルが保存されています。

Arduino App Lab基本の使い方

ここでは「README.md」の説明の中で使用されている画像データが保存されています。

assets」は比較的自由にデータを保存して使用できそうです。
Webアプリに必要な、Webページを表示するための「html/javascript/css」ファイルもここに保存して使用されます。

コードビルディングブロック(ブリック:Bricks)

下画像のように「ブリック(Bricks)」には、あらかじめ用意されて完成された機能を呼び出して、アプリ内に組み込むことができます。※今回の「Blink LED」では使用されていません。

Arduino App Lab基本の使い方

使用できる「ブリック(Bricks)」は下画像のように、「データベース」や「Webアプリ」「AI画像認識」「AI音声認識」等たくさんあります。

Arduino App Lab Brickの紹介
ブリック(Bricks)」から必要な機能を選択することで、データベースやWebサーバー、複雑なAI処理を使用したアプリを比較的容易に作成することができます。

設定ファイル(app.yaml)

下画像のように「app.yaml」にはアプリ全体の設定が「YAML(ヤムル)」形式で記述されています。

Arduino App Lab基本の使い方

この「YAML(ヤムル)ファイル」を確認することで、アプリ全体の構成を把握することができます。

このファイルは自動で生成されるため、基本的に自分で編集することはなさそうです。

・アプリの実行/停止方法

アプリの実行/停止方法について、引き続き「サンプルアプリ」の「Blink LED」を使用して紹介していきます。

アプリを実行するには「サンプルアプリ」を開いた時に、画面右上に表示されている[RUN]ボタンをクリックします。
実行方法については、下画像のように2種類あります。

Arduino App Labアプリの実行

「Run at startup」のスライドボタンがOFFの状態で[RUN]ボタンをクリックすると、一時的にアプリが実行され、「UNO Q」が再起動した時には実行されません。

Arduino App Labアプリの実行

Run at startup」のスライドボタンがONの状態で[RUN]ボタンをクリックすると、「UNO Q」が再起動した時にも自動で実行されます。

「Run at startup」をONにして実行することで、「UNO Q」ボード単体で電源を投入して実行することができます。
UNO Q」ボード単体で実行する時は「Linux」が起動して、アプリが読み込まれてから実行されるため、実行するまでには少し時間がかかります。

[RUN]ボタンをクリックすると、下画像のようにアプリの実行が開始されます。

Arduino App Labアプリの実行

下画像のように、文字色が緑色に変われば実行完了です。

Arduino App Labアプリの実行

実行されると、下写真のように「UNO Q」ボード上の「赤色LED」が点滅するのが確認できます。

Arduino App LabでLチカ

アプリを停止するには[STOP]ボタンをクリックします。

Arduino App Labアプリの停止

アプリの停止処理が実行され、下画像のように文字色が緑色に変わるとアプリは停止します。

Arduino App Labアプリの停止

・アプリの編集(コピー)

サンプルアプリは編集することができません。
編集するには「コピー」してから行う必要があるため、引き続きサンプルアプリの「Blink LED」を使用して紹介していきます。

まずはアプリを編集するために、下画像のように「Copy and edit app」をクリックします。

Arduino App Labアプリの編集

下画像のようなウインドウが表示されるので、任意の名前をつけて[Create new]ボタンをクリックします。

Arduino App Labアプリの編集

アプリが保存されて下画像のように表示されます。
コピーしたアプリは自由に編集することができるため、試しに「python」→「main.py」ファイルを下画像のように編集してみましょう。

Arduino App Labアプリの編集

「main.py」12行目の「time.sleep(1)」の「1」を上画像のように「0.5」に書き換えてアプリを実行すると、LEDの点滅速度が速くなるのが確認できると思います。


・ブリック(Bricks)の追加方法

次は、上でコピーした「Lチカ」アプリを使用して「Arduino App Lab」内にあらかじめ用意されている「ブリック(Bricks)」の追加方法について紹介します。

ブリック(Bricks)」とは、あらかじめ用意されて完成されたプログラムで、呼び出してアプリ内に組み込むことができます。
ブリック」には「データベース」や「Web UI」「AI画像認識」「AI音声認識」等があります。

コピーして保存した「Lチカ」アプリに「ブリック」を追加してみましょう。

今回は「Lチカ」アプリに「WebUI ブリック」を追加して、ブラウザから遠隔操作でLEDを操作できるようにします。

まずは下画像のように「Bricks」の横のアイコンをクリックします。

Arduino App Lab Bricksの追加方法

下画像のようなウインドウが表示されたら、ブリックのリストの中から「WebUI – HTML」を選択して、[Add brick]ボタンをクリックします。

Arduino App Lab Bricksの追加方法

下画像のようなウインドウが表示されたら、[Check usage examples]ボタンをクリックします。

Arduino App Lab Bricksの追加方法

下画像のように「WebUI ブリック」が追加されたのが確認できます。
使い方の「python」プログラム例も用意されているため、参考にしながら追加することができます。

Arduino App Lab Bricksの追加方法
Webアプリを作成するためには、ブラウザで表示するWebページの「htmlファイル」が必要なため、これを追加していきます。

下画像のように「assets」フォルダを「右クリック」して「Create file」を選択し「index.html」というファイル名をつけて「htmlファイル」を作成します。

Arduino App Lab Bricksの追加方法

作成した「index.html」ファイルにWebページのプログラムを書きますが、今回はこの下に「サンプルプログラム」を準備しましたので「コピペ」で貼り付けてください。

Arduino App Lab Webアプリ用html

index.html」のサンプルプログラムは以下になります。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>LED Control</title>
</head>
<body>
  <h1>LED Control</h1>

  <button onclick="setLed(1)">LED ON</button>
  <button onclick="setLed(0)">LED OFF</button>

  <script>
    function setLed(state) {
      fetch(`/toggle?state=${state}`)
        .then(r => r.json())
        .then(j => console.log("LED:", j.led));
    }
  </script>
</body>
</html>

次に「python」の「main.py」の内容も下画像のように書き換えます。
今回はこの下にサンプルプログラムを準備したので「コピペ」で貼り付けて書き換えてください。

Arduino App Lab Webアプリ用python

main.py」のサンプルプログラムは以下になります。

from arduino.app_utils import App, Bridge
from arduino.app_bricks.web_ui import WebUI
from fastapi import Request
import time

ui = WebUI()

def api_set_led(request: Request):
    state_param = request.query_params.get("state")
    if state_param is None:
        return {"error": "missing state parameter"}

    state = state_param == "1"
    Bridge.call("set_led_state", state)
    return {"led": state}

ui.expose_api("GET", "/toggle", api_set_led)
ui.start()

def loop():
    time.sleep(0.5)

App.run(user_loop=loop)
「スケッチ(sketch)」は変更せずそのまま使用しますので、ここで画面右上の[RUN]ボタンをクリックしてアプリを実行します。

アプリが実行されるとブラウザが起動して下画像のような画面が表示されます。
この画面上の[LED ON/LED OFF]ボタンで「UNO Q」ボード上のLEDが「点灯/消灯」するのが確認できると思います。

Arduino App Lab Webアプリ動作確認

上画像ではアドレスバーの「127.0.0.1:7000」でパソコンのローカルサーバー経由で操作しています。
Wi-Fiネットワーク経由で操作するには、下画像のように「Pythonタブ」をクリックして「Network URL:」を確認します。

Arduino App Lab Webアプリ動作確認

確認した「Network URL:」、ここでは「http://192.168.0.156:7000(環境によって異なります)」をブラウザのアドレスバーに「コピペ」して「Enter」を押すと下画像のように同様のWebページが表示されます。

Arduino App Lab Webアプリ動作確認
同じネットワークに接続していれば、「Network URL」を使用してスマホのブラウザからも接続して操作できます。
スポンサーリンク

7.サンプルアプリの動作確認

Arduino App Lab」にはたくさんの「サンプルアプリ」があります。
中にはカメラやマイク、センサが無いと動作確認できないものもありますが、「UNO Q」ボード単体で簡単に動作確認できるものを2つ動作確認していきます。

1つは「WebアプリでWi-Fi遠隔操作」、もう1つは「AIによる画像認識」です。

・WebアプリでWi-Fi遠隔操作

この「サンプルアプリ」は、上で紹介した「Lチカ」だけでなく、「UNO Q」ボード上のほとんどの「入出力端子」と一部の「LED」をブラウザから遠隔操作することができます

まずは「Example」の中から下画像のように「UNO Q Pin Toggle」をクリックします。

下画像のように[RUN]ボタンをクリックしてアプリを実行します。

Arduino App Lab Webアプリ動作確認

アプリが起動するとブラウザが起動し、下画像のように「UNO Q」ボードの画像が表示されます。

Arduino App Lab Webアプリ動作確認

操作可能な「入出力端子」と「LED」の横には「スライドボタン」が配置されています。
各スライドボタンをON/OFFすることで、「UNO Q」ボード上の「入出力端子」と「LED」を遠隔操作することができます。


・AIによる画像認識

この「サンプルアプリ」では、「AIを使用した画像認識」を行うことができます。

ブラウザ上で動作し、画像データをブラウザへ「ドラッグ&ドロップ」することで、画像内のどこに何が写っているかを認識させることができます。

まずは「Example」の中から下画像のように「Detect objects on images」をクリックします。

Arduino App Lab AI画像認識

下画像のように[RUN]ボタンをクリックしてアプリを実行します。

Arduino App Lab AI画像認識

アプリが起動するとブラウザが起動し、下画像のような画面が表示されるので、画面内の[Upload]部に任意の画像データをドラッグ&ドロップします。

Arduino App Lab AI画像認識

画像データをドラッグ&ドロップすると、下画像のように[Run Detection]ボタンが表示されるため、これをクリックします。

Arduino App Lab AI画像認識

[Run Detection]ボタンをクリックするとAIで画像認識が行われます。
画像の中に何が写っているか認識した結果は「確率(%)」で表示され、認識対象が四角枠で囲われます。

今回は「」の画像を使用しました。
認識結果は「Cat 52.0%」となり、四角枠内に「」が写っていることを認識してくれました。

Arduino App Lab AI画像認識

[Change Image]をクリックすると画像を変更できます。
同様に下画像のように「」の画像の認識結果は「Dog 57.5%」で「」の位置も四角枠で認識しています。

Arduino App Lab AI画像認識

同様に下画像のように「」の画像の認識結果は「Bird 61.2%」で、小さいですが「」の位置も四角枠で正しく認識しています。

Arduino App Lab AI画像認識
今回は「画像データ」を使用した「画像認識」ですが、カメラを接続すればリアルタイムな画像認識アプリとしても使用できるようになると思います。
Arduino AppLab」にも「カメラ」を使用した「AI画像処理」を行う「サンプルアプリ」も準備されています。これらについても今後紹介していければと思います。
スポンサーリンク

8.初期化方法

UNO Q」ボードのアップデートやソフトウェアのアップデート中のエラーや、書き込みエラー等でボードが起動しくなったり、正常に動作しなくなることがあるかもしれません。

そんな時のための「初期化」の方法を詳しく紹介します。

実際に「デモ動作(Aeduinoロゴ→ハートマーク)」が繰り返されて、パソコン側で認識されない現象が確認された時に、初期化で復旧できました。

・Arduino Flasher CLIのダウンロードと実行方法

まずは初期化のためのツール「Arduino Flasher CLI」を以下公式のリンク先からダウンロードします。

https://www.arduino.cc/en/software/#flasher-tool

リンクをクリックすると、下画像のようなページが表示されるため[Arduino Flasher CLI]をクリックします。

ご使用のパソコンのOS環境(今回はWindows)を選択して[DOWNLOAD]ボタンをクリックします。

下画像のように圧縮ファイルがダウンロードされます。
解凍が必要なためここでは実行せず、ファイルの保存フォルダを開きます。

Arduino Flasher CLIの実行方法

Windows」ならデフォルトでは下画像のように「ダウンロード」フォルダに保存されています。

Arduino Flasher CLIの実行方法

圧縮ファイルを「右クリック」して、表示されたメニューから[すべて展開]をクリックします。

Arduino Flasher CLIの実行方法

下画像のように圧縮ファイルの解凍先(デフォルト推奨)を確認して[展開]ボタンをクリックします。

Arduino Flasher CLIの実行方法

解凍したフォルダの中に「.exeファイル」がありますが、クリックでは実行できません。

Arduino Flasher CLIの実行方法

実行は「コマンドプロンプト」から行うため、まずは以下のようにフォルダのパスをコピーします。

Arduino Flasher CLIの実行方法

次にコマンドプロンプトを起動します。
下画像のように、検索窓に「cmd」を入力すると「コマンドプロンプト」が検索されるため、これをクリックで起動できます。

Arduino Flasher CLIの実行方法

下画像のようにコマンドプロンプトが起動したら、先程解凍したフォルダへ移動していきます。

Arduino Flasher CLIの実行方法

移動方法は下画像のように「cd[スペース]」の後に、先ほどコピーしたパスを貼り付けて[Enter]キーを押します。

Arduino Flasher CLIの実行方法
「cd」とは「change directory(チェンジディレクトリー)」で、操作するディレクトリー(フォルダ)を移動するコマンドです。

次に以下の実行コマンドを実行していきます。

.\arduino-flasher-cli flash latest

上のコマンドを「コピー」して、下画像のように「貼り付け」て[Enter]キーを押します。

Arduino Flasher CLIの実行方法

下画像のようなウインドウが表示されたら[はい]をクリックします。

Arduino Flasher CLIの実行方法

これで「Arduino Flasher CLI」が起動します。


・初期化の実行

Arduino Flasher CLI」が起動したら、「UNO Q」ボードの初期化を行なっていきます。

初期化を行うと「UNO Q」ボード内に保存しているデータは消えてしまいます。
大切なデータは日頃からバックアップしておきましょう。

下画像のように「ボード初期化の確認メッセージ」が表示されるので、初期化を行う場合は「y」を入力して[Enter]キーを押します。

Arduino Flasher CLIでUno Qの初期化

まずは初期化のためのデータのダウンロードが開始されます。
ダウンロード中は「経過時間と残り時間」の確認ができますが、データ量が多いため結構時間がかかりますので、気長に待ちましょう。

Arduino Flasher CLIでUno Qの初期化

ダウンロードが完了すると、ファイルの展開が始まります。
これも時間がかかるのでしばらく待ちましょう。

Arduino Flasher CLIでUno Qの初期化

下画像のような画面になったら「UNO Q」ボードを「ブートモード」にしてUSBケーブルで接続する必要があります。(すでに接続している場合は、ここで一旦USBケーブルを抜きましょう)

Arduino Flasher CLIでUno Qの初期化

UNO Q」ボードを「ブートモード」にするには、下写真のピンヘッダー右端上下の2ピンを「ジャンパーピン」で短絡してから、USBケーブルでパソコンと接続します。

Arduino App Labでボードのアップデート
ジャンパーピン」が無い場合は、下画像のように「クリップ」や「1円玉」等でも代用できますが、他の端子や金属部に触れると基板が破損する危険があるため、あくまで自己責任で注意して行なってください。
Arduino UNO Qブートボードでの起動方法

「UNO Q」ボードが「ブートモード」で起動してパソコンに認識されると、下画像のように初期化が開始されます。

Arduino Flasher CLIでUno Qの初期化
初期化が開始されたら、「ジャンパーピン」の短絡は外しても大丈夫です。

下画像のように「successfully flashed」が表示されたら初期化完了です。

Arduino Flasher CLIでUno Qの初期化
初期化が完了したら、USBケーブルを抜いて、「ジャンパーピン」を接続していない状態で再度パソコンとUSBケーブルで接続します。
あとは上で紹介している初期設定をして、動作確認を行なってください。
スポンサーリンク

9.まとめ

Arduino UNO Q」の使用方法を開発環境「Arduino App Lab」のインストールから初期設定、動作確認、トラブル時の初期化方法まで詳しく紹介しました。

Arduino UNO Q」は、従来の「Arduino UNO」の使いやすさを保ちながら、Linux OS、GPU、そして高度なAI機能を備えた次世代マイコン開発ボードです。

初心者から上級者まで、幅広い用途で活用できるこのボードは、従来のArduinoの開発に加えて、画像認識やAI処理などの高度なプロジェクトにも対応可能です。

ここでは「Arduino App Lab」のインストール方法からボードの接続、アップデート、初期設定、そして実際のアプリ開発まで、初心者でも迷わず進められる手順を紹介しました。
また、サンプルアプリを使った動作確認や、簡単な「Lチカ」の実行を通じて、開発環境の使い方を詳しく紹介しました。

さらに、「Webアプリ」や「AIによる画像認識」など、「Arduino UNO Q」の機能を最大限に活用するためのアプリケーションの動作確認や、トラブル時の「初期化方法」まで紹介しています。

ここまで実践できた方々は、「Arduino UNO Q」を利用することで、マイコン開発の幅を広げると同時に、WebアプリやAI画像処理などの最先端技術を体感し、初心者の方でも一歩踏み出せる最適な開発環境を手にしたことと思います。

「Lチカ」から「AI」へ――プログラミング初心者の最初の一歩が、一気に進化しました

AI、画像認識、Webアプリなどを活用した次のステップに進む準備は整っています。
Arduino UNO Q」という強力なツールは、あなたのアイデアを形にするための最高のパートナーになるはずです。

ぜひ、この環境を活かして自分だけのオリジナルアプリ作りにも挑戦してみてください。

当ブログでも、今後は「カメラ」や「マイク」を活用した、より実践的なAIアプリケーションの作り方を詳しく紹介していく予定です。一緒に、さらなるステップアップを目指しましょう!

コメント

タイトルとURLをコピーしました