フォト
無料ブログはココログ

« 30,000アクセス | トップページ | Stereo 2013/1 »

2012年12月28日 (金)

charlieplexing

charlieplexingは少ないポートで多くのLEDを制御する方法である。
初めて見たのは、EDNのコラムDesign Idiaに投稿された「LEDの多重制御で必要なI/O端子数を削減 」や「少ないI/Oで多数のLEDを制御、同時点灯も可能 」で、誰でも同じことを考えるものだと思った。(ホントに)

 2つのポートを使用して2個のLEDをcharlieplexで制御する方法は、
Charlieplex0←誰でも思いつくでしょ

これを2個以上のn個ポートに拡張すると
LED = n×(n-1)
のLEDが 制御できる。

 エレキジャックに「超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (1)」という解説がある。

 ↓3ポートで 6個のLEDを制御する例)
Charlieplex1

 CharliePlexの問題点は、基本的に1個のLEDしか制御できないため、LEDが多くなるとデューティー比が小さくなりピーク電流を多く流さなければならなくなるが、I/Oポートのドライブ能力が低い場合には十分な電流が流せないという点である。

 Charlieplexには拡張版がいろいろある。
 I/Oポートのドライブ能力十分でない場合は複数のLEDを点灯できないが、Design Ideasにある「少ないI/Oで多数のLEDを制御、同時点灯も可能」のように電流ドライブ用のトランジスタを使うと複数のLEDが制御できる。Chipiplexingというらしい。
 トランジスタをエミッタフォロアで使っているところがミソである。
Charlieplex2
また、AVRのようにドライブ能力が高いマイコンはダイオードを使用することもできる。

Charlieplexとトランジスタを2個使う「Three microcontroller ports drive 12 LEDs(December 15, 2006)」(EDN日本語版にも記事があったはずだが)を組み合わせると
更に多くのLEDを制御可能で
LED = n×(n-1) + 2n
が制御可能である。

 ↓は3ポートで12個のLEDを制御する例
Charlieplex4

↑でバイナリクロックでも作ってみようか。

« 30,000アクセス | トップページ | Stereo 2013/1 »

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/577514/56335643

この記事へのトラックバック一覧です: charlieplexing:

« 30,000アクセス | トップページ | Stereo 2013/1 »