Remote Infrared Dengan Arduino,~Sungguh sangat nyaman kalau kita bisa mengontrol benda di sekeliling kita hanya dengan sebuah remot? Apakah mungkin? Jawabannya sangat mungkin dan bisa kita ciptakan sendiri. Pada projek kali ini akan saya bagikan tutorial cara membuat kontrol arduino sederhana menggunakan remot dan sensor infrared.
Beberapa peralatan yang dibutuhkan pada projek ini diantaranya :
- Arduino Uno
- Sensor Infrared (IR) – saya pakai 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 :
Setelah bahan-bahan siap, kita siap untuk merakitnya. Dalam projek ini akan di simulasikan cara mengontrol 3 buah led saja. Rangkaiannya akan kita rakit pada breadboard, dengan susunan rangkaian sebagai berikut. (ralat jalur, untuk jalur baris breadboard paling atas/terhubung ke led itu dihubungkan ke gnd) :
Mari kita perhatikan koneksi sensor infrarednya, jangan sampai salah memasang ya. Pastikan dulu, seri sensor dan lihat pada datasheet. Pada projek ini saya menggunakan seri 1838 (lihat datasheet). Bentuk fisik sensor IR ini dapat dilihat pada gambar berikut :
Sketch Program IR, Setelah rangkaian jadi, selanjutnya kita masuk ke tahap koding. Masukkan library Arduino-IRremote, namun jika versi library anda ketika dicoba nanti mengalami error, coba untuk memakai
library ini. Pada tahap ini, kita akan mengetes nilai dari tombol remote yang ditekan. Jadi ketika remote ditekan, akan mengirimkan kode, nilai dari kode ini akan kita lihat dulu, sebelum melakukan koding. Kode untuk melihat nilai remote adalah berikut,
Klik show untuk melihat sketch
/*Import Liberary remote*/
/*https://tempatbelajararduino.blogspot.com*/
#unclude
/*deklarasi konstanta*/
int RECV_PIN = 3; //pin 3 sebagai masukan dari kaki IR
/*deklarasi objek*/
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); //Start the receiver
}
void loop()
if(irrecv.decode(&results)) {
unsigned int nilai = results.value;
Serial.printIn(nilai); //tampilkan nilai remot di monitor
irrecv.resume();
}
}
Lakukan Upload ke device, dan lihat hasilnya :
/* Import Library remote */
#include
/* deklarasi konstanta */
int RECV_PIN = 3; //pin 3 sebagai masukan dari kaki sensor IR
int led1 = 4; //pin 4 tempat memasang led 1, dan seterusnya
int led2 = 5;
int led3 = 6;
int itsONled[] = {0,0,0,0}; //array led, dimulai dari 0, jadi kita pakai 4
#define code1 12495 // kode dari tombol 1
#define code2 6375 // kode dari tombol 2
#define code3 31365 // kode dari tombol 3
/* deklarasi objek */
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode(led1, OUTPUT); // def pin sbg output led
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
unsigned int nilai = results.value;
switch(nilai) {
case code1:
if(itsONled[1] == 1) { // jika nilai led 1 on, maka
digitalWrite(led1, LOW); // matikan led ketika tombol 1 ditekan
itsONled[1] = 0; // set nilai led 1 off
} else { // jika nilai led 1 on
digitalWrite(led1, HIGH); // nyalakan led 1
itsONled[1] = 1; // set led 1 off
}
break;
case code2:
if(itsONled[2] == 1) {
digitalWrite(led2, LOW);
itsONled[2] = 0;
} else {
digitalWrite(led2, HIGH);
itsONled[2] = 1;
}
break;
case code3:
if(itsONled[3] == 1) {
digitalWrite(led3, LOW);
itsONled[3] = 0;
} else {
digitalWrite(led3, HIGH);
itsONled[3] = 1;
}
break;
}
Serial.println(nilai); //tampilkan nilai remote di monitor
irrecv.resume(); // Receive the next value
}
}
Sampai tahap ini, kamu bisa melihat hasilnya pada rangkaian yang sudah kamu bikin. Berikut saya sertakan video contoh hasil rangkaian yang saya buat.
Selamat Berkarya Dan Salam Arduino