Saya ingin dapat menyalakan 50 LED merah dengan satu pin Arduino. Saya tidak ingin kontrol individu, saya hanya ingin dapat mengaktifkan atau menonaktifkan semuanya.
Saya menemukan contoh ini . Ia menggunakan transistor 2N3904. Apakah ini pendekatan yang ingin saya ambil? Saya kira saya akan membutuhkan transistor daya yang lebih tinggi?
Saya menggunakan catu daya eksternal yang disambungkan ke papan khusus dengan regulator tegangan 5v jadi saya memberi daya pada LED langsung dari regulator ini.
LED datang dalam bentuk array bar cahaya LED ini (atau setidaknya sangat mirip) ...
Saya telah menyebutkan dalam komentar dalam jawaban di bawah ini bahwa saya menggunakan resistor 330 ohm dengan masing-masing LED. Pada bagian lain dari proyek ini, saya menggunakan light bar sebagai level meter, dan setiap LED terpisah dikontrol melalui register geser, sehingga resistor terpisah. Saya menyadari setelah berpikir tentang hal itu bahwa saya tidak perlu memiliki resistor secara seri dengan masing-masing LED untuk ini sekarang karena mereka baik semua atau semua off (hmmm .... maaf untuk komentar saya yang agak sembarangan!).
Saya memang berpikir bahwa saya dapat memiliki semacam saklar elektronik yang dapat memutuskan hubungan ke tanah atau 5V. Apakah ini layak?
sumber
Jawaban:
Transistor pada dasarnya adalah sebuah saklar yang dapat memutuskan hubungan ground atau 5V. Ada berbagai jenis transistor, dan beberapa dapat mengubah beban yang sangat besar. 50 LED bukan masalah besar.
Jadi, pertanyaannya kemudian adalah ini: Dapatkah 2N3904 satu saklar 50 LED tunggal?
Untuk menjawabnya, kita perlu tahu dulu jenis LED apa. Tapi mari kita asumsikan Anda menggunakan varietas biasa-biasa-biasa saja. Estimasi yang masuk akal dari arus maksimum ini adalah20mA . Jika Anda memiliki 50, maka arus maksimum adalah20mA⋅50=1000mA . Melihat datasheet saya melihat arus kolektor maksimum untuk 2N3904 adalah200mA . Jadi jawabannya tidak: Anda tidak dapat mengganti 50 LED dengan satu 2N3904.
Saya kira Anda memiliki beberapa opsi:
Dari jumlah tersebut, saya pikir mengurangi arus LED atau menggunakan transistor yang lebih besar mungkin merupakan solusi yang paling mungkin. Perangkat switching lain (seperti relay) mungkin lebih mahal dan lebih lambat.
sumber
Mempertimbangkan informasi yang diberikan (50 Red Leds Tercatat pada 1.95V, 5v Source, 2mA current, 330Ω resistor), berikut ini akan berfungsi.
Dengan mempertimbangkan perhitungan Led resistor yang umum:
(Vcc - Forward Voltage) / Arus
Di mana Vcc adalah 5v, Forward Voltage adalah 1,95v per led, karena kami memiliki dua seri, 1.95v * 2, dan Current Desired Current adalah 2mA.
(5 - (1.95 * 2)) / 0,002 atau (5 - 3,9) / 0,002 atau 1,1 / 0,002 = 550.
Karena Anda memiliki resistor 330Ω, menyesuaikan dengan itu akan menghasilkan 3mA per Seri. Bukan per dipimpin, tetapi per seri, karena saat ini sama di jalur seri. Setiap rangkaian resistor, dalam hal ini dua, akan menggunakan arus 3mA yang sama. Jadi ini menyederhanakan persamaan ke rantai seri 3mA * 25, hanya 75mA yang perlu diaktifkan.
Transistor sinyal kecil yang umum seperti 2n3904 dapat menangani 75mA tanpa masalah. Basis resistor 1kΩ digunakan antara basis transistor dan pin MCU.
Catatan, skema di bawah ini hanya menunjukkan satu bilah dipimpin, Anda hanya akan menambahkan sisanya dengan cara yang sama. Kawat katoda led pertama ke anoda led berikutnya, dan satu resistor per pasang.
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
sumber
Anda harus menggunakan pin pada Arduino untuk mengontrol transistor yang menyalakan relay dan kontak relay menghidupkan semua LED dengan menerapkan ground. Jika Anda harus menggunakan transistor, maka ya Anda perlu menemukan satu yang dapat menangani semua arus. Bahkan dengan relay, pastikan untuk memeriksa peringkat kontak saat ini. Lihat contoh sirkuit di bawah ini. Tergantung pada peringkat saat ini dan resistansi koil dari relai yang Anda pilih, Anda mungkin atau mungkin tidak perlu R2.
sumber