//Identitas yang diberikan dari BLYNK Cloud:
#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL6jkG5GfUq"
#define BLYNK_TEMPLATE_NAME "LEDdanDHT22"
#define BLYNK_AUTH_TOKEN "sm2185O9KZMgcrpgdrjGlQx9ltCoZws5"
//Membaca library arduino
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <BlynkSimpleEsp32.h>
//Mendefinisikan Pin Sensor Ultrasonic
#define PIN_TRIG 13
#define PIN_ECHO 12
/* Menggunakan Blynk Cloud */
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
//BlynkTimer timer;
//Mendefinisikan Pin LED
#define LED1 14
//Mendefinisikan Pin DHT22
#define PIN_DHT 26
#define DHTTYPE DHT22
//Menghubungkan Pin DHT22
//DHT dht(PIN_DHT, DHTTYPE);
DHTesp dhtSensor;
//Menghubungkan IC I2C LCD (20 kolom x 4 baris)
LiquidCrystal_I2C lcd(0x27,20,4);
void sendSensor()
{
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
Serial.println("---");
Blynk.virtualWrite(V0, data.temperature);
Blynk.virtualWrite(V2, data.humidity);//mengirimkan data ke Virtual pin di Blynk Cloud
}
//koneksi ke Blynk clound
Blynk.begin(auth, ssid, pass);
//Inisialisasi Program :
void setup() {
// Inisialisasi DHT22
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
Serial.begin(9600);
//pinMode(PIN_TRIG, OUTPUT);
//pinMode(PIN_ECHO, INPUT);
//pinMode(LED1, OUTPUT);
//dht.begin();
// Inisialisasi LCD
lcd.init();
lcd.backlight();
}
void loop()
{
//Mengatur Ultrasonic:
digitalWrite(PIN_TRIG, HIGH);
delay(10); // this speeds up the simulation
digitalWrite(PIN_TRIG, LOW);
// delay(10);
//Membaca Format Sensor Ultrasonic:
int Jarak = pulseIn(PIN_ECHO, HIGH);
int tandon = Jarak / 58;
Serial.print("Jarak dalam Cm: ");
Serial.print(tandon);
Serial.println(" Cm");
Serial.print("Jarak dalam inches: ");
Serial.print(Jarak / 148);
Serial.println(" Inchi");
Serial.println("-----------------");
//Membaca DHT Sensor
float temperatur = dht.readTemperature();
float humidity = dht.readHumidity();
Serial.print(F("Kelembaban: "));
Serial.print(humidity);
Serial.print(F("% Temperature: "));
Serial.print(temperatur);
Serial.println(F("°C "));
Serial.println("---------------------");
//Mengatur LED :
if (Jarak/58 > 200)
{
digitalWrite(LED1, HIGH);
}
else if (temperatur > 10)
{
digitalWrite(LED1, HIGH);
}
else
{
digitalWrite(LED1, LOW);
}
//Menampilkan LCD 16x4 Display
lcd.setCursor (0, 0);
lcd.print("IOT PADA KOLAM LELE");
lcd.setCursor (0, 1);
lcd.print("Tinggi air: ");
lcd.print(tandon);
lcd.print(" Cm");
lcd.setCursor(0, 2);
lcd.print ("Temperatur: ");
lcd.print(temperatur);
lcd.print(" C");
lcd.setCursor(0, 3);
lcd.print("Kelembaban: ");
lcd.print(humidity);
lcd.print(" %");
delay(200);
//Menjalankan Bylnk
//Blynk.run();
//timer.run ();
}