#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#define BLYNK_TEMPLATE_ID "TMPL6zmK6t3qI"
#define BLYNK_TEMPLATE_NAME "PROJEK GEDEN"
#define BLYNK_AUTH_TOKEN "SNg6mGdNbKacGu4L_RsOsaKgJE8Fh-Sv"
#define ONE_WIRE_BUS 4 // pin data sensor suhu
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float tempC; // variabel untuk menyimpan suhu dalam celcius
char auth[] = BLYNK_AUTH_TOKEN ; // token otentikasi Blynk
char ssid[] = "Wokwi-GUEST"; // nama jaringan WiFi
char pass[] = ""; // kata sandi WiFi
LiquidCrystal_I2C lcd(0x27, 16, 2); // inisialisasi LCD I2C
void setup() {
Serial.begin(115200); // inisialisasi serial monitor
sensors.begin(); // inisialisasi sensor suhu
lcd.init(); // inisialisasi LCD I2C
lcd.backlight(); // aktifkan backlight pada LCD I2C
// koneksi ke jaringan WiFi
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
// koneksi ke server Blynk
Blynk.begin(auth, ssid, pass);
}
void loop() {
sensors.setResolution(9);
sensors.requestTemperatures(); // baca suhu dari sensor
float tempC = sensors.getTempCByIndex(0); // ambil suhu dalam celcius
Serial.print(tempC);
Serial.println("ºC");
lcd.setCursor(0, 0); // atur posisi kursor LCD
lcd.print("Temperature:"); // tampilkan label suhu
lcd.setCursor(0, 1); // atur posisi kursor LCD
lcd.print(tempC); // tampilkan suhu dalam celcius
Blynk.virtualWrite(V5, tempC); // kirim data suhu ke aplikasi Blynk
delay(1000); // tunggu 1 detik sebelum membaca suhu lagi
}