Banyak project yang bisa dibuat dengan mikrokontroller Arduino, salah satunya ketika diintegrasikan dengan inframerah. Inframerah adalah teknologi nirkabel yang banyak digunakan dan juga mudah diimplementasikan yang memiliki banyak aplikasi berguna. Contoh paling menonjol dalam kehidupan sehari-hari adalah remote control TV. Radiasi inframerah merupakan suatu bentuk cahaya yang mirip dengan cahaya yang kita lihat di sekitar kita. Satu-satunya perbedaan antara cahaya IR dan juga cahaya tampak adalah frekuensi dan panjang gelombangnya. Frekuensi dan juga panjang gelombang inframerah berada di luar jangkauan cahaya tampak.
Sistem komunikasi inframerah membutuhkan pemancar IR dan juga penerima IR. Untuk mencegah noise yang mengganggu sinyal IR, teknik modulasi sinyal digunakan. Dalam modulasi sinyal IR, encoder pada remote IR mengubah sinyal biner menjadi sinyal listrik termodulasi. Dalam modulasi sinyal IR, encoder pada remote IR mengubah sinyal biner menjadi sinyal listrik termodulasi. Sinyal listrik ini dikirim ke LED pemancar. Penerima IR kemudian mendemodulasi sinyal lampu IR dan juga mengubahnya kembali ke biner sebelum meneruskan informasi ke mikrokontroler.
Library IR Remote https://github.com/z3t0/Arduino-IRremote
1. Skema Rangkaian
Berikut Gambar rangkaian Remote Control Infrared
Baca Juga : Penyiram Tanaman Otomatis
2. Alat / Bahan
- Arduino : 1 buah
- Breadboard : 1 buah
- LED dengan warna berbeda : 4 buah
- Infrared Receiver TSOP38238 : 1 buah
- Resistor 220Ω : 1 buah
- Remote Control Infrared : 1 buah
Gambar Remote yang digunakan
3. Sketch Program
a. Program Inisialisasi kode
/* Program Scan Kode IR dibuat oleh Indobot */ #include <IRremote.h> //Pendeklarasian Library const int RECV_PIN = 7; // Pemilihan Pin OUTPUT dan pendeklarasian variabel IRrecv irrecv(RECV_PIN); decode_results results; void setup() { //Pengaturan Pin Serial.begin(9600); irrecv.enableIRIn(); irrecv.blink13(true); } void loop() { //Perulangan Program if (irrecv.decode(&results)) { //Pencarian Kode IR Serial.println(results.value, HEX); //Penampilan Kode IR irrecv.resume(); } }
Jalankan program di atas, kemudian buka terminal serial, lalu tekan masing-masing tombol pada remote.
Tabel Tombol Remote dan juga Kode Hexadesimal
Tombol |
Kode Hexa |
CH- | 0xFFA25D |
CH | 0xFF629D |
CH+ | 0xFFE21D |
<< | 0xFF22DD |
>> | 0xFF02FD |
>|| | 0xFFC23D |
– | 0xFFE01F |
+ | 0xFFA857 |
EQ | 0xFF906F |
100+ | 0xFF9867 |
200+ | 0xFFB04F |
0 | 0XFF6897 |
1 | 0xFF30CF |
2 | 0xFF18E7 |
3 | 0xFF7A85 |
4 | 0xFF10EF |
5 | 0xFF38C7 |
6 | 0xFF5AA5 |
7 | 0xFF42BD |
8 | 0xFF4AB5 |
9 | 0xFF52AD |
Baca Juga : Tombol Cerdas Cermat Arduino Uno
b. Program kontrol nyala LED
/* Program Remote Kontrol IR dibuat oleh Indobot */ #include &amp;amp;lt;IRremote.h&amp;amp;gt; //Pendeklarasian Library const int RECV_PIN = 7; // Pemilihan Pin OUTPUT dan pendeklarasian variabel IRrecv irrecv(RECV_PIN); decode_results results; const int redPin = 8; const int bluePin = 9; const int orangePin = 10; const int yellowPin = 11; void setup() { //Pengaturan Pin irrecv.enableIRIn(); irrecv.blink13(true); pinMode(redPin, OUTPUT); pinMode(bluePin, OUTPUT); pinMode(orangePin, OUTPUT); pinMode(yellowPin, OUTPUT); } void loop() { //Perulangan Program if (irrecv.decode(&amp;amp;amp;results)) { //Pencarian Kode IR /*Kode Perintah Remote*/ switch (results.value) { case 0xFF30CF: //Keypad button "1" digitalWrite(redPin, HIGH); delay(2000); digitalWrite(redPin, LOW); } switch (results.value) { case 0xFF18E7: //Keypad button "2" digitalWrite(bluePin, HIGH); delay(2000); digitalWrite(bluePin, LOW); } switch (results.value) { case 0xFF7A85: //Keypad button "3" digitalWrite(orangePin, HIGH); delay(2000); digitalWrite(orangePin, LOW); } switch (results.value) { case 0xFF10EF: //Keypad button "4" digitalWrite(yellowPin, HIGH); delay(2000); digitalWrite(yellowPin, LOW); } irrecv.resume(); } }
Kesimpulan :
Dalam Project ini, sensor IR menerima pancaran dari remote IR kemudian mendemodulasi sinyal dan mengubahnya kembali ke biner dan di teruskan ke Arduino untuk menjalankan suatu perintah seperti menyalakan LED pada setiap tombol yang telah di program.