// Contoh Tombol Dua (aktif rendah)
//
// Tombol tidak ditekan: sinyal HIGH
// Tombol ditekan : sinyal LOW
//
// Resistor menjaga pin 4 tetap tinggi saat tombol
// tidak ditekan.
// Resistor ini adalah resistor pullup.
//
// Contoh Tombol Satu: https://wokwi.com/projects/431439037808371713
// Contoh Tombol Dua: https://wokwi.com/projects/431438999300457473
//
// Resistor eksternal opsional, karena
// resistor pullup internal juga diaktifkan.
//
// 16 Mei 2024, oleh Koepel, Domain Publik.
const int pinTombol = 4;
int nilaiLama = HIGH; // nilai default/idle untuk pin 4 adalah tinggi.
void setup()
{
Serial.begin(115200);
Serial.println("Tekan tombol.");
// Inisialisasi pin untuk membaca tombol.
pinMode(pinTombol, INPUT_PULLUP);
}
void loop()
{
// Baca nilai dari pin 4.
int nilaiBaru = digitalRead(pinTombol);
// Periksa apakah nilai berubah,
// dengan membandingkannya dengan nilai sebelumnya.
if(nilaiBaru != nilaiLama)
{
if(nilaiBaru == LOW)
{
Serial.println("Tombol ditekan.");
}
else
{
Serial.println("Tombol dilepas.");
}
// Ingat nilai untuk waktu berikutnya.
nilaiLama = nilaiBaru;
}
// Perlambat program.
// Juga untuk debouncing tombol.
delay(100);
}