Program Arduino: Digital Read Push Button!

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;

  1. 1x Arduino BELI
  2. 1x Breadboard BELI
  3. 1x Push button BELI
  4. 1x LED BELI
  5. 1x Resitor 10k BELI
  6. 1x Resistor 220ohm BELI
  7. 7x Kabel jumper BELI

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:

byte tombol= 2;
byte led= 13;
int nilai;

void setup(){
  pinMode(led, OUTPUT);
  pinMode(tombol, INPUT);
}

void loop(){
  nilai= digitalRead(tombol);

  if(nilai == 1){
    digitalWrite(led, HIGH);
  }
  else{
    digitalWrite(led, LOW);
  }
}

NOTES:   

  • Variabel int nilai;  digunakan untuk membuat variabel nilai untuk menyimpan data nilai dari tombol.
  • Variabel baru nilai = digitalRead(tombol);  digunakan untuk menyimpan nilai baca dari tombol kedalam variabel nilai.
  • digitalRead sendiri berfungsi untuk membaca nilai sensor secara digital (0=GND, 1=5V).
  •  if (nilai == 1) digunakan untuk menampilkan jika nilai dari nilai adalah 1, maka lampu led akan menyala digitalWrite(led, HIGH);
  • else jika tidak maka lampu led akan mati digitalWrite(led, 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 😉

44 Comments

    Didin Kh

    Makasih banget gan tutornya

    Reply
    Ajang Rahmat

    Ok gan sama2, , ,

    Reply
    Unknown

    Untuk menulis program int didalam void setup/void loop ? Terimakasih

    Reply
    Ajang Rahmat

    Bisa bro… Program variabel int, long,char, dll bisa di tulis didlam void setup, atau void loop… tapi disarankan diluar aja…

    Reply
    Aries

    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?

    Reply
    Ajang Rahmat

    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…

    Reply
    Mukhamad Ansor

    Push button knp pake resistor 10k ohm

    Reply
    muhammad sofhamuthoharuljannan

    om kalo push button 1 stelah ditekan led 1 menyala terus menerus mekipun push button 1 di lepas gmana??

    Reply
    heru masadi

    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

    Reply
    gustaf maulana

    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,,

    Reply
    Ajang Rahmat

    Supaya gak ada Bounce, gak pake 10 k juga masih bisa pake 1k, intinya harus pake resistor biar aman juga…

    Reply
    Ajang Rahmat

    Hapus program elsenya…

    Reply
    Ajang Rahmat

    Gak ko gan, menurut pengalaman saya justru R10k ini membuat buttonnya stabil tanpa adanya bounce,,, silahkan dicoba aja gan…

    Reply
    Ajang Rahmat

    kalo shorting berati ada masalah sama rangkaian agannya, coba periksa kembali dan sesuaikan dengan tutorial diatas 😉

    Reply
    Ajang Rahmat

    1 button dengan 2 fungsi ya! harus pake program count, biar jelas nanti saya posting saja tutorialnya 🙂

    Reply
    Anonim

    mau tanya mas, kalo ketika pushbutton ditekan sekali, led menyala. jika pushbutton ditekan lagi led berkedip. itu gimana ya?

    Reply
    alief berlyan mufti

    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?

    Reply
    De Aldi

    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 ?

    Reply
    ilfan brt

    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..

    Reply
    Ridwan Nurdiansyah

    mas kalo ini ketika saklar HIGH nyala lednya 20% contonya itu gimana mass?

    Reply
    Syarif

    Tutorialx good, bagaimana bikin perintah jika tombol push buttonnya ada 8 dan autputnya juga 8 dengan kondisi output toggle. terimah kasih

    Reply
    TURNO TEX

    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

    Reply
    Deo Caturno

    Komentar ini telah dihapus oleh pengarang.

    Reply
    heru masadi

    Saya mulai mengerti, jadi ini yang di sebut pulup/puldown. mengisi nilai yg kosong. 😀

    Reply
    Ajang Rahmat

    hampir sama sih mas, tinggal nambagin program baru aja untuk button yang kedua.

    Reply
    Ajang Rahmat

    tinggal pake program PWM analogRead(pinled, nilaiketerangan);

    contoh analogRead(3, 50);

    nilainya 0-225

    Reply
    Ajang Rahmat

    tinggal nambahin program untuk ke 7 inputnya lagi aja, tapi yang perlu dipahami disini arduino uno pinnya terbatas.

    Reply
    Nungky Abita

    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

    Reply
    Alim Rama

    Mau nanya mas, kalo button buat ngirim sms pke gsm shield gimna yah?

    Reply
    Ajang Rahmat

    maksudnya dengan menekan tombol, angka pada LCD bertambah?

    Reply
    Anonim

    ka kalau mau menyalakan 5 led secara bergantian dengan 1 tombol pushbutton gmn caranya ya ka??

    Reply
    Didik Buset

    Gimana caranya agar setelah tombol ditekan program arduino nyala setelah 20 detik mati otomatis

    Reply
    Niki Ayah'nya Fatah

    Maaf mas mau nanya, gmn caranya ya satu switch tapi output led ada dua, jadi saat push button ditekan maka let “a” pijar sedangkan led “b” mati begitu sebaliknya,, terimakasih atas jawabanya

    Reply
      khajis mumin

      int lampuA = 3;
      int lampuB = 4;
      int tombol = 5;

      void setup() {
      pinMode(lampuA,OUTPUT) ;
      pinMode(lampuB,OUTPUT);
      PinMode(tombol, INPUT) ;

      }

      void loop() {
      if(digitalRead(tombol)==HIGH) {
      digitalWrite(lampuA, HIGH) ;
      digitalWrite(lampuB, LOW) ;
      } else {
      digitalWrite(lampuA, LOW) ;
      digitalWrite(lampuB, HIGH) ;
      }
      }

      Reply
    afif diamanta

    Mas mau nanya, bagaimana jika tombol di tekan(tidak di tahan) lalu lampu terus menyala dan jika tombol di tekan untuk kedua kalinya baru lampu mati? Mohon bimbingannya. Terimaksih!

    Reply
    Heru Dewanto

    Menyimak dan belajar dulu….

    Reply



Leave a Reply

Your email address will not be published. Required fields are marked *