Anda di halaman 1dari 3

Skematik :

Coding :

#include <Wire.h> // Library komunikasi I2C


#include <LiquidCrystal_I2C.h> // Library modul I2C LCD

LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2);


const int pinSensor1 = 10; // Pin sensor IR
const int pinSensor2 = 11;
const int pinReset = 12;

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);
}

Anda mungkin juga menyukai