Langsung ke konten utama

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;

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 ;)

Komentar

  1. Makasih banget gan tutornya

    BalasHapus
  2. Untuk menulis program int didalam void setup/void loop ? Terimakasih

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

      Hapus
  3. 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?

    BalasHapus
    Balasan
    1. 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...

      Hapus
  4. Push button knp pake resistor 10k ohm

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

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

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

    BalasHapus
    Balasan
    1. Gak ko gan, menurut pengalaman saya justru R10k ini membuat buttonnya stabil tanpa adanya bounce,,, silahkan dicoba aja gan...

      Hapus
    2. kalo shorting berati ada masalah sama rangkaian agannya, coba periksa kembali dan sesuaikan dengan tutorial diatas ;)

      Hapus
    3. Saya mulai mengerti, jadi ini yang di sebut pulup/puldown. mengisi nilai yg kosong. :D

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

    BalasHapus
    Balasan
    1. 1 button dengan 2 fungsi ya! harus pake program count, biar jelas nanti saya posting saja tutorialnya :)

      Hapus
    2. silahkan buka postingan http://www.kelasrobot.com/2017/07/menghidupkan-dan-mematikan-led-dengan-satu-tombol.html

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

    BalasHapus
    Balasan
    1. untuk refrensi coba buka aja:

      www.kelasrobot.com/2017/07/menghidupkan-dan-mematikan-led-dengan-satu-tombol.html

      Hapus
  9. 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?

    BalasHapus
    Balasan
    1. untuk refrensi coba buka aja:

      www.kelasrobot.com/2017/07/menghidupkan-dan-mematikan-led-dengan-satu-tombol.html

      Hapus
  10. 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 ?

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

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

    BalasHapus
    Balasan
    1. untuk refrensi coba buka aja:

      www.kelasrobot.com/2017/07/menghidupkan-dan-mematikan-led-dengan-satu-tombol.html

      Hapus
  12. Komentar ini telah dihapus oleh pengarang.

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

    BalasHapus
    Balasan
    1. tinggal pake program PWM analogRead(pinled, nilaiketerangan);

      contoh analogRead(3, 50);

      nilainya 0-225

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

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

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

    BalasHapus
    Balasan
    1. untuk refrensi coba buka aja:

      www.kelasrobot.com/2017/07/menghidupkan-dan-mematikan-led-dengan-satu-tombol.html

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

    BalasHapus
    Balasan
    1. maksudnya dengan menekan tombol, angka pada LCD bertambah?

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

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

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Belajar Pemrograman Dasar Arduino!

Yang yang baru pertama kali belajar arduino silahkan masuk dulu ke KELAS ARDUINO . Seperti yang saya bilang pada postingan sebelumnya, bahasa pemrograman Arduino mirip bahasa C yang digunakan pada AVR. Akan tetapi lebih sederhana, dan lebih mudah untuk dipelajari. Ada yang bilang juga bahwa bahasa pemrograman Arduino adalah bahasa processing. Bagi saya bahasa pemrograman yang digunakan pada Arduino adalah bahasa pemrograman Arduino ;) hehe Nah pada kelas ini saya ingin mengajak kamu untuk belajar Bahasa Pemrograman Dasarnya. Penting sekali, supaya saat dipembahasan selanjutnya saya kasih kamu contoh program. Kamu sudah bisa memahami dan tidak bingung, karena kamu sudah tahu dasarnya. Ok! Baiklah kita akan mulai dari: void setup () { // semua kode yang disini akan dibaca sekali oleh Arduino } void loop () { //semua kode yang ada disini akan dibaca berulang kali (terus menerus) oleh Arduino } Semua kode program yang ada dalam void setup akan dibaca sekali oleh A

Cara Mudah Program Sensor Suhu Dan Kelembaban DHT11 Dengan Arduino

Sebelumnya kita pernah mencoba Sensor Suhu LM35 , dengan berbagai macam percobaan kreatifnya. Masih dengan tema yang sama, kita akan mencoba Sensor Suhu dan Kelembaban DHT11 . Ya satu sensor ini, bisa baca suhu ( temperature ) dan juga kelembaban ( humidity ). Sensor Suhu dan Kelembaban DHT11 Jika kamu menggunakan Modul, kamu bisa langsung memasang ke Arduinonya. Tapi jika ingin mencoba pada breadboard, maka siapkanlah: 1x Breadboard 1x Arduino 1x DHT11 Sensor 1x Resistor 10 Kilo Ohm 5x kabel Jumper male-male Lalu buatlah rangkaian seperti gambar dibawah ini: NOTES: Hubungkan kaki ke-1 DHT11 ke 5V Arduino Hubungkan kaki ke-2 DHT11 ke pin 2 Arduino dengan menggunakan Resisitor 10 Kilo Ohm , hubungkan kaki ke-2 DHT11 ke 5V Arduino . Hubungkan kaki ke-4 DHT11 ke GND Arduino Untuk kaki Ke-3 DHT11 kita abaikan saja :D Dengan rangkaian yang seperti diatas saya buat DHT11 saya menjadi DIY Modul. Yang mana has

Membuat Jam Digital Dengan Arduino Uno, RTC DS1302, dan LCD i2C!

Kita akan membuat Jam Digital menggunakan Arduino Uno sebagai Controllernya, RTC DS1302 sebagai data untuk waktu dan tanggalnya, dan LCD i2C untuk menampilkan data waktu dan tanggalnya. Ini merupakan gabungan dari postingan sebelumnya, jadi yang belum coba saya sarankan coba dulu kedua posting berikut: Cara Simpel Program LCD i2C 16x2 Menggunakan Arduino Cara Mudah Program RTC Module DS1302 Jam Digital Dengan Arduino Ok! Yang harus kamu siapkan adalah... 1x Arduino Uno 1x RTC DS1302 1x LCD i2C 9x Kabel Jumper Male-Female Pasanglah seperti pada gambar rangkaian dibawah ini: Sebelum masuk ke-pemrograman ada 2 library yang harus kamu masukan ke Arduino. Library lCD i2C dan Library untuk RTCnya, silahkan Download dulu lewat Link di bawah ini: DOWNLOAD LIBRARY LiquidQrystal_i2c (DROPBOX) DOWNLOAD LIBRARY virtuabotixRTC (DROPBOX) Bagi yang masih bingung cara masukin Library ke aplikasi arduinonya,