どうも、なかしー(@nakac_work)です。
僕は自動車や家電製品のマイコンにプログラミングをする仕事をしています。
7セグメントLEDは電子工作でよく使う部品です。
センサの電圧をマイコンに取り込んで、7セグメントLEDに数値を表示することが多いと思います。
7セグメントLEDの内部にはLEDが7つ(小数点付きだと8つ)のLEDが入っているだけです。LEDを光らせる回路ならLEDを抵抗に直列に繋げばいいはずなのに、電子工作の入門書を見るとトランジスタやICを使っていたりします。
そして、マイコンで7セグメントLEDを点灯させるときは7セグメントLED×7本(もしくは8本)の信号線が必要なのに、1つ分しかないこともあると思います。
今回は「7セグメントLEDを点灯させる回路とプログラム」について紹介します。
- 7セグメントLED点灯回路
- ダイナミック点灯
- 7セグメントLEDのプログラム
7セグメントLED点灯回路
7セグメントLEDにはアノードコモンとカソードコモンの2種類があります。
アノードとカソードがあるのはLEDと同じですよね。
冒頭でお伝えした通り、回路もLEDと同じです。
LEDの点灯回路がよく分からないならこちらの記事を先に読んでください。
>>発光ダイオード(LED)を光らせよう【現役エンジニアが教える電子工作】
しかし、マイコンやICを7セグメントLEDに繋ぐときに注意が必要です。
その理由は出力できる電流が少ないので、光が暗くなってしまうかもしれません。
そういう時は、電流を増幅させる役割の「トランジスタ」をICやマイコンに繋いで、7セグメントLEDに電流を流すを増やすことができます。
「トランジスタ」について知りたい人はこちらの記事がおすすめです。
>>トランジスタの仕組みを理解しよう【使い方や回路例も紹介】
もしも、ICが繋がっているならこの2つのICだと思います。
- 7セグメントLED用のIC「74HC4511」
- トランジスタがたくさん入っている「トランジスタアレイ」
74HC4511
7セグメントLED用のロジックICです。
通常だと7本の配線が必要ですが、このICを使うことで4本に省略することができます。0~9の数字は4ビットで表現できます。ICに数字を2進数で入力すると、その数字に応じた7セグメントLEDの点灯パターンを出力してくれます。
トランジスタアレイ
トランジスタがたくさん入っているICです。
トランジスタアレイにはシンク型とソース型があります。
- シンク型はNPNトランジスタで入力側に電流を吸い込む
- ソース型はPNPトランジスタで出力側に電流を流す
どっちを使えば良いのかについては、7セグメントLEDのコモンを元に選べばOKです。
- アノードコモン→ソース型のトランジスタアレイ
- カソードコモン→シンク型のトランジスタアレイ
ダイナミック点灯
数字を2ケタ、3ケタと桁数が増えるたびに7セグメントLEDとそれに伴って抵抗やトランジスタや配線が増えます。
そういう時に、便利なのがダイナミック点灯です。
ダイナミック点灯は光の残像効果を使って、光っているように見せることができます。
その代わりに7セグメントLEDを1つずつ点灯させる必要があります。
回路はこんな感じです。
7セグメントLEDのプログラム
7セグメントLEDのダイナミック点灯は全て点灯し終わらせるまで20msec以内に終わらせないと綺麗に表示できません。
- 点灯させる7セグメントLEDを有効にする
- 点灯させるデータを出力
これを7セグメントLEDごとに繰り返します。
電子工作の人気記事
>>ラズベリーパイで実現できることを紹介【マイコンの域を超えた】