///Template ID, Template Name, Auth Token
#define BLYNK_TEMPLATE_ID "TMPL6i5oeP_ee"
#define BLYNK_TEMPLATE_NAME "finalProjectTalenthub"
#define BLYNK_AUTH_TOKEN "jEuz_wer8yYgLRQBVL9qZIFrMGgbCv_8"

#define BLYNK_PRINT Serial

#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>

#include <LiquidCrystal_I2C.h> 
LiquidCrystal_I2C lcd(0x27, 20, 4);

///wifi id & pwd
char ssid[] = "Wokwi-GUEST";
char pass[] = "";

BlynkTimer timer;

int trigPinAlpha = 13;
int echoPinAlpha = 12;
int durasiAlpha;
int jarakAlpha;

void setup()
{
    Serial.begin(115200);
    pinMode(trigPinAlpha, OUTPUT);
    pinMode(echoPinAlpha, INPUT);

    lcd.init();
    lcd.backlight();
    
    Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
}

void loop()
{
    alpha();
    
    Blynk.run();
}

void alpha()
{
    digitalWrite(trigPinAlpha, LOW);
    delay(100);
    digitalWrite(trigPinAlpha, HIGH);
    delay(100);
    digitalWrite(trigPinAlpha, LOW);

    durasiAlpha = pulseIn(echoPinAlpha, HIGH);
    jarakAlpha = durasiAlpha * 0.03408 / 2;
    // Serial.print(jarakAlpha);
    // Serial.println(" cm");
    lcd.setCursor(0,0);
    lcd.print("KETINGGIAN LIMBAH");
    lcd.setCursor(0,1);
    lcd.print(jarakAlpha);
    lcd.setCursor(4,1);
    lcd.print("cm");
    lcd.setCursor(0,2);
    lcd.print("KOSONGKAN TANGKI");
    lcd.setCursor(0,3);
    lcd.print("SEGERA!");
    delay(1000);
    lcd.clear();
    
    Blynk.virtualWrite(V0, jarakAlpha);
    delay(100);
}