Cara Menggunakan IR Remote 1838B Arduino
IR Remote Arduino Cara Terima Data Dari VS1838B atau TL1838
![]() |
VS1838B Pin Out |
A. Latar Belakang
- Paket resin epoksi dan desain anti-interferensi pelindung eksternal;
- Tegangan kerja yang lebar, 2.7-5.5V;
- Konsumsi daya rendah, penerimaan sudut lebar dan jarak jauh;
- Kemampuan anti-interferensi yang kuat, dapat menahan interferensi lingkungan;
- Output sesuai dengan TTL, level CMOS, level rendah efektif.
Rating Nilai Maksimum:
- Tegangan Supply hingga 5.5V
- Jarak deteksi hingga 15M
- Arus Supply hingga 1.5mA
- Tegangan Output hingga 4.5V
B. Rangkaian VS1838B Arduino
![]() |
Rangkaian VS1838B Arduino Uno |
C. Library IR Remote
- Buka Arduino IDE
- Klik Sketch -> Include Library -> add .ZIP library
- Arahkan dan Pilih library yang telah anda download
- Lalu klik OK
-
IRrecv irrecv(receivePin)Buat objek penerima, menggunakan nama pilihan Anda.
-
irrecv.enableIRIn()Mulailah proses penerimaan. Ini akan mengaktifkan interupsi pengatur waktu yang mengkonsumsi sejumlah kecil CPU setiap 50 µs.
-
irrecv.decode(&results)Mencoba menerima kode IR. Mengembalikan nilai benar jika kode telah diterima, atau salah jika belum ada yang diterima. Ketika kode diterima, informasi disimpan ke dalam "hasil".results.decode_type: Akan menjadi salah satu dari berikut ini: NEC, SONY, RC5, RC6, atau UNKNOWN.results.value: Kode IR aktual (0 jika tipe TIDAK DIKETAHUI)results.bits: Jumlah bit yang digunakan oleh kode iniresults.rawbuf: Sebuah array waktu pulsa IRresults.rawlen: Jumlah item yang disimpan dalam array
-
irrecv.resume()Setelah menerima, ini harus dipanggil untuk mengatur ulang penerima dan mempersiapkannya untuk menerima kode lain.
-
irrecv.blink13(true)Aktifkan kedipan LED saat selama penerimaan. Karena Anda tidak dapat melihat cahaya inframerah, mengedipkan LED dapat berguna saat memecahkan masalah, atau hanya untuk memberikan umpan balik visual.
-
IRsend irsend;Buat objek transmisi. Nomor pin tetap selalu digunakan, tergantung pada timer mana yang digunakan perpustakaan.
-
irsend.sendNEC(IRcode,
numBits);
Kirim kode dalam format NEC. -
irsend.sendSony(IRcode,
numBits);
Kirim kode dalam format SONY. -
irsend.sendRC5(IRcode,
numBits);
Kirim kode dalam format RC5. -
irsend.sendRC6(IRcode,
numBits);
Kirim kode dalam format RC6. -
irsend.sendRaw(rawbuf, rawlen,
frequency);
Kirim kode mentah. Biasanya Anda akan mendapatkan konten rawbuf dan rawlen dengan menggunakan penerima berkali-kali dan merata-ratakan hasilnya.
Beberapa penyesuaian mungkin diperlukan untuk kinerja terbaik. Frekuensi adalah frekuensi filter bandpass yang diharapkan di penerima, di mana 38 adalah yang paling umum digunakan.
D. Progam VS1838B Arduno
1. Program Dasar Menerima Data IR Remote
Progam:
#include <IRremote.h>const int RECV_PIN = 2; //Tentukan pin 2 sebagai input dari VS1838BIRrecv irrecv(RECV_PIN);decode_results results;void setup(){Serial.begin(9600);//Mulai aktifkan protokol IRirrecv.enableIRIn();}void loop() {if (irrecv.decode(&results)) {//Menampilkan data pada seria monitorSerial.println(results.value, HEX);// Menerima data selanjutnyairrecv.resume();}}
Setelah upload selesai, buka serial monitor arduino IDE. Pastikan baudrate dipilih pada nilai 9600 (bagian kanan bawah serial monitor).
Sekarang arahkan dan tekan salah satu remote. Maka pada serial monitor akan menampilkan alamat dengan nilai Hexadesimal.
2. Melihat Jenis Protokol IR Remote
Program:
#include <IRremote.h>const int RECV_PIN = 2; //Tentukan pin 2 sebagai input dari VS1838BIRrecv irrecv(RECV_PIN);decode_results results;void setup(){Serial.begin(9600);irrecv.enableIRIn(); //Mulai aktifkan protokol IRirrecv.blink13(true); //Hidupkan LED internal jika ada data masuk}void loop() {if (irrecv.decode(&results)) {if (results.decode_type == NEC) {Serial.print("Protokol NEC: ");} else if (results.decode_type == SONY) {Serial.print("Protokol SONY: ");} else if (results.decode_type == RC5) {Serial.print("Protokol RC5: ");} else if (results.decode_type == RC6) {Serial.print("Protokol RC6: ");} else if (results.decode_type == UNKNOWN) {Serial.print("Protokol tidak diketahui: ");}Serial.println(results.value, HEX);irrecv.resume(); // Menerima data selanjutnya}}
Setelah upload selesai, silahkan tekan tombol pada remote dan arahkan ke IR Remote Arduino VS1838B. Anda akan melihat jenis protokol yang anda gunakan pada serial monitor.
3. Menghidupkan LED RGB Menggunakan Remote
Setelah anda memahami dua progrma diatas, kita akan mencoba menghidupkan 3 LED menggunakan remote.
Untuk menghidupkan 3 LED Merah Hijau dan Biru kita butuh tiga tombol. Katakanlah kita telah menentukan 3 alamat hex untuk remote:
- Data hex 0xFF30CF untuk warna merah
- Data hex 0xFF18E7 untuk warna hijau
- Data hex 0xFF7A85 untuk warna biru
Untuk rangkaiannya, silhkan hubungkan LED Merah ke pin 12, LED Hijau pada pin 11, dan LED biru pada pin 10. Jangan lupa gunakan resistor 330R.
Silahkan anda upload program berikut pada Arduino anda. Silahkan anda tekan tombol 1, 2, atau 3 remote anda.
Program:
#include <IRremote.h>const int RECV_PIN = 2; //Tentukan pin 2 sebagai input dari VS1838Bint ledMerah = 12;int ledHijau = 11;int ledBiru = 10;IRrecv irrecv(RECV_PIN);decode_results results;void setup(){Serial.begin(9600);irrecv.enableIRIn(); //Mulai aktifkan protokol IRirrecv.blink13(true); //Hidupkan LED internal jika ada data masukpinMode(ledMerah, OUTPUT);pinMode(ledHijau, OUTPUT); pinMode(ledBiru, OUTPUT);}void loop() {//Data hex 0xFF30CF untuk warna merah//Data hex 0xFF18E7 untuk warna hijau//Data hex 0xFF7A85 untuk warna biruif (irrecv.decode(&results)) {Serial.println(results.value, HEX);if (results.value == 0xFF30CF){digitalWrite(ledMerah, HIGH);digitalWrite(ledHijau, LOW);digitalWrite(ledBiru, LOW);}if (results.value == 0xFF18E7){digitalWrite(ledMerah, LOW);digitalWrite(ledHijau, HIGH);digitalWrite(ledBiru, LOW);}if (results.value == 0xFF7A85){digitalWrite(ledMerah, LOW);digitalWrite(ledHijau, LOW);digitalWrite(ledBiru, HIGH);}irrecv.resume(); // Menerima data selanjutnya}}
E. VS1838B Datasheet
Untuk lebih lengkap tentang VS1838B, anda dapat melihat datasheet VS1838B dibawah ini.
Terima kasih telah mengunjungi website Arduino32. Semoga bermanfaat.
Sumber: www.pjrc.com
Posting Komentar untuk "Cara Menggunakan IR Remote 1838B Arduino"