#define BLYNK_TEMPLATE_ID "TMPL6NypHt4sx"
#define BLYNK_TEMPLATE_NAME "SWARFS"
#define BLYNK_AUTH_TOKEN "wBwjZxhFv0iC9TaXcermyXAWB2jC1au3"
#define BLYNK_PRINT Serial
//***** button *****//
const int buttonPin = 18;
const int ledPin = 5;
int buttonState = 0;
//***** sensor *****//
const int triggerPin = 27;
const int echoPin = 26;
long duration;
float TinggiSensor;
float ElevasiDasar;
float Jarak;
float TinggiAir;
float Elevasi;
#include <WiFi.h>
#include <WiFiUdp.h>
#include <NTPClient.h>
#include <HttpClient.h>
#include <BlynkSimpleEsp32.h>
//***** wifi diisi sesuai koneksi yang terhubung perangkat*****//
char ssid[] = "Wokwi-GUEST";
char password[] = "";
char auth[] = BLYNK_AUTH_TOKEN;
BlynkTimer timer;
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 25200;
const int daylightOffset_sec = 0;
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, ntpServer, gmtOffset_sec, daylightOffset_sec);
void setup()
{
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(115200);
Serial.begin(9600);
pinMode(triggerPin, OUTPUT);
pinMode(echoPin, INPUT);
Blynk.begin(auth, ssid, password, "blynk.cloud", 80);
Serial.begin(115200);
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println("Connected to WiFi");
}
void loop()
{
buttonState = digitalRead(buttonPin);
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
//***** diisi dan disesuaikan pada saaat penukuran, dalam satuan "cm" *****//
TinggiSensor = 400;
ElevasiDasar = 5000;
duration = pulseIn(echoPin, HIGH);
Jarak = duration * 0.034 / 2;
TinggiAir = (TinggiSensor - Jarak);
Elevasi = (ElevasiDasar + TinggiAir);
if(buttonState == HIGH)
{
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
Serial.println();
timeClient.update();
Serial.print("Time (GMT) : ");
Serial.println(timeClient.getFormattedTime());
Serial.print("Jarak : ");
Serial.printf("%.1f cm\n", Jarak);
Serial.print("Tinggi Air : ");
Serial.printf("%.1f cm\n", TinggiAir);
Serial.print("Elevasi : ");
Serial.printf("%.3f m\n", Elevasi / 100);
Blynk.run();
timer.run();
Blynk.virtualWrite(V0, Jarak);
Blynk.virtualWrite(V1, TinggiAir);
Blynk.virtualWrite(V2, Elevasi / 100);
Serial.println();
delay(55700);
}
}