Program Arduino: Digital Read Push Button!

Daftar Isi
Hari ini kita akan mencoba membuat Program untuk Push Button, komponen elektronika jenis Saklar yang pernah terbahas di Komponen Dasar Elektronika. Dimana kita mengetahui bahwa Push Button ketika kita tekan akan menghubungkan arus listrik, dan terputus apabila dilepas (tidak ditekan).

Saat ini kita akan membuat program sederhana untuk Push Button dengan logika program, “Jika button ditekan LED menyala, jika tidak LED mati.

Yang harus kamu siapkan;

1x Arduino
1x Breadboard
1x Push button
1x LED
1x Resitor 10k
1x Resistor 220ohm
7x Kabel jumper

Buatlah rangkain seperti gambar dibawah ini...

Rangkaian Untuk Push Button

NOTES:    
  • Hubungkan 5V dan GND dari Arduino ke Breadboard.
  • Hubungkan kaki pertama button ke 5V dan kaki ke-2 ke kaki pertama resitor 10k.
  • Hubungkan kaki ke-2 resistor 10k ke GND.
  • Hubungkan pin 2 Arduino ke kaki ke-2 button.
  • Untuk LED rangkaiannya tidak jauh berbeda dengan pembahasan sebelumnya.

Untuk sketch-nya kamu bisa ambil sampel pada FILE=>EXAMPLES=>DIGITAL=>BUTTON. Atau salin ulang program dibawah ini;
int buttonPin = 2;            // membuat variabel buttonPin untuk pin 2
int ledPin =  13;              // membuat variabel ledPin untuk pin 13
int buttonState = 0;         // variabel untuk posisi awal button agar dibaca LOW

void setup() {
  pinMode(ledPin, OUTPUT);    // membuat ledPin menjadi OUTPUT
  pinMode(buttonPin, INPUT);     // membuat buttonPin menjadi INPUT
}

void loop() {
 buttonState = digitalRead(buttonPin);     // membuat variabel buttonState untuk mengambil
                                                                 nilai dari buttonPin

if (buttonState == HIGH) {         // Jika nilai buttonPin = HIGH
    digitalWrite(ledPin, HIGH);      // maka ledPin akan menyala
  }
  else {                                         // Jika tidak
  digitalWrite(ledPin, LOW);         // maka ledPin akan mati
  }
}

NOTES:     
  • Variabel int buttonState=0;  digunakan untuk menentukan nilai awal yang terbaca adalah 0 atau LOW.    
  • Variabel baru buttonState = digitalRead(buttonPin);  digunakan untuk menyimpan nilai baca dari buttonPin kedalam variabel buttonState.
  • digitalRead sendiri berfungsi untuk membaca nilai sensor secara digital (LOW=GND, HIGH=5V).
  •  if (buttonState == HIGH) digunakan untuk menampilkan jika nilai dari buttonState adalah HIGH, maka lampu LED akan menyala digitalWrite(ledPin, HIGH);
  • else jika tidak maka lampu LED akan mati digitalWrite(ledPin, LOW);

MARI LEBIH KREATIF!!!
Dengan rangkaian yang sama, kamu bisa membuat sketch program seperti;
  1. Jika button ditekan lampu LED mati, jika tidak menyala.
  2. Jika button ditekan lampu LED berkedip, jika tidak hanya menyala.
  3. Jika button ditekan lampu LED berkedip cepat, jika tidak berkedip lambat.
 Jika ada yang masih kurang jelas, kamu bisa buka dulu:

Pemograman Dasar Arduino, Komponen Dasar Elektronika, Program Arduino: BLINK!, dan Program Arduino: Blink 3 LED. Karena kelas yang ini, merupakan kelas lanjutan dari sebelumnya :)

Atau jika masih kurang jelas juga, langsung aja isi di Kotak Komentar ya. Jangan malu-malu ;)

36 komentar

Anonim
Anonim
27 Februari 2016 pukul 02.12 Hapus
Makasih banget gan tutornya
Ajang Rahmat
27 Februari 2016 pukul 17.23 Hapus
Ok gan sama2, , ,
Unknown
12 Mei 2016 pukul 09.34 Hapus
Untuk menulis program int didalam void setup/void loop ? Terimakasih
Ajang Rahmat
26 Mei 2016 pukul 22.30 Hapus
Bisa bro... Program variabel int, long,char, dll bisa di tulis didlam void setup, atau void loop... tapi disarankan diluar aja...
Aries
4 Juni 2016 pukul 19.45 Hapus
Om, jika tombol di tekan maka led akan hidup, dan jika di lepas led akan mati, Tapi jika tombol di tekan lama berarti g bisa mati ya om, trus kalo pengen bisa mati sendiri tidak tanpa melepas tombol gimana om bahasa programnya?
Ajang Rahmat
17 Juni 2016 pukul 21.11 Hapus
Saat di tekan led menyala, dan akan mati sendiri tanpa melepas tombolnya. Tambahkan saja pada ini..

if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
delay(5000);
digitalWrite(ledPin, LOW);
}

program diatas led akan mati setelah 5 detik, tanpa harus dilepas tombolnya...
Unknown
29 Agustus 2016 pukul 23.12 Hapus
Push button knp pake resistor 10k ohm
Ajang Rahmat
5 November 2016 pukul 14.10 Hapus
Supaya gak ada Bounce, gak pake 10 k juga masih bisa pake 1k, intinya harus pake resistor biar aman juga...
Unknown
25 September 2016 pukul 23.40 Hapus
om kalo push button 1 stelah ditekan led 1 menyala terus menerus mekipun push button 1 di lepas gmana??
Ajang Rahmat
5 November 2016 pukul 14.11 Hapus
Hapus program elsenya...
Heru
2 Oktober 2016 pukul 12.16 Hapus
Kalo saya amati R10k itu melakukan shorting beberapa persen ketika button ditekan, apa itu benar. dan apa tujuannya ? Bukankah tanpa itu Arduino akan tetap berjalan normal
Ajang Rahmat
5 November 2016 pukul 14.12 Hapus
Gak ko gan, menurut pengalaman saya justru R10k ini membuat buttonnya stabil tanpa adanya bounce,,, silahkan dicoba aja gan...
Ajang Rahmat
5 November 2016 pukul 14.13 Hapus
kalo shorting berati ada masalah sama rangkaian agannya, coba periksa kembali dan sesuaikan dengan tutorial diatas ;)
Heru
13 Juli 2017 pukul 14.38 Hapus
Saya mulai mengerti, jadi ini yang di sebut pulup/puldown. mengisi nilai yg kosong. :D
Unknown
3 November 2016 pukul 12.05 Hapus
Mau tanya mas,, kalo tombol di tekan led akan nyala dan tombol di lepas led tetap nyala sampai di tekan lg tombolnya baru led mati,,
Ajang Rahmat
5 November 2016 pukul 14.15 Hapus
1 button dengan 2 fungsi ya! harus pake program count, biar jelas nanti saya posting saja tutorialnya :)
Ajang Rahmat
24 Juli 2017 pukul 07.17 Hapus
silahkan buka postingan http://www.kelasrobot.com/2017/07/menghidupkan-dan-mematikan-led-dengan-satu-tombol.html
Anonim
Anonim
7 November 2016 pukul 10.03 Hapus
mau tanya mas, kalo ketika pushbutton ditekan sekali, led menyala. jika pushbutton ditekan lagi led berkedip. itu gimana ya?
Ajang Rahmat
24 Juli 2017 pukul 07.18 Hapus
untuk refrensi coba buka aja:

www.kelasrobot.com/2017/07/menghidupkan-dan-mematikan-led-dengan-satu-tombol.html
Unknown
11 November 2016 pukul 19.55 Hapus
Mas saya ada tugas nih.
Kalo kita menggunakan 2 led tapi menggunakan 1 button..
Kita tekan button lampu led1 huidup.. lalu kita tekan button led 1 mati.. kita tekan lagi button led 2 yang hidup.. bagaimana program nya mas?
Ajang Rahmat
24 Juli 2017 pukul 07.18 Hapus
untuk refrensi coba buka aja:

www.kelasrobot.com/2017/07/menghidupkan-dan-mematikan-led-dengan-satu-tombol.html
Unknown
18 November 2016 pukul 00.02 Hapus
Mas...mw tanya...
Jika button 1 di tekan, maka led dan button 2 aktif dengan delay 5000, sebelum mencapai delay 5000..button 2 di tekan, maka led mati, kemudian button 2 di lepas...led nyala lagi sampai delay habis...gimana programnya ya mas ?
Ajang Rahmat
24 Juli 2017 pukul 07.19 Hapus
hampir sama sih mas, tinggal nambagin program baru aja untuk button yang kedua.
ILFSGD
4 Desember 2016 pukul 22.18 Hapus
Mkasih turialnya mas sngat membantu sekali, mw nnya mas, klw mw bikin led ny on pda saat pushbutton di tekan sekali hingga pushbutton dilepas lednya ny tetap on,dan untuk meng off kannya, button ny ditekan lagi, gimna program nya tu mas, mohon bantuanya..
Ajang Rahmat
24 Juli 2017 pukul 07.21 Hapus
untuk refrensi coba buka aja:

www.kelasrobot.com/2017/07/menghidupkan-dan-mematikan-led-dengan-satu-tombol.html
Unknown
29 Januari 2017 pukul 22.30 Hapus
Komentar ini telah dihapus oleh pengarang.
Ridwan Nurdiansyah
2 Februari 2017 pukul 23.17 Hapus
mas kalo ini ketika saklar HIGH nyala lednya 20% contonya itu gimana mass?
Ajang Rahmat
24 Juli 2017 pukul 07.22 Hapus
tinggal pake program PWM analogRead(pinled, nilaiketerangan);

contoh analogRead(3, 50);

nilainya 0-225
Syarif
23 April 2017 pukul 21.40 Hapus
Tutorialx good, bagaimana bikin perintah jika tombol push buttonnya ada 8 dan autputnya juga 8 dengan kondisi output toggle. terimah kasih
Ajang Rahmat
24 Juli 2017 pukul 07.23 Hapus
tinggal nambahin program untuk ke 7 inputnya lagi aja, tapi yang perlu dipahami disini arduino uno pinnya terbatas.
Unknown
12 Juli 2017 pukul 09.42 Hapus
Manthap && jos tutor'y..
Oya Mas,? mau tanya && minta ilmu || jurusnya, gimana cara menyalakan 5 led dalam satu button,,? Jadi jika button di tekan LED1 akan menyala dan tekan lagi LED2 menyala, sampai 5 led. Mohon bantuannya mas.? Hehe
Ajang Rahmat
24 Juli 2017 pukul 07.23 Hapus
untuk refrensi coba buka aja:

www.kelasrobot.com/2017/07/menghidupkan-dan-mematikan-led-dengan-satu-tombol.html
Unknown
26 Juli 2017 pukul 09.49 Hapus
ka mau tanya, bagaimana mencacah dengan arduino ya? jadi semisal ketika kita menekan tombol maka arduino akan mengcount sendiri sampai batas tertentu yang ditampilkan dilcd
Ajang Rahmat
3 Agustus 2017 pukul 07.54 Hapus
maksudnya dengan menekan tombol, angka pada LCD bertambah?
Unknown
28 Juli 2017 pukul 10.01 Hapus
Mau nanya mas, kalo button buat ngirim sms pke gsm shield gimna yah?
Anonim
Anonim
24 Agustus 2017 pukul 10.25 Hapus
ka kalau mau menyalakan 5 led secara bergantian dengan 1 tombol pushbutton gmn caranya ya ka??