ikkei blog

電子工作やパズルのブログです。主にLEDを使った電子工作をやっています。

Charlieplexing

2010年02月12日 00時03分43秒 | Arduino
WKNさんから教えてもらったCharlieplexingですが、ここを見ていたらちょっとアイデアを思い付いてしまいました、
これをどうしても確認してみたくなって作ってみました。


配線は従来とあまり変わらないのですが、気をつけないと間違ってしまいます。


7セグメントLEDを1桁ずつ点けるためには、このようにダイオードを入れれば出来ます。回路図は小さいので分かりにくいと思いますが、雰囲気で見て下さい。



ただ、AVRは1端子で20mAまでしか流せませんので、「8」と「1」では輝度が違ってくるはず。
上の写真では抵抗は180Ωなので、1セグメントに18mAくらい流れているはずなのですが、あまり分かりません。
「1」がわずかに明るく、「6」がわずかに暗い程度ですね。


このダイオードをトランジスタに替えるとこうなります。




確かにこちらの方が均一に光っている様に見えます。
予想では、ダイオードではドライブしきれずに、もっと輝度ムラが出ると思ったのですが、残念。
でもトランジスタにすると効果が有ることは確認できました。

Charlieplexingによって、確かに配線を減らすことができますね。
DPを表示しなければ、8桁まで8本でいけます。
しかし、これは回路屋の発想では絶対に出てこないですね。というのは、制御をハードでやるには複雑すぎるからです。

でも、通常IOポートは8ビットなので、7セグだと1ビット余りますが、この1本を使うだけで8桁まで出来るのはなかなか良いかもしれません。
今回は、とりあえず実験のために1~8を表示するだけのソフトを組んだだけなので、実際のソフトがどうなるか分かりませんが、ドライバをうまく作れれば、この方法はアリかもしれません。


最新の画像もっと見る

4 コメント

コメント日が  古い順  |   新しい順
お疲れ様 (ikkei (JH3KXM))
2010-02-13 23:58:04
お疲れ様でした。
私もたくさん配線したので、ポリウレタン線のハンダ付けに慣れてしまいました。昔の勘が戻りました。
トランジスタはエミッタフォロアなので、ベース抵抗は無くても大丈夫です。
1桁1~2ms程度にしないとちらつきますよ。
6桁 (WKN)
2010-02-13 23:22:20
とりあえず固定表示ですが、6桁版ができました。配線が大変でした。
ikkeiplexing (ikkei)
2010-02-12 14:19:10
chipiplexingの方の記事を見ていなかったのですが、Charlieplexingの7セグの説明を読んで自分なりに工夫した結果がトランジスタでした。
カソードコモンの7セグだとPNPになりますね。
PNPだとコレクタはGNDになりますが、NPNだと5V以上の電源につなげる事が出来るので、私はNPNの方が良いのではないかと思っています。
それを確かめるために作りましたが、この記事を見ていたら作らなかったかも。
また、chipiplexingの記事では、「Charlieplexingでは同時駆動は1個しかできず、2個のLEDを同時に点灯できるのはChipiplexing方式特有のもの」と言っていますが、それは間違いです。
Charlieplexingの7segの駆動の説明を見ると、ちゃんと7つのセグメントを同時に駆動する方法が書いてあります。
ただ、MAXIMのデバイスのドライブ能力が高く、しかも電流源を持っているので、外付けの抵抗やトランジスタが要らないため、回路図だけを見るとそれが分かりにくいかもしれません。
ikkeiplexing (cookchan)
2010-02-12 12:49:30
実際に配線されたんですね。根気のいる作業だったと思います。chipiplexingという名前で紹介記事があったものはトランジスタのPNPを使っていたので、今回はNPNをつかっているということでikkeiplexingですね。

コメントを投稿