//sesuaikan dengan template, device dan tokon di wokwi anda
#define BLYNK_TEMPLATE_ID "TMPL6GwNNRZR-"
#define BLYNK_TEMPLATE_NAME "Quickstart Template"
#define BLYNK_AUTH_TOKEN "bWmfb1yLaUaHBAiTuwlxtRM_g_MJ-Rvd"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
char auth[] = BLYNK_AUTH_TOKEN;
//Your Wifi credentials.
// Set password to "" for open networks.
char ssid[] = "Wokwi-GUEST"; // nama hotspot digunakan
char pass[] = ""; //password hotspot digunakan
const int pinPot = 34;
const int pinLED = 12;
int sensor = 0;
int levelsensor=0;
float vin;
int brightness = 0;
BlynkTimer timer;
void setup() {
pinMode(pinPot, INPUT);
pinMode(pinLED, OUTPUT);
Serial.begin(115200);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("2204016");
Serial.println("Hello, ESP32!");
Blynk.begin(auth, ssid, pass);
timer.setInterval(2500L, sendSensor);
}
void loop() {
Blynk.run();
timer.run();
}
void sendSensor() {
sensor = analogRead(pinPot);
vin=((float)(3.3*sensor))/3975;
brightness = map(sensor, 3078, 3975, 0, 255);
levelsensor=map(brightness, 0, 255, 0, 100);
Blynk.virtualWrite(V0, sensor);
Blynk.virtualWrite(V1, vin);
Blynk.virtualWrite(V2, levelsensor);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Nilai Sensor : ");
lcd.setCursor(0, 1);
lcd.print(sensor,1);
lcd.setCursor(6, 1);
lcd.print(vin,1);
lcd.setCursor(9, 1);
lcd.print("V");
lcd.setCursor(12, 1);
if (levelsensor>=0 and levelsensor<=100){
lcd.print(levelsensor,1);
lcd.setCursor(15, 1);
lcd.print("%");
}
analogWrite(pinLED, brightness);
if (vin<3) {
Serial.println("Empty");
}else{
Serial.print(levelsensor);
Serial.println("%");
}
Serial.print("Nilai Sensor : ");
Serial.println(sensor);
delay(1000); // this speeds up the simulation
}