好的,谢谢你,我下午的时候按自己的想法把代码糅合了起来,然后用UNO编译了一下,没问题,还没效验,恳请你指导下我这样糅合代码会不会把发生串口报错之类的
代码如下:
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- #include <dht11.h>
- #include <Adafruit_BMP085.h>
- LiquidCrystal_I2C lcd(0x3F,16,2); //设置LCD的地址为0x3F,可以设置2行,每行16个字符
- dht11 DHT;
- Adafruit_BMP085 bmp;
- #define DHT11_PIN 4
- void setup(){
- lcd.init(); // LCD初始化设置
- lcd.backlight(); // 打开LCD背光
- Serial.begin(9600); // 串口开启,设置串口波特率9600
- bmp.begin(); //BMP180开始工作
- lcd.setCursor(9, 0); //光标移到第1行,第10个字符
- lcd.print("T(C): "); //LCD屏显示”T(C):”
- lcd.setCursor(0, 1); //光标移到第2行,第1个字符
- lcd.print("AirP(Pa): "); //LCD屏显示"AirP(Pa): "
- }
-
- void loop(){
- int chk; //chk用于存储DHT11传感器的数据
- chk = DHT.read(DHT11_PIN); //读取DHT11传感器的数据
- Serial.print("Humidity = "); //串口监视器显示"Humidity = "
- Serial.print(DHT.humidity,1); //串口显示DHT11测得的湿度值
- Serial.print("Temp(C) = "); //串口监视器显示"Temp(C) = "
- Serial.print(DHT.temperature,1); //串口显示DHT11测得的温度值
- Serial.print("AirPressure(Pa) = "); //串口监视器显示"AirPressure(Pa) = "
- Serial.print(bmp.readPressure()); //串口监视器显示BMP180测得的气压数值
- // 计算假设标准海拔气压是的高度
- // 1013.25毫巴= 101325帕/压力
- Serial.print("Alti(m) = "); //串口监视器显示"Alti(m) = "
- Serial.print(bmp.readAltitude()); //串口监视器显示标准海拔气压所换算的高度数值
- // 根据当前的海拔气压计算精确的当前高度
- Serial.print("Real Alti(m) = "); //串口监视器显示"Real Alti(m) = "
- Serial.print(bmp.readAltitude(101500)); //串口监视器显示当前的真实高度数值
-
- //LCD显示气压温湿度值
- lcd.setCursor(5, 0); //第一行第6个字符开始显示
- lcd.print(DHT.humidity,1); //显示DHT测得的湿度
- lcd.setCursor(14, 0); //第一行第15个字符开始显示
- lcd.print(DHT.temperature,1); //显示DHT测得的温度
- lcd.setCursor(9, 1); //第二行第10个字符开始显示
- lcd.print(bmp.readPressure()); //显示BMP测得的气压
- delay(1000);
- }
复制代码
|