Arduino Uno Qの利用 ① 入門編 従来のArduinoと互換性を保ち新しい機能を追加されたArduino Uno Qを知る
●Ardunino Uno Qとは
Arduino UNO Qは国内の技適の取得が完了し国内でもWi-Fiが利用できるようになり、2026年1月に本格的な発売が始まりました。
このUno Qは従来のArduinoと互換性を持たせながら、
- 64ビットCPUのArm Cortex-A53であるQRB2210
- QualcommのAdreno 702のGPU
を搭載しています。
初心者のファーストステップをLEDの点滅の「Lチカ」に代わって、Uno Qの高機能を生かすには、顔認識から始めることになりそうです。
●Arduino Uno Qボードの中身
図Aに示すようにArduino Uno Qの表面には、
- QualcommのMPUチップQRB2210
- メモリ
- Wi-Fiモジュール
- パワーマネージメント
のチップが搭載されています。
図A Arduino Uno Q ユーザーマニュアル(https://doc.switch-science.com/media/files/d7a1543d-e1ef-41a2-8dca-1711f229f1c9.pdf)より
TypeC USBコネクタも搭載されています。これにはディスプレイ・ポート、5V/3Aの電力共有の機能も用意されています。このUSBコネクタはQRB2210に接続されているので、従来のArduino UNOのスケッチのシリアルモニタへの処理は従来と異なった処理が必要になります。
ボードの表面には、ArduinoのシールドがセットできるArduino UNOと並びが同じヘッダが用意されています。
DCジャックは省略されましたが、ヘッダにVin端子があるので、7~24Vの電源を利用できます。
ボードの裏面には、Arduino IDEで従来のArduino UNOの同等の処理を担うSTM32U585とメモリのチップが搭載されています。裏面のヘッダ・ピンにはArduino UNOのピンと新たに追加されたチップの端子が引きだされています。
●使い慣れたArduino IDEで動かしてみる
ボードのみでテストする以外に、簡単なテスト回路を組むための図Bに示すようなブレッドボードとUno Qのボードを組み合わせたテスト回路を利用します。
図B ブレッドボードとUno Qのボードを組み合わせたテスト回路
使用するもの、
- 最新のArduino IDEをインストールしたPC
- Type CのUSBコネクタ
以上でオンボードでのテストが始められます。
2026年2月現在、Arduino IDEをインストールしただけではまだArduino Uno Qのボードに関する情報が用意されていません。そのため、Arduino IDEの左サイドのサイドバーの上から2番目の「ボードマネージャー」のアイコンをクリックして起動します。
ボードマネージャーを起動すると、インストールされているボードと利用できるがまだインストールされていないボードの一覧が表示されます。上部の検索欄にUno Qを入力すると、容易に該当するボードが表示されます。
Arduino Uno Qをインストールするボタンをクリックすると、かなりの時間をかけインストールを終了します。インストールが完了すると、インストールの表示が削除の表示になります。
●Arduino Uno Qのサンプル・スケッチを試す
Arduino Uno Q用に、サンプル・スケッチが多数用意されています。従来のArduinoと同様にArduino IDEでためすことのできるサンプルも用意されています。
まず、オンボードの「Lチカ」を試してみます。Arduino IDEのメニューバーの、
ファイル>スケッチ例>01.Basics>Blink
と選択し、サンプル・スケッチBlink.inoを次のように読み込みます。
ツールバーの書き込みのアイコンをクリックし、
検証(コンパイル)>ボードへの書込み
を行うとボードのLED3が赤く点灯し、以後1秒ごとに点滅を繰り返します。
●シリアルモニタを試す
サンプルのAnalogReadSerial.inoは、A0ポートからアナログ・データを読み取り、その値をPCのシリアルモニタに表示します。Arduino Uno Qのスケッチ例の01.Basicsの中に用意されたサンプル・スケッチです。
それにも関わらずエラーなく起動しますが、モニタには何も表示されません。
同じスケッチを次に示すようにArduino Uno R4 Minimaに書き込むと、モニタにはA0から測定された値が表示されます。時計のアイコンをクリックしたので、測定時の時刻がタイムスタンプも表示されます。
Arduino Uno QのUSBポートは、従来のArduinoボードに搭載されているCPUチップには接続されていません。新しく搭載されたQualcomのQRB2210MPUのIXのMPUに接続しています。
Uno QのSerialポートはD1(TX)、D0(RX)に接続されています。そのため、別に用意したシリアルポートに接続して受信する必要があります。
入門編のあと具体的に試してみます。
●Arduino Uno Qでモニタを使用する
Arduino Uno QのUSBポート経由でモニタできるスケッチ例が用意されています。スケッチ例をクリックすると表示されるリストから、カスタム・ライブラリのスケッチ例のArduino_RouterBridgeの中にあるmonitorを選択します。次のmonitatest.inoのスケッチがインストールされます。
このスケッチをボードに書き込むと、次に示すようにシリアルモニタにArduino IDEでUSB経由でのシリアルモニタを利用するためのライブラリArduino_RouterBridgeの記述が用意されています。
スケッチの最初にこのライブラリを利用する設定を、次の記述で指定します
*ライブラリの読込を指定
#include <Arduino_RouterBridge.h>
次にsetup()関数内で Serial.begin()の代わりにMonitor.begin();でモニタ・ライブラリの起動を指定します。
*モニタの起動
Monitor.begin();
次にloop()関数内でSerial.print、Serial.printlnの代わりにMonitor.print、Monitor.printlnに変更すると、次に示すようにA0からのアナログ入力データがArduino IDEのモニタ画面に表示されます。
*モニタへの出力
Monitor.print( 出力値 ); (出力値は変数、定数などprintlnは改行を含む)
これで、Arduino Uno Qであっても、Arduino IDEのモニタ画面にSerial.printと同様に出力することができるようになります。
analogRead()関数で読みとった値を格納した変数名をMonitor.print関数で表示し、続いて、値をMonitor.println関数で表示しています。
上記の出力例では表示位置が揃っていますが、次に示すように頻繁にMonitor.printの出力の後に改行されています。またMonitor.printlnの出力後に改行されていません。改行の出力のタイミングについて後ほど検討します。
●外部のLEDを点滅する
UNO Q以外のArduino UNOでは、オンボードのLEDはディジタル・ポート13に接続されています。UNO Qの場合のLED_BUILTINの値は50と設定されています。50のディジタル・ポートはArduinoのヘッダ・ピンには出力されていないので、D0からD13のディジタル・ポートにLEDと直列に数百オームの抵抗を接続してから、該当のディジタル・ポートをオン/オフすると、外部のLEDを制御することができます。
図BにはD9のデジタル出力から1kΩの抵抗を介してLEDの+端子に接続した例を示してあります。