#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int pirPin = 13;
const int resetPin = 12;
int visitorCount = 0;
bool lastSensorState = LOW;
bool allowSensor = true;
void setup() {
pinMode(pirPin, INPUT);
pinMode(resetPin, INPUT_PULLUP);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("pengunjung: 0");
}
void loop() {
bool sensorState = digitalRead(pirPin);
if (allowSensor && sensorState == HIGH && lastSensorState == LOW) {
visitorCount++;
lcd.setCursor(0, 0);
lcd.print(" "); // Clear line
lcd.setCursor(0, 0);
lcd.print("pengunjung: ");
lcd.print(visitorCount);
delay(500); // debounce delay
}
lastSensorState = sensorState;
// Reset tombol ditekan
if (digitalRead(resetPin) == LOW) {
visitorCount = 0;
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print("pengunjung: 0");
delay(500); // waktu stabilisasi sensor
allowSensor = true;
}
}