Push Button
Sampai saat ini kebanyakan fokus latihan pada komponen output. Sekarang kita mencoba latihan menggunakan komponen input sederhana yang umum digunakan yaitu push button menggunakan fungsi digital input. Push button dirangkaikan dengan Arduino sehingga ketika push button ditekan akan menjadikan kondisiLOW
.Pada latihan ini, menggunakan parameter
INPUT_PULLUP
didalam fungsi pinMode()
, sehingga tidak memerlukan resistor yang dihubungkan sebagai pull-up untuk menjaga inputan pada pin dalam kondisi HIGH
ketika push button tidak ditekan.Kebutuhan Komponen:
— 1 x Arduino UNO— 2 x Push Button
— 1 x LED
— 1 x Resistor 330Ω
Komponen yang digunakan pada Shield:
2 x Push Button yang terhubung dengan D2 & D4.1 x LED yang terhubung ke D13.
Rangkaian:
Upload sketch:
Buka software Arduino IDE apabila menggunakan PC/Laptop. Jika menggunakan Android dapat membuka aplikasi Bluino Loader yang sudah diinstal dari Google Playstore. Buka sketch Latihan 05 yang sudah diunduh dan disimpan pada folder Examples sebelumnya.Untuk membuka sketch temukan file di: BluinoLoader > examples > Belajar_Arduino_Dasar > Latihan_05
Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) dibawah.
/* Bluino Starter Shield
Latihan 05 Push Button
Use pushbuttons for digital input.
Version 1.0 9/2017 MK
*/
const int button1Pin = 2; // pushbutton 1 pin
const int button2Pin = 4; // pushbutton 2 pin
const int ledPin = 13; // LED pin
int button1State, button2State; // variables to hold the pushbutton states
void setup() {
// Set up the pushbutton pins to be an input with the internal pull-up resistor enabled :
pinMode(button1Pin, INPUT_PULLUP);
pinMode(button2Pin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT); // Set up the LED pin to be an output
}
void loop() {
button1State = digitalRead(button1Pin);
button2State = digitalRead(button2Pin);
// if button1 or button 2 are pressed (but not both)
if (((button1State == LOW) && (button2State == HIGH)) || ((button1State == HIGH) && (button2State == LOW))) {
digitalWrite(ledPin, HIGH); // turn the LED on
}
else {
digitalWrite(ledPin, LOW); // turn the LED off
}
}
Catatan kode:
pinMode(button2Pin, INPUT_PULLUP);
Semua pin pada Arduino dapat difungsikan sebagai input sebagaimana bisa difungsikan sebagai output. Sebelumnya harus dinyatakan terlebih dahulu pin mana yang akan diset sebagai input dengan menggunakan fungsi pinMode()
. Pada fungsi pinMode()
menggunakan parameter INPUT_PULLUP
bertujuan untuk mengaktifkan internal pull-up resistor didalam IC mikrokontroller secara kode.button1State = digitalRead(button1Pin);
Untuk membaca sebuah inputan digital menggunakan fungsi digitalRead()
. Fungsi ini akan menghasilkan HIGH
jika tegangan 5V terhubung dengan pin, atau LOW
jika tegangan 0V terhubung dengan pin.if (button1State == LOW)
Karena menghubungkan salah satu kaki push button ke GND, maka akan membaca LOW
ketika push button ditekan. Disini menggunakan operator dua sama dengan ("==") untuk mendeteksi apakah push button ditekan.
0 comments:
Posting Komentar