フォト
2025年4月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
無料ブログはココログ

« IchigojamのOUT命令の動作確認 | トップページ | Propeller始めました »

2015年11月 9日 (月)

IchigoJamでLEDドットマトリックスを制御する

IchigoJamでLEDドットマトリックスを制御してみました。
以前Arduinoで試したHT16K33というLEDドライバICを利用しました。

Dscn4257

まずは、ブレッドボードで実装してみました。I2C接続のためIchigoJamとの結線は
3本で済みます。取りあえず "さいたま" と表示。
HT16K33一つで8x16ドットのマトリックスを制御できます。2個使って8x32にしてみました。
最大で8個接続出来るので、やろうと思えば8x128ドットも行けるでしょう。

問題なく制御できそうです。
そこで、ユニバーサル基板上に実装してみました。実装はIchigoJamからの電源供給で
駆動できる8x16ドットとしました。

ごちゃごちゃ配線がすっきりで4線のみです。

Dscn4264

裏はこんな有様です。ピンセットを使ってのはんだ付けで、意外と時間かかりました。
もっと楽な実装方法はないのだろうか.

Dscn4266

IchigoJamに繋げると、奇跡的に一発で動作しました。

Dscn4269

デモ動画


利用した部品
  ・LEDドライバIC          HT16K33 1個
  ・8x8LEDマトリックス    HSN-0788UR 2個
  ・抵抗 2.2kΩ 1/6W 2個
  ・その他 基板、線材、はんだ

回路図
Photo_2

1)結線表
  配線数が多いため、HSN-0788URとHT16K33の結線表を作成して配線しました。

Photo

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でLEDドットマトリックスを制御する:

« IchigojamのOUT命令の動作確認 | トップページ | Propeller始めました »