Saya hanya memiliki 2 (3-negara) pin yang tersedia pada mikrokontroler dan perlu mengontrol 3 LED merah, UC beroperasi pada 5V. Saya hanya bisa menggunakan komponen pasif sebagai tambahan.
Saya hanya memiliki 2 (3-negara) pin yang tersedia pada mikrokontroler dan perlu mengontrol 3 LED merah, UC beroperasi pada 5V. Saya hanya bisa menggunakan komponen pasif sebagai tambahan.
Jawaban:
Untuk mengontrol empat LED:
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
Untuk mendapatkan kedua LED pada pin tertentu menyala, ganti pin pada beberapa ratus Hz.
Perhatikan bahwa pengaturan ini mensyaratkan bahwa tegangan maju LED kurang dari Vcc / 2.
Perhatikan juga bahwa resistor menghabiskan daya sepanjang waktu, bukan hanya ketika LED menyala.
Solusi ini tergantung pada kenyataan bahwa 5V tidak akan menyalakan tiga LED secara seri. Jika perlu, Anda dapat menambahkan silikon dioda secara seri dengan satu atau lebih LED untuk meningkatkan penurunan tegangan maju total.
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
Untuk memiliki lebih dari satu LED menyala pada suatu waktu, Anda harus multiplex: menyalakannya satu per satu, cukup cepat sehingga tampaknya menyala terus menerus.
Dengan dua pin Anda benar-benar dapat mengontrol empat LED. Untuk mengontrol dua LED, letakkan resistor dari pin MCU untuk membatasi arus dan ikatkan pada dua LED - katoda satu LED dan anoda LED lainnya. Ujung anoda bebas dari LED pertama terhubung ke VCC papan MCU melalui resistor lain. Ujung katoda gratis dari LED kedua terhubung ke GND (melalui resistor lain). Sekarang LED akan menyala bergantian ketika pin MCU diatur tinggi atau rendah. Pasang pin MCU kedua dengan cara yang sama dan Anda sekarang memiliki kendali atas total empat LED.
Untuk memberikan tampilan kontrol independen dari masing-masing LED dalam pasangan dari salah satu pin port memerlukan sedikit kerja perangkat lunak sebagai berikut.
Jika LED1 adalah yang memiliki anoda ke pin port dan LED2 adalah yang dengan katoda ke port pin maka lakukan hal berikut untuk menetapkan empat status untuk dua LED.
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.
Ulangi tindakan yang sama untuk pin port lain dan Anda akan terlihat seperti Anda memiliki empat LED independen dari dua pin port.
Skema ini bekerja dengan baik untuk LED yang memiliki drop tegangan maju yang lebih dari setengah level VCC. LED merah dengan 2.1 VF tidak akan berfungsi dengan baik jika VCC 5V misalnya. Di sisi lain LED hijau dengan 2.5V VF akan bekerja dengan baik pada sistem dengan VCC 3.3V.
Jadi seperti ini tidak ada arus yang mengalir ketika mereka mati, dan Anda dapat mengendarai sebanyak / sedikit tegangan maju yang Anda butuhkan
EDN menerbitkan beberapa Ide untuk Desain terkait di sini
Ini salah satunya: -
Untuk nilai-nilai tipikal dengan D1 LED kuning (2.2V aktif), D2 LED merah (1.9V aktif), dan mati tegangan masing-masing 1.2V dan 1.1V, dan pada arus masing-masing 8mA, Vcc = 5.0V, optimal nilai adalah
R1 = 300 ohm R2 = 330 ohm R3 = 1.2K ohm
Diam saat ini adalah 2.7mA. Agar kedua LED tampak menyala, ganti pin output pada 100Hz atau lebih besar.
Saya menggunakan pemecah Excel di artikel asli, kode mungkin masih tersedia dari EDN.
The gelar tambahan kebebasan yang diberikan oleh resistor R3 dapat menghindari keterbatasan baik Dave Tweed dan sirkuit Michael Karas', meskipun untuk kasus spesifik 2 LED merah beroperasi dari suplai 5V, rangkaian Dave Tweed ini mungkin dapat diterima, tetapi memeriksa Vf hati-hati, itu tidak baik untuk beberapa LED merah, dan mungkin sedikit untuk yang lain jika pin port tidak menarik ke bawah atau ke atas.