部品屋根性(19) 困ったときのArduino(互換機だけれども)

Joseph Halfmoon

お楽しみの中華部品キット Kuman K4であります。キットの中の部品あれこれを使ってみておりますが、部品キットの中心である Arduino互換ボードについては顔をそむけたままでした。今更Arduinoでもあるまい、などと。しかしです。あれやこれやで素早く何か動かせるのがArduino。ついに互換ボードに火を入れることにあいなりました。

※「部品屋根性」投稿順Indexはこちら

互換ボードを使うにあたり、まずは、偉大なご本家Arduino.cc様の太っ腹なポリシーへのリンクを貼らせていただきましょう。

Arduino – Policy

感謝、感激であります。このポリシーゆえ、Arduinoが天下を取ったのでありましょう。

さて、今回使用いたしますのは、Kuman社K4キットに押し込んであった、Arduino UNOと互換なボードであります。下の写真で、左がご本家、右の真ん中がKuman社K4キット品、そして右端がK4キットに同梱されている拡張ボード(シールド)です。そしてアイキャッチ画像は両方のボードの裏面であります。

Arduino and Compatible

マーキングは違えど、ほぼクリソツな外観です。ご本家の方はプラスチックの台が付属しており、部品面の裏面は浮いていますが、K4キットの方には台は付属していません。しかし、Arduinoは部品配置にも余裕あり、ちゃんと足を立てられる穴があるので、足をネジ止めすることができます。最近、小さすぎて穴のないボードが多いのはなんだかな~と思うのは私だけでしょうか。今回は、ご本家の台を拝借して使用してみることにいたします。

唯一ともいえる「使い勝手」に影響しそうな違いが、側面にありました。左ご本家のボードは、ピンソケットの側面にまで信号名かかれているのです。K4キット版の方は、ピンソケットにまでこういう「専用部品」使用するような剛毅?なところはありません。とは言え、ボード表面にはArduinoご本家ボード同様全信号名が印刷されているので、信号名に乏しい他のマイコンボードよりはずっと使いやすいのはArduinoと共通。

Arduino Sideさて、開発ツールはご本家ArduinoのIDEを使ってみます。このところ、Ardunioのライブラリを使うときもVS Code+PlatformIOの組み合わせでソフトを書くことが多かったので、この環境、半年以上使ってなかったのではないでしょうか。ちゃんと動くのか?

この辺の安定感もArduinoでしょうかね。Arduino Unoを指定して、ボードを接続すれば、直ぐに認識されました。こんな感じ。

Kuman Arduino「ボード情報を取得」を行ってみると、こんな感じ。

Kuman Arduino Device recognized使っている部品やら何やらみな同じなので当然と言えば当然ですが、ちゃんと認識されておるようです。問題ない。

まずは、ちゃんとソフトが書き込めることを確認。例によって外付けのLEDのLチカのプログラムを入力してFlashに書き込んでみます。

なお、初期状態でUSB接続すればオンボードのLEDが点滅しています。書き込み成功して外付けLEDも点滅している様子がこちら。

Arduino LEDさて、Arduino互換ボードに火を入れたのは、「素早く」部品を動かせるから。今回動かしたかったのは、各種のマイコンボードに何度となく取り付けてきた歴戦のLCDモジュール、秋月通商 AQM1602XA-RN-GBWであります。通販のページは以下に。

秋月通商 I2C接続小型キャラクタLCDモジュール

今まで、Arduino以外のArmやらRISC-Vやらのマイコンボードにさんざん接続してきましたが、今回は、上記のページにおかれているArduino用のサンプルプログラムをArduino互換ボードに書き込み、「動作しているときのお手本波形」を観察したい、というのが密かな目的(また後で書かせていただくつもりですが、昨晩ちょっとトラブッてしまったので)

秋月通商のサンプルプログラムですから何も心配ない。ダウンロードし、コンパイル、Flash書き込み、そして動作OKまで、わずか数分。流石にArduinoだな。お楽。動作しているところはこんな感じ。

AQM1602andKumanArduinoさて、その時の波形、まずはオシロ波形。例によってDigilent社Analog Discovery 2 で取得。見て分かるとおり、上がSCK、下がSDA、眺めれば、アドレス0x3Cに、0x00、0xC7という値が読み取れまする。解読すれば表示用のDDRAMのアドレス指定か。AQM1602WaveArudino

オシロでちゃんと波形が出ていることが確認できたので、もっと使いやすいツールに切り替えます。Analog Discovery2の「デジタル」解析機能で、I2Cバスとして信号を解読してもらいます(上とは違うタイミングだけれども。)

ちょっと横長画像で数字がみずらいですが、I2Cの信号が解読されておりますがな。KumanArduinoI2CLogiAna

Arduino互換ボードのお陰で、ほとんど時間もかけずにお手本波形が取得できました。

部品屋根性(18) Allegro、ACS712 素晴らしいけど私の机は駄目だ へ戻る

部品屋根性(20) 16文字x2行、キャラクタLCDモジュール へ進む