Coding :
int hitung1 = 0;
int hitung2 = 0;
int kondisi1 = 0;
int kondisi2 = 0;
int status1;
int status2;
void setup(){
pinMode(pinSensor1, INPUT);
pinMode(pinSensor2, INPUT);
pinMode(pinReset, INPUT);
digitalWrite(pinReset, HIGH);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("VISITOR COUNTER");
lcd.setCursor(5, 1);
lcd.print("MALL");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LOADING...");
delay(2000);
}
void loop()
{
hitung1 = constrain(hitung1, 0, 10000); // Atur jumlah maksimal
hitung2 = constrain(hitung2, 0, 10000);
status1 = digitalRead(pinSensor1);
status2 = digitalRead(pinSensor2);
if (status1 == LOW)
{
hitung1 = hitung1;
kondisi1 = 0;
}
if (status2 == LOW)
{
hitung2 = hitung2;
kondisi2 = 0;
}
else if (status1 == HIGH && kondisi1 == 0)
{
hitung1 += 1;
kondisi1 = 1;
}
else if (status2 == HIGH && kondisi2 == 0)
{
hitung2 += 1;
kondisi2 = 1;
}
else if (status1 == LOW && kondisi1 == 1)
{
hitung1 = hitung1;
kondisi1 = 1;
}
else if (status2 == LOW && kondisi2 == 1)
{
hitung2 = hitung2;
kondisi2 = 1;
}
if (digitalRead(pinReset) == LOW)
{
hitung1 = 0;
hitung2 = 0;
}
else
{
hitung1 = hitung1;
hitung2 = hitung2;
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Masuk :");
lcd.print(hitung1);
lcd.setCursor(0, 1);
lcd.print("Keluar :");
lcd.print(hitung2);
delay(500);
}