#define BLYNK_TEMPLATE_ID "TMPL6ZPGxrnqO"
#define BLYNK_TEMPLATE_NAME "sensor suhu dan kelembapan"
#define BLYNK_AUTH_TOKEN "9bsTIvpexCEN4rHEBgHyZHzJQvqT-bdr"
#include "DHTesp.h" // Diimport Library Sensor DHT
#include <Wire.h> // Tambahkan library Wire untuk komunikasi I2C
#include <LiquidCrystal_I2C.h>
#define DHTPIN 15 // Ubah nilai pin DHT ke 15
#define DHTTYPE DHTesp::DHT22 // Ubah nilai DHTTYPE ke DHTesp::DHT22
LiquidCrystal_I2C lcd(0x27, 16, 2);
int Heater = 33;
int AirConditioning = 25;
const int DHT_PIN = 15;
DHTesp dhtSensor;
void setup() {
pinMode(Heater, OUTPUT);
pinMode(AirConditioning, OUTPUT);
lcd.init();
lcd.backlight();
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
Wire.begin(); // Mulai komunikasi I2C
}
void loop() {
delay(3000);
TempAndHumidity data = dhtSensor.getTempAndHumidity();
lcd.setCursor(0, 0);
lcd.print("Suhu = ");
lcd.print(data.temperature, 1); // Tampilkan satu angka di belakang koma untuk suhu
lcd.print(" C"); // Tambahkan satuan Celsius
lcd.setCursor(0, 1);
lcd.print("Kelembaban = ");
lcd.print(data.humidity, 1); // Tampilkan satu angka di belakang koma untuk kelembaban
lcd.print(" %"); // Tambahkan satuan persen
if (data.temperature < 20) {
digitalWrite(Heater, HIGH);
digitalWrite(AirConditioning, LOW);
} else if (data.temperature > 20 && data.temperature < 26) {
digitalWrite(Heater, LOW);
digitalWrite(AirConditioning, LOW);
} else if (data.temperature > 26) {
digitalWrite(Heater, LOW);
digitalWrite(AirConditioning, HIGH);
}
}