#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h> // JIKA BELOM ADA LIBRARRY I2C DOWNLOAD AJA DI GOOGLE LIBRARRY I2C
#define a_kanan 11 //echo pin 11
#define b_kanan 10 //Trigger pin 10
#define a_kiri 9 //echo pin 9
#define b_kiri 8 //Trigger pin 8
//const int rs = 7, en = 6, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
//LiquidCrystal lcd(7,6, 5, 4, 3, 2);
LiquidCrystal_I2C lcd(0x27,16,2); //menggunakan lce+i2c KALAU TIDAK BISA 0X27 GANTI AJA 0X3F
const int buzzer = 12; //PIN 12
long data_a=0,data_b=0;
int jumlah1=0, jumlah2=0;
int hasil = 0;
void ultra_read(int pin_t,int pin_e,long &ultra_time){
long time;
pinMode(pin_t,OUTPUT);
pinMode(pin_e,INPUT);
digitalWrite(pin_t,LOW);
delayMicroseconds(2);
digitalWrite(pin_t,HIGH);
delayMicroseconds(10);
time=pulseIn (pin_e,HIGH);
ultra_time = time / 29 / 2;
}
void setup(){
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(buzzer, OUTPUT);
//Jika menggunakan lce + i2c aktifkan perintah dibawah ini
lcd.init();
lcd.backlight();
digitalWrite(buzzer, HIGH);
delay(500);
digitalWrite(buzzer, LOW);
lcd.setCursor(1, 0);
lcd.print("SISTEM PINTAR");
lcd.setCursor(3, 1);
lcd.print("COVID-19");
delay(300);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("JUMLAH: ");
lcd.setCursor(11, 0);
lcd.print("ORANG");
lcd.setCursor(1,1);
lcd.print(" Kondisi Aman ");
digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
delay(100);
digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
}
void loop(){
ultra_read(b_kanan,a_kanan,data_a);delay(50);
ultra_read(b_kiri,a_kiri,data_b);delay(50);
Serial.print("MASUK:");Serial.println(data_a);
Serial.print("KELUAR:");Serial.println(data_b);
if(data_a<8)
{ hasil = hasil-1 ;}
if(data_b<8)
{ hasil = hasil+1 ;}
lcd.setCursor(8, 0);
lcd.print(hasil);
lcd.print(" ");
if(hasil>3){ // jika hasil lebih dari 16 orang maka ruangan penuh
lcd.setCursor(0,0);
lcd.print("TOTAL=> ");
lcd.setCursor(8, 0);
lcd.print(hasil);
lcd.print(" ");
lcd.setCursor(10,0);
lcd.print(" ORANG");
lcd.setCursor(1,1);
lcd.print("RUANGAN PENUH");
digitalWrite(buzzer,HIGH);
delay(200);
digitalWrite(buzzer,LOW);
}
else{
lcd.setCursor(0, 0);
lcd.print("JUMLAH: ");
lcd.setCursor(11, 0);
lcd.print("ORANG");
lcd.setCursor(1,1);
lcd.print(" Kondisi Aman ");
digitalWrite(buzzer,LOW);
}
}