これまでにも何度か紹介しているArduinoですが、フィジカル・コンピューティングと言えばなマイコンボードで、広く普及し始めた(「自分が使い始めた」と同義ですが)Arduino Duemilanoveの時代から愛用しています。小学校教育にフィジカル・コンピューティングを導入する研究をしてきたので、自宅には当時購入したDuemilanoveが複数枚あります。その流れで、UNOやLeonardoとその互換ボード、M0、Genuino 101(Arduino 101)などもあって、シールド類も含めるとかなりの数に上ります。
以前、Arduino UNO R4 Minimaの動作確認をしていましたが、ようやくArduino UNO R4 WiFiを入手したので、こちらも動作確認をしていきたいと思います。
#おさらいではありますが、R4シリーズには、ルネサスのRA4M1チップ(32bit Arm® Cortex®-M4内包)が使われています。
#UNO R3までのArduinoは、PCなどと接続する際に標準サイズやmicroサイズのUSB-Bコネクタを使っていましたが、R4からはUSB-Cコネクタが採用されていることも大きな違いになっています。
R4 WiFiは、その名の通り無線LANに接続できる機能が付加されているのですが、私自身は「マトリクスLED(8*12)」の方に興味があり、これを使いこなしてみたいという衝動に駆られて購入したのでした。ネットで情報を探していると、Wi-Fi経由でNTPサーバから現在時刻を取得する使い方が紹介されていました。ありがたいことに、取得した現在時刻をマトリクスLEDに表示するプログラムを作って紹介しているサイト「Arduinoマイコンボードでの実験備忘録」を見つけたので、今回は「Arduino UNO R4 WiFiを使って、ネットから日時取得」と「Arduino UNO R4 WiFiを使って、ネットから日時取得 のプログラム」を参考にしながら動作確認をしていくことにしました。
動作確認は、いつものMacBook Proを使います。Arduino IDE(バージョンは「2.3.6」)を起動して、「ツール」メニューから「ボード:」の項目を選択して、「Arduino UNO R4 Boards」→「Arduino UNO R4 WiFi」と選択します。(「Arduino UNO R4 Boards」をインストールしていない場合は、ボードマネージャでのインストール作業が必要です)R4 WiFiをUSBケーブルでつないで「ツール」メニューから「ポート:」の項目を選択して、接続したR4 WiFi(/dev/cu.usbmodem…(Arduino UNO R4 WiFi))を選択します。これで準備は完了です。
先ほど紹介させていただいた「プログラム」をもとに、少しだけ改造して作ったプログラムを「→(コンパイルと書き込み)」ボタンをクリックして作業を進めます。コンパイルにエラーはなく、問題なく書き込まれた感じになりました。R4 WiFiの方も動こうとしている感じがするので、プログラム自体は書き込めているのだろうと思います。しかし、うまく動きません。中の処理がどうなっているのかわからないので、どこでつまずいているのかはわかりません。でも、動作が途中で止まってしまうようなので、原因を考えていきたいと思います。
仕方がないので、「ファイル」メニューから「スケッチ例」→「(Arduino UNO R4 WiFi用のスケッチ例)LED_Matrix」→「PlayAnimation」を開いて使うことにしました。「→(コンパイルと書き込み)」ボタンをクリックするとエラーもなく無事にコンパイルと書き込みが行われ、Animationが表示されました。これで、マトリクスLEDの初歩的な使い方わかりました。あとは、はじめに動作実験を行った「マトリクスLEDに時刻を表示する」プログラムがどうすれば動くのか、試行錯誤してみたいと思います。