本帖最后由 lxf 于 2020-8-17 13:33 编辑
目标
用DHT11温湿度传感器检测加满水的水杯温度,并在LCD1602显示屏上显示
实验材料
Arduino UNO开发板 DHT11温湿度传感器模块 LCD1602显示屏 配套USB数据线 配套杜邦线若干 Arduino IDE软件
内容
用DHT11温湿度传感器检测加满水的水杯温度,每隔5秒检测一次,并在LCD1602显示屏上显示。
接线图
接线方式
Arduino UNO <------> DHT11温湿度传感器模块 5V <------> + GND <------> - 2 <------> OUT Arduino UNO <------> LCD1602显示屏 5V <------> VCC GND <------> GND A4 <------> SDA A5 <------> SCL
备注:需要使用到DHT11温湿度传感器和LCD1602显示屏第三方库文件,前面已讲到,不再叙述。
程序实现代码
- #include <dht11.h> //DHT11温湿度传感器库文件
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h> //LCD1602显示屏库文件
- LiquidCrystal_I2C mylcd(0x27,16,2); //设置LCD1602设备地址,这里的地址是0x27
- dht11 DHT11;
- #define DHT11PIN 2 //将宏DHT11PIN定义为2,即将DHT11温湿度传感器定义为2号引脚
- void setup(){
- Serial.begin(9600);
- mylcd.init(); // 初始化LCD
- mylcd.backlight(); //设置LCD背景等亮
- }
- void loop(){
- int x = DHT11.read(DHT11PIN);
- float tempread=(float)DHT11.temperature;
- mylcd.setCursor(1-1, 1-1); //设置显示指针,这里是第1行第1列
- mylcd.print("Temperature: "); //串口打印字符串“Temperature:”
- mylcd.setCursor(1-1, 2-1); //设置显示指针,这里是第2行第1列
- mylcd.print(tempread); //输出DHT11温湿度传感器检测到的水杯温度
- delay(5000);
- }
复制代码
实验结果测试:
|