Semua orang menyukai LED,
murah, mudah digunakan, dan Anda dapat dengan mudah mempelajari semua trik
Arduino dengannya. Tapi di sini ada beberapa jenis LED yang lebih keren lagi,
yang ini berbeda dengan LED biasa yang kami gunakan di sini. Ini disebut LED
RGB.
Apa itu LED RGB?
LED RGB adalah LED tunggal
yang berisi 3 LED: merah, hijau dan biru.
Ini dapat bersinar dalam
lebih dari 16 juta warna dan mudah digunakan seperti LED biasa. Kami memiliki
dua jenis utama LED RGB: katoda umum dan anoda umum.
Jika Anda memiliki katoda
umum, Anda harus menghubungkan kaki terpanjang LED ke ground (GND) dan 3 kaki
lainnya ke 3 pin Arduino. Itu bersinar di status TINGGI pin.
Jika Anda memiliki anoda
umum, Anda harus menghubungkan kaki terpanjang ke VCC (5V) dan sisanya ke pin
Arduino. Itu bersinar pada status RENDAH dari pin.
Jangan lupa untuk memasang
resistor secara seri dengan masing-masing 3 pin antara pin Arduino dan LED
Bahan yang dibutuhkan
- 1 x Papan Arduino Uno
- 1 x LED RGB
- 3 x 200 – 220Ω resistor
- 1 x projectboard
- Kabel jumper
Berikut adalah dua diagram
untuk tujuan koneksi. Yang pertama adalah untuk arus pemicu daya anoda (saya
menggunakannya) dan yang kedua adalah untuk arus daya katoda.
Apa pun yang Anda gunakan, pastikan untuk menghubungkan LED dengan benar. Kode program tidak berubah.
Sekarang, kita dapat mengunggah program pertama ke Arduino. Kode berikut akan menyalakan LED merah, hijau dan biru secara berurutan.
[program]
void setup() { pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT);}void loop() { for(int r = 0; r < 255; r++){ analogWrite(9, r); delay(10); } for(int g = 0; g < 255; g++){ analogWrite(10, g); delay(10); } for(int b = 0; b < 255; b++){ analogWrite(11, b); delay(10); }}
Kode sebelumnya digunakan untuk menunjukkan kepada Anda tampilan dan cara kerjanya.
Sekarang, kita bisa membangun
sesuatu yang lebih canggih.
Di sini, kami menggunakan
fungsi acak.
Fungsi ini memanggil
random([min_value], [max_value]); Itu membuat Anda mendapatkan angka acak dalam
rentang, min_value (nilai terkecil yang bisa kita dapatkan adalah 0 dan nilai
maksimalnya adalah 255 karena itu adalah nilai maksimal yang bisa kita tulis ke
fungsi analogWrite()).
Kami memiliki 3 nilai
berikut untuk setiap warna dan kami secara acak menghasilkan angka untuk warna
tersebut.
Ketika current_color_value
sama dengan random_color_value, kita mendapatkan nilai acak baru.
float now_r = 0, now_g = 0, now_b = 0;float ran_r, ran_g, ran_b;void setup() { pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT);}void loop() { if(now_r > ran_r){ now_r--; }else if(now_r < ran_r){ now_r++; }else{ //we bove values are qeual we have to set new random value ran_r = random(0, 255); } if(now_g > ran_g){ now_g--; }else if(now_g < ran_g){ now_g++; }else{ ran_g = random(0, 255); } if(now_b > ran_b){ now_b--; }else if(now_b < ran_b){ now_b++; }else{ ran_b = random(0, 255); }}
LED itu sendiri sangat
terang dan kami tidak dapat melihatnya berubah warna. Kita harus entah
bagaimana menyebarkan warnanya agar terlihat lebih baik.
Anda kemungkinan besar
memiliki jenis busa ini di suatu tempat di rumah Anda, biasanya datang dalam
kotak untuk melindungi isinya saat dikirim. Ini sempurna untuk ini. Buat saja
lubang kecil untuk LED masuk dan kita siap untuk pergi.
Sekian artikel kali ini semoga bermanfaat, sampai bertemu pada artikel selanjutnya. Terimakasih..