รบกวนผู้เชี่ยวชาญช่วยหน่อยครับผม ขอบคุณครับ
รูปภาพตอน error ครับ
ตัวโค้ด
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
char auth[] = "";
char ssid[] = "";
char pass[] = "";
#define potPin A0
#define DHTPIN 0
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
WidgetLCD lcd(V1);
int relay1 = 4;
int relay2 = 2;
int relay3 = 3;
MODE mode = unknown;
struct valve_t {
int pin;
bool manual; // false … automatic
bool state;
};
void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Blynk.virtualWrite(V5, t);
Blynk.virtualWrite(V6, h);
}
void Starup() {
int Hum = analogRead(A0);
float tegangan = Hum * (5.0 / 1023.0);
Serial.print("Nilai Potensio : ");
Serial.println(Hum);
Blynk.virtualWrite(V1, Hum);
lcd.print(0, 0, "Moisture:");
lcd.print(11, 0, Hum);
if (Hum >= 150 && Hum <= 300) {
Blynk.virtualWrite(V1, Hum);
lcd.print(0, 1, "Status:");
lcd.print(8, 1, "Good");
}
else if (Hum >= 300 && Hum <= 500) {
Blynk.virtualWrite(V1, Hum);
lcd.print(0, 1, "Status:");
lcd.print(8, 1, "Fair");
}
else if (Hum >= 500 && Hum <= 700) {
Blynk.virtualWrite(V1, Hum);
lcd.print(0, 1, "Status:");
lcd.print(8, 1, "Poor");
}
}
BLYNK_WRITE(V0) {
switch (mode = (MODE)param.asInt())
{
case manual:
Blynk.virtualWrite("Mode: Manual");
break;
case automatic:
Blynk.virtualWrite("Mode: Automatic");
break;
default:
mode = unknown;
}
setMode(mode);
}
void blynkWriteManual(int nr, int value) {
char msg[32];
valve[nr].manual = value;
}
BLYNK_WRITE(V11) {
if (blynkWriteManual(0, param.asInt() == HIGH)); {
digitalWrite(relay1, HIGH);
digitalWrite(relay2, HIGH);
}
else {
digitalWrite(relay1, LOW);
digitalWrite(relay2, LOW);
}
}
BLYNK_WRITE(V12) {
if (blynkWriteManual(2, param.asInt() == HIGH)); {
digitalWrite(relay3, HIGH);
digitalWrite(relay2, HIGH);
}
else {
digitalWrite(relay3, LOW);
digitalWrite(relay2, LOW);
}
}
void blynkWriteAuto(int nr, const BlynkParam& param) {
int Hum = analogRead(A0);
float tegangan = Hum * (5.0 / 1023.0);
if (Hum >= 150) {
digitalWrite(relay1, HIGH);
digitalWrite(relay2, HIGH);
}
else {
digitalWrite(relay1, LOW);
digitalWrite(relay2, LOW);
}
}
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
dht.begin();
timer.setInterval(1000L, Starup);
timer.setInterval(1000L, sendSensor);
lcd.clear();
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
}
void loop() {
Blynk.run();
timer.run();
}