ผมต้องการทำตู้ควบคุมความชื้น อุณภูมิ ด้วยESP2866


ให้กดอันไหนครับ

image

จุดเดิมเลยครับ

//////////////////////////////////////////////////////////////////
Arduino: 1.8.10 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled, All SSL ciphers (most compatible), 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

C:\Users\User\Desktop\______\______.ino: In function 'void sendUptime()':

______:74:2: error: 'sensors_event_t' was not declared in this scope

  sensors_event_t event;

  ^

______:74:18: error: expected ';' before 'event'

  sensors_event_t event;

                  ^

______:75:6: error: 'class DHT' has no member named 'temperature'

  dht.temperature().getEvent(&event);

      ^

______:75:30: error: 'event' was not declared in this scope

  dht.temperature().getEvent(&event);

                              ^

______:80:6: error: 'class DHT' has no member named 'humidity'

  dht.humidity().getEvent(&event);

      ^

Multiple libraries were found for "SimpleTimer.h"
 Used: C:\Users\User\Documents\Arduino\libraries\SimpleTimer-master
Multiple libraries were found for "Adafruit_Sensor.h"
 Used: C:\Users\User\Documents\Arduino\libraries\Adafruit_Unified_Sensor
Multiple libraries were found for "ESP8266WiFi.h"
 Used: C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries\ESP8266WiFi
Multiple libraries were found for "BlynkSimpleEsp8266.h"
 Used: C:\Users\User\Documents\Arduino\libraries\Blynk
Multiple libraries were found for "DHT.h"
 Used: C:\Users\User\Documents\Arduino\libraries\DHT_sensor_library
exit status 1
'sensors_event_t' was not declared in this scope

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

ถ้างั้นลบโฟล์เดอร์ DHT ออกแล้วทำตามลิ้งค์พี่ที่ให้ไว้ แล้วเข้าไปลบ ไฟล์ในโฟเดอร์ Arduino15 ออกให้หมดเลย

ผมลบออกไปแล้ว ผมต้องไล่ลงไลเบอรี่ใหม่เลยใช่ไหมครับ

Arduino: 1.8.10 (Windows 10), Board: "Arduino/Genuino Uno"

a:2:10: error: ESP8266WiFi.h: No such file or directory

 #include <ESP8266WiFi.h>

          ^~~~~~~~~~~~~~~

compilation terminated.

exit status 1
ESP8266WiFi.h: No such file or directory

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

ไล่ตามมันบอกไปทีละเคสครับ

ตามนี้

Arduino: 1.8.10 (Windows 10), Board: "Arduino/Genuino Uno"

Multiple libraries were found for "ESP8266WiFi.h"
In file included from C:\Users\User\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:33:0,

 Used: C:\Users\User\Documents\Arduino\libraries\ESP8266WiFi
                 from C:\Users\User\Desktop\a\a.ino:2:

C:\Users\User\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiType.h:26:10: fatal error: queue.h: No such file or directory

 #include <queue.h>

          ^~~~~~~~~

compilation terminated.

exit status 1
Error compiling for board Arduino/Genuino Uno.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

กรนีนี้ให้ลง queue.h ใช่ไหมครับ

เลือกบอร์ดถูกรึป่าวครับ

image

ออผมยังไม่ได้ลงไลเบอรี่บอด ซักครู่ครับ

Arduino: 1.8.10 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"

C:\Users\User\Desktop\a\a.ino: In function 'void sendUptime()':

a:74:2: error: 'sensors_event_t' was not declared in this scope

  sensors_event_t event;

  ^

a:74:18: error: expected ';' before 'event'

  sensors_event_t event;

                  ^

a:75:6: error: 'class DHT' has no member named 'temperature'

  dht.temperature().getEvent(&event);

      ^

a:75:30: error: 'event' was not declared in this scope

  dht.temperature().getEvent(&event);

                              ^

a:80:6: error: 'class DHT' has no member named 'humidity'

  dht.humidity().getEvent(&event);

      ^

Multiple libraries were found for "ESP8266WiFi.h"
 Used: C:\Users\User\Documents\Arduino\libraries\ESP8266WiFi
 Not used: C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.1\libraries\ESP8266WiFi
Multiple libraries were found for "BlynkSimpleEsp8266.h"
 Used: C:\Users\User\Documents\Arduino\libraries\Blynk
Multiple libraries were found for "DHT.h"
 Used: C:\Users\User\Documents\Arduino\libraries\DHT
Multiple libraries were found for "SimpleTimer.h"
 Used: C:\Users\User\Documents\Arduino\libraries\SimpleTimer-master
Multiple libraries were found for "Adafruit_Sensor.h"
 Used: C:\Users\User\Documents\Arduino\libraries\Adafruit_Unified_Sensor
exit status 1
'sensors_event_t' was not declared in this scope

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

วางโค้ตล่าสุดมาหน่อย

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
#include <SimpleTimer.h>
#define DHTPIN D4 // กำหนดขาให้กับอุปกรณ์ตรวจสอบความชื้น DHT11
#define DHTTYPE DHT11
//////////////////////////////////////////จุดที่เพิ่ม

int setTemp;
int setHumid;

BLYNK_WRITE(V4) //temperature slider in app on pin V22
{
setTemp = param.asInt();
}
BLYNK_WRITE(V3) //temperature slider in app on pin V23
{
setHumid = param.asInt();
}

//////////////////////////////////////////

DHT dht(DHTPIN, DHTTYPE);
SimpleTimer timer;

//* **BLYNK TOKEN** //
char auth[] = "XXXXXXXXXXXXXXXX";
char ssid[] = "AndroidAP";
char pass[] = "123654789a";


BLYNK_CONNECTED() {
Blynk.syncAll();
}

void sendSensor()
{
  float h = dht.readHumidity();
  float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit

  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V5, h);
  Blynk.virtualWrite(V6, t);
}

void setup()
{
Serial.begin(115200);




pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
pinMode(D1, OUTPUT); // ***ควบคุมอุณหภูมิ*** ///
digitalWrite(D1, HIGH);

dht.begin();

timer.setInterval(1000L, sendUptime);

}

void sendUptime()
 {
 // *****ชุดคำสั่งการทำงานของอุณหภูมิ***** *//
 Blynk.virtualWrite(V5, millis() / 1000);
 sensors_event_t event;
 dht.temperature().getEvent(&event);
 if (!isnan(event.temperature)) //ตรงนี้เป็นการกำหนดเงื่อนไข >=, <= , ==  ใช่ไหมครับ
   {
 Blynk.virtualWrite(V1, event.temperature); //หรือผมต้องมากำหนด เงื่อนไข >=, <= , == ตรงนีครับ
  }
 dht.humidity().getEvent(&event);
 if (!isnan(event.relative_humidity)) {
 Blynk.virtualWrite(V2, event.relative_humidity);
 
 }
 }
void loop()
{
//if(Blynk.connected()) {
Blynk.run();
timer.run();

}

อ่าวของผมก็ขึ้นนะนิ 555

เอาล่ะมีซำติงแน่นอน55555555

ผมควรเริ่มเขียนใหม่ใช่ใหมครับ ท่าใช่อยากให้ช่วยแนะนำการดึงค่าอุณหะภูมิมาเปรียบเทียบกับค่าปุ่มในบลิ้งหน่อยครับ

แก้เป็นแบบนี้ครับ มันมีหลายฟังก์ชันที่ซ้อนทับกันอยู่

image

และ library ที่เขียนกันคนละแบบเอามาใช้ที่เดียวกันจะไม่ได้ครับ

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
#include <SimpleTimer.h>
#define DHTPIN D4 // กำหนดขาให้กับอุปกรณ์ตรวจสอบความชื้น DHT11
#define DHTTYPE DHT11
//////////////////////////////////////////จุดที่เพิ่ม

int setTemp;
int setHumid;

BLYNK_WRITE(V4) //temperature slider in app on pin V22
{
setTemp = param.asInt();
}
BLYNK_WRITE(V3) //temperature slider in app on pin V23
{
setHumid = param.asInt();
}

//////////////////////////////////////////

DHT dht(DHTPIN, DHTTYPE);
SimpleTimer timer;

//* **BLYNK TOKEN** //
char auth[] = "XXXXXXXXXXXXXXXX";
char ssid[] = "AndroidAP";
char pass[] = "123654789a";

void setup()
{
Serial.begin(115200);




pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
pinMode(D1, OUTPUT); // ***ควบคุมอุณหภูมิ*** ///
digitalWrite(D1, HIGH);

dht.begin();
timer.setInterval(1000L, sendSensor);

}

BLYNK_CONNECTED() {
Blynk.syncAll();
}

void sendSensor()
{
  float h = dht.readHumidity();
  // Read temperature as Celsius (the default)
  float t = dht.readTemperature();

  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
   Blynk.virtualWrite(V1, t); //หรือผมต้องมากำหนด เงื่อนไข >=, <= , == ตรงนีครับ
 Blynk.virtualWrite(V2, h);

  Serial.println("Humidity: ");
  Serial.print(h + String("%"));
  Serial.println("Temperature: ");
  Serial.print(t + String("c"));

}


void loop()
{
//if(Blynk.connected()) {
Blynk.run();
timer.run();

}

image

สีแดงๆคือผิดผมเข้าใจถูกไหมครับ

ที่ลบออกไปครับ เขียวคือเพิ่มเข้ามา