Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Selasa, 19 Mei 2026

Arduino Button Toggle LED - Cara Menyalakan dan Mematikan LED dengan Satu Tombol

Dalam project Arduino, salah satu teknik dasar yang sering digunakan adalah membuat LED berubah status menggunakan push button. Berbeda dengan LED biasa yang hanya menyala saat tombol ditekan, pada sistem toggle LED akan tetap menyala atau mati meskipun tombol sudah dilepas. Setiap kali tombol ditekan satu kali, kondisi LED akan berubah dari OFF menjadi ON, atau sebaliknya. Konsep ini banyak digunakan pada berbagai perangkat elektronik modern seperti smart switch, lampu digital, robot, dan sistem otomatisasi rumah berbasis Internet of Things (IoT).

 

Pada tutorial ini kita juga akan mempelajari tentang debouncing tombol. Debouncing sangat penting karena push button memiliki efek pantulan mekanis yang dapat menyebabkan Arduino membaca satu kali tekanan sebagai beberapa kali input. Akibatnya, LED bisa berubah status secara tidak stabil atau berkedip tidak sesuai perintah. Untuk mengatasi masalah tersebut, kita akan mencoba membuat sistem toggle LED yang lebih stabil menggunakan library ezButton.

 

Melalui tutorial ini, kita akan belajar cara membaca perubahan status tombol, menggunakan variabel state pada LED, serta membuat sistem toggle LED baik dengan metode biasa maupun menggunakan debouncing. Dengan memahami konsep ini, Anda dapat mengembangkan berbagai project Arduino yang lebih interaktif, stabil, dan mudah dikontrol menggunakan push button.

 

Baca juga: Arduino Button LED - Cara Mengontrol LED dengan Push Button pada Arduino Uno 

Perangkat Keras yang Dibutuhkan

- Arduino UNO R3

- Kabel USB

- Breadboard

- Kabel jumper

- Push button atau tombol tekan

- LED 5mm

- Resistor 220 Ohm

- Modul push button atau modul LED (Opsional)

Semua komponen tersebut sangat umum digunakan dalam project dasar Arduino sehingga cocok untuk pemula.

Cara Kerja Toggle LED

Pada sistem toggle, tombol tidak secara langsung mengontrol LED seperti sakelar biasa. Tombol hanya digunakan sebagai pemicu untuk mengubah kondisi LED. Arduino akan membaca perubahan status tombol dari HIGH ke LOW. Saat perubahan tersebut terdeteksi, Arduino akan membalik kondisi LED. Jika sebelumnya LED mati maka LED akan dinyalakan, sedangkan jika sebelumnya menyala maka LED akan dimatikan. Karena tutorial ini menggunakan mode INPUT_PULLUP, maka kondisi tombol akan terbaca HIGH saat tidak ditekan dan LOW saat ditekan.

Mengapa Debouncing Penting?

Push button memiliki fenomena yang disebut bouncing atau pantulan mekanis. Saat tombol ditekan, kontak logam di dalam tombol tidak langsung stabil sehingga sinyal listrik dapat berubah-ubah dalam waktu sangat singkat. Arduino yang bekerja sangat cepat bisa membaca perubahan ini sebagai beberapa kali penekanan tombol. Akibatnya, satu kali tekan tombol dapat membuat LED berubah status berkali-kali. Untuk mengatasi masalah tersebut, diperlukan teknik debounce agar Arduino hanya membaca satu penekanan sebagai satu aksi saja.

Wiring Diagram

Pada rangkaian ini, salah satu kaki push button dihubungkan ke GND sedangkan kaki lainnya dihubungkan ke pin 7 Arduino. LED dihubungkan ke pin 3 Arduino melalui resistor 220 Ohm, lalu kaki negatif LED dihubungkan ke GND.

 


Arduino Toggle LED Tanpa Debouncing

Berikut contoh program sederhana untuk membuat LED toggle menggunakan tombol tanpa debounce.

 

const int BUTTON_PIN = 7;

const int LED_PIN    = 3;


int ledState = LOW;


int lastButtonState;

int currentButtonState;


void setup() {

  Serial.begin(9600);


  pinMode(BUTTON_PIN, INPUT_PULLUP);

  pinMode(LED_PIN, OUTPUT);


  currentButtonState = digitalRead(BUTTON_PIN);

}


void loop() {

  lastButtonState = currentButtonState;


  currentButtonState = digitalRead(BUTTON_PIN);


  if(lastButtonState == HIGH && currentButtonState == LOW) {


    Serial.println("Tombol ditekan");


    // toggle LED

    ledState = !ledState;


    digitalWrite(LED_PIN, ledState);

  }

}

 

Penjelasan Program

Pada bagian awal program, kita menentukan pin yang digunakan untuk tombol dan LED. Variabel ledState digunakan untuk menyimpan kondisi LED saat ini, apakah menyala atau mati. Arduino kemudian membaca status tombol menggunakan fungsi digitalRead(). Ketika Arduino mendeteksi perubahan dari HIGH ke LOW, artinya tombol baru saja ditekan. Pada saat itu, program akan membalik nilai ledState menggunakan operator !. Kode ledState = !ledState; akan membuat LED berubah status. Jika sebelumnya LOW maka berubah menjadi HIGH, dan jika sebelumnya HIGH maka berubah menjadi LOW.

Kelemahan Program Tanpa Debounce

Meskipun program di atas cukup sederhana dan mudah dipahami, dalam praktiknya terkadang LED bisa berubah status lebih dari satu kali dalam satu penekanan tombol. Hal ini terjadi karena efek bouncing pada push button. Oleh karena itu, untuk project yang lebih stabil dan profesional, sebaiknya kita menggunakan teknik debouncing.

Arduino Toggle LED dengan Debouncing

Untuk mempermudah proses debounce, kita dapat menggunakan library ezButton. Library ini membantu Arduino membaca tombol dengan lebih stabil tanpa perlu membuat kode debounce manual yang cukup rumit untuk pemula. Sebelum menggunakan program berikut, install terlebih dahulu library ezButton melalui Arduino IDE dengan membuka menu Library Manager lalu mencari “ezButton”.

Kode Program Toggle LED dengan Debouncing

 

#include <ezButton.h>


const int BUTTON_PIN = 7;

const int LED_PIN    = 3;


ezButton button(BUTTON_PIN);


int ledState = LOW;


void setup() {

  Serial.begin(9600);


  pinMode(LED_PIN, OUTPUT);


  button.setDebounceTime(50);

}


void loop() {

  button.loop();


  if(button.isPressed()) {


    Serial.println("Tombol ditekan");


    // toggle LED

    ledState = !ledState;


    digitalWrite(LED_PIN, ledState);

  }

}

 

Keuntungan Menggunakan ezButton

Dengan menggunakan library ezButton, pembacaan tombol menjadi jauh lebih stabil. Kita tidak perlu lagi membuat logika debounce secara manual sehingga kode menjadi lebih singkat dan mudah dipahami. Library ini sangat cocok digunakan oleh pemula maupun untuk project Arduino yang lebih kompleks.

Langkah Pengujian

- Hubungkan Arduino ke komputer menggunakan kabel USB

- Buka Arduino IDE 

- Pilih board Arduino Uno beserta port COM yang sesuai

- Salin kode program ke Arduino IDE lalu klik tombol Upload.

Setelah proses upload selesai, tekan tombol beberapa kali dan perhatikan LED. LED akan menyala dan mati secara bergantian setiap kali tombol ditekan satu kali.

 

Baca juga: Arduino Button Toggle Relay dengan dan tanpa Debouncing 

 

 

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.  

0 on: "Arduino Button Toggle LED - Cara Menyalakan dan Mematikan LED dengan Satu Tombol"