Menggunakan Infrared Kit untuk Pegendali Jarak Jauh,~
Infrared Kit adalah sebuah perlengkapan untuk proyek arduino pengendalai jarak jauh dengan IR KIt ini kita bisa membuat remote Control yang Efeketi dan pratkis, Di sini saya akan jelaskan proyek arduino menggunakan infrared. Proyek arduino memang sangat mengasyikan terlebih kalo kita sudan bisa dan pahan soal pemogramanya dan juga penjumperanya, Bila kamu belum paham soal arduino bisa baca-baca di sini terlebih dahulu :
Kelas Arduino.
|
Infrared Kit Arduino |
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
|
Komponen LED,Resistor dan Kebl jumper |
Sebelum memulai, ada baiknya kita men-download library Arduino untuk Infrared yang ada di link ini. Ekstrak isi file library itu ke folder IRremote di dalam folder libraries dari aplikasi IDE Arduino anda. Buat terlebih dahulu folder IRremote jika perlu.
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.
|
Menghubungkan IR Receiver dengan Arduino Uno |
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?
|
Output di Serial Monitor dari Tombol Remote |
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.
|
Skema Rangkaian 4LED dengan IR Kit dan Arduino UnoR3 |
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
}
}
|
Upload kode program tersebut ke dalam board Arduino anda. Pastikan tidak ada error yang muncul. Kalau semua berjalan lancar maka kita dapat menghidup-matikan LED dengan tombol dari remote. Perhatikan gambar di bawah ini, dua buah LED sudah berhasil dikendalikan melalui IR Remote.
|
Remote dari IR Kit berhasil menghidupkan 2 buah LED yang terhubung dengan Arduino Uno R3 |
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!
Sumber Dari :http://arcfn.com