Button Multifungsi

Penjelasan Proyek

Pada proyek ini, kita akan membuat tombol multifungsi dengan satu button.

Daftar Komponen

Komponen yang diperlukan yaitu sebagai berikut:

  • Board ESP32

  • Breadboard

  • Push button

Rangkaian

Rangkaian yang dibuat yaitu sebagai berikut. Button dirangkai dengan konfigurasi rangkaian active-low dengan internal pull-up resistor pada pin GPIO 23.

Library

Untuk membuat proyek ini diperlukan library berikut ini:

Kode Program

Kode program yang dibuat yaitu sebagai berikut. Program akan melakukan instansiasi kelas OneButton menjadi objek button. Setelah itu, pada bagian fungsi setup(), button akan dihubungkan dengan beberapa fungsi:

  • Fungsi buttonClick() akan dipanggil ketika button ditekan satu kali

  • Fungsi buttonDoubleClick() akan dipanggil ketika button ditekan dua kali.

  • Fungsi buttonMultiClick() akan dipanggil ketika button ditekan lebih dari dua kali.

  • Fungi buttonLongPressStop() akan dipanggil ketika button selesai ditekan dengan durasi yang lebih lama.

button_events_serial.ino
#include "OneButton.h"

// Button on pin 23, active-low
OneButton button(23, true);

void setup()
{
  Serial.begin(9600);
  button.attachClick(buttonClick);
  button.attachDoubleClick(buttonDoubleClick);
  button.attachMultiClick(buttonMultiClick);
  button.attachLongPressStop(buttonLongPress);
}

void loop()
{
  button.tick();
  delay(10);
}

void buttonClick()
{
  Serial.println("Button click.");
}

void buttonDoubleClick()
{
  Serial.println("Button double click.");
}

void buttonMultiClick()
{
  Serial.println("Button multi click.");
}

void buttonLongPress()
{
  Serial.println("Button long press.");
}

Hasil

Hasil dari proyek ini yaitu pada gambar berikut ini.

Last updated