📜  使用压力传感器BMP180和Arduino设备进行温度和压力测量的IoT项目

📅  最后修改于: 2021-01-04 01:02:00             🧑  作者: Mango

使用压力传感器BMP180和Arduino设备进行温度和压力测量的IoT项目

在这个项目中,我们将建立一个温度和压力测量系统。在此项目中,我们将使用压力传感器型号BMP180来检测温度和压力,使用Arduino设备和16 X 2字符LCD来显示温度和压力。

硬件要求

  • Arduino UNO板
  • Arduino设备的USB电缆连接器
  • 压力传感器BMP180
  • 16 X 2字符LCD显示屏
  • 项目委员会
  • 跳线(公对母,公对公)

软件需求

  • Arduino软件IDE

压力传感器BMP180的工作原理

压力传感器BMP180包括一个压阻传感器,一个模拟和数字转换器,带有E2PROM的控制单元和一个串行I2C接口。它提供了温度和压力的贡献值。传感器设备的微控制器发送启动序列以测量温度和压力。温度和压力可以通过16 X 2个字符的LCD读取。

计算出的温度和压力分别以℃和hPa(hector Pascal)为单位。在这种情况下,温度和压力的测量速率为每秒一次。

编写一个Arduino程序,使用压力传感器BMP180和字符LCD显示屏测量温度和压力。

#include 
#include 
#include 
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);//RS,EN,D4,D5,D6,D7

char PRESSURESHOW[4];// initializing a character of size 4 to display pressure result
char TEMPERATURESHOW[4];// initializing a character of size 4 to display temperature result
Adafruit_BMP085 bmp;

void setup() {
  lcd.begin(16, 2);
  // Print a logo message to the LCD.
  lcd.print(" BMP180 Sensor");
  lcd.setCursor(0, 1);
  lcd.print("Temp. & Pressure");
  lcd.setCursor(0, 2);
  delay (3000);

  lcd.clear();//clear display
  Serial.begin(9600);
  if (!bmp.begin()){
    Serial.println("ERROR");///if there is an error in communication
    while (1) {}
  }
}
void loop(){
  lcd.print("Pressure= "); // print pressure
  String PRESSUREVALUE = String(bmp.readPressure());
  // convert pressure reading to a char array
  PRESSUREVALUE.toCharArray(PRESSURESHOW, 4);
  lcd.print(PRESSURESHOW);
  lcd.print("hPa ");
  lcd.setCursor(0, 1);
  lcd.print("Temperature=");// print temperature
  String TEMPERATUREVALUE = String(bmp.readTemperature());
  // convert the reading to a char array
  TEMPERATUREVALUE.toCharArray(TEMPERATURESHOW, 4);
  lcd.print(TEMPERATURESHOW);
  lcd.print("C ");
  lcd.setCursor(0,0);//set the cursor to row and column 0, line1
  delay(500);
}

编译以上代码之前,请先包含BMP180库,否则,它将生成错误Adafruit_BMP085.h文件或找不到库。

要包含库,请单击草图>包含库>管理库

搜索BMP180库,然后安装BMP085 / BMP180库。

编译并将代码上传到Arduino设备。


现在,相应地连接所有设备。 Arduino,BMP180和16 X 2字符LED的数字电路如下:

结果

我们在冬季测量德里的压力和温度。