Elektronika Untuk Masa Depan
Ajifahreza

Cara Membaca Data IR Infrared Receiver di Arduino

Bismillahirahmanirahim, artikel kali ini membahas sensor inframerah atau IR Receiver. Bagaimana kita bisa membaca sebuah data yang di terima oleh sebuah arduino kemudian data tersebut digunakan untuk menghidupkan sebuah relay misalnya,
kita semua tahu pada sebuah alat yang menggunakan inframerah untuk komunikasi tentunya setiap tombol yang ditekan akan berbeda beda nilainya, dimana setiap nilai yang dihasilkan akan diperuntukan sesuai yang kita harapkan.
Jadi misalnya kita menekan tombol 1 pada remote tv misalnya tentunya nilainya akan berbeda dengan jika kita menekan tombol 2. Bagimana membedakan data tersebut kita menggunakan sebuah arduino untuk membaca data. Kemudian jika kita sudah mempunyai data yang dihasilkan masing masing tombol remote tv tersebut, kita bisa menggunakan sesuai yang kita inginkan.

Komunikasi inframerah (IR) adalah tekonologi nirkabel yang sudah banyak digunakan dan mudah digunakan. Contoh paling banyak pada kehidupan sehari hari remote tv, remote dvd, sensor gerak dll yang dimana di alat itu mempunyai sebuah led inframerah yang berfungsi mengirimkan sinyal. Ada banyak project arduino yang menarik menggunakan komunikasi inframerah, misalnya penerima IR sederhana, membuat robot yang dikendalikan dengan remote tv, mengendalikan peralatan listrik menggunakan remote tv dan masih banyak lagi. 

Dalam tutorial kali ini saya pertama akan menjelaskan apa itu inframerah dan cara kerjanya dan kemudian cara menerima inframerah dengan arduino.

Apa Itu Inframerah ?
Inframerah adalah bentuk cahaya yang mirip dengan cahaya yang biasa kita lihat, satu satunya perbedaan antara cahaya IR dan cahaya biasa adalah frekuensi dan panjang gelombang. Cahaya inframerah terletak di luar jangkauan sehingga manusia tidak dapat melihatnya. Karena inframerah adalah jenis cahaya komunikasi yang digunakan memerulkan garis pandang lurus atau tidak dapat ditransmisikan melalui dinding atau bahan lain.


Bagaimana Pemancar dan Penerima Inframerah Bekerja ?
Pada sistem inframerah ini memerlukan pemancar dan penerima sinar. Pemancar berupa led, jika kita melihat pada bagian depan remote tv, remote ac, kita akan melihat led kecil didepan dan itu adalah led pemancar inframerah. Di bidang elektronika sudah tersedia banyak dipasaran transmiter IR dan Receiver IR yang harganya cukup murah, kita bisa gunakan modul tersebut sebagai project.

Logika '1' dimulai dengan 562,5 µs pulsa TINGGI tinggi dari 38 kHz IR diikuti oleh 1.687,5 µs pulsa RENDAH panjang. Logika '0' ditransmisikan dengan pulsa TINGGI panjang 562,5 µs diikuti oleh pulsa RENDAH RENDAH 562,5 μs:

Modulasi sinyal IR, tentu kita tahu led yang digunakan pada inframerah berbeda dengan led biasa atau cahaya yang dihasilkan inframerah berbeda dengan cahaya matahari, cahaya lampu dan yang lain, karena masing masing mempunyai frekuensi yang berbeda beda. Sinyal IR adalah serangkaian pulsa cahaya IR yang dinyalakan dan dimatikan pada frekuensi tinggi yang dikenal sebagai frekuensi pembawa. Frekuensi pembawa yang digunakan sebagian besar pemancar adalah 38 kHzm karena sifatnya jarang dan dapat dibedakan dengan frekuensi cahaya sekitar. Dengan cara ini penerima IR akan tahu bahwa sinyal 38 kHz dikirim dari pemancar dan tidak diambil dari lingkungan sekitar. Dioda penerima mendeteksi semua frekuensi cahaya IR, tetapi memiliki filter band-pass dan hanya memungkinkan melalui IR pada 38 kHz.
Dalam modulasi sinyal IR, sebuah enkoder pada remote IR mengubah biner menjadi sinyal listrik termodulasi. Sinyal listrik ini kemudian dikirim ke Led yang mentransmisikan. Led pemancar mengubah sinyal listrik menjadi sinyal cahaya IR termodulasi. Penerima IR kemudian mengubah kembali menjadi biner sebelum meneruskan informasi tersebut ke arduino.

Rangkaian Arduino dengan Sensor Inframerah (IR Receiver)

sebelum kita memprogram arduino kita harus mendownload librarynya terlebih dahulu disini (http://z3t0.github.io/Arduino-IRremote/).

Komponen yang digunakan:
  • Arduino
  • IR Receiver
  • Remote TV
Pin yang digunakan :
  • Arduino (Pin11) = (Output Signal) IR Receiver
  • Arduino (5V) = (VCC) IR Receiver
  • Arduino (GND) = (GND) IR Receiver
Program Arduino IR Receiver
#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);
}
Note : Berwarna biru bisa kita ganti (DEC, HEX, BIN)

Upload program tersebut ke arduino yang sudah dirangkan dengan IR Receiver, setelah itu buka pada serial monitor dan mulailah untuk mencoba remote tv yang akan kita baca datanya, atau pada example program > IRremote > IRrecvDemo. Program sudah tersedia jika kita sudah memasukan library IR ini ke software arduino IDE.


Setelah kita upload dan kita jalan kan di serial monitor, kita bisa lihat data yang muncul dalam kode Hex.

 if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);

Penjelasan Kode diatas, jika kita mengganti kode (HEX) dengan yang lain misalkan (BIN, DEC) maka data yang muncul adalah bilangan Biner atau bilangan decimal.

Note : Pada masing masing remote IR/remote TV mempunyai nilai yang berbeda beda, oleh karena itu kita harus mempunyai data awal sebagai acuan program selanjutnya, misalkan membuat kendali robot menggunakan remote IR. Dengan data yang sudah kita dapat pada masing masing tombol diatas  kita bisa kembangkan dengan program IF misalkan Jika Data = FF629D maka relay1 On.

Error : terkadang kita menekan tombol keluar data berantakan, tapi jika kita lebih teliti kita bisa membedakan data yang konsisten masuk dengan nilai yang sama itu adalah data yang sebenarnya.

Program selanjutnya bisa kita kembangkan :

  • Menghidupkan Led dengan remote TV
  • Mengendalikan robot dengan remote IR
  • Membaca protokol remote TV
  • Mengendalikan papan score dengan remote IR

Sekian artikel tentang Membaca Data IR Receiver dengan Arduino. Semoga bermanfaat dan dapat dikembangkan untuk program selanjutnya. Selamat berkarya

Ajifahreza

About Ajifahreza -

Hanya seorang blogger biasa, ingin menjadi hebat dibidang elektronika pemrograman komputer dan mikrokontroler

Subscribe to this Blog via Email :
Cara Seo Blogger