7セグメントディスプレイの基本的な接続方法

電子工作を趣味としている人や、プロの回路開発者にとって、7セグメント(またはそれ以上)のディスプレイを設計に組み込むことは、よくあることです。しかし、最近のデバイスはプラグアンドプレイが可能なものが多いため、初心者はセグメントディスプレイの仕組みを理解していないかもしれません。デザインと機能の基本的な概要を知っておくとよいでしょう。

ダイオードの基礎

ディスプレイの各セグメントやポイントには発光ダイオード(LED)が使用されており、一般的なダイオードと同様に、アノードとカソードのポイントがあります。これらを電源とアースに接続すると、LEDがそのセグメントを点灯させます。

アノードコモンとカソードコモン

セグメント化されたディスプレイを理解するための次のステップは、ユニット内のラベリングと接続です。LEDの一方の端は、外部のデバイスに個別に接続され、もう一方の端は、各セグメント共通のラインに接続します。この2つの接続部は、多くの場合、+VとGND(グランド)、またはそれに近い名称で表示され、接続部のどちらが共通となるかにより、「カソードコモンディスプレイ」あるいは「アノードコモンディスプレイ」と呼ばれています。

下の図では、セグメントディスプレイ内のLEDの向きによって、共通の接続が+Vになるか、GNDになるかが決まることがわかります。なお、接続された2つのセグメント(ディスプレイの「1」につながる「B」と「C」のライン)は、デバイスがアノードコモンでもカソードコモンでも同じ経路構造になっていますので、セグメントはすべてデバイスごとに同じラベルがついています。ディスプレイと制御信号の間の電流制限抵抗の選択については、図面の下のリンクを参照してください。

カソードコモンディスプレイ

アノードコモンディスプレイ

Digi-Key Tech Forum:LED用の適切な抵抗の選択
Digi-Key変換カリキュレータ:[LED直列抵抗器カリキュレータ

アノードコモンとカソードコモンの意味をさらに理解するために、ディスプレイの+VまたはGNDが共通(グループ)接続でない場合に必要となるピン数を比較してみましょう。入力側のマイコンが8本のピンを使ってディスプレイまでの経路を作っていると仮定します(7つのLEDセグメント+小数点[DP]LED=8)。

前述の図では、ディスプレイのピン端子がセグメントとDPで8個、+VまたはGNDで最低1個、合計9個必要であることがわかります。セグメントディスプレイでは、2本のピンが+VまたはGNDとして使用されることも珍しくありませんが、今回は1本とします。共通の接続部分がない場合、どのようになるのでしょうか? すべてのセグメントとDPに共通の+V/GNDピンを使うのではなく、それぞれに1本ずつ、合計8本のピンが必要になります。LEDの片側に8本、もう片側に8本、合計16本のピンが必要になります。これでは、回路設計が複雑になり、セグメントディスプレイ製品のコストアップにつながるのは明らかです。

多重化と複数のセグメントディスプレイ

複数のセグメントディスプレイがある場合はどうなりますか?1つのディスプレイに最低でも8本のマイコンピンを使用している場合、文字数が増えるたびにその数を追加する必要があるのでしょうか?その構成では、複数のディスプレイを設置することができますが、共通のアノードまたはカソードを持たない設計と同様に、多くの追加の端子が必要になります。

多重化はこの問題を解決するための手法です。この記事では、コンセプトだけを考察し、設計とそれに対応するコードは考えません。下の図では、各ディスプレイモジュールへの個別経路と、各セグメントやDP LEDへの共通経路を示しています。D11ピンはD1ディスプレイを制御し、D10ピンはD0ディスプレイを制御します。一方、D9ピンは両ディスプレイのセグメントAを制御し、D8端子は同様に両ディスプレイのセグメントBを制御するという二重の役割を担っています。

必要なときにそれぞれのディスプレイを点灯させるというアイデアは明確ですが、同時にどのように使用するのでしょうか。マイクロコントローラと多重化方式により、ディスプレイを順番にオン/オフし、必要に応じてセグメントを作動させて正しい文字を表示します。マイコンの動作周波数を考えると、このような文字の急速な変化(リフレッシュレート)は、人間の目に安定して見えるには十分すぎるほどです。この効果は 残像(Persistence of Vision、POV)と呼ばれ、物体からの光が目に入らなくなった後も、ごく短い時間だけ像が残る現象です。

実験として、この多重化方式を用いた回路と、多重化せずに2文字表示ができるだけのMCU I/Oピンを備えた回路を用意しました。2つの結果と、それらを実行するために必要なマイクロコントローラのリソースを比較してください。

ディスプレイモジュールへの入力を処理する他のICや方法に進む前に、Digi-Keyのサイトで様々なマイクロコントローラとセグメントディスプレイの製品をチェックしてみてください。

製品索引 > オプトエレクトロニクス >[ディスプレイモジュール - LED文字と数字 ]をご覧ください。ここで取り上げている基本的なトピックに関連する「文字数」と「文字形式」のフィルタがあります。

製品索引 > 集積回路(IC)>[ 組込み - マイクロコントローラ ]をご覧ください。

2進化10進法

MCUの負担を軽減する方法は他にもあるのでしょうか?その答えは「Yes」です。ここでは、そのうちのひとつをご紹介します。この例では、「2進化10進法」の基本的な理解が必要です。0進数(0~9)を4文字のコードに変換し、それをさらにディスプレイのセグメントに変換するだけのものです。次の表では、10進数の2進表現と、ディスプレイのアクティブなセグメントとの関係を示しています。

7SegmentBCD

BCDフォーマットをセグメントディスプレイ用のコードに処理するために特別に作られたICがあります。その例を以下に示します。(ICによってはDP LEDに対応しているものとしていないものがありますが、それについてはMCUから直接制御することも可能です。)

一見、設計が複雑になるように思えますが、オーバータスクになるのはたいていマイコンの方で、大型のマイコンにアップグレードするとコストがかさむだけでなく、設計上の問題も出てきます。このことは、MAX7219やMAX7221のようなLEDディスプレイドライバを使った基本的な回路図を見れば、より明確になります。なお、この回路で8桁のセグメントディスプレイを使用する場合、作業の多くはディスプレイドライバに委ねられています。作業とはリソースの使用を意味します。この場合、MCUは他のタスクを実行するための多くの能力を保持しています。

Digi-KeyのサイトにBCDインターフェースを含むディスプレイドライバがあります。[PMIC - ディスプレイドライバ「BCD」

上記製品を含め、Digi-Keyのホームページをぜひご覧ください。[ Digi-Key

基本的な接続方法については、このフォーラムの投稿をお読みください。[Basic Keypad Connections(キーパッドの基本的な接続)

要約

これでセグメントディスプレイの基本的な機能と操作の説明が終わったので、14セグメントや16セグメントなどのより大きなモデルを使用して、より多くの文字オプションを使用することができます。また、ディスプレイにデータを転送する方法(ICの品種)が多くあり、ICの機能によっては多重化の必要がないものもあります。一方、セグメントディスプレイの操作コンセプトを最もシンプルに示す必要がある場合は、制御側に 機械的なディップスイッチ を設定し、各セグメントを手動でオン/オフすることができます(教える側にとっては悪いアイデアではありません)。要するに、セグメントディスプレイを使うには、自分の技術レベルや回路の要求に応じて、複数の選択肢があるということです。

あなたのお気に入りの方法や製品があったら是非お聞かせください。





参考文献:

Jameco [ Identifying Light Emitting Diodes ]

Jameco [ Working with Seven Segment LED Displays ]

Adafruit [ 7-Segment Clock Display ]

Adafruit [ Blog “Segment” ]




オリジナル・ソース(英語)