Melanjutkan tutorial saya sebelumnya, tentang simulator Arduino menggunakan Proteus dan VBB versi 4.3.8. Kali ini saya berikan ulasan tentang aplikasi Arduino yang sangat sederhana sekali, menghidupkan LED menggunakan tombol atau pushbutton. Ada dua penjelasan, menggunakan VBB versi 4.38 dan UnoArduSim (software bisa diunduh disini).
Menggunakan VBB 4.3.8
Perhatikan rangkaian Arduino yang saya tunjukkan pada Gambar 1 menggunakan simulator VBB 4.3.8. Indikator LED kita sambungkan ke pin 13 (secara default, sebagaimana saya jelaskan tentang Arduino, pin 13 sudah tersambung dengan sebuah LED pada perangkat keras sesungguhnya) dan tombol kita pasang ke pin 2 (hanya contoh, Anda bisa memasang tombol dimana saja, program silahkan Anda sesuaikan).
Gambar 1
Selanjutnya perhatikan properti (properties), ada di sebelah kanan dari VBB) dari LED dan tombol (pushbutton) yang ditunjukkan pada Gambar 2 dan Gambar 3. Pada indikator LED terdapat 3 properti, Anda bisa menentukan warna LED dengan memilih merah (red), hijau (green), biru (blue) dan kuning (yellow) pada properti Color. Anda juga bisa menentukan sifat LED yang terpasang, apakah akan menyala jika diberi logika HIGH (properti Cathode=Ground) atau LOW (properti Cathode=Pin).
Gambar 2
Untuk tombol atau pushbutton terdapat lebih banyak properti, yaitu 5 (perhatikan Gambar 3). Tipe kontak ditentukan oleh Contact Type, sebagai berikut:
- On=VDD, OFF=Gnd – active HIGH
- ON=Gnd, OFF=VDD – active LOW
- Make VDD – sambung ke VDD
- Make GND – sambung ke GND
- Break VDD – putus dari VDD
- Break GND – Putus dari GND
Gambar 3
Properti lainnya adalah bentuk dari tombol, ditentukan pada properti Button, dengan pilihan sebagai berikut:
- Circle – lingkaran
- Square – kotak
- Left Arrow – panah ke kiri
- Right Arrow – panah ke kanan
- Down Arrow – panah ke bawah
- Up Arrow – panah ke atas
Juga Anda bisa menentukan warna tombol saat menyala dan mati, masing-masing ada di properti ColorON dan ColorOFF. Silahkan Anda kreasikan sendiri. Sisa penjelasan dalam menyiapkan rangkaian silahkan mengikuti tutorial VBB untuk simulator Arduino.
Menggunakan UnoArduSim
- Unduh perangkat lunak UnoArduSim disini;
- Baca tutorialnya di YOUTUBE, jadi saya tidak perlu menulis ulang tutorialnya, karena sudah ada yang menuliskan-nya dalam bahasa Indonesia.
- Perhatikan Gambar 4 untuk pengaturan di UnoArduSim-nya.
Listing Program
Listing program Arduino sebagai berikut…
/* Note: on most Arduinos there is already an LED on the board attached to pin 13. http://www.arduino.cc/en/Tutorial/Button */
// constants won't change. They're used here to // set pin numbers: const int buttonPin = 2; // the number of the pushbutton pin const int ledPin = 13; // the number of the LED pin
// variables will change: int buttonState = 0; // variable for reading the pushbutton status
void setup() { // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); // initialize the pushbutton pin as an input: pinMode(buttonPin, INPUT); }
void loop(){ // read the state of the pushbutton value: buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed. // if it is, the buttonState is HIGH: if (buttonState == HIGH) { // turn LED on: digitalWrite(ledPin, HIGH); } else { // turn LED off: digitalWrite(ledPin, LOW); } }
Penjelasan:
- Di awal kita mendeklarasikan konstanta buttonPin (pada pin 2) dan ledPin (pada pin 13) dengan angka (pin) masing-masing 2 dan 13;
- Untuk menyimpan kondisi apakah tombol terakhir ON atau OFF (satu tombol untuk melakukan togel ON/OFF pada LED) digunakan variabel buttonState.
- Perhatikan pengetikan variabel harus mengikuti besar kecilnya huruf, karena basisnya adalah pemrograman dalam bahasa C;
- Pada fungsi setup():
- buttonPin didefinisikan sebagai masukan (pinMode(buttonPin, INPUT)) dan
- ledPin sebagai luaran (pinMode(ledPin, OUTPUT));
- Pada program utama loop(),
- Pertama dibaca dulu tombolnya (buttonState = digitalRead(buttonPin));
- Kemudian diperiksa apakah dalam kondisi HIGH atau ditekan (if (buttonState == HIGH));
- Jika memang ditekan, maka LED dihidupkan (digitalWrite(ledPin, HIGH)), sebaliknya LED akan dimatikan (digitalWrite(ledPin, LOW));
- Demikian seterusnya…
Semoga bermanfaat…