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