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(^^)
しかし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(^^)