IchigoJamでaitendoのI2Cマトリックスキットを動かしてみました
IchigoJamでaitendoの「I2Cマトリックスキット K-8X8I2C1388」を動かしてみました。
IchigoJam ファームウェアの1.2系のβ版の動作確認を兼ねて制御してみました。
(1.2系のβ版は フェイスブックのIcigojam-FANグループにて公開されています)
1,2系では文字列操作機能が追加されました。
参考情報
福野泰介の一日一創 - 「文字列対応の IchigoJam ver 1.2β4 でジャンケンゲーム改良」
接続は次のような感じです。
4線接続(VCC、GND、SCL、SDA)で制御します。
動いている様子
10 CLV
110 POKE #700,#21,#81,#E1,#00
120 FOR M=#700 TO #702
130 R=I2CW(#70,M,1,#700,0)
140 NEXT
150 S="Hello,Ichigojam World!"
160 L=LEN(S)
500 FOR J=0 TO L-1
510 A=PEEK(S+J)*8
520 FOR C=0 TO 5
530 FOR D=0 TO 7
540 [D]=[D]<<1|PEEK(A+D)>>(7-C)
560 NEXT
570 R=I2CW(#70,#703,1,#800,16)
580 WAIT 2
590 NEXT
600 NEXT
610 GOTO 500
プログラムは意外と短いです。
文字列を扱えるようになったので、デバイスへのデータ渡しが簡単に実現出来るように
なりました。
プログラム的には、
10行が変数領域の初期化
110~140行がデバイスの初期化
150行でスクロール表示する文字列を指定しています。Sにその先頭アドレスが入ります。
160行で文字数の取得
500~610行がスクロール表示を行っています。
[0]~[7]をデバイスに送信するためのデータ領域と利用してます。
500~610行がスクロール表示部において
500行は文字列数分のループ
510行で"Hello,Ichigojam World!" の先頭からJ番目の文字コードを取得し、更に
8倍(1文字につきフォントデータは8バイト)してフォントデータ格納アドレスを取得します。
フォントデータは仮想アドレス#000から格納されています。下記が本来の計算式です。
A=PEEK(S+J)*8+#000
520行は1文字の左スクロール5ドット分のループ(英数字は横幅5ドット)
530行は縦8ドット分の処理のためのループ
540行は表示するデータの加工処理です。直前のデータを左に1ドットスクロールした後、
PEEK(A+D)にてフォントデータを取得してそのデータを右にシフトした値との和を[D]に
代入しています。
570行でデバイスでの表示データ16バイトを送信しています。
表示パターンデータ[0]~[7]の16バイトはアドレス#800に格納されています。
I2CW(#70,#703,1,#800,16) のお尻から2つのパラメタがそれを意味します。
前半の#70,#703,1はデバイス指定と表示のための命令ですが詳細は省略します。
arduinoなんかよりも、短いプログラムで簡単に制御できました。
コンパイルや書き込みも不要なので、確認も楽ちんです。
« aitendo I2CマトリックスキットをArduino動かしてみました | トップページ | Aliexpressで注文していたアナログジョイスティックが到着 »
「IchigoJam」カテゴリの記事
- Ichigojam Rが届きました(2021.02.05)
- β版 IchigoJam Rを予約注文しました(2021.01.23)
- IchigoJamのファームウェア 1.4.1が正式に公開されました(2019.12.10)
- 「ichigoツール」をGithubにて公開しました(2019.11.09)
- ichigojamのファームウェアを1.4b13にアップデートしました(2019.11.06)
「表示器制御関連」カテゴリの記事
- NeoPixel(WS2812B)の制御 その5(2024.09.15)
- Arduino用 美咲フォントライブラリを更新しました(2024.03.21)
- Raspberry Pi Pico(MicroPython)でLEDドットマトリックスを使ってみる(2024.03.14)
- Raspberry Pi Pico MicroPython用のマルチフォントライブラリ(2023.02.09)
- MicroPython(Raspberry Pi pico)で8x8ドットNeoPixcel文字表示(2023.02.08)
« aitendo I2CマトリックスキットをArduino動かしてみました | トップページ | Aliexpressで注文していたアナログジョイスティックが到着 »
コメント