const int PushButtonPin = 3; // pin 3 sebagai input
const int ledPin = 4; // pin 4 sebagai output
int LEDStatus = HIGH; // integer variabel bertype "LEDStatus" dengan kondisi awal aktif atau HIGH
int PushButtonStatus; // integer variabel bertype "PushButtonStatus"
int lastPushButtonStatus = LOW; // integer variabel bertype "lastPushButtonStatus" dengan kondisi awal nonaktif atau LOW
long LastTime = 0; // integer type data "LastTime" dengan value 0
long WaktuDelay = 50; // integer type data "WaktuDelay" dengan value 50
void setup()
{
pinMode(PushButtonPin, INPUT); // pin 3 sebagai input
pinMode(ledPin, OUTPUT); // pin 4 sebagai output
Serial.begin(9600);
}
void loop()
{
// membaca keadaan PushButtonPin:
int reading = digitalRead(PushButtonPin);
// membaca keadaan terakhir pada output
if (reading != lastPushButtonStatus)
{
LastTime = millis();
if (PushButtonStatus == HIGH)
{
LEDStatus = !LEDStatus;
Serial.println(LEDStatus);
}
}
if ((millis() - LastTime) > WaktuDelay)
{
PushButtonStatus = reading;
}
digitalWrite(ledPin, LEDStatus);
lastPushButtonStatus = reading;
}