#include "DHT.h"
//#define DHTPIN 6 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT11 // DHT 11
DHT dht(6, DHTTYPE);
int led2=7;
int led3=4;
unsigned char hexdata[8] = {0x5A,0xA5,0x05,0x82,0x00,0x01,0x00,0x00};
unsigned char hexdata2[8] = {0x5A,0xA5,0x05,0x82,0x00,0x02,0x00,0x00};
unsigned char hexdata3[8] = {0x5A,0xA5,0x05,0x82,0x00,0x04,0x00,0x00};
void setup() {
Serial.begin(115200); //
Serial.println("測試開始");
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
dht.begin();
}
void loop() {
delay(500); // 等一段時間給傳感器檢測,一般溫度和濕度各需要250毫秒
float h = dht.readHumidity(); //讀濕度 int
float t = dht.readTemperature(); //讀溫度
int t1=t*100;
int t2=t1/256;
// hexdata[6] = t2;
// hexdata[7] = t1-t2*256;
hexdata[7]=t2;
Serial.write(hexdata,8);
delay(100);
int h1=h*100;
int h2=h1/256;
// hexdata2[6] = h2;
// hexdata2[7] = h1-h2*256;
hexdata2[7]=h2;
Serial.write(hexdata2,8);
//5A A5 05 82 00 02 00 66
// Serial.print("溫度:");
// Serial.print(t); // 輸出溫度
// Serial.print("°C 濕度: ");
//Serial.println(h); // 輸出濕度
// Serial.println("% ");
if (h > 50) {
hexdata3[7]=50;
Serial.write(hexdata3,8);
}
if (h < 80) {
digitalWrite(led2,LOW);
}
if (t > 23) {
digitalWrite(led3,HIGH);
}
if (t < 23) {
digitalWrite(led3,LOW);
}
}
|