- Pengertian
Push button atau tombol adalah komponen elektronik yang digunakan untuk memutus atau menyambungkan arus listrik. Push button bukan jenis tombol yang mengunci, jadi setelah ditekan akan kembali ke posisi semula. Push button banyak digunakan antara lain sebagai tombol reset, select, input nilai, menyalakan lampu dan masih banyak lainnya. Ada banyak jenis push button baik dari segi ukuran dan fungsi.
Gambar 1. Macam-macam Push Button
Pada proyek kali ini, kita akan mencoba menghidupkan lampu LED menggunakan button dengan beberapa teknik seperti, penggunaan button biasa, pullup button, debouce dan state change detection. Alat dan bahan yang digunakan pada proyek ini antara lain,
- Push Button
Gambar 2. Push Button
- Lampu LED
Gambar 3. Lampu LED 5mm
- Resistor 220Ω
Gambar 4. Resistor
- Kabel Jumper
Gambar 5. Kabel Jumper Male to Male
- Breadboard
Gambar 6. Breadboard/PCB tanpa solder
- Arduino Uno
Gambar 7. Arduino Uno
- Kabel USB Arduino
Gambar 8. Kabel USB Arduino Uno
Selanjutnya, kita akan membuat rangkaian yang menghubungkan LED dan push button dengan Arduino. Langkah-langkahnya antara lain,
- Siapkan semua alat
- Sambungkan LED dengan pin 13 Arduino, jangan lupa pasang resistor sebelum LED-nya
- Pasang Push Button di tengah-tengah breadboard, pin kanan bawah sebagai pin positif, pin kiri bawah sebagai negatif, pin kiri atas sebagai pin input. Pasang resistor pada pin negatif.
- Hubungkan breadboard dengan daya 5V dari Arduino dengan menghubungkan Arduino dengan line horizontal.
Gambar 9. Diagram Rangkaian Button
Jika rangkaian benar, maka akan terlihat seperti Gambar 9 di atas. Rangkaian ini akan kita gunakan untuk seluruh percobaan yang akan kita lakukan. Setelah rangkaian sudah jadi, kita dapat langsung masuk ke pemrogramannya.
2. Regular Button
Berikut adalah program dasar untuk dapat menjalankan push button. Disini push button bertindak sebagai pemicu agar LED menyala, jadi LED hanya akan menyala jika arduino mendeteksi ada aliran listrik yang melewati push button. Dari sini kita tahu bahwa kita akan menggunakan fungsi if..else pada program kita. Lalu apa saja yang harus kita lakukan?
Pertama kita definisikan sebuah variabel untuk menyimpan nilai dari button, kita beri nama “buttonState” dengan type integer dan nilai awal 0. Meskipun data type yang digunakan adalah integer namun nilai yang dihasilkan oleh button adalah HIGH dan LOW. Arduino dapat secara otomatis meyesuaikan perbedaan tersebut dan tidak akan terjadi error.
Selanjutnya pada void setup(), kita inisialisasikan pin yang akan kita gunakan. Pin 2 terhubung dengan button dan kita atur sebagai input karena arduino menerima sinyal dari button dan memprosesnya, lalu pin 13 terhubung dengan LED dan kita atur sebagai output karena arduino mengirimkan sinyal listrik ke LED agar menyala.
Pada void loop(), pertama kita baca nilai dari button menggunakan digitalRead() dan simpan nilainya ke variabel “buttonState”. Lalu kita buat fungsi if…else dengan kondisi jika nilai dari “buttonState” adalah HIGH, maka kita nyalakan LED menggunakan digitalWrite() dengan nilai HIGH, selain itu maka LED berada pada kondisi LOW.
int buttonState = 0; //buat variabel untuk menyimpan nilai dari buttton
void setup()
{
pinMode(2, INPUT); //button diset sebagai input
pinMode(13, OUTPUT); //led sebagai output
}
void loop()
{
buttonState = digitalRead(2); // membaca nilai dari button
// Mengecek apakah tombol ditekan. Jika iya,
// buttonState akan bernilai HIGH
if (buttonState == HIGH)
{
digitalWrite(13, HIGH);// menyalakan LED
}
else
{
digitalWrite(13, LOW);// mematikan LED
}
delay(10);// Jeda beberapa saat itu menstabilkan program
}
Jika program berhasil dijalankan, maka ketika tombol ditekan maka LED akan menyala (lihat video di bawah). Jika kita perhatikan contoh di atas, setiap kita menekan tombol, LED akan menyala namun begitu kita lepas, LED akan langsung mati. Itu karena seperti yang disebutkan di awal, push button akan kembali ke posisi awal jika dilepaskan, menyebabkan arus listrik yang masuk ke Arduino terputus. Namun, kita dapat mengatur agar button tetap dalam kondisi HIGH meskipun tombolnya kembali seperti semula. Bagaimana cara membuatnya? tunggu di proyek-proyek selanjutnya.
Penulis : Ariq Naufal Rabbani
Editor: Malik Athafarras
Asking questions are truly fastidious thing if you are not understanding something fully, however this
article offers fastidious understanding yet.