ドットマトリックスLEDは明るくて大きな表示ができるので,少しかじってみたくなりました。

まずは単色の8X16ドットマトリックスLEDをPICAXEで表示させてみました。以下メモ書きです。




1.ハードウェア

1) システム構成

PICAXE-20M2

16X8LEDマトリクスドライバーモジュール(HT16K33)
 I2C スレイブアドレス 0xE0(8bit),変更可
 A0-A15:アノード,アクティブHigh
 C0-C7:カソード,アクティブLow

赤色ドットマトリクスLED8X8ドット OSL641501-ARA 2個
 順電圧:2.1Vtyp,(@20mA)
 カソード・コモン

マトリックスドライバが16X8ドットタイプなので,LEDを2個連結しました。
この構成で新たな材料費は1000円ぐらいでしたV(^^)


2) 配線と注意点

(1)ドットマトリックスLED
 ・ドライバモジュールからLED1個につき16本の配線が必要
 ・1番Pinは赤丸のシールのところ
  (裏からレジン?を透すと微かに数字も見える)
 ・Pin番号は不規則に並んでいる
 ・5Vでは150Ωが必要,今回はアノード側に挟む

(2) ドライバーモジュール(HT16K33)
 ・説明書の一部にROWが列を表している箇所がある
 ・アノード(A0-15)を列と考え,2個のLEDそれぞれに接続する
 ・カソード(C0-7)を2個のLED共通の行と考えて接続する



2.ソフトウェア

1) ソフトの注意点

 ・イニシャライズはPower on reset後に必ず 「Turn on System oscilator 」コマンド(0x21)を加えること!
 ・初期画面はランダムなのでクリアしておく
 ・ドライブモジュールは2byte(16ドット)で1行なので,LED1個の場合はデータアドレスが飛び番地になる


2) テストプログラム例



・初期設定はPower on Resetの後
 hi2cout(0x21) ; Turn on System oscilator
 だけです(^^)

・「PTA」を描いてドットが動いて消す,だけのプログラムです(^^;;;;;;;;



3) 8X16ドットのデザイン用計算シート

 描きたいドットからbyteの数値を求めるのが面倒だったので,表計算で出せるように簡単なシートを作りました。



各行の8bit毎に計算してbyteの値を出し,文字に変換してカンマ”,”を挟んで連結しています。赤枠のところをプログラムにコピペすれば「PTA]が表示できます (^^)



ドットマトリックスLEDは明るくクッキリして良いですね。

I2CでRAMに書き込むタイプのドライバはゆっくりしたPICAXEでも十分に使えます。手作り感満載で,いろいろと応用できそうです。



ま,NeoPixel系などはナノ秒の世界のコントロールも必要ですから,Arduinoでもライブラリにおまかせで手出しできず,少し寂しいですからね。

でも,カラーで大きくなると手作りは限度を超えます。8X16の単色で,モジュールを使ってみても,,,良く分かりました(^^)