Pada bagian ini akan dibahas contoh penggunaan Arduino UNO dengan remote control infrared. Contoh pertama yang diberikan pada bahasan ini adalah membaca nilai dari setiap tombol yang ditekan. Nilai yang dihasilkan adalah nilai hexadecimal dan nilai tersebut akan ditampilkan ke serial monitor. Rangkaian untuk contoh proyek ini ditunjukkan pada gambar 1.1. dibawah ini.
Gambar 1.1 Arduino dengan photodioda |
Hardware yang dibutuhkan :
1. Arduino UNO
2. Remote infrared (IR transmitter)
3. IR receiver (photodiode)
4. Kabel jumper
Keterangan Rangkaian dan Pemrograman :
1. Hubungkan pin VCC photodiode dengan pin VCC 5V Arduino.
2. Hubungkan pin GND photodiode dengan pin GND Arduino.
3. Hubungkan pin sinyal photodiode dengan pin digital 7 Arduino.
4. Setelah selesai membuat rangkaian, langkah selanjutnya adalah membuat sketch program pada software Arduino IDE. Sketch untuk rangkaian proyek ini ditunjukkan oleh contoh program Prog1.1.
5. Compile sketch yang telah dibuat.
6. Hubungkan Arduino UNO dengan komputer menggunakan kabel USB dan upload ke Arduino UNO yang digunakan.
7. Buka serial monitor pada Arduino IDE sehingga nilai yang ditampilkan berdasarkan tombol yang dibaca dari remote dapat terlihat.
Contoh Program Prog1.1. Test Hexa Tombol
Penjelasan :
1. Pada awal bagian program disertakan library IRremote.h
2. Pada baris selanjutnya dibuat objek dengan nama protokol dan nomor pin yang akan digunakan. Pada program dituliskan pin 7 yang sesuai dengan rangkaian yang kita buat.
3. Objek protokol ini akan mengatasi protokol dan memproses informasi yang diterima dari receiver.
4. Baris selanjutnya adalah pembuatan objek dengan nama hasil dari class decode_result. Objek ini akan digunakan oleh objek protokol untuk berbagi informasi yang sudah di dekode dengan aplikasi kita.
5. Di bagian awal void setup terdapat pengaturan baud rate sebesar 9600bps yang akan digunakan untuk komunikasi serial.
6. Selanjutnya, pengaturan untuk memulai IR receiver (photodiode) dengan cara mengaktifkan fungsi enableIRIn ( ).
7. Perintah protokol.blink13 (true) adalah perintah untuk mengedipkan LED built-in pada board Arduino UNO setiap kali receiver (photodiode) menerima sinyal dari remote. Hal ini berguna untuk debugging.
8. Pada bagian selanjutnya program masuk ke dalam rutin loop ( ).
9. Pada awal rutin loop ini program masuk ke dalam percabangan. Fungsi protokol.decode akan menghasilkan nilai TRUE jika kode diterima dan program akan mengeksekusi statement / kode yang berada di dalam percabangan.
10. Program akan mencetak nilai kode yang diterima ke serial monitor dalam bentuk nilai hexadecimal.
11. Fungsi protokol.resume ( ) adalah perintah untuk mereset receiver dan bersiap untuk menerima kode berikutnya.
Untuk menguji program yang sudah dibuat, tekan tombol remote kemudian perhatikan nilai hexadecimal yang akan tampil pada serial monitor. Contoh nilai hexadecimal yang ditampilkan pada serial monitor pada gambar 1.2 di bawah ini.
Dari percobaan penekanan setiap tombol remote, di dapat nilai hexadecimal sebagai berikut :
1. Tombol CH- : oxFFA25D
2. Tombol CH : oxFF629D
3. Tombol CH+ : oxFFE21D
4. Tombol | < < : oxFFE22D
5. Tombol > > | : oxFF02FD
6. Tombol > | : oxFFC23D
7. Tombol - : oxFFE01F
8. Tombol + : oxFFA857
9. Tombol EQ : oxFF906F
10. Tombol 0 : oxFF6897
11. Tombol 100+ : oxFF9867
12. Tombol 200+ : oxFFB04F
13. Tombol 1 : oxFF30CF
14. Tombol : oxFF18E7
15. Tombol 3 : oxFF7A85
16. Tombol 4 : oxFF10EF
17. Tombol 5 : oxFF38C7
18. Tombol 6 : oxFF5AA5
19. Tombol 7 : oxFF42BD
20. Tombol 8 : oxFF4AB5
21. Tombol 9 : oxFF52AD
Catatan : Jika kita menekan tombol terlalu lama, maka pada serial monitor ditampilkan nilai hexa oxFFFFFFFF.
Pada bagain sebelumnya kita dapat mengetahui nilai hexadecimal dari setiap tombol, maka kita dapat membuat program untuk menampilkan nama dari tombol yang kita tekan berdasarkan nilai hexadecimal yang di dapat. Untuk memulainya, buat program yang ditunjukkan pada contoh program 1.2. di bawah ini.
Contoh Program : Prog1.2. Nama Tombol
Penjelasan :
1. Pada awal bagian program disertakan library IRremote.h
2. Pada baris selanjutnya dibuat objek dengan nama protokol dan nomor pin yang akan digunakan. Pada program dituliskan pin 7 yang sesuai dengan rangkaian yang kita buat.
3. Objek protokol ini akan mengatasi protokol dan memproses informasi yang diterima dari receiver.
4. Baris selanjutnya adalah pembuatan objek dengan nama hasil dari class decode_results. Objek ini akan digunakan oleh objek protokol untuk berbagi informasi yang sudah di dekode dengan aplikasi kita.
5. Dibagian awal void setup terdapat pengaturan baud rate sebesar 9600bps yang akan digunakan untuk komunikasi serial.
6. Selanjutnya, pengaturan untuk memulai IR receiver (photodiode) dengan cara mengaktifkan fungsi enableIRIn ( ).
7. Perintah protokol.blink13(true) adalah perintah untuk mengedipkan LED built-in pada board Arduino UNO setiap kali receiver (photodiode) menerima sinyal dari remote. Hal ini berguna untuk debugging.
8. Pada bagian selanjutnya program masuk ke dalam rutin loop ( ).
9. Pada awal rutin loop ini program masuk ke dalam percabangan. Fungsi protokol.decode akan menghasilkan nilai TRUE jika kode diterima dan program akan mengeksekusi statement / kode yang berada di dalam percabangan.
10. Statement di dalam percabangan diawali dengan seleksi kondisi dengan menggunakan switch case. Pada switch case ini value dari objek hasil seleksi. Jika pada case tertentu kondisinya terpenuhi, maka statement dari case akan dieksekusi kemudian keluar dari switch case. Statement yang dieksekusi pada kasus ini adalah pencetakan string ke serial monitor.
11. Fungsi protokol.resume( ) adalah perintah untuk mereset receiver dan bersiap untuk menerima kode berikutnya.
Hasil yang didapat pada serial monitor berdasarkan penekanan tombol yang dilakukan ditunjukkan pada gambar 1.3. di bawah ini.
0 Komentar