アーケードゲーム的な雰囲気が出るかと思い,34mmx24mmの少し大きめの7セグLEDをポリウレタン銅線の力を借りて8個つなぎました。
シリアル接続で使えると便利なので,I2C接続のLEDドライバで動かしてみました。
[ハードウェア構成]
1.MPU Seeeduino-XIAO
Arduino IDE でテスト用プログラムを入れました。
2.HT16K33 LED ドライバモジュール
I2C接続で動くドライバで,8x16LEDドットマトリックスか7セグLEDを16個までつなげます。
3.BSS138ロジックレベル変換モジュール
LEDドライバが5V仕様のため,3V←→5Vの双方向変換です。
4.34mmX24mm 7セグメントLED
ドライバと合わせたカソードコモンタイプです。
「8の字」を全点灯したところです。
![](https://stat.ameba.jp/user_images/20220723/21/pta55/9e/dd/j/o1200062615150722581.jpg?caw=800)
[HT16K33 LED ドライバについて]
5V動作のI2C接続で動くドライバで8x16LEDドットマトリックスか7セグLEDを16個までコントロール可能です。
PICAXEでよく使っていて,まとめをメモしています。
→ PICAXEでI2C制御の16X8LEDマトリクスドライバー(HT16K33)を使うメモ
メモにも書いていますが,使うコマンドはデータ書き込みアドレスを含めて3種類だけで使いやすいです。
![](https://stat.ameba.jp/user_images/20220723/22/pta55/f2/e5/j/o0696042815150741578.jpg?caw=800)
また,8x16LEDドットマトリックス用に?,アノードに16本,カソードに8本の出力構成になっています。
このため,今回は7segLED8個をつなぐ時,アノード8本を全てのLEDに共通に配線したので各LEDのデータ書き込みRAMアドレスが下記のテストプログラム例のように一つ飛びになりました。
ちなみに,4桁のLEDが一体化した製品などでは下図のようにRAMアドレスが飛ぶのはどうしても避けられないですね(^^;;;。
![](https://stat.ameba.jp/user_images/20220723/22/pta55/35/25/j/o0800045015150741579.jpg?caw=800)
[テストプログラム例]
各LEDと各セグメントの配線間違いや不良がないかチェックするつもりのプログラムです(^^;;;;。
各LEDの各セグメントを順番に点灯させます。
![](https://stat.ameba.jp/user_images/20220723/21/pta55/10/c7/j/o1200087715150722579.jpg?caw=800)
なお,Arduinoでの初期設定では下記の例のように"オシレーター・オンとディスプレイ・オンのコマンドを分けて送る"のが良いようです。
遅いPICAXEと違って,連続して書き込むと立ち上がりに間に合わないようです。
![](https://stat.ameba.jp/user_images/20220723/21/pta55/b7/4b/j/o0654067615150722644.jpg?caw=800)
少し大きめの7セグLEDの雰囲気は良いですね(^^)。
使ったLEDの購入履歴を調べると2年前でしたので,バラの7セグLEDをやっと光らせる事ができたのは収穫です。
ただ,LED8個,ドライバ,レベル変換とその他もろもろの小物で総額2000円近くかかっているので,私などには少々贅沢な気もしますが,ま,いいですか(^^;;;;;;。
シリアル接続で使えると便利なので,I2C接続のLEDドライバで動かしてみました。
[ハードウェア構成]
1.MPU Seeeduino-XIAO
Arduino IDE でテスト用プログラムを入れました。
2.HT16K33 LED ドライバモジュール
I2C接続で動くドライバで,8x16LEDドットマトリックスか7セグLEDを16個までつなげます。
3.BSS138ロジックレベル変換モジュール
LEDドライバが5V仕様のため,3V←→5Vの双方向変換です。
4.34mmX24mm 7セグメントLED
ドライバと合わせたカソードコモンタイプです。
「8の字」を全点灯したところです。
![](https://stat.ameba.jp/user_images/20220723/21/pta55/9e/dd/j/o1200062615150722581.jpg?caw=800)
[HT16K33 LED ドライバについて]
5V動作のI2C接続で動くドライバで8x16LEDドットマトリックスか7セグLEDを16個までコントロール可能です。
PICAXEでよく使っていて,まとめをメモしています。
→ PICAXEでI2C制御の16X8LEDマトリクスドライバー(HT16K33)を使うメモ
メモにも書いていますが,使うコマンドはデータ書き込みアドレスを含めて3種類だけで使いやすいです。
![](https://stat.ameba.jp/user_images/20220723/22/pta55/f2/e5/j/o0696042815150741578.jpg?caw=800)
また,8x16LEDドットマトリックス用に?,アノードに16本,カソードに8本の出力構成になっています。
このため,今回は7segLED8個をつなぐ時,アノード8本を全てのLEDに共通に配線したので各LEDのデータ書き込みRAMアドレスが下記のテストプログラム例のように一つ飛びになりました。
ちなみに,4桁のLEDが一体化した製品などでは下図のようにRAMアドレスが飛ぶのはどうしても避けられないですね(^^;;;。
![](https://stat.ameba.jp/user_images/20220723/22/pta55/35/25/j/o0800045015150741579.jpg?caw=800)
[テストプログラム例]
各LEDと各セグメントの配線間違いや不良がないかチェックするつもりのプログラムです(^^;;;;。
各LEDの各セグメントを順番に点灯させます。
![](https://stat.ameba.jp/user_images/20220723/21/pta55/10/c7/j/o1200087715150722579.jpg?caw=800)
なお,Arduinoでの初期設定では下記の例のように"オシレーター・オンとディスプレイ・オンのコマンドを分けて送る"のが良いようです。
遅いPICAXEと違って,連続して書き込むと立ち上がりに間に合わないようです。
![](https://stat.ameba.jp/user_images/20220723/21/pta55/b7/4b/j/o0654067615150722644.jpg?caw=800)
少し大きめの7セグLEDの雰囲気は良いですね(^^)。
使ったLEDの購入履歴を調べると2年前でしたので,バラの7セグLEDをやっと光らせる事ができたのは収穫です。
ただ,LED8個,ドライバ,レベル変換とその他もろもろの小物で総額2000円近くかかっているので,私などには少々贅沢な気もしますが,ま,いいですか(^^;;;;;;。