受動部品だけを使用して2つのuCピンで3つのLEDを制御するにはどうすればよいですか?


8

マイクロコントローラーで使用できるピンは2つ(3ステート)しかなく、3つの赤いLEDを制御する必要があります。uCは5Vで動作しています。さらに、パッシブコンポーネントしか使用できません。


「コントロール」を定義します。すべてのLEDを同時に完全に点灯させる必要がありますか、それとも一度に1つだけ点灯させる必要がありますか?受動部品しか使用できないと言うのはなぜですか?
ジョーハス14

グーグル「charlieplexing」。
John U

1
@JohnU:Charlieplexingは、ピンが3つ未満の場合は何も行いません。2つのピンは2つのLEDを提供します。
デイブツイード14

明らかに、I2Cポートエクスパンダまたはいくつかの単純なシフトレジスタでも、任意の数のLEDを制御できます。なぜこれらが除外されているのですか?
Dave Tweed 2014

1
@DaveTweed-それをグーグルする行為はかなり有益である可能性が高いです;)
John U

回答:


10

4つのLEDを制御するには:

概略図

この回路のシミュレーションCircuitLabを使用して作成された回路

特定のピンの両方のLEDを点灯させるには、ピンを数百Hzで切り替えます。

このセットアップで、LEDの順方向電圧がVcc / 2未満である必要があることに注意してください。

また、LEDがオンになっているときだけでなく、抵抗が常に電力を消費することにも注意してください。


R1をD1にのみ接続し、R2をD2のみに接続するなどの場合、LED電圧降下がVDDに結合するという条件で、LEDがオフのときの静止電流が大幅に削減されます。
スーパーキャット2014

@supercat:はい、しかしそれはOPが指定した赤いLEDにはほとんど当てはまりません。ウィルの図を参照してください。
Dave Tweed 2014

R1-D1とD2-D2ノードの間に追加のLEDを追加し、どこかにそれを隠します。
スーパーキャット2014

@supercat:Spehroの回答を参照してください。
Dave Tweed 2014

6

この解決策は、5Vが直列の3つのLEDを点灯しないという事実に依存します。必要に応じて、順方向電圧降下の合計を増やすために、1つ以上のLEDと直列にシリコンダイオードを追加できます。

概略図

この回路のシミュレーションCircuitLabを使用して作成された回路

  • ピンAとピンBの両方がトライステートの場合、すべてのLEDがオフになります。
  • ピンAがLowに駆動されると、D1がオンになります。
  • ピンAがハイに駆動され、ピンBがローに駆動される場合、D2はオンです。
  • ピンBがハイに駆動されると、D3はオンになります。

一度に複数のLEDを点灯させるには、多重化する必要があります。一度に1つずつ、LEDが連続的に点灯しているように見えるように、十分に速くオンにします。


マイケル・カラスの方法よりも優れている点はありますか?
2014

これは、LEDの低い順方向電圧降下で動作します。彼の解決策は、これの1ピン/ 2 LEDバージョンの2つのコピーです。
Dave Tweed 2014

ああ、これであなたが2つの抵抗器を持っている場合、1つと他のいくつかを介していくつかの電圧を落としていて、抵抗器のより少ない燃焼する必要があるでしょうか?
2014

1
@意志:ええと、いいえ。この方式では、一度に1つのLEDのみがオンになり、一度に1つの抵抗のみが電圧を降下させます。両方のピンがトライステートの場合、直列に接続された3つのLEDの累積的な順方向電圧降下によって電流がブロックされるため、電流はまったく流れません。
Dave Tweed 2014

あなたがピンbをトライステートにするならば、あなたはあなたのスキームで2つのLEDをドライブすることができますよね?
ウィル

3

2つのピンを使用すると、実際には4つのLEDを制御できます。2つのLEDを制御するには、MCUピンから抵抗を挿入して電流を制限し、2つのLED(1つのLEDのカソードともう1つのLEDのアノード)に接続します。最初のLEDの自由陽極端は、別の抵抗を介してMCUボードのVCCに接続されます。2番目のLEDの自由陰極端は、(別の抵抗を介して)GNDに接続されます。これで、MCUピンがハイまたはローに設定されると、LEDが交互に点灯します。同じ方法で2番目のMCUピンを配線すると、合計4つのLEDを制御できるようになります。

ペアの各LEDを独立して制御しているように見せるために、ポートピンの1つをオフにするには、次のように少しソフトウェア作業が必要です。

LED1がアノードがポートピンに接続されているもので、LED2がカソードがポートピンに接続されているものである場合は、次のようにして2つのLEDの4つの状態を確立します。

LED2  LED1    Action
OFF   OFF     Set the port pin to tristate level.
OFF   ON      Set the port pin low.
ON    OFF     Set the port pin high.
ON    ON      Toggle the port pin high and low at a frequency over about 120 Hz. 

他のポートピンについても同じ操作を繰り返すと、2つのポートピンから4つの独立したLEDが見えます。

この方式は、順方向電圧降下がVCCレベルの半分を超えるLEDに適しています。たとえば、VCCが5Vの場合、2.1 VFの赤いLEDはあまり機能しません。一方、VFが2.5Vの緑色のLEDは、VCCが3.3Vのシステムで適切に機能します。


3
しかし、これは完全なコントロールですか?それらをすべてオンまたはオフにするにはどうすればよいですか?
スタンリ2014

1つのLEDは、ピンから電流が流れているときにオンになり、もう1つのLEDは、ピンに電流が流れているときにオンになります。したがって、両方をオフにして、ポートピンをトライステートにするだけで、電流が出入りしないため、LEDがなくなります。電流を同時に流したり流したりすることはできないため、両方のLEDを同時に点灯させることはできません。しかし、あなたは、低、高、低、高、その後など、低ピンをHighに駆動することにより、上の両方とも、それらの効果を作成することができます
ウィル

2

2つのLEDが1つのピン、ひどく引き分け

このように、オフのときは電流が流れないため、必要なだけの順方向電圧を駆動できます。


これは、Michael Karasのソリューションと同じです。LEDのV_fがVcc / 2より大きいことが必要です。そうしないと、LEDを完全にオフにすることができません。
Dave Tweed 2014

マイケル・カラスのソリューションを紹介する努力をしてDave TweedのCircuitLabsの回路図をコピー、MSペイントなどを使ってフリーハンドの線描くための+1 。
Ricardo

そして、それは:)塗料にあった
ウィル

1
ああ、あなたが今話していることはわかります。デイブ。電流はr1 d1 d2 r2になり、何も入力する必要はありません/ピンの私たち
2014

2

EDNはここにいくつかの関連するデザインのアイデアを公開しました

ここにそれらの1つがあります:-

ここに画像の説明を入力してください

D1が黄色のLED(2.2Vがオン)、D2が赤色のLED(1.9Vがオン)、オフ電圧がそれぞれ1.2Vと1.1V、オン電流がそれぞれ8mAの標準的な値の場合、Vcc = 5.0V、最適値は

R1 = 300オームR2 = 330オームR3 = 1.2Kオーム

静止電流は2.7mAです。両方のLEDが点灯しているように見えるようにするには、出力ピンを100Hz以上で切り替えます。

元の記事ではExcelソルバーを使用しましたが、コードはEDNからまだ入手できる場合があります。

追加の自由度が抵抗R3によってもたらさは、5V電源で動作している2個の赤色LEDの特定のケースのために、デイヴ・ツイードの回路はおそらく許容可能であるものの、デイブ・ツイードとマイケルカラス回路の両方の制限を回避しますが、Vfを確認することができます注意してください。一部の赤いLEDには問題があり、ポートピンが完全に引き下げられていない場合、他のLEDには限界があります。


注:OPはすべてパッシブな回路を求めています。また、MCUピンがHigh-Zの場合、インバーターは線形動作モードに強制され、通常は電力を浪費します。
Dave Tweed 2014

@DaveTweedはい、私の元の投稿ではSTインバーターが指定されていたため、それを明確にするために編集しました。それはだていないすべてのパッシブが、それは簡単で、ゼロIQの。2番目の回路はIqが高くなっていますが、すべてパッシブです。コメントありがとうございます。
Spehro Pefhany 2014

シュミットトリガー入力がどのように役立つかわかりません。代わりに、回路を強制的に発振させると思います。確かに、LEDはオフになりますが、インバータ自体はかなりの電力を消費します。
Dave Tweed 2014

まあ、アクティブパーツがないという本来の要件を満たしていないため、削除しますが、問題なく動作すると思います。
Spehro Pefhany 2014

R3の+1は、便利なトリックになる可能性があります。そしてそれで安いもの
2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.