- #include <DHT11.h>
- #include <LiquidCrystal_I2C.h>
- #define DHT11PIN 2 //定義溫濕度針腳號為2號引腳
- dht11 DHT11;
- LiquidCrystal_I2C lcd(0x27,16,2); //設置接口
- int incomedate = 0;
- int relayPin = 3; //繼電器引腳
- int led=13;
- void setup()
- {
- pinMode(led,OUTPUT);
- Serial.begin(9600); //連接到電腦串口監視器
- pinMode(relayPin, OUTPUT); //繼電器輸出模式
- pinMode(DHT11PIN,OUTPUT); //溫濕度模塊輸出模式
- lcd.init(); // 初始化LCD
- lcd.backlight(); //設置LCD背景等亮
- lcd.clear(); //清屏
- delay(1000); //延時1000ms
- }
- void loop ()
- {
- int chk = DHT11.read(DHT11PIN); //將讀取到的值賦給chk
- int tem=(float)DHT11.temperature; //將溫度值賦值給tem
- int hum=(float)DHT11.humidity;
- Serial.print("Humidity:"); //打印出Humidity:
- Serial.print(hum);
- Serial.println("%");
- Serial.print("Tempeature:");
- Serial.print(tem); //使屏幕顯示文字//打印出濕度結果
- delay(200);
- lcd.setCursor(0, 0) ; //設置光標位置為第1行第1個位置
- lcd.print("Tempeature:");
- lcd.print(tem); //使屏幕顯示溫度
- lcd.setCursor(0, 1) ;
- lcd.print("Humidity:");
- lcd.print(hum); //使屏幕顯示濕度
- delay(1000);
- if (tem >24||hum>35) //如果溫度大于24攝氏度
- {
- digitalWrite(relayPin, LOW); //繼電器開,風扇開
- Serial.println(" OPEN!");
- digitalWrite(led, LOW);
- }
- else
- {
- digitalWrite(relayPin,HIGH);
- Serial.println("CLOSE!");
- digitalWrite(led, HIGH);
- }
-
- delay(500); //延時0.1秒,這里也就是刷新速度。
-
- }
復制代碼
風扇 報警led dht11 lcd1602
|