#define ECHO_PIN 4
#define TRIG_PIN 5
#define ledMerah 35
#define ledKuning 34
#define ledHijau 33
//
#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID   "TMPLomKeaK8-"
#define LED 2
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
//const int DHT_PIN = 15;
//DHTesp dhtSensor;
char auth[] = "nwtiT8yyAHFNeY9sM5M49n4wWRep4WY9";
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
void sendSensor()
{
 //JARAK  data = dhtSensor.getTempAndHumidity();
 double distance = readDistanceCM();
 Serial.println("Jarak: " + String(data.temperature, 1) + "°C");
.//. Serial.println("Humidity: " + String(data.humidity, 1) + "%");
 Serial.println("---");
 Blynk.virtualWrite(V1, data.temperature); //mengirimkan data ke Virtual pin di Blynk Cloud
// Blynk.virtualWrite(V2, data.humidity); 
 
}
void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(TRIG_PIN, OUTPUT); 
pinMode(ECHO_PIN, INPUT); 
pinMode(ledMerah, OUTPUT); 
pinMode(ledKuning, OUTPUT); 
pinMode(ledHijau, OUTPUT); 
}
double readDistanceCM(){
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
    double duration = pulseIn(ECHO_PIN, HIGH);
    return duration * 0.034 /2;
}
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  pinMode(LED, OUTPUT);
  dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
  timer.setInterval(2000L, sendSensor);
}
void loop() {
   double distance = readDistanceCM();
 
   double rendah = distance > 0 && distance < 50 ;
   {digitalWrite(6,rendah);
   delay(100);}
   double sedang = distance > 50 && distance < 100 ;
   {digitalWrite(7,sedang);
    delay(100);}
   
  // double tinggi = distance  > 100 && distance > 395;
   double tinggi = distance  > 100 ;
  {digitalWrite(8,tinggi);
   delay(100); 
  Serial.print("Measured distance: ");
  Serial.println(readDistanceCM());
   delay(100); 
}
{
  Blynk.run();
  timer.run();
  
}
}