マイクロコントローラーで使用できるピンは2つ(3ステート)しかなく、3つの赤いLEDを制御する必要があります。uCは5Vで動作しています。さらに、パッシブコンポーネントしか使用できません。
マイクロコントローラーで使用できるピンは2つ(3ステート)しかなく、3つの赤いLEDを制御する必要があります。uCは5Vで動作しています。さらに、パッシブコンポーネントしか使用できません。
回答:
4つのLEDを制御するには:
この回路のシミュレーション – CircuitLabを使用して作成された回路図
特定のピンの両方のLEDを点灯させるには、ピンを数百Hzで切り替えます。
このセットアップでは、LEDの順方向電圧がVcc / 2未満である必要があることに注意してください。
また、LEDがオンになっているときだけでなく、抵抗が常に電力を消費することにも注意してください。
この解決策は、5Vが直列の3つのLEDを点灯しないという事実に依存します。必要に応じて、順方向電圧降下の合計を増やすために、1つ以上のLEDと直列にシリコンダイオードを追加できます。
この回路のシミュレーション – CircuitLabを使用して作成された回路図
一度に複数のLEDを点灯させるには、多重化する必要があります。一度に1つずつ、LEDが連続的に点灯しているように見えるように、十分に速くオンにします。
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のシステムで適切に機能します。
このように、オフのときは電流が流れないため、必要なだけの順方向電圧を駆動できます。
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には限界があります。