Dalam proyek ini kita akan menghubungkan 5 RGB (Merah Hijau Biru) LED ke Arduino Uno. LED ini dihubungkan secara paralel untuk mengurangi penggunaan PIN Uno.
Sebuah LED RGB khas ditunjukkan pada gambar di bawah ini:
LED RGB akan memiliki empat pin seperti yang ditunjukkan pada gambar.
PIN1: Terminal negatif berwarna 1 atau terminal positif berwarna 1
PIN2: Positif umum untuk ketiga warna atau negatif umum untuk ketiga warna
PIN3: Terminal negatif berwarna 2 atau terminal positif berwarna 2
PIN4: Terminal negatif berwarna 3 atau terminal positif berwarna 3
Jadi ada dua jenis LED RGB, satu adalah jenis katoda umum (negatif umum) dan jenis lainnya adalah jenis anoda umum (positif umum). Dalam CC (Common Cathode atau Common Negative), akan ada tiga terminal positif, setiap terminal mewakili warna dan satu terminal negatif mewakili ketiga warna. Sirkuit internal dari CC RGB LED dapat direpresentasikan seperti di bawah ini.
Jika kita ingin MERAH menyala di atas, kita perlu menyalakan pin LED MERAH dan membumikan negatif umum. Hal yang sama berlaku untuk semua LED. Di CA (Common Anode atau Common Positive), akan ada tiga terminal negatif setiap terminal mewakili warna dan satu terminal positif mewakili ketiga warna. Sirkuit internal CA RGB LED dapat direpresentasikan seperti yang ditunjukkan pada gambar..
Jika kita ingin MERAH menyala di atas, kita perlu membumikan pin LED MERAH dan memberi daya pada common positive. Hal yang sama berlaku untuk semua LED.
Di sirkuit kami, kami akan menggunakan tipe CA (Common Anode atau Common Positive). Untuk menghubungkan 5 LED RGB ke Arduino biasanya kita membutuhkan 5x4 = 20 PINS, dengan cara ini kita akan mengurangi penggunaan PIN ini menjadi 8 dengan menghubungkan LED RGB secara paralel dan dengan menggunakan teknik yang disebut multiplexing.
Komponen
Perangkat keras: UNO, power supply (5v), resistor 1KΩ (3 buah), RGB (Merah Hijau Biru) LED (5 buah)
Software: Atmel studio 6.2 atau Aurdino nightly.
Sirkuit dan Penjelasan Kerja
Sambungan rangkaian untuk antarmuka Arduino LED RGB ditunjukkan pada gambar di bawah ini.
Sekarang untuk bagian yang sulit, katakanlah kita ingin menyalakan LED MERAH di SET1 dan LED HIJAU di SET2. Kami memberi daya pada PIN8 dan PIN9 dari UNO, dan PIN7 ground, PIN6.
Dengan aliran itu kita akan memiliki MERAH di SET pertama dan HIJAU di SET kedua ON, tetapi kita akan memiliki HIJAU di SET1 dan MERAH di SET2 ON dengannya. Dengan analogi sederhana kita dapat melihat keempat LED menutup sirkuit dengan konfigurasi di atas dan semuanya menyala.
Jadi untuk menghilangkan masalah ini kita hanya akan mengaktifkan satu SET pada satu waktu. Katakanlah pada t = 0m SEC, SET1 disetel ON. Pada t = 1m SEC, SET1 disetel OFF dan SET2 dinyalakan. Sekali lagi pada t = 6m SEC, SET5 dimatikan dan SET1 dihidupkan. Ini terus berlanjut.
Triknya, mata manusia tidak bisa menangkap frekuensi lebih dari 30 HZ. Itu jika LED menyala dan mati terus menerus dengan kecepatan 30Hz atau lebih. Mata melihat LED menyala terus menerus. Namun tidak demikian halnya. LED akan terus menyala dan mati. Teknik ini disebut multiplexing.
Sederhananya kita akan memberi daya pada setiap katoda umum dari 5 SETs 1mili detik, jadi dalam 5mili detik kita akan menyelesaikan siklus, setelah itu siklus dimulai dari SET1 lagi, ini berlangsung selamanya. Karena SET LED menyala dan mati terlalu cepat. Manusia memprediksi semua SET ON sepanjang waktu.
Jadi ketika kita memberi daya SET1 pada t = 0 mili sekon, kita ground pin RED. Pada t = 1 mili sekon, kita menyalakan SET2 dan membumikan pin HIJAU (saat ini MERAH dan BIRU ditarik TINGGI). Lingkaran berjalan cepat dan mata melihat cahaya MERAH di SET PERTAMA dan cahaya HIJAU di SET KEDUA.
Ini adalah cara kami memprogram LED RGB, kami akan memancarkan semua warna secara perlahan dalam program untuk melihat cara kerja multiplexing.