//**********BLYNK, identitas device*****************************
#define BLYNK_TEMPLATE_ID "TMPL6N9sCCuem"
#define BLYNK_TEMPLATE_NAME "DHT11 OLED"
#define BLYNK_AUTH_TOKEN "1KuTaP7WV0wmB7bwTiad6wJrZLDjzwp1"
//**********BLYNK, library**************************************
#include <BlynkSimpleEsp32.h>
BlynkTimer timer;
//*********DHT22, library****************************************
#include "DHTesp.h"
//*********OLED**************************************************
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
//**********BLYNK, ssid, pass, token****************************
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
//*********DHT22, deklarasi pin**********************************
const int DHT_PIN = 12;
DHTesp dhtSensor;
float suhu;
float kelembapan;
//*********OLED**************************************************
#define lebarOLED 128
#define tinggiOLED 64
Adafruit_SSD1306 OLED(lebarOLED, tinggiOLED, &Wire, -1);
//*****BLYNK, kirim nilai sensor*****************************
void sendSensor()
{
//*********DHT22, membaca suhu dan kelembaban******************
TempAndHumidity data = dhtSensor.getTempAndHumidity();
suhu=data.temperature;
kelembapan=data.humidity;
//*****SERIAL MONITOR, menampilkan data suhu dan kelembaban****
OLED.clearDisplay();
OLED.setCursor(0,0);
OLED.println("Suhu:");
OLED.print(suhu);
OLED.println("C");
OLED.println("Kelembapan:");
OLED.print(kelembapan);
OLED.println("%");
OLED.display();
//*****BLYNK, kirim nilai sensor*****************************
Blynk.virtualWrite(V0, suhu);
Blynk.virtualWrite(V1, kelembapan);
}
void setup() {
//********BLYNK, mulai koneksi ke blynk***********************
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, sendSensor);
//*****SERIAL MONITOR, setting baud rate***********************
Serial.begin(115200);
//*****DHT 22, setting*****************************************
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
//*********OLED**************************************************
if(!OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C))
{
Serial.print(F("Gagal memulai OLED"));
while(1);
}
delay(2000);
OLED.clearDisplay();
OLED.setTextSize(1);
OLED.setTextColor(WHITE);
}
void loop() {
//********BLYNK, menjalankan blynk****************************
Blynk.run();
timer.run();
}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
oled1:GND
oled1:VCC
oled1:SCL
oled1:SDA
dht1:VCC
dht1:SDA
dht1:NC
dht1:GND