7セグLED ダイナミック点灯制御

今回はこの前時間の都合でできなかった7セグLEDのダイナミック点灯制御を行ってみました。

ダイナミック点灯とは簡単に言うとLEDを制御するピンの本数を少なくできるというもの。
1個の7セグLEDをで数字を表示するには7個のピンを制御する必要があり、3個の7セグになれば21個と結構な数になります。これを少なくするために7セグLEDの各発光場所ごとにまとめてしまいます。

だたこれだと3つの7セグLEDとも同じ数字が表示されますが、表示させるLEDを高速で切り替えることによって解決しようという考え。 これは電光掲示板なんかでも使われる技術で案外身近にあったりするみたいです。

早速3個の7セグLEDの各発光場所ごとにまとめて前回同様AVRのDポート0~6に接続、数字を表示させてみます。

s2013-03-17 18.03.43

同じ信号がそれぞれの7セグLEDに送られているので当然すべて同じ表示 光らせる7セグLEDを切り替えるために、各7セグLEDとグランドの間にトランジスタを入れて各トランジスタのベースにAVRのBポート0~2を接続します。

s2013-03-17 18.20.42

だいぶ配線がゴチャって来ました(^_^;) 最後に適当に数字をカウントするプログラムを書いてAVRに書き込んでおしまい。 切り替えの間隔を200msにしたのがこちら

間隔を5msまで小さくしてみます。

5msまで下げると人間の目では切り替えを認識できないですね。
7セグを使うことはほぼないと思いますがとりあえずお勉強ということで。

この時期はボードに卒業旅行となかなか忙しいです!!
長期休暇をおもいっきり楽しみたいと思います(^_^)v

最後にAVRに書き込んたコードでも載せておきます。

スポンサーリンク
スポンサーリンク