Project 9 表情LEDボード

1.説明

ロボットに表情ボードが追加されたらどれほど楽しいでしょうか。Keyestudioの8*16 LEDボードがその役割を果たします。これを使えば、自分で表情、画像、パターンなどの表示をデザインできます。

8*16 LEDボードは128個のLEDを備えています。マイクロプロセッサ(Arduino)のデータは2線式バスインターフェースを通じてAiP1640と通信します。したがって、モジュール上の128個のLEDのオン・オフを制御でき、モジュール上のドットマトリックスに必要なパターンを表示できます。配線の便宜のためにHX-2.54 4ピンケーブルが付属しています。

2.仕様

  • 動作電圧:DC 3.3-5V

  • 消費電力:400mW

  • 発振周波数:450KHz

  • 駆動電流:200mA

  • 動作温度:-40〜80℃

  • 通信方式:I2C

3.回路図

4.動作原理

8*16ドットマトリックスの各LEDをどう制御するか?1バイトは8ビットで、各ビットは0か1です。0のときはLEDが消灯、1のときは点灯します。1バイトでLEDの1列を制御でき、16バイトで16列のLEDを制御できます。これが8*16ドットマトリックスです。

5.ピンの説明と通信プロトコル

マイクロプロセッサ(Arduino)のデータは2線式バスケーブルを通じてAiP1640と通信します。

通信プロトコル図は以下の通りです。(SCLK)はSCL、(DIN)はSDAです。

①データ入力の開始条件:SCLが高レベルで、SDAが高から低に変化する。

②データコマンド設定には以下の方法があります。

サンプルプログラムでは、アドレスに自動で1を加える方法を選択し、2進数は0100 0000、対応する16進数は0x40です。

Img

③アドレスコマンド設定は以下のように選択できます。

サンプルプログラムでは最初の00Hを選択し、2進数1100 0000は16進数0xc0に対応します。

Img

④データ入力の要件は、SCLが高レベルのときにSDAの信号は変化しないことです。SCLが低レベルのときのみSDAの信号を変更できます。データ入力は下位ビットから先に、上位ビットは後です。

⑤データ送信終了の条件は、SCLが低レベル、SDAが低レベルの状態からSCLが高レベルになったときにSDAが高レベルになることです。

⑥表示制御では異なるパルス幅を設定でき、パルス幅は以下の図のように選択します。

例ではパルス幅は4/16で、2進数1000 1010に対応する16進数は0x8Aです。

Img

モジュールツールの使用説明

ドットマトリックスツールはオンライン版を使用し、リンクは:http://dotmatrixtool.com/#

①リンクにアクセスすると以下のページが表示されます。

②ドットマトリックスは8*16なので、高さを8、幅を16に調整します。

③パターンから16進数データを生成

以下の図のように左クリックで選択、右クリックでキャンセルし、表示したいパターンを描き、「Generate」をクリックすると必要な16進数データが生成されます。

6.部品

開発ボード *1

8833 モータードライバー *1

8x16 LEDパネル*1

img

img

img

USBケーブル*1

HX-2.54 4P デュポン線 200mm *1

img

img

7.配線図

8x16 LEDライトボードのGND、VCC、SDA、SCLはそれぞれkeyestudioセンサー拡張ボードのGND、+(VCC)、A4、A5に接続され、2線式シリアル通信を行います。

(注意: ArduinoのIICピンに接続されていますが、このモジュールはIIC通信用ではありません。ここでのIOポートはI2C通信をシミュレートするもので、任意の2つのピンに接続可能です)。

8.テストコード

コードを書く前に、8x16 LEDボードのライブラリファイルをインポートする必要があります。具体的な手順は以下の通りです:

をクリックしてセンサー/モジュール/コンポーネントの拡張ライブラリ画面に入り、「Matrix 8*16 Aip1640」モジュールを検索し、をクリックします。これにより「Not loaded」が「loaded」に変わり、「Matrix 8*16 Aip1640」モジュールが正常に追加されたことを示します。

Img

をクリックしてコードエディタ画面に戻ると、追加された「Matrix 8*16 Aip1640」モジュールの命令ブロックがモジュールエリアに表示されます。

ブロックをドラッグして編集できます。以下のブロックは参考用です。

(1).

(2).

完成したテストコード

9.テスト結果

コードをV4.0ボードに正常にアップロードした後、配線図に従って配線し、DIPスイッチをONにすると、LEDボードに笑顔のパターンが表示されます。

10.コード説明

先ほど学んだモジュールツール http://dotmatrixtool.com/# を使い、ドットマトリックスにスタートパターン、前進、停止、クリアのパターンを表示させます。時間間隔は2000msです。

image-20250513092102687image-20250513092107293image-20250513092113035image-20250513092116952

笑顔の命令ブロック

表情の命令ブロック:

ハートの命令ブロック

前進の命令ブロック

後退の命令ブロック

左折の命令ブロック

右折の命令ブロック

停止の命令ブロック

画面クリアの命令ブロック

ブロックをドラッグして編集できます。以下のブロックは参考用です。

(1).

(2).

(3).

完成したテストコード

テストコードをアップロードすると、表情ボードはこれらのパターンを順番に表示し、このシーケンスを繰り返します。

image-20250513092222972image-20250513092233711image-20250513092238552