pada kesempatan ini ngeutrend, akan berbagi pengetahuan penggunaan remote control infra red untuk mengontrol LED menggunakan arduino UNO. Ini bisa berguna untuk menggunakan kembali remote control lama atau memberikan beberapa fungsi ke beberapa tombol remote Anda.
Proyek ini dibagi menjadi dua bagian:
- Anda akan memecahkan kode sinyal IR yang dikirim oleh remote control Anda
- Anda akan menggunakan info itu untuk melakukan tugas dengan Arduino Anda (mengontrol 3 LED)
Sebelum kita membahas lebih jauh mengenai proyek ini, alangkah baiknya kita bahas teorinya terlebih dahulu, agar kita bisa semakin memahami konsep ini bekerja.
komunikasi Inframerah (IR) adalah teknologi nirkabel yang banyak digunakan dan mudah diimplementasikan yang memiliki banyak aplikasi berguna. Contoh paling menonjol dalam kehidupan sehari-hari adalah remote control TV / video, sensor gerak, dan termometer inframerah.
Ada banyak proyek Arduino menarik yang menggunakan komunikasi IR juga. Dengan pemancar dan penerima IR sederhana, Anda dapat membuat robot yang dikendalikan dari jarak jauh, sensor jarak, monitor detak jantung, remote control kamera DSLR, remote control TV, dan banyak lagi.
Dalam tutorial ini, pertama-tama saya akan menjelaskan apa itu inframerah dan cara kerjanya. Kemudian saya akan menunjukkan kepada Anda cara mengatur penerima IR dan remote pada Arduino. Saya juga akan menunjukkan kepada Anda bagaimana menggunakan hampir semua remote IR (seperti yang ada untuk TV Anda) untuk mengontrol hal-hal yang terhubung ke Arduino.
APA ITU INFRAMERAH?
Radiasi inframerah adalah bentuk cahaya yang mirip dengan cahaya yang kita lihat di sekitar kita. Satu-satunya perbedaan antara cahaya IR dan cahaya tampak adalah frekuensi dan panjang gelombangnya. Radiasi inframerah berada di luar jangkauan cahaya tampak, sehingga manusia tidak dapat melihatnya:
Karena IR adalah jenis cahaya, komunikasi IR memerlukan garis pandang langsung dari penerima ke pemancar. Itu tidak dapat mengirimkan melalui dinding atau materi lain seperti WiFi atau Bluetooth.
BAGAIMANA IR REMOTES DAN RECEIVER BEKERJA
Sistem komunikasi infra merah tipikal memerlukan pemancar IR dan penerima IR. Pemancar tampak seperti LED standar, kecuali ia menghasilkan cahaya dalam spektrum IR, bukan spektrum tampak. Jika Anda melihat di depan remote TV, Anda akan melihat LED pemancar IR:
Jenis LED yang sama digunakan pada papan breakout pemancar IR untuk Arduino. Anda dapat melihatnya di depan pemancar IR Keyes ini:
MODULASI SINYAL IR
Cahaya IR dipancarkan oleh matahari, bola lampu, dan apa pun yang menghasilkan panas. Itu berarti ada banyak noise cahaya IR di sekitar kita. Untuk mencegah gangguan ini mengganggu sinyal IR, teknik modulasi sinyal digunakan.
Dalam modulasi sinyal IR, encoder pada remote IR mengubah sinyal biner menjadi sinyal listrik termodulasi. Sinyal listrik ini dikirim ke LED pemancar. Transmisi LED mengubah sinyal listrik termodulasi menjadi sinyal cahaya IR termodulasi. Penerima IR kemudian mendemodulasi sinyal lampu IR dan mengubahnya kembali ke biner sebelum meneruskan informasi ke mikrokontroler:
Sinyal IR termodulasi adalah rangkaian pulsa cahaya IR yang dinyalakan dan dimatikan pada frekuensi tinggi yang dikenal sebagai frekuensi pembawa. Frekuensi pembawa yang digunakan oleh sebagian besar pemancar adalah 38 kHz, karena jarang di alam dan dengan demikian dapat dibedakan dari kebisingan sekitar. Dengan cara ini penerima IR akan mengetahui bahwa sinyal 38 kHz dikirim dari pemancar dan tidak diambil dari lingkungan sekitar.
Dioda penerima mendeteksi semua frekuensi cahaya IR, tetapi ia memiliki filter band-pass dan hanya memungkinkan melalui IR pada 38 kHz. Ini kemudian memperkuat sinyal termodulasi dengan penguat awal dan mengubahnya menjadi sinyal biner sebelum mengirimkannya ke mikrokontroler.
KODE IR
Setiap kali Anda menekan tombol pada remote control, kode heksadesimal unik akan dibuat. Ini adalah informasi yang dimodulasi dan dikirim melalui IR ke penerima. Untuk menguraikan tombol mana yang ditekan, mikrokontroler penerima perlu mengetahui kode mana yang sesuai dengan setiap tombol pada remote.
Remote yang berbeda mengirimkan kode yang berbeda untuk penekanan tombol, jadi Anda perlu menentukan kode yang dihasilkan untuk setiap tombol pada remote tertentu Anda. Jika Anda dapat menemukan lembar data, kode kunci IR harus dicantumkan. Jika tidak, ada sketsa Arduino sederhana yang akan membaca sebagian besar remote control populer dan mencetak kode heksadesimal ke monitor serial saat Anda menekan tombol. Saya akan menunjukkan cara menyiapkannya sebentar lagi, tetapi pertama-tama kita perlu menghubungkan penerima ke Arduino…
BAGAIMANA MENGHUBUNGKAN PENERIMA IR KE ARDUINO
Ada beberapa jenis penerima IR, beberapa berdiri sendiri, dan beberapa dipasang pada papan breakout. Periksa lembar data untuk penerima IR khusus Anda karena pin mungkin diatur berbeda dari penerima IR HX1838 dan set jarak jauh yang saya gunakan di sini. Namun, semua penerima IR akan memiliki tiga pin: sinyal, ground, dan Vcc.
Mari kita mulai dengan koneksi perangkat keras. Tata letak pin pada kebanyakan papan breakout terlihat seperti ini:
bahan yang diperlukan Untuk proyek ini,adalah sebagai berikut:
- Arduino UNO
- papan rangkaian
- remote infrared
- IR receiver
- LED
- Jumper
- resistor 220 ohm
Saat Anda menekan remote control, remote control mengirimkan sinyal termodulasi inframerah. Sinyal ini berisi informasi yang dikumpulkan oleh receiver Anda.
Setiap tombol mengirimkan informasi tertentu. Jadi, kami dapat menetapkan informasi itu ke tombol tertentu.
Skema
Hubungkan penerima IR sesuai dengan skema di bawah ini.
Untuk mengontrol penerima IR, Anda perlu menginstal library IRremote di Arduino IDE.
Cara Menginstal library IRremote
- Klik di sini untuk mengunduh library IRremote. Anda harus memiliki folder .zip di Unduhan Anda
- Buka zip folder .zip dan Anda akan mendapatkan folder IRremote-master
- Ubah nama folder Anda dari IRremote-master menjadi IRremote
- Pindahkan folder IRremote ke folder library instalasi Arduino IDE Anda
- Terakhir, buka kembali Arduino IDE Anda
Salin kode berikut ke Arduino IDE Anda, dan unggah ke papan Arduino Anda. Pastikan Anda memiliki board yang benar dan port COM yang dipilih.
#include <IRremote.h>
int IR_penerima = 11;
IRrecv irrecv(IR_penerima);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
long int decCode = results.value;
Serial.println(results.value);
irrecv.resume(); // Receive the next value
}
delay(100);
}
LED1 - ON
LED1 - MATI
LED2 - ON
LED2 - MATI
LED3 - ON
LED3 - MATI
Tekan, misalnya, tombol nomor 1 dari remote control Anda. Anda akan melihat kode di monitor serial. Tekan tombol yang sama beberapa kali untuk memastikan Anda memiliki kode yang tepat untuk tombol itu.
Lakukan hal yang sama untuk tombol lainnya.
Tuliskan kode yang terkait dengan setiap tombol, karena Anda akan membutuhkan informasi itu nanti.
Membangun Rangkaian terakhir
Pada bagian ini, Anda akan membangun sirkuit dengan tiga LED yang akan dikontrol menggunakan remote Anda. Kumpulkan semua bagian dengan mengikuti skema di bawah ini.
Sekarang tambahkan perintah LED dari kode sebelumnya.seperti dibawah ini.
#include <IRremote.h>
int IR_penerima = 11; //IR Receiver Pin 3
int led_biru = 10;
int led_hijau = 9;
int led_kuning = 8;
IRrecv irrecv(IR_penerima);
decode_results results;
void setup(){
Serial.begin(9600); //starts serial communication
irrecv.enableIRIn(); // Starts the receiver
pinMode(led_biru, OUTPUT); // sets the digital pin as output
pinMode(led_hijau, OUTPUT); // sets the digital pin as output
pinMode(led_kuning, OUTPUT); // sets the digital pin as output
}
void loop(){
//decodes the infrared input
if (irrecv.decode(&results)){
long int decCode = results.value;
Serial.println(results.value);
//switch case to use the selected remote control button
switch (results.value){
case 16738455: //when you press the 1 button
digitalWrite(led_biru, HIGH);
break;
case 16750695: //when you press the 4 button
digitalWrite(led_biru, LOW);
break;
case 551504055: //when you press the 2 button
digitalWrite(led_hijau, HIGH);
break;
case 551528535: //when you press the 5 button
digitalWrite(led_hijau, LOW);
break;
case 551536695: //when you press the 3 button
digitalWrite(led_kuning, HIGH);
break;
case 551512215: //when you press the 6 button
digitalWrite(led_kuning, LOW);
break;
}
irrecv.resume(); // Receives the next value from the button you press
}
delay(10);
}
tutorial lengkapnya anda bisa lihat di video berikut:
Pada akhirnya, Anda dapat mengontrol setiap LED satu per satu menggunakan tombol remote control Anda.
Ini adalah proyek yang bagus untuk mempelajari tentang penerima IR. Ada kemungkinan tak terbatas untuk apa yang dapat Anda lakukan dengannya. Misalnya, Anda dapat mengganti LED tersebut dengan relai untuk mengontrol peralatan rumah Anda.
Selamat Mencoba!