#include <TM1637TinyDisplay.h>
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
int ijo= 13;
int merah= 12;
int counter=0;
int masuk=0;
int keluar=0;
int ledmerah=4;
int ledijo=2;
int buzz=5;
int CLK=27;
int DIO=14;
TM1637TinyDisplay display(CLK, DIO);
//Blynk
#define BLYNK_TEMPLATE_ID "TMPL6AkHpoxIq"
#define BLYNK_TEMPLATE_NAME "AnDwi Monitoring"
#define BLYNK_AUTH_TOKEN "3402-wnFpMhU4PgA9DSkyFQgIQ5VL3Yz"
#define BLYNK_PRINT Serial
char auth[] = BLYNK_AUTH_TOKEN; //Auth Token
char ssid[] = "Wokwi-GUEST"; //nama hotspot yang digunakan
char pass[] = "";
BlynkTimer timer;
void setup(){
display.begin();
display.showString("2015344031");
delay(500);
Serial.begin(115200);
pinMode(ijo, INPUT_PULLUP);
pinMode(merah, INPUT_PULLUP);
pinMode(ledmerah, OUTPUT);
pinMode(ledijo, OUTPUT);
pinMode(buzz, OUTPUT);
Blynk.begin(auth, ssid, pass);
}
void Cuak() {
Serial.println("Jumlah orang masuk : " + String(masuk));
Serial.println("Jumlah orang keluar : " + String(keluar));
Serial.println("Jumlah orang didalam : " + String(counter));
Serial.println("==========================");
tone(buzz,1000,100);
Blynk.virtualWrite(V1, masuk);
Blynk.virtualWrite(V3, keluar);
Blynk.virtualWrite(V5, counter);
}
void led() {
if(counter>= 0 && counter <10){
digitalWrite(ledmerah, LOW);
digitalWrite(ledijo, HIGH);
Blynk.virtualWrite(V9, HIGH);
Blynk.virtualWrite(V7, LOW);
}
else{
digitalWrite(ledijo, LOW);
digitalWrite(ledmerah, HIGH);
Blynk.virtualWrite(V9, LOW);
Blynk.virtualWrite(V7, HIGH);
}
}
void loop() {
if (digitalRead(ijo) == LOW && counter <10){
counter++;
masuk++;
Cuak();
}
if (digitalRead(merah) == LOW && counter >0) {
counter--;
keluar++;
Cuak();
}
led();
display.showNumber(counter);
delay(200);
Blynk.run(); //menjalankan blynk
timer.run(); //menjalankan timer
}