Posted on

ระบบวัดอุณหภูมิและความชื้นสัมพัทธ์ของอากาศ

ลองทำระบบวัดอุณหภูมิและความชื้นสัมพัทธ์ของอากาศที่บ้านดูเล่นๆ  อุปกรณ์ที่ใช้ในครั้งนี้ก็คือ

  1. เจ้าบอร์ด ESP8285
  2. โมดูล DHT22

เขียนโปรแกรมด้วย Arduino ให้ส่งข้อมูลเข้า Blynk Server (โปรเจคนี้ทำตัวปิด/เปิดไฟใส่ไว้ด้วยแล้ว) จากนั้นไปสร้าง Guage และ Graph แสดงผลแบบ Realtime ดูในมือถือ ประสบความสำเร็จ ได้ผลใกล้เคียงกับเว็บของกรมอุตุนิยมและ Accuweather เลยจ้า

ต่อโมดูล DHT22 เข้ากับ ESP8285 ดังนี้ ขา + ต่อกับ ไฟ 5V, ขา – ต่อกับ Ground และ Out ต่อกับ Pin 5
เปิด Arduino เขียนโค้ดลงไป
#include "DHTesp.h"

DHTesp dht;
 
/* Comment this out to disable prints and save space */
//#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YOURTOKEN";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YOUR-WIFI-SSID";
char pass[] = "PASSWORD";
BlynkTimer timer;

void setup()
{
  Serial.begin(115200);
  
  dht.setup(5, DHTesp::DHT22); // Connect DHT sensor to GPIO 5
  
  Blynk.begin(auth, ssid, pass,"blynk.jpnet.co.th",8080);
  Blynk.syncAll(); 
  timer.setInterval(60000, sendSensor); //ตั้งเวลาให้อัพเดทค่าทุกๆ 1 นาที

}

void sendSensor()
{
  float h = dht.getHumidity();
  float t = dht.getTemperature();
  t = ((int) (t * 10) / 10.0);
  h = ((int) (h * 10) / 10.0);
  
  Blynk.virtualWrite(8, t); // virtual pin
  Blynk.virtualWrite(9, h); // virtual pin
}

void loop()
{
  Blynk.run();
  timer.run();
}
สร้าง Guage และ Graph แสดงผลแบบ Realtime ดูในมือถือ  (อ่านค่าจาก Virtual Pin ทั้งสอง)