3つのLED多重化技術

発行者

前回の記事では、マルチプレキシングの世界の小さなサブセットであるCharlieplexingについて説明しました。 非常に一般的な言葉で言えば、多重化は、リソースを節約するために複数の信号が結合されるときに発生します。この文脈では、多重化により、マイクロコントローラのIOピンの数を節約できるが、いくつかのピンを点灯させるなど、やや複雑なハードウェアおよびソフトウェアプロトコルを実装することになる。 LEDについて

複雑さに加えて、このタイプのLED多重化に伴うもう1つのトレードオフは、各LEDが公称「オン」の時間のほんの一部しか電源が入らないことです。人間の目はこれを単色として認識しますが、これは特定のビデオ アプリケーションに悪影響を及ぼし、ちらつきなどの異常を引き起こす可能性があります。

潜在的なちらつきが目的に適っていると仮定して、3つの異なるLED多重化技術について説明します。まずは基本的なグリッド設定から始め、汎用的な 74HC4051 マルチプレクサ/デマルチプレクサ、そして最後に MAX7219 シリアルに処理するLEDドライバー。

LEDグリッドライト: IO LEDセットアップ

「LED」は、もちろん発光ダイオードの略です。通常、これらは光を生成するために使用されますが、電流を一方向にのみ流すことができる非常に機能的なダイオードでもあります。この動作を利用して、以下のグリッド レイアウトを作成できます。各行はIO1からIO4をハイに設定することでアクティブになり、列はIO5からIO8をローに設定することでアクティブになります。

LED Multiplexing Techniques Image 2

たとえば、IO1がハイに設定され (2-4がロー)、IO5がローに設定されている (6-8がハイ) 状況を考えてみます。電流が流れる唯一の経路はIO1からIO5であり、LED D1が点灯します。IO6もローに変更すると、D1とD2に並列で電力を供給でき、IO7とIO8でも同様、D3とD4に電力を供給できます。

図に示すように、8つのIOが16個のLEDを制御します。グリッドは必要に応じて拡張でき、一方の軸のIOの数にもう一方の軸のIOの数を掛けた数のLEDを制御できます。以下に、6つのIOを使用して9個のLEDの3x3マトリックスを制御する簡単なブレッドボードの例を示します。

LED Multiplexing Techniques Image 3

この技術の問題点は、1行のLEDは簡単に制御できるものの、列のIOがハイ状態になると、 その列のLEDはオフになっています。この問題を解決するには、各行のIOを1つずつハイに設定して、LEDセットをアクティブにします。列IOピンは、どの特定のLEDがオンになるかを制御します。このようにして、マトリックス全体が必要に応じて順番にアクティブ化され、このプロセスが何度も繰り返されます。これは人間の目が感知できるよりも速く起こり、一定の輝きとして見えるものを作り出します。

この種のテクニックは、入力に対して逆方向にも使用できます。ただし、ボタンやその他の感知デバイスには通常、ダイオードが「おまけ」として付いていないため、より多くの部品が必要になります。

74HC4051マルチプレクサ チップ

上記で説明した内容は、74HC4051のような多重化チップを使用してプロジェクトを効率化するために役立ち、LED多重化の仕組みを理解するのに役立ちます。このチップでは、3つのセレクター入力 (A (ピン11)、B (ピン10)、C (ピン9)) によって3ビットの2進数が生成され、8つの出力ピンのうちのどれにピン3からの信号を渡すかが選択されます。

LED Multiplexing Techniques Image 4

上記で構築された回路は、これらのチップの1つを使用してLEDを制御するための手動レイアウトを示しています。左側の最初のボタンは、青いワイヤを介して入力ピン3に電力を供給します。他のボタンがどれも押されていない場合、すべての選択ピンは10K抵抗器のバンクによって低くプルダウンされ、ピン13のLEDが点灯します。他のボタンを押すと、 ここにあるデータシートに記載されているように、さまざまなLED選択が有効になります

たとえば、右端のセレクター ボタンが押されてピン9がハイに設定されている場合、ピン3のボタンがアクティブになると、ピン1のLEDが点灯します。代わりに、他の2つのボタンを押して10と11をハイに設定すると、ピン12のLEDがピン3とともに点灯します。LEDグリッドと同様に、マイクロコントローラは、人間の目では見えないほど速くLEDを循環させることができます。

LED Multiplexing Techniques Image 5

LED Multiplexing Techniques Image 6

MAX7219: Arduino LED多重化

グリッドおよびマルチプレクサ ソリューションはさまざまな用途に使用できますが、 Arduino または類似のデバイスから多数のLEDを駆動したいだけの場合は、MAX7219チップが最適です。このICはプロセッサからシリアル信号を受信し、低レベルの監視なしでLEDの実際の表示と多重化を処理します。

LED Multiplexing Techniques Image 7

上記のマトリックスは64個のLEDの8x8グリッドです。つまり、LEDグリッド方式に基づいて、Arduinoでこれを制御するには理論的には16個のピンが必要になります。ここで必要なのは、3つの制御ピンと、正極ラインおよび接地ラインだけです。MAX7219は、それ以上の監視なしで多重化を処理します。このチップは、この目的のための機能を内蔵しており、 7セグメント ディスプレイの制御にも適しています。ディスプレイをテストするために使用したコードと、前述のシンプルなLEDグリッドは、 GitHubで見つかります

多重化技術の利点

ここで紹介する3つの手法は、LEDを出力ピンに直接接続するだけよりもハードウェア的には複雑ですが、最終的にはさらに多くの出力を制御できるようになります。このタイプのセットアップは通常「多重化」と呼ばれますが、ここで行っていることは実際にはマイクロコントローラの信号の多重化解除であると主張する人もいます。これは、LED出力の数を減らすのではなく、信号を増幅しているからです。何と呼ぶにせよ、必要なときに「ツールボックス」に入れておくと便利なコンセプトです。

LED Multiplexing Techniques Image 8

 

ニュースレター1

最新ニュース

申し訳ございませんが、フィルター選択では結果が返されませんでした。

We've updated our privacy policy. Please take a moment to review these changes. By clicking I Agree to Arrow Electronics Terms Of Use  and have read and understand the Privacy Policy and Cookie Policy.

Our website places cookies on your device to improve your experience and to improve our site. Read more about the cookies we use and how to disable them here. Cookies and tracking technologies may be used for marketing purposes.
By clicking “Accept”, you are consenting to placement of cookies on your device and to our use of tracking technologies. Click “Read More” below for more information and instructions on how to disable cookies and tracking technologies. While acceptance of cookies and tracking technologies is voluntary, disabling them may result in the website not working properly, and certain advertisements may be less relevant to you.
We respect your privacy. Read our privacy policy here