Home / Tutorial Arduino / Tutorial penggunaan IR remote dengan Arduino

Tutorial penggunaan IR remote dengan Arduino

kelas-fisika.com – Tutorial penggunaan IR remote dengan Arduino

pada kali ini kelas-fisika.com akan berbagi tentang tutorial penggunaan IR Remote pada arduino. banyak beberapa peralatan elektronika di rumah kita yang menggunakan remote infra merah atau IR remote seperti Televisi, Air Conditioner, DVD player dan lain sebagainya. dengan penggunaan sensor IR dapat memudahkan manusia dalam melakukan kontrol ataupun pengaturan pada perangkat yang digunakan seperti menghidupkan atau mematikan TV, mengecilkan volume suara, menurunkan suhu pada AC dll.

ada dua komunikasi pada IR remote yaitu Transmitter (sebagai pengirim sinyal) dan Receiver (sebagai penerima sinyal). pada IR remote biasanya ada bagian seperti LED , ini disebut sebagai Transmitter dan kalau kita cek di TV atau AC ada juga bagian seperti LED , ini disebut sebagai Receivernya. baiklah mari kita langsung buat percobaan bagaimana mengunakan IR remote pada arduino UNO,  beberapa peralatan yang dibutuhkan pada percobaan ini diantaranya :

  • Arduino Uno
  • Sensor Infrared (IR) – dalam tutorial ini menggunakan seri 1838
  • Remote Infrared (bisa pakai remot jenis lain asal pakai IR, remot TV misalnya)
  • Lampu Led 3 unit
  • Resistor 220 ohm 3 unit
  • Papan percobaan / breadboard
  • Kabel jumper secukupnya

Berikut gambar dari komponen yang digunakan :

alat dan bahan IR remote arduino
alat dan bahan IR remote arduino

berikut rangkaian yang perlu anda rangkai :

 

Perhatikan koneksi sensor infrarednya, jangan sampai salah dalam pemasangan. Pastikan dulu, seri sensor dan lihat pada datasheet. Pada projek ini saya menggunakan seri 1838. Bentuk fisik sensor IR ini dapat dilihat pada gambar berikut :

Pemrograman

Setelah rangkaian beres, selanjutnya masuk tahap pemograman. Masukkan Library IR remote, .

Setelah anda memasukan library ke arduino kita coba tes nilai setiap tombol pada remote dengan menggunakan program di bawah ini :

#include <IRremote.h>
const int RECV_PIN = 7;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup(){
 Serial.begin(9600);
 irrecv.enableIRIn();
 irrecv.blink13(true);
}
void loop(){
 if (irrecv.decode(&results)){
 Serial.println(results.value, HEX);
 irrecv.resume();
 }
}

atau bisa ando download file nya disini

Ketika hasil nilai setiap tombol remote sudah didapatkan, kita tinggal memasukkan nilai ke dalam sketch program. setiap tipe remot akan memberikan hasil yang berbeda. Dengan nilai tombol yang didapat kita masukkan kode tersebut untuk mengontrol penyalaan led.

untuk cek jenis remote yang digunakan bisa gunakan program ini

#include <IRremote.h>

const int RECV_PIN = 7;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup(){
 Serial.begin(9600);
 irrecv.enableIRIn();
 irrecv.blink13(true);
}

void loop(){
 if (irrecv.decode(&results)){
 Serial.println(results.value, HEX);
 switch (results.decode_type){
 case NEC: Serial.println("NEC"); break ;
 case SONY: Serial.println("SONY"); break ;
 case RC5: Serial.println("RC5"); break ;
 case RC6: Serial.println("RC6"); break ;
 case DISH: Serial.println("DISH"); break ;
 case SHARP: Serial.println("SHARP"); break ;
 case JVC: Serial.println("JVC"); break ;
 case SANYO: Serial.println("SANYO"); break ;
 case MITSUBISHI: Serial.println("MITSUBISHI"); break ;
 case SAMSUNG: Serial.println("SAMSUNG"); break ;
 case LG: Serial.println("LG"); break ;
 case WHYNTER: Serial.println("WHYNTER"); break ;
 case AIWA_RC_T501: Serial.println("AIWA_RC_T501"); break ;
 case PANASONIC: Serial.println("PANASONIC"); break ;
 case DENON: Serial.println("DENON"); break ;
 default:
 case UNKNOWN: Serial.println("UNKNOWN"); break ;
 }
 irrecv.resume();
 }
}

untuk lakukan print di serial monitor jenis tombol yang di tekan gunakan kode ini

#include <IRremote.h>

const int RECV_PIN = 7;
IRrecv irrecv(RECV_PIN);
decode_results results;
unsigned long key_value = 0;

void setup(){
 Serial.begin(9600);
 irrecv.enableIRIn();
 irrecv.blink13(true);
}

void loop(){
 if (irrecv.decode(&results)){
 
 if (results.value == 0XFFFFFFFF)
 results.value = key_value;

switch(results.value){
 case 0xFFA25D:
 Serial.println("CH-");
 break;
 case 0xFF629D:
 Serial.println("CH");
 break;
 case 0xFFE21D:
 Serial.println("CH+");
 break;
 case 0xFF22DD:
 Serial.println("|<<");
 break;
 case 0xFF02FD:
 Serial.println(">>|");
 break ; 
 case 0xFFC23D:
 Serial.println(">|");
 break ; 
 case 0xFFE01F:
 Serial.println("-");
 break ; 
 case 0xFFA857:
 Serial.println("+");
 break ; 
 case 0xFF906F:
 Serial.println("EQ");
 break ; 
 case 0xFF6897:
 Serial.println("0");
 break ; 
 case 0xFF9867:
 Serial.println("100+");
 break ;
 case 0xFFB04F:
 Serial.println("200+");
 break ;
 case 0xFF30CF:
 Serial.println("1");
 break ;
 case 0xFF18E7:
 Serial.println("2");
 break ;
 case 0xFF7A85:
 Serial.println("3");
 break ;
 case 0xFF10EF:
 Serial.println("4");
 break ;
 case 0xFF38C7:
 Serial.println("5");
 break ;
 case 0xFF5AA5:
 Serial.println("6");
 break ;
 case 0xFF42BD:
 Serial.println("7");
 break ;
 case 0xFF4AB5:
 Serial.println("8");
 break ;
 case 0xFF52AD:
 Serial.println("9");
 break ; 
 }
 key_value = results.value;
 irrecv.resume(); 
 }
}

Pengontrolan nyala/mati led memakai logika percabangan, dengan logika jika tombol 1 untuk mengontrol led 1 (on/off) dan seterusnya. Logika percabangan yang digunakan disini adalah Switch – Case. Skrip lengkapnya adalah sebagai berikut :

#include <IRremote.h>

const int RECV_PIN = 7;
IRrecv irrecv(RECV_PIN);
decode_results results;
const int redPin = 10;
const int greenPin = 11;


void setup(){
 irrecv.enableIRIn();
 irrecv.blink13(true);
 pinMode(redPin, OUTPUT);
 pinMode(greenPin, OUTPUT);
}

void loop(){
 if (irrecv.decode(&results)){

switch(results.value){
 case 0xFF38C7: //Keypad button "5"
 digitalWrite(redPin, HIGH);
 delay(2000);
 digitalWrite(redPin, LOW);
 }

switch(results.value){
 case 0xFF18E7: //Keypad button "2"
 digitalWrite(greenPin, HIGH);
 delay(2000);
 digitalWrite(greenPin, LOW);
 }

irrecv.resume(); 
 }
}

anda bisa download sketch programnya disini

selesai. semoga bermanfaat!

About kelas-fisika

Check Also

RFID EM18 Reader Dengan FTDI

kelas-fisika.com – RFID EM18 Reader Dengan FTDI Pada Tutorial arduinopedia kali ini akan menjelaskan konsep …

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Powered by themekiller.com