charlieplexing
charlieplexingは少ないポートで多くのLEDを制御する方法である。
初めて見たのは、EDNのコラムDesign Idiaに投稿された「LEDの多重制御で必要なI/O端子数を削減 」や「少ないI/Oで多数のLEDを制御、同時点灯も可能
」で、誰でも同じことを考えるものだと思った。(ホントに)
2つのポートを使用して2個のLEDをcharlieplexで制御する方法は、←誰でも思いつくでしょ
これを2個以上のn個ポートに拡張すると
LED = n×(n-1)
のLEDが 制御できる。
エレキジャックに「超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (1)」という解説がある。
CharliePlexの問題点は、基本的に1個のLEDしか制御できないため、LEDが多くなるとデューティー比が小さくなりピーク電流を多く流さなければならなくなるが、I/Oポートのドライブ能力が低い場合には十分な電流が流せないという点である。
Charlieplexには拡張版がいろいろある。
I/Oポートのドライブ能力十分でない場合は複数のLEDを点灯できないが、Design Ideasにある「少ないI/Oで多数のLEDを制御、同時点灯も可能」のように電流ドライブ用のトランジスタを使うと複数のLEDが制御できる。Chipiplexingというらしい。
トランジスタをエミッタフォロアで使っているところがミソである。
また、AVRのようにドライブ能力が高いマイコンはダイオードを使用することもできる。
Charlieplexとトランジスタを2個使う「Three microcontroller ports drive 12 LEDs(December 15, 2006)」(EDN日本語版にも記事があったはずだが)を組み合わせると
更に多くのLEDを制御可能で
LED = n×(n-1) + 2n
が制御可能である。
↑でバイナリクロックでも作ってみようか。
« 30,000アクセス | トップページ | Stereo 2013/1 »
「日記・コラム・つぶやき」カテゴリの記事
- 修理(4) <とうとう修理不能>(2022.11.08)
- LANケーブルテスター(2022.05.18)
- 今時のWebサイトを構築してみた(2022.05.16)
- Type-C 充電器(2022.04.29)
- 全館停電 <ネットワークトラブル訓練>(2022.03.12)
コメント