IR Kit for Arduino
IR Kit itu sendiri terdiri dari Infrared Receiver, kabel dan Remote Control dengan 21 tombol. Gambarnya dapat dilihat di bawah ini.
Ok, untuk tutorial ini kita membutuhkan beberapa komponen:
- IR Kit for Arduino
- Arduino Uno R3, atau board Arduino yang lain
- Breadboard 400 Titik
- Kabel Jumper
- Beberapa LED 5mm
- Beberapa Resistor 330 ohm
Menghubungkan IR Receiver dengan Arduino Uno
IR Receiver mempunyai 3 pin untuk dihubungkan ke Arduino Uno, yaitu pin VCC ke pin 5V Arduino, pin GND ke pin GND Arduino dan pin D ke salah satu pin Digital Arduino (contohnya menggunakan pin Digital 11). Gunakan kabel yang sudah disediakan di dalam paket IR Kit dan 3 buah kabel jumper untuk menghubungkannya ke Arduino. Gambar koneksinya dapat dilihat di bawah ini.
Apabila koneksi seperti di atas sudah dilakukan, sekarang kita coba kode program untuk membaca/menerima sinyal InfraRed dan menampilkannya lewat Serial Monitor. Buka Arduino IDE anda, klik menu File>Examples>IRremote>IRrecvDemo. Kode program dapat dilihat di bawah ini.
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
/*
* IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv * An IR detector/demodulator must be connected to the input RECV_PIN. * Version 0.1 July, 2009 * Copyright 2009 Ken Shirriff * http://arcfn.com */ #include <IRremote.h> int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); // Receive the next value } } |
Hubungkan board Arduino anda dengan kabel USB ke komputer. Di Arduino IDE, klik menu Sketch>Verify / Compile untuk melakukan kompilasi dan memastikan tidak ada error pada kode program tersebut. Klik menu File>Upload untuk memasukkan program tersebut ke dalam board Arduino anda. Kemudian buka Serial Monitor dari menu Tools>Serial Monitor, sesuaikan baudrate-nya dengan yang ada di dalam kode program.
Ok, saatnya mencoba remote yang disediakan bersama dengan IR Kit ini. Arahkan remote ke IR Receiver dan tekan salah satu tombol remote tersebut, lalu perhatikan Serial Monitor. Di sana nanti akan muncul kode dari tombol remote yang kita tekan. Coba lagi untuk tombol-tombol yang lain. Tampilan output di Serial Monitor kurang lebih seperti gambar di bawah ini. Bagaimana, mudah bukan?
Nah, tadi itu adalah cara untuk membaca/menerima sinyal InfraRed dengan IR receiver dan board Arduino. Kita lanjutkan dengan contoh agar sinyal input IR yang kita terima dapat digunakan untuk mengeluarkan output dari board Arduino, misalnya untuk menghidup-matikan LED. Bagaimana caranya? Yuk perhatikan penjelasan di bawah ini.
Mengendalikan Arduino dengan IR Remote
Kita akan mencoba mengendalikan Arduino untuk menghidup-matikan 4 buah LED. Tiap LED akan kita kendalikan dari 1 tombol yang ada di Remote, jadi kita akan mempergunakan 4 buah tombol. Tentukan tombol mana saja yang akan kita pergunakan. Masih menggunakan rangkaian yang pertama tadi, kita akan mencatat kode dari tombol yang akan dipergunakan. Misalnya kita menggunakan tombol 1, 2, 3 dan 4 dari remote. Tekan tombol 1 dan perhatikan output di Serial Monitor. Catat 6 karakter kode dari tombol 1 tersebut dan tulis ke text editor dan tambahkan informasi, misalnya Tombol 1 = FD08F7. Ulangi untuk 3 tombol yang lain.
Sekarang kita membuat rangkaian 4 buah LED yang dihubungkan dengan 4 pin Digital Arduino, misalnya pin Digital 2,3,4 dan 5. Masing-masing LED perlu ditambahkan resistor 330 ohm untuk membatasi arusnya. Gambaran lengkap rangkaian tersebut dapat dilihat di bawah ini.
Kalau rangkaian sudah selesai dibuat, gunakan contoh kode program di bawah ini untuk mengendalikan 4 buah LED tersebut dengan IR Remote.
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
/*
* IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv * An IR detector/demodulator must be connected to the input RECV_PIN. * Version 0.1 July, 2009 * Copyright 2009 Ken Shirriff * http://arcfn.com */ #include <IRremote.h> int RECV_PIN = 11; String IRButton1 = "FD08F7"; String IRButton2 = "FD8877"; String IRButton3 = "FD48B7"; String IRButton4 = "FD28D7"; const int ledPin1 = 2; const int ledPin2 = 3; const int ledPin3 = 4; const int ledPin4 = 5; IRrecv irrecv(RECV_PIN); decode_results results; String BUTTONPRESSED; int button1 = 0; int button2 = 0; int button3 = 0; int button4 = 0; void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT); pinMode(ledPin3, OUTPUT); pinMode(ledPin4, OUTPUT); } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); BUTTONPRESSED = String(results.value, HEX); BUTTONPRESSED.toUpperCase(); Serial.print("BUTTONPRESSED "); Serial.println(BUTTONPRESSED); //delay(1000); //button 1 if (BUTTONPRESSED == IRButton1){ if (button1 == 0){ button1 = 1; } else button1 =0; if (button1 == 1){ digitalWrite(ledPin1, HIGH); } else digitalWrite(ledPin1, LOW); } //button 2 if (BUTTONPRESSED == IRButton2){ if (button2 == 0){ button2 = 1; } else button2 =0; if (button2 == 1){ digitalWrite(ledPin2, HIGH); } else digitalWrite(ledPin2, LOW); } //button 3 if (BUTTONPRESSED == IRButton3){ if (button3 == 0){ button3 = 1; } else button3 =0; if (button3 == 1){ digitalWrite(ledPin3, HIGH); } else digitalWrite(ledPin3, LOW); } //button 4 if (BUTTONPRESSED == IRButton4){ if (button4 == 0){ button4 = 1; } else button4 =0; if (button4 == 1){ digitalWrite(ledPin4, HIGH); } else digitalWrite(ledPin4, LOW); } irrecv.resume(); // Receive the next value } } |
Wah, ternyata gampang kan? Ayo, silahkan langsung dicoba dan dikembangkan lebih lanjut untuk mengendalikan alat lain, servo atau relay misalnya. Siapa yang mau mencoba? Selamat bereksperimen!
kok di arduino IDE script diatas kalo di verify error terus ya?
BalasHapus