สวัสดีค่ะ ขอสอบถามเกี่ยวกับการใช้ widget slider ใน blynk ค่ะ
อยากให้ค่าที่รับจากเซ็นเซอร์มากกว่าค่าที่กำหนดจาก slider ให้ buzzer ส่งเสียง
แต่ปัญหาติดอยู่ที่ค่าที่กำหนดจาก slider เปลี่ยนช้ามากค่ะ ประมาณ 4 - 5 นาทีได้ ค่าที่เรากำหนดจาก slider ถึงจะเปลี่ยนตามที่เรากำหนดใหม่ พอจะมีแนวทางแนะนำมั้ยคะ
//โค้ดที่มีปัญหาอยู่ตอนนี้ค่ะ
#include "DHT.h"
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define DHTPIN D3 // what digital pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
#define lampOnline D7
char auth[] = " "; //Key From Blynk
char ssid[] = " "; //Wifi Name
char pass[] = " "; //Wifi Password
DHT dht(DHTPIN, DHTTYPE);
float t, h;
int sensorValue;
int g_slider,t_slider;
BLYNK_CONNECTED(){
Blynk.syncAll();
}
BLYNK_READ(V0){
if (!isnan(h) || !isnan(t)) {
Blynk.virtualWrite(V0, t);
}
}
BLYNK_READ(V1){
if (!isnan(h) || !isnan(t)) {
Blynk.virtualWrite(V1, h);
}
}
BLYNK_READ(V2){
Blynk.virtualWrite(V2,sensorValue );
}
BLYNK_WRITE(V3){
t_slider = param.asInt();
Serial.print(t_slider);
}
BLYNK_WRITE(V4){
g_slider = param.asInt();
Serial.print(g_slider);
}
void setup() {
Serial.begin(115200);
Serial.println("DHTxx test!");
Blynk.begin(auth, ssid, pass,"blynk.iot-cm.com", 8080);
pinMode(D1, OUTPUT);
if(Blynk.connect()){
digitalWrite(lampOnline, HIGH);
}
dht.begin();
}
void loop() {
Blynk.run();
delay(2000);
h = dht.readHumidity();
t = dht.readTemperature();
sensorValue = analogRead(A0);
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("g_slider = ");
Serial.print(g_slider);
Serial.print("\t t_slider = ");
Serial.print(t_slider);
Serial.println("");
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C\t Gas ");
Serial.print(sensorValue);
Serial.println("");
if(sensorValue > g_slider || t > t_slider){
digitalWrite(D1,HIGH);
}else{
digitalWrite(D1,LOW);
}
}