2009/04/03

7セグLEDとAVR

とりあえずカソードコモンな7セグLEDを3つ並べて、AVRから任意の数字を表示してみた。 元ネタは東芝e-learningコースのカウンタ回路です。
このカウンタ回路は大きいブレッドボード上に組みましたが、配線がスパゲティ…。 2つのLEDを光らせて桁上りが動く事を確認して放ってありました。

LEDについては、2つのLEDを並べて素直にロジックIC4511を2つ載せて4bit入力x2 + 電源2pinの、10bit入力から2桁の数字を出力するような基板を作っていました。
まぁ14ピン使って7セグLEDx2の制御をしないだけマシという程度で、ピンの数は8ピンでも多い上にLEDを追加すると単純に4ピン増えてしまう。
ブレッドボードの時のように配線が原因で挫折してしまいます。

そこで4msec毎に各LEDを順番に選択するようにして、擬似的に2つのLEDを光らせる事にしました。
たぶん父親の世代のマイコンを触った人達は、こういう事をやっていたんでしょう。

このメリットはLEDを追加する度に7セグLEDのGNDに接続するための1ピン追加するだけでよくて、 必要な出力端子は、数字を出力する4ビット分+LEDの数+電源の2ピンぐらい。 4511も一つでいいし。

本当は各LEDのGNDを引き込むためのスイッチとして秋月の"TD62083AP"を1つ使っているので、LED8個までは1ピンの追加だけで良いかな。

まだATmega88pと一緒のブレッドボード上にありますが、4511を1つとLEDを4つぐらい並べて4桁の任意の数字を表示するための基板を作りましょう。10ビット分の端子か…丁度いいかな。

本当は擬似的にLEDを光らせ続けなければいけないので、小さいAVRにこのループを任せて、I2Cなんかで表示させる数字だけ投げるようにしたいなぁ。
今度はI2C通信について勉強しないと、まだまだ壁は高い…。

0 件のコメント: