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です。

③アドレスコマンド設定は以下のように選択できます。
サンプルプログラムでは最初の00Hを選択し、2進数1100 0000は16進数0xc0に対応します。

④データ入力の要件は、SCLが高レベルのときにSDAの信号は変化しないことです。SCLが低レベルのときのみSDAの信号を変更できます。データ入力は下位ビットから先に、上位ビットは後です。
⑤データ送信終了の条件は、SCLが低レベル、SDAが低レベルの状態からSCLが高レベルになったときにSDAが高レベルになることです。
⑥表示制御では異なるパルス幅を設定でき、パルス幅は以下の図のように選択します。
例ではパルス幅は4/16で、2進数1000 1010に対応する16進数は0x8Aです。

モジュールツールの使用説明
ドットマトリックスツールはオンライン版を使用し、リンクは:http://dotmatrixtool.com/#
①リンクにアクセスすると以下のページが表示されます。

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

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

6.部品
開発ボード *1 |
8833 モータードライバー *1 |
8x16 LEDパネル*1 |
|---|---|---|
|
|
|
USBケーブル*1 |
HX-2.54 4P デュポン線 200mm *1 |
|
|
|
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」モジュールが正常に追加されたことを示します。


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

ブロックをドラッグして編集できます。以下のブロックは参考用です。
(1).
(2).
完成したテストコード

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

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




笑顔の命令ブロック 
表情の命令ブロック:
ハートの命令ブロック 
前進の命令ブロック 
後退の命令ブロック 
左折の命令ブロック 
右折の命令ブロック 
停止の命令ブロック 
画面クリアの命令ブロック 

ブロックをドラッグして編集できます。以下のブロックは参考用です。
(1).
(2).
(3).
完成したテストコード

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







