壓力感測器BMP180和Arduino設備進行溫度和壓力測量

在這個專案中,我們將建立一個溫度和壓力測量系統。使用壓力感測器型號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)測量。在這種情況下,測量溫度和壓力的速率是每秒一次。

壓力感測器BMP180的工作原理

使用壓力感測器BMP180和字元LCD顯示器編寫Arduino程式來測量溫度和壓力。

#include <Adafruit_BMP085.h>
#include <Wire.h>
#include <LiquidCrystal.h>
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檔或庫未找到。

要包含庫,請單擊:Sketch -> Include Library -> Manage Libraries…

搜索BMP180庫,並安裝BMP085/BMP180庫。

安裝BMP085庫

編譯並將代碼上傳到Arduino設備。

編譯代碼

上傳代碼

現在,相應地連接所有設備。Arduino,BMP180和16 X 2字元LED的數字電路如下:

連接設備

下麵是測量壓力和溫度的結果:

測量壓力和溫度的結果


上一篇: 超聲波感測器HC-SR04和Arduino設備的Sonar系統專案 下一篇: 壓力感測器BMP180和Arduino設備進行溫度,壓力和高度測量