- #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
|