BASIC言語で動くPICAXEは扱いやすいマイコンですが,あまり速い制御には向いていません。

しかしPICAXEには最小の8PinモデルからI2CやUART通信機能があります。これらを使い,いろいろなモジュールと組み合わせると応用が利いてきます(^^)。

その一つとして,電子工作の代名詞,LEDに表示を行う際にI2C制御の16X8LEDマトリクスドライバー(HT16K33)が便利でしたので忘れないようにメモしておきます。


16X8LEDマトリクスドライバー(HT16K33)としては秋月電子のドライバーモジュール[M-11246]を使っています。



1) 電源周り
・4.5V〜5.5V
・1Pinあたり25mA流せる

2) I2C
・スレーブアドレス 0xE0〜0xEE (8bit)
 デフォルトは0xE0, A2-A0のジャンパで設定可能。
 [ 1 1 1 0 A2 A1 A0 R/W ]となる
 (Arduinoやmicro:bitでは0x70(7bit)から)
・400kHZ対応
・10KΩプルアップ済み(ジャンパ)

3) 出力Pin
・A0-A15:アノード,アクティブHigh
・C0-C7:カソード,アクティブLow
・この出力からLEDはカソードコモンが分かりやすい
・16X8LEDドットマトリックスドライブ可能
・7segLED 16個までドライブ可能

4) コマンド体系
・キー入力の機能を使用しないならシンプル
・コマンドの最初の4bitが0ならデータ書き込みアドレス
 その後にデータが1byte続く
・最初の4bitが0以外ならコマンド
 最小限必要なコマンドは2つだけ
 オシレーターのスタートとディスプレイオン


5) データを書き込むRAMのアドレス配置
・1byteのデータをこのアドレスに書き込むとデータの”1”のbitのLEDが点灯する
・RAMアドレスを指定し,データを書き込む事で
  アノードから列データが出力され
  カソードによって行がセレクトされる
 と考える
・8X8LEDドットマトリックス1個なら左半分だけ使用するのでアドレスは飛び番になる


6) 16*8LEDドットマトリックスの接続
・カソードコモンで横長の場合



7) 7SegLEDの接続
・アノードからセグメントデータを出す
・カソードは書き込む7SegLEDのセレクト役


・7SegLEDとの配線例



・4桁7segLEDとの配線例
 手持ちの4桁7SegLEDはアノード8本,カソード4本だけPinが出ているので,1つの4桁セットの中でもRAMアドレスが飛び番になります。




以上,LEDは明るくて手作り感が満載で好きですね(^^)。

単色で輝度の変化を求めないならPICAXEからも使いやすいドライブモジュールです。なにしろ体系がすっきりしていて,オヤジにも分かりやすいです。

おかげでいろいろと作ってみる事ができました。
PICAXEで8X16LEDドットマトリックスと音声モジュールを連動させてみた
デコピンの強さを競うゲーム機を自分で作ってみたくなった
PICAXEのADCを使ったアナログ入力でカードで行う数当てゲームを試作中

なにより,ドライブモジュールもLEDも手を出しやすい価格なのが良いですねV(^^)