BBROBOTINDONESIA
PANDUAN PRAKTIKUM DASAR ARDUINO
www.BELAJARBIKINROBOT.WEEBLY.com
Praktikum 12 Belajar Arduino Menggunakan Input Digital (Button) Untuk Mengontrol Output Digital (LED) Pada praktikum kita kali ini, kita akan bermain dengan button dan LED. Melalui praktikum kali ini, saya harap Anda bisa memahami bagaimana menggunakan sebuah sistem sederhana dari mikrokontroler dalam sebuah sistem yang lengkap. Mulai dari input, proses, dan output. Pada kesempatan ini, kita akan menggunakan Button sebagai komponen Input Digitalnya, yang kemudian berdasarkan input dari Button tersebut, Arduino mem-prosesnya dan menghasilkan output berupa nyala atau padamnya LED. Baiklah, untuk mempersingkat mari kita langsung ke praktikumnya berikut ini.
Komponen yang Dibutuhkan
Arduino Uno 1x
Protoboard 1x
Resistor 10kOhm 1x
Pushbutton 1x
Langkah-Langkah Praktikum
LED5mm 1x
Resistor 220 ohm 1x
Kabel Jumper Male 5x
Susunlah komponen-komponen praktikum seperti gambar di atas, caranya : 1. hubungkanlah kaki + Anoda LED ke Pin 13 Arduino menggunakan kabel jumper Male (warna biru, saya gunakan untuk membedakan saja. Bisa menggunakan warna apa saja) 2. hubungkan kaki - Katoda LED dengan kaki 1 Resistor (resistor tidak ada kaki + atau - nya). 3. hubungkan kaki 2 Resistor dengan Pin Gnd Arduino menggunakan kabel jumper Male (warna hitam, biasa digunakan untuk Gnd atau 0 Volt. Sedangkan Merah, biasa digunakan untuk Voltase +). 4. Hubungkan Kaki 1 Push Button dengan pin 5v Arduino menggunakan kabel jumper (gunakan warna merah) 5. Hubungkan Kaki 2 Push Button dengan salah satu kaki Resistor 10K Ohm dan pin digital 4 Arduino. Untuk ke pin 4 arduino gunakan kabel jumper (gunakan warna hijau) 6. Hubungkan kaki Resistor 10k ohm yang belum terhubung ke jalur GND protoboard menggunakan kabel jumper(gunakan warna hitam) 7. hubungkan board Arduino Uno dengan Komputer menggunakan kabel USB. 8. Bukalah IDE Arduino, kemudian ketikkan kode program/sketch berikut: const int pinButton = 4; const int pinLED = 13; int kondisiButton = LOW; void setup() { pinMode(pinButton, INPUT); pinMode(pinLED, OUTPUT); } void loop() { kondisiButton = digitalRead (pinButton); if (kondisiButton == HIGH) { digitalWrite (pinLED, HIGH); } Else { digitalWrite (pinLED, LOW); } }
6. compile menggunakan verify button (tanda ceklist pada IDE arduino) untuk mengecek ada atau tidaknya error/kesalahan dalam pengetikan. 7. upload program ke arduino dengan cara, pilih File > Upload to I/O board, atau tekan tombol tanda panah pada jendela IDE arduino. Amati hasilnya. Jika program yang anda ketikkan benar maka, hasilnya adalah LED akan menyala jika Button kita tekan dan sebaliknya LED akan padam jika Button kita lepaskan.
Diskusi dan Pembahasan Sketch Baiklah, sekarang kita bahas kode program yang telah kita buat. Seperti biasa, kode-kode program dalam praktikum ini kita bagi menjadi tiga blok kode. Kita mulai pembahasannya dari blok kode yang pertama berikut ini.
Blok Pertama Blok program yang pertama ini, kita isi dengan deklarasi dan inisialisasi variable-variable yang kita butuhkan. Berikut ini adalah kode deklarasi dan inisialisasi variable-variable tersebut. const int pinButton = 4; const int pinLED = 13; int kondisiButton = LOW; Tentunya, Anda sudah familiar dengan metode deklarasi variable di atas. Tapi, kita akan bahas sedikit apa yang kita lakukan pada deklarasi variable-variable tersebut. Dua variable yang pertama kita kunci nilainya agar tidak berubah-ubah dalam proses eksekusi program-program selanjutnya. Kita mengunci dua variable tersebut karna kita tidak ingin mengubah pin yang kita gunakan. Untuk menguncinya, kita gunakan qualifier yang disebut constanta. Satu-satunya variable yang akan kita ubah-ubah nilainya dalam proses diprogram ini adalah variable “kondisiButton”. Karna itulah, kita mendeklarasikannya tanpa memberikan qualifier constanta. Baiklah, setelah kita sudah beres dengan urusan deklarasi dan inisialisasi variable, sekarang kita lanjutkan ke blok program yang selanjutnya.
Blok Kedua Seperti biasanya, pada blok kedua ini kita meletakkan routine setup(). Di sini, kita mengatur mode dari tiap pin yang kita butuhkan. Berikut ini kode programnya. void setup ( ) { pinMode ( pinButton , INPUT ) ; pinMode ( pinLED , OUTPUT ) ; }
Sederhana saja, di sini kita mengatur mode untuk Button yang dalam hal ini terhubung ke pin 4 sebagai INPUT dan LED yang terhubung ke pin 13 sebagai OUTPUT. Sekarang, Arduino sebagai “otak” yang memroses sudah paham bahwa Button akan berfungsi sebagai INPUT yang akan diterimanya dan LED sebagai OUTPUT yang akan diaturnya. Semoga Anda paham maksud saya. Oke, kita sudah atur routine setup(). Sekarang kita lanjutkan kembali ke blok program yang berikutnya.
Blok Ketiga Blok ketiga atau blok yang terakhir ini akan mengeksekusi routine loop(). Sekarang, kita akan coba bahas kodekode pada routine ini. Kita mulai membahas dari kode berikut ini. kondisiButton = digitalRead (pinButton); Pada kode ini, kita meng-update nilai dari variable “kondisiButton” yang sebelumnya telah kita deklarasikan pada blok pertama dengan nilai yang dibaca oleh fungsi digitalRead(). Dalam kode ini, fungsi digitalRead() kita tugaskan untuk membaca input dari pin yang terhubung ke Button (pin 4) – apakah button sedang ditekan atau dilepas?. Dalam praktikum ini, apabila button ditekan, maka tegangan 5 volt akan mengaktifkan pin 4 Arduino. Artinya, fungsi digitalRead() di atas akan membaca kondisi ini dengan nilai HIGH. Sebaliknya, apabila button dilepas, maka tegangan akan menjadi 0 volt dan pin 4 Arduino non-aktif. Artinya, fungsi digitalRead()pun akan membaca kondisi ini dengan nilai yang sebaliknya, yaitu LOW. Nilai yang dibaca oleh fungsi digitalRead() itulah yang kemudian kita simpan nilainya kedalam variable “kondisiButton”. Seperti namanya, variable “kondisiButton” inilah yang akan menjadi patokan program dalam mengambil keputusan output seperti apa yang harus di tampilkan.—dalam praktikum ini, apakah LED menyala atau LED padam. Baiklah, cukup untuk pembahasan update variable “kondisiButton”. Sekarang, kita lanjutkan ke kode yang berikutnya. Kode berikut inilah yang mengatur hasil bacaan dari Button dengan membaca kondisi dari variable “kondisiButton”. Kode ini menggunakan metode if-else statement seperti yang telah kita pelajari pada praktikum if-else statement yang lalu. Berikut ini kodenya. if (kondisiButton == HIGH) { digitalWrite (pinLED, HIGH); } Else { digitalWrite (pinLED, LOW); } Pada kode-kode di atas, fungsi if – else statement kita gunakan untuk membaca kondisi variable “kondisiButton”. Sederhananya, fungsi ini mengatur jalannya program.—apabila button ditekan, nyalakan LED dengan fungsi digitalWrite(pinLED, HIGH); dan sebaliknya, apabila button dilepas, padamkan LED dengan fungsi digitalWrite(pinLED, LOW);. Jika Anda mengikuti seri praktikum Arduino ini, tentunya Anda sudah sangat paham dengan kode-kode di atas.
Nah, selesai sudah pembahasan kita pada diskusi sketch kita kali ini. Tetap semangat dan sampai jumpa lagi di praktikum berikutnya...
Latihan Mandiri Untuk meningkatkan kemampuan dan pemahaman Anda, coba kerjakan latihan mandiri berikut. 1. Buatlah LED berkelip dengan cepat saat Button ditekan dan ditahan. 2. Tambahkan LED pada pin 12 dan buat berkedip seperti pada soal pertama.
www.BELAJARBIKINROBOT.WEEBLY.com