- 締切済み
LEDの点灯タイミングを変える方法を教えてください。
ある作品を作るためにPICマイコンでLEDを点灯させる回路を作る予定です。 並べたLEDが左から順に点灯しバー状に伸びるという回路です。 しかし、ピンの数に対して使用予定のLEDの数が1個多いため最後の1ピンにABの2つのLEDを並列に繋ぎ、そのABを何とか時間差で点灯させることが出来ないかと考えました。 要するに「1つのピンからの信号が同時にAB2つのLEDに供給されるがAはすぐに点灯し、Bは若干遅れて点灯する。消灯時はAB同時にパッと消える。」 といったものです。 BのLEDの遅れの時間を調整できて、比較的少ない部品点数で実現出来れば最高なんですが、どのように回路を組めばよいでしょうか? 例えば、コンデンサの充電時間を利用して遅らせるという感じの方法があればよいのですが、消灯時はABは同時にパッと消えるようにしたいのです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- inara1
- ベストアンサー率78% (652/834)
PIC端子が H (5V) になったときに A が点灯し、そのあとBが遅れて点灯し、PIC端子が L (0V) になったとき、ABを同時に消灯させるのでしたら、以下のような回路でできます(回路シミュレータで動作確認済み)。 PICの出力が H (5V) のとき LED を点灯させる場合 -───────┬────┬──────────────────┬─ Vcc (4~5.5V) R │ R │ R2 ┌ R3 ┐ │ ▽ LED(A) │ │ ▲ ▽ LED(B) PIC ├────┴─┤>○─┴ R4 ┴┬─┤>○─┤>○┐ │ ━┓ c │+ R5 c ┠─ R1 ─ b ← NPNトランジスタ C └ b ← NPNトランジスタ ┃ e 2SC1815など │- e 2SC1815など ━┛ │ │ │ ───────┴─────────────-┴─────────┴── GND (0V) 点灯遅延時間 [s] = 0.7*C[F]*R4[Ω] ・・・ C = 10μF、R4 = 100kΩのとき 0.7s の遅延 R1 = 4.7kΩ、R2 = 10kΩ~100kΩ、R3 = 100Ω、R5 = 4.7kΩ、R = ( Vcc - Vf )/If ▲ = 小信号用ダイオード(1N4148など)、┤>○─ = CMOSインバータ(74HC04など) PIC端子が L (0V) になったときにLEDが点灯するようにもできますが、その場合、LEDがVcc側でなくGND側に来るような回路になり、トランジスタはPNPタイプ(2SA1015など)になり、インバータは1個減ります(ご希望なら回路図描きます)。
- hs001120
- ベストアンサー率60% (473/788)
デコーダーを使わず、各ピンにLED一つを割り当てでしょうか? ピン数の多いワンチップマイコンを使うのが正道の様な気がしますが、 邪道な方法として、 ワンチップマイコンの出力2ピンで3つのLEDが制御できれば良いのでは? 例えば、次のようなICがあれば良いのではありませんか? マイコンからの入力(1,1)-LEDへの出力(0,0,0) マイコンからの入力(0,0)-LEDへの出力(1,0,0) マイコンからの入力(0,1)-LEDへの出力(1,1,0) マイコンからの入力(1,0)-LEDへの出力(1,1,1) 例えば4511Bを使用して、 入力Dは0固定、Cは1固定で、入力BとAをマイコンに接続 出力f,d,e だけを使用するとか。 4511Bの本来の用途からすると邪道な使い方ですが。