สอบถามเรื่องการต่อวงจร DHT22 + Uno R3 ตามลิงค์สอน https://www.youtube.com/watch?v=_B5Tyzv7sHM กับ Delay 4 CH (รหัสสินค้า A901) เพื่อควบคุมไฟกับปั้มน้ำหน่อยครับ
อยากถามว่าโปรแกรมมันเขียนยังไงเหรอครับ พอดีเขียนลองผิดลองถูกแล้วก็ยังไม่ติดตามคำสั่งครับ
ต่อการให้ไฟติดเมื่ออุณหภูมิต่ำกว่า 25 องศา และต้องการให้ปั้มน้ำทำงานตอนความชื้นน้อยกว่า 80% ครับ
#include "DHT.h"
DHT dht;
void setup()
{
Serial.begin(9600);
Serial.println();
Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)");
pinMode (2,INPUT);
pinMode (5,OUTPUT);
pinMode (6,OUTPUT);
pinMode (7,OUTPUT);
dht.setup(2);
}
void loop()
{
delay(dht.getMinimumSamplingPeriod());
float humidity = dht.getHumidity();
float temperature = dht.getTemperature();
Serial.print(dht.getStatusString());
Serial.print("\t");
Serial.print(humidity, 1);
Serial.print("\t\t");
Serial.print(temperature, 1);
Serial.print("\t\t");
Serial.println(dht.toFahrenheit(temperature), 1);
if (digitalRead(2), humidity <= 80)
{
digitalWrite (5,HIGH);
delay (1000);
digitalWrite (6,HIGH);
delay (1000);
}
if (digitalRead(2), temperature <= 25)
{
digitalWrite (7,HIGH);
delay (1000);
}
}
นี้ครับโปรแกรมที่เขียนไว้ อยากทราบว่ามันผิดตรงไหนบ้างครับ
//ขอบคุณล่วงหน้าครับ
ทดลองตามนี้ครับ
1. ก็อปโคดตามตัวอย่างในบทความแล้วรันดูผลลัพธ์ ศึกษาการใช้งานไลบารี จะได้วิธีดึงค่า อุณหภูมิ และความชื้น เก็บไว้ในตัวแปร
2. เขียนโปรแกรมสั่งงาน relay โดยใช้คำสั่ง digitalWrite() ก็สามารถสั่งเปิดปิดได้แล้ว
3. เขียนโปรแกรมเช็ค IF แยกส่วนกับอุณหภูมิและความชื้น โดยฟิกค่าใส่ตัวแปรไว้ เช็คการทำงานแบบไม่ต้องต่อ
สุดท้ายเอาความรู้ที่ได้ มาเขียนโปรแกรมรวมกัน โคดไม่ยาก ลองเล่นแล้วจะสนุกครับ
อีกโคดที่แนะนำ ดูคำสั่ง แปลง string เป็น ตัวเลขตามนี้ครับ https://www.arduino.cc/en/Tutorial/StringToInt
ได้แล้วครับ ขอบคุณมากครับผม