#define BLYNK_TEMPLATE_ID "TMPL6wBgs4Qyx"
#define BLYNK_TEMPLATE_NAME "ESP32S"
#define BLYNK_AUTH_TOKEN "WnYmVjtAPIwTNeTw-VAE6W2Ba2bknIA"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
#define D1 23 // GPIO23
#define D3 21 // GPIO21
#define A6 34 // GPIO34
#define DHTPIN 19 // GPIO19
DHT_Unified dht(DHTPIN, DHT22);
BlynkTimer timer;
int State1, State3;
BLYNK_CONNECTED()
{
Blynk.syncVirtual(V1);
Blynk.syncVirtual(V3);
}
BLYNK_WRITE(V1)
{
State1 = param.asInt();
if (State1 == 1)
digitalWrite(D1, HIGH);
else
digitalWrite(D1, LOW);
}
BLYNK_WRITE(V3)
{
State3 = param.asInt();
analogWrite(D3, State3);
}
void sendSensor()
{
int result = analogRead(A6);
Blynk.virtualWrite(V4, result);
Serial.print("LightSensor : ");
Serial.println(result);
sensors_event_t event;
dht.temperature().getEvent(&event);
Blynk.virtualWrite(V5, event.temperature);
dht.humidity().getEvent(&event);
Blynk.virtualWrite(V6, event.relative_humidity);
}
void setup()
{
Serial.begin(115200);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
timer.setInterval(1000L, sendSensor);
dht.begin();
pinMode(D1, OUTPUT);
pinMode(D3, OUTPUT);
pinMode(A0, INPUT); // A0 為輸入腳
}
void loop()
{
Blynk.run();
timer.run(); // Initiates SimpleTimer
}