Arduino Project : Decoding IR Remote

Dalam banyak project arduino, Infra Red (IR) merupakan salah satu sensor yang cukup sering digunakan. Hal ini mungkin dikarenakan oleh harga komponennya yang cukup murah. Selain itu, masyarakat umum sudah familiar dengan penggunaan IR terhadap perangkat rumah yang ada, seperti TV, AC, DVD player, dll. Begitupun dalam project arduino, penggunaan IR sensor dan IR remote control sudah bukan barang baru lagi.

Pada artikel kali ini, kita akan belajar bagaimana cara men-decode data dari remote control dengan menggunakan IR Sensor dan Arduino. Decoding IR remote ini merupakan cara untuk “menterjemahkan” data yang dikirim oleh remote control terhadap IR sensor, yang kemudian dapat diolah lebih lanjut untuk keperluan tertentu, misal switch on/off atau keperluan lainnya. Adapun remote control yang akan digunakan kali ini adalah TV remote control.

Komponen :
• Arduino Uno Board
• IR Sensor (CHQ1838)
• TV remote control

Skema :

Sketch :

Terlebih dahulu download IR Remote Library di sini, kemudian extract dan tempatkan dalam folder Arduino/libraries. Kemudian untuk men-decode IR Remote, kita akan gunakan sketch IRrecvDemo bawaan dari IR Remote Library sebagai berikut :

/*
* IRremote: IRrecvDemo – demonstrates receiving IR codes with IRrecv
* An IR detector/demodulator must be connected to the input RECV_PIN.
* Version 0.1 July, 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*/
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
// In case the interrupt driver crashes on setup, give a clue
// to the user what’s going on.
Serial.println(“Enabling IRin”);
irrecv.enableIRIn(); // Start the receiver
Serial.println(“Enabled IRin”);
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
delay(100);
}

Jalankan Sketch di atas, kemudian lihat hasilnya pada serial terminal untuk setiap tombol remote control yang ditekan.

Berikut adalah nilai HEX hasil decoding dari tombol 0 s.d 9 dan tombol power.

Catat hasil di atas, kemudian gunakan pada Sketch berikut untuk menampilkan tombol yang ditekan pada serial monitor.

/*
* IRremote: IRrecvDemo – demonstrates receiving IR codes with IRrecv
* An IR detector/demodulator must be connected to the input RECV_PIN.
* Version 0.1 July, 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*/
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
if(results.value==0x20DF10EF)
{
Serial.print(results.value, HEX);
Serial.println(” : Tombol Power”);
}
else if(results.value==0x20DF8877)
{
Serial.print(results.value, HEX);
Serial.println(” : Tombol 1″);
}
else if(results.value==0x20DF48B7)
{
Serial.print(results.value, HEX);
Serial.println(” : Tombol 2″);
}
else if(results.value==0x20DFC837)
{
Serial.print(results.value, HEX);
Serial.println(” : Tombol 3″);
}
else if(results.value==0x20DF28D7)
{
Serial.print(results.value, HEX);
Serial.println(” : Tombol 4″);
}
else if(results.value==0x20DFA857)
{
Serial.print(results.value, HEX);
Serial.println(” : Tombol 5″);
}
else if(results.value==0x20DF6897)
{
Serial.print(results.value, HEX);
Serial.println(” : Tombol 6″);
}
else if(results.value==0x20DFE817)
{
Serial.print(results.value, HEX);
Serial.println(” : Tombol 7″);
}
else if(results.value==0x20DF18E7)
{
Serial.print(results.value, HEX);
Serial.println(” : Tombol 8″);
}
else if(results.value==0x20DF9867)
{
Serial.print(results.value, HEX);
Serial.println(” : Tombol 9″);
}
else if(results.value==0x20DF08F7)
{
Serial.print(results.value, HEX);
Serial.println(” : Tombol 0″);
}
else
{
Serial.print(results.value, HEX);
}

irrecv.resume(); // Receive the next value
}
delay(100);
}

Berikut adalah hasilnya :

Dari project di atas kita belajar bagaimana cara men-decode sinyal dari IR remote dengan menggunakan Arduino. Dengan mengetahui cara decoding IR remote tersebut, kita dapat memanfaatkannya untuk project Arduino yang lain.

Demikian project kita kali ini, semoga bermanfaat dan terima kasih atas kunjungannya.

Referensi :
https://www.electronicshub.org/arduino-ir-receiver-interface-tutorial/
https://www.electronicshub.org/arduino-based-home-automation-using-tv-remote/
https://www.maxphi.com/ir-remote-control-decoder-using-arduino
http://www.datasheetcafe.com/chq1838-datasheet-infrared-receiver/
https://github.com/z3t0/Arduino-IRremote

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s