IchigoJamでLEDドットマトリックスを制御する
IchigoJamでLEDドットマトリックスを制御してみました。
以前Arduinoで試したHT16K33というLEDドライバICを利用しました。
まずは、ブレッドボードで実装してみました。I2C接続のためIchigoJamとの結線は
3本で済みます。取りあえず "さいたま" と表示。
HT16K33一つで8x16ドットのマトリックスを制御できます。2個使って8x32にしてみました。
最大で8個接続出来るので、やろうと思えば8x128ドットも行けるでしょう。
問題なく制御できそうです。
そこで、ユニバーサル基板上に実装してみました。実装はIchigoJamからの電源供給で
駆動できる8x16ドットとしました。
ごちゃごちゃ配線がすっきりで4線のみです。
裏はこんな有様です。ピンセットを使ってのはんだ付けで、意外と時間かかりました。
もっと楽な実装方法はないのだろうか...
IchigoJamに繋げると、奇跡的に一発で動作しました。
デモ動画
利用した部品
・LEDドライバIC HT16K33 1個
・8x8LEDマトリックス HSN-0788UR 2個
・抵抗 2.2kΩ 1/6W 2個
・その他 基板、線材、はんだ
回路図
1)結線表
配線数が多いため、HSN-0788URとHT16K33の結線表を作成して配線しました。
IchigoJamのプログラムソース
10 CLV 110 POKE #700,#21,#81,#E1,#00 120 FOR M=#70 0TO #702 130 R=I2CW(#70,M,1,#700,0) 140 NEXT 500 ' 510 A=RND(28)*8+1824:B=RND(28)*8+1824 530 FOR I=0 TO 7 540 [I]=PEEK(A+I)<<8+PEEK(B+I) 550 NEXT 560 R=I2CW(#70,#703,1,#800,16) 570 WAIT 10 580 ' 590 FOR I=1 TO 16 600 FOR J=0 TO 7 610 [J]=[J]<<1 620 NEXT 630 R=I2CW(#70,#703,1,#800,16) 640 WAIT 5 650 NEXT 660 GOTO 500
プログラムは、意外と短いです。
配列[0]~[7] パターンデータを格納しています。[0]がライン1の横16個分、
[1]がライン2の横16分.. [7]がライン7の横16個分のドットデータの状態です。
表示更新の都度、そのデータ16バイトをI2CWコマンドでドライバICに転送しています。
[0]の内容はアドレス#800に格納されているのでそのアドレスを指定しています。
110~140行はICの設定処理でシステムオシレータON、点滅周期設定、明るさ設定を
行っています。
追記 2017/06/28
同じドライバICを使ったモジュールがaitendoにて入手できます。
8x8ドットですが、お手軽に利用出来ます。
「IchigoJamでaitendoのI2Cマトリックスキットを動かしてみました」
« IchigojamのOUT命令の動作確認 | トップページ | Propeller始めました »
「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)
コメント