Pada postingan kali ini kita akan membuat program menyalakan LED dengan push button menggunakan Arduino dan untuk membuatnya kita membutuhkan beberapa komponen.
>> Komponen yang dibutuhkan :
Pushbutton 1 buah, LED1 buah, resistor 100Ω dan 10kΩ masing - masing 1 buah, breadboard 1 buah, dan beberapa kabel jumper. Note : jika tahanan resistor 10kΩ terlalu besar dan akan menyebabkan tegangan GND tidak mengalir ke pin 2 hingga rangkaian tidak bekerja maka gantilah resistor oleh tahanan lebih kecil.
>> Untuk cara perangkaian lihat gambar dibawah ini :
>> Source kode yang dibuat
adalah sbb :
// Menyalakan LED Dengan Push Button Menggunakan Arduino
int
buttonPin = 2; // pushbutton disambung ke pin digital 2
int tediLed = 9; // LED
disambung ke pin digital 13
// variabel yang akan menyimpan
keadaan nilai pushbutton :
int buttonState = 0;
void setup()
{
Serial.begin(9600); // memulai komunikasi melalui serial port
// tediLed diset sebagai output :
pinMode(tediLed, OUTPUT);
// buttonPin diset sebagai input :
pinMode(buttonPin, INPUT);
}
void loop()
{
// membaca status nilai
digital di buttonPin :
buttonState
= digitalRead(buttonPin);
// perintah untuk menampilkan
keadaan pushbutton pada Serial Monitor :
Serial.println(buttonState);
// perintah untuk
mengecek status pushbutton dan
mengeksekusi keadaan LED
if (buttonState == HIGH) // jika pushbutton ditekan, keadaan
akan HIGH
{digitalWrite(tediLed,
HIGH); } // LED dieksekusi
jadi ON
else // selain ditekan keadaan
akan LOW
{
digitalWrite(tediLed,
LOW); } // LED dieksekusi
jadi OFF
}
Pembahsan Kode
Sebenarnya
saya tidak perlu membahas lagi source kode diatas karena semuanya sudah
dijelaskan tapi ada penjelasan yang kurang lengkap dan rasanya kurang lengkap
kalo gak dibahas. He..he..
>> Untuk kode :
int buttonState = 0;
variabel yang diberi nama buttonState
dibuat dari tipe data integer yang berfungsi untuk menyimpan keadaan nilai dari
pushbutton. Karena pushbutton merupakan komponen input digital maka keadaan
yang dihasilkan/disimpan hanya ada dua kemungkinan yaitu 0 dan 1. Keadaan 0
ketika tombol tidak ditekan dan keadaan 1 ketika tombol ditekan.
>> Untuk
kode :
Serial.begin(9600);
Perintah
ini digunakan untuk memulai/mengaktifkan serial komunikasi dengan kecepatan
9600 bps.
>> Untuk kode :
buttonState = digitalRead(buttonPin);
Perintah digitalRead(…) berfungsi
untuk membaca keadaan nilai digital dengan menentukan terlebih dahulu variabel
pembaca dan variabel yang dibaca. Pada hal ini but tonState sebagai variabel
pembaca dan buttonPin sebagai variabel yang dibaca.
>> Untuk kode :
Serial.println(buttonState);
Perintah ini digunakan untuk
mencetak/menampilkan keadaan nilai buttonState pada Serial Monitor. Perintah Serial.println(…)
akan error / tidak bisa dijalankan, apabila perintah Serial.begin(…) tidak diikut
sertakan terlebihdahulu.
>>
Untuk kode :
if
(buttonState == HIGH)
{digitalWrite(tediLed,
HIGH); }
else
{
digitalWrite(tediLed,
LOW); }
Perintah if
…else …
mengartikan jika
pushbutton ditekan (HIGH), LED diperintahkan untuk ON dan jika pushbutton tidak
ditekan (LOW), maka LED diperintahkan untuk OFF.
Kita juga bisa menghilangkan perintah else dan menggantinya dengan perintah if tapi fungsi kerja rangkaian tetap sama.
Perhatikan kode dibawah ini :
if
(buttonState == HIGH)
{digitalWrite(tediLed,
HIGH); }
if (buttonState == LOW)
{
digitalWrite(tediLed,
LOW); }
Menghilangkan
else
dan mengantinya dengan if menjadikan penulisan kode agak panjang tetapi
fungsi kerja rangkaian tetap sama. Selain itu anda bisa menukar perintah HIGH /
LOW yang menjadikan fungsi kerja rangkaian berbeda, ada juga dengan menukar
perintah HIGH / LOW tetapi fungsi keja rangkaian tetap sama. Dalam pembuatan
source kode arduino anda bisa memodifikasi berbagai macam kode tetapi dengan
fungsi kerja rangkaian tetap sama. Memodifikasi suatu perintah baiknya untuk
memperpendek penulisan kode, apabila menjadikan kode lebih panjang tetapi
fungsinya sama baiknya jangan dilakukan karena untuk menghemat waktu
pemrograman juga menghemat kapasitas memory mikrokontroler.
Mukin hanya
itu postingan kali ini.