Mengontrol RGB LED Menggunakan Remote IR
Ringkasan Proyek
Buat proyek interaktif menggunakan Arduino UNO, RGB LED, dan remote infrared (IR). Kamu dapat menyalakan dan mematikan warna LED menggunakan tombol pada remote. Proyek ini mengenalkan cara kerja penerima sinyal infrared, penggunaan library Arduino, serta pengendalian output digital.
Bahan & Komponen
Daftar perangkat keras, modul, dan tools yang dibutuhkan untuk merakit proyek ini.
Daftar Komponen & Perangkat Keras
- 1x Arduino UNO (Mikrokontroler yang menerima perintah dari remote dan mengendalikan RGB LED).
- 1x IR Receiver (Penerima sinyal infrared yang dikirimkan oleh remote).
- 1x IR Remote (Remote control untuk mengirimkan perintah menyalakan dan mematikan LED).
- 1x RGB LED (LED dengan tiga warna dasar, yaitu merah, hijau, dan biru).
- 1x Through Hole Resistor 220 kΩ (Resistor yang tercantum pada daftar komponen proyek asli).
Software dan Library
- Arduino IDE (Digunakan untuk menulis dan mengunggah program ke Arduino UNO).
- IRremote Library (Library Arduino untuk menerima dan membaca sinyal dari remote infrared).
Langkah Pembuatan
Khusus MemberPanduan perakitan tahap demi tahap dan catatan proses pengerjaan.
Pada proyek ini, kita akan mengontrol RGB LED menggunakan remote infrared (IR). Setiap tombol pada remote memiliki kode hexadecimal yang berbeda. Arduino membaca kode tersebut melalui IR receiver, kemudian menjalankan perintah untuk menyalakan atau mematikan LED.

Langkah 1: Menyiapkan Komponen
Siapkan Arduino UNO, IR receiver, IR remote, RGB LED, dan resistor sesuai daftar komponen. Siapkan juga kabel jumper dan breadboard untuk membantu proses perakitan.
Langkah 2: Memahami Cara Kerja Remote IR
Remote infrared mengirimkan sinyal menggunakan cahaya infrared yang tidak dapat dilihat langsung oleh mata manusia. Ketika sebuah tombol ditekan, remote mengirimkan kode tertentu. IR receiver menangkap sinyal tersebut dan meneruskannya ke Arduino untuk diproses.
Setiap tombol memiliki kode hexadecimal yang dapat dibaca melalui Serial Monitor Arduino IDE.
Langkah 3: Menghubungkan IR Receiver dan RGB LED
Hubungkan IR receiver ke Arduino UNO. Berdasarkan program asli, pin penerima sinyal IR ditentukan menggunakan nomor pin 13. RGB LED dikendalikan melalui pin digital 12, 11, dan 10.
Hubungkan ketiga kanal warna RGB LED ke pin digital yang sesuai melalui resistor pembatas arus. Hubungkan kaki common RGB LED sesuai jenis LED yang digunakan. Periksa kembali susunan kaki komponen sebelum memberikan daya.
Catatan: Dokumentasi asli menampilkan gambar skema rangkaian, tetapi tidak menjelaskan secara tertulis urutan kaki IR receiver maupun kaki common RGB LED. Karena itu, pastikan susunan pin mengikuti diagram dan datasheet komponen yang digunakan.

Langkah 4: Menyiapkan Arduino IDE dan Library
Buka Arduino IDE dan pastikan library IRremote sudah tersedia. Library ini digunakan untuk membaca sinyal yang diterima oleh IR receiver.
Jika library belum tersedia, pasang library IRremote melalui Library Manager Arduino IDE. Pastikan kode yang digunakan sesuai dengan versi library karena beberapa versi IRremote memiliki perbedaan cara penggunaan.
Langkah 5: Membaca Kode Tombol Remote
Setiap tombol remote memiliki kode hexadecimal. Pada proyek ini, kode tombol 1 sampai 6 sudah ditentukan di dalam program. Apabila menggunakan remote yang berbeda, kode tombol perlu disesuaikan dengan hasil pembacaan remote tersebut melalui Serial Monitor.
Program menggunakan Serial Monitor dengan baud rate 9600 untuk menampilkan kode yang diterima dalam format hexadecimal.
Langkah 6: Memasukkan Program Arduino
Masukkan kode program berikut ke Arduino IDE. Program membaca sinyal infrared dan menggunakan perintah switch untuk menentukan tindakan berdasarkan tombol yang ditekan.
#include <IRremote.h> //include the library #define Button_1 0xFFA25D #define Button_2 0xFF629D #define Button_3 0xFFE21D #define Button_4 0xFF22DD #define Button_5 0xFF02FD #define Button_6 0xFFC23D int receiver = 13; //initialize pin 13 as recevier pin. uint32_t Previous; IRrecv irrecv(receiver); //create a new instance of receiver decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); //start the receiver pinMode(12, OUTPUT); } void loop() { if (irrecv.decode(&results)) { //if we have received an IR signal if (results.value==0xFFFFFFFF) { results.value=Previous; } switch(results.value) { case Button_1 : digitalWrite(12, HIGH); break; case Button_2 : digitalWrite(11, HIGH); break; case Button_3 : digitalWrite(10, HIGH); break; case Button_4 : digitalWrite(12, LOW); break; case Button_5 : digitalWrite(11, LOW); break; case Button_6 : digitalWrite(10, LOW); break; } Serial.println (results.value, HEX); //display HEX results irrecv.resume(); //next value } Previous=results.value; }
Langkah 7: Mengunggah dan Menguji Program
Hubungkan Arduino UNO ke komputer menggunakan kabel USB. Pilih board dan port yang sesuai di Arduino IDE, kemudian unggah program.
Arahkan remote ke IR receiver dan tekan tombol-tombol berikut:
- Tombol 1: Menyalakan kanal LED yang terhubung ke pin 12.
- Tombol 2: Menyalakan kanal LED yang terhubung ke pin 11.
- Tombol 3: Menyalakan kanal LED yang terhubung ke pin 10.
- Tombol 4: Mematikan kanal LED pada pin 12.
- Tombol 5: Mematikan kanal LED pada pin 11.
- Tombol 6: Mematikan kanal LED pada pin 10.
Amati perubahan warna RGB LED ketika tombol remote ditekan. Setiap kanal warna dapat dinyalakan atau dimatikan secara terpisah.
Langkah 8: Memahami Bagian Penting Program
1. IRremote Library
Baris #include <IRremote.h> memanggil library yang membantu Arduino menerima dan membaca sinyal infrared.
2. Button Hexadecimal Codes
Perintah #define digunakan untuk memberikan nama pada kode hexadecimal setiap tombol remote. Dengan begitu, kode lebih mudah dibaca dan digunakan di dalam program.
3. IR Receiver Initialization
Variabel receiver menentukan pin yang digunakan untuk menerima sinyal infrared, yaitu pin 13. Objek IRrecv digunakan untuk membuat penerima sinyal IR.
4. Setup Function
Fungsi setup() memulai komunikasi Serial dengan baud rate 9600 dan mengaktifkan IR receiver menggunakan enableIRIn().
5. Reading the Remote Signal
Fungsi irrecv.decode(&results) memeriksa apakah ada sinyal infrared yang diterima. Kode tombol yang diterima disimpan pada results.value.
6. Switch Statement
Perintah switch membandingkan kode tombol dengan kode yang telah ditentukan. Perintah digitalWrite() digunakan untuk menyalakan LED dengan nilai HIGH atau mematikannya dengan nilai LOW.
7. Resume IR Receiver
Fungsi irrecv.resume() membuat IR receiver siap menerima sinyal berikutnya.
Catatan teknis penting: Kode asli hanya mengatur pin 12 sebagai output melalui pinMode(), sedangkan program juga mengendalikan pin 11 dan 10. Agar ketiga kanal RGB LED bekerja sesuai tujuan, tambahkan pinMode(11, OUTPUT); dan pinMode(10, OUTPUT); di dalam setup(). Selain itu, pastikan kode sesuai dengan versi IRremote Library yang dipasang.
Buka Seluruh Panduan, Skema & Source Code
Dapatkan akses penuh ke langkah perakitan detail, diagram sirkuit lengkap, dan source code siap pakai. Gratis selamanya!
