จุดเดิมเลยครับ
//////////////////////////////////////////////////////////////////
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 ใช่ไหมครับ
เลือกบอร์ดถูกรึป่าวครับ
ออผมยังไม่ได้ลงไลเบอรี่บอด ซักครู่ครับ
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();
}
เอาล่ะมีซำติงแน่นอน55555555
ผมควรเริ่มเขียนใหม่ใช่ใหมครับ ท่าใช่อยากให้ช่วยแนะนำการดึงค่าอุณหะภูมิมาเปรียบเทียบกับค่าปุ่มในบลิ้งหน่อยครับ
แก้เป็นแบบนี้ครับ มันมีหลายฟังก์ชันที่ซ้อนทับกันอยู่
และ 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();
}
สีแดงๆคือผิดผมเข้าใจถูกไหมครับ
ที่ลบออกไปครับ เขียวคือเพิ่มเข้ามา