吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

將BMP280壓力傳感器模塊與Arduino連接的方法

科技觀察員 ? 來源:circuitdigest ? 作者:Manoj Kumar ? 2022-08-19 15:45 ? 次閱讀

如果您想構建自己的溫度監測系統或測量無人機的高度,或者只是想測量您所在地區的大氣壓力,那么您在項目中使用的最佳模塊之一就是BMP280 壓力傳感器模塊。BMP280是絕對壓力和溫度監測傳感器,是BMP085、BMP180、BMP183傳感器的升級版。為什么叫升級版?它將在以下各節中討論。

BMP280 傳感器模塊可以與 ArduinoPIC、AVR 等微控制器一起使用。對于這個項目,我們將使用Arduino Uno 和 BMP280以及 LCD 16x2 顯示模塊來顯示溫度和壓力值。在將 BMP280 與 Arduino 連接之前,我們需要下載 Adafruit 開發的BMP280 Arduino 庫。

所需組件

阿杜諾

BMP280

連接電線

面包板

液晶顯示器- 16x2

poYBAGL_P1uAc7UBAAXMYZ2QMtc639.png

BMP280 壓力傳感器模塊:

poYBAGL_P1aARo0xAARiQoC3bK0742.png

BMP280 傳感器模塊在 1.71V 的最小電壓 (VDD) 下工作,而之前版本的傳感器模塊在 1.8V (VDD) 下工作。就電流消耗而言,BMP280 消耗 2.7uA,而 BMP180 消耗 12uA,BMP183 和 BMP085 各消耗 5uA。BMP280 還支持新的過濾模式。BMP280 傳感器模塊支持 I2c 和 SPI 協議,而其余傳感器支持 I2c 或 SPI。BMP280 傳感器模塊的精度為 ±0.12 hPa,相當于海拔高度差±1 m。由于這些關鍵特性,它主要用于各種應用。BMP傳感器由壓力傳感元件、濕度傳感元件和溫度傳感元件組成,它們進一步連接到壓力前端、濕度前端和溫度前端。這些前端 IC 是用于放大小信號的靈敏度模擬放大器。該模擬前端 IC 的輸出作為輸入信號饋送到 ADC。在這種情況下,模擬值被轉換為數字電壓,并且該電壓被饋送到邏輯電路以進一步與外界連接。

BMP280 傳感器模塊由三種功耗模式組成,睡眠模式、強制模式和正常模式。在睡眠模式下,不執行任何測量,并且功耗最低。在強制模式下,根據選定的測量和過濾選項執行單次測量。正常模式在測量和待機周期之間連續循環,周期時間段將由 Tstandby 定義。待機模式下的電流略高于睡眠模式。

將 BMP280 與 Arduino 連接的電路圖:

將Arduino 與 BMP280傳感器和 LCD連接的電路圖如下所示。

pYYBAGL_P1KAaXNPAAEt85U6_6U215.png

傳感器的 VCC 和 GND 引腳連接到 Arduino 的 3v3 和 GND 引腳。傳感器的 SCL 和 SDA 引腳連接到 Arduino 板的 A5 和 A4。LCD連接如下

pYYBAGL_P06ABkxcAAAMbm9DsEI909.png

將 BMP280 與 Arduino 連接的 Arduino 程序:

完整的BMP280 Arduino 代碼可以在本頁底部找到,可以直接上傳到您的 Arduino 板。下面給出相同的解釋

包含這些庫以啟用特殊功能。#include 頭文件我們可以直接讀取來自傳感器的值。#include 標頭有助于使用 I2C 通信。#include 頭文件用于訪問 LCD 的特殊功能,如 lcd.print()、Lcd.setCursor() 等。可以使用上面給出的鏈接下載這些頭文件。下載的文件將采用 zip 格式。現在打開 Arduino 選擇 Sketch>include library>Add.zip library。現在添加下載的文件。

#include 
#include 
#include 
#include 

為 Adafruit_BMP280 創建對象 BMP。創建目標文件以訪問特殊功能。

Adafruit_BMP280 bmp;// I2C

設置 Arduino 的引腳以與 LCD 通信。使用這些引腳數據將被傳輸。

液晶液晶屏(9、8、5、4、3、2);

初始化 LCD 和串行通信。

無效設置(){
  lcd.開始(16,2);
  序列號.開始(9600);
  Serial.println(F("BMP280 測試"));
  lcd.print("歡迎來到");
  lcd.setCursor(0,1);
  lcd.print("電路文摘");
  延遲(1000);
  lcd.clear();
  如果(!bmp.begin()){
    Serial.println(F("找不到有效的 BMP280 傳感器,檢查接線!"));
    而(1);
  }

該函數在 bmp 對象初始化失敗時起作用。

  /* 數據表中的默認設置。*/
  bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* 操作模式。*/
                  Adafruit_BMP280::SAMPLING_X2,/* 溫度。過采樣 */
                  Adafruit_BMP280::SAMPLING_X16, /* 壓力過采樣 */
                  Adafruit_BMP280::FILTER_X16, /* 過濾。*/
                  Adafruit_BMP280::STANDBY_MS_500); /* 待機時間。*/
}

這部分代碼在串行監視器上打印溫度,用于調試目的。

無效循環(){
    Serial.print(F("溫度 = "));
    Serial.print(bmp.readTemperature());
    Serial.println("*C");

函數bmp.readPressure和bmp.readTemprature用于調用特殊函數并返回溫度和壓力值。

    lcd.print(bmp.readTemperature());
    lcd.print(bmp.readPressure());

Arduino BMP280壓力傳感器接口項目的工作

函數bmp.readTemprature()和bmp.readPressure()用于返回溫度和壓力值。這些函數是一組執行特殊任務的語句,在我們的例子中是返回溫度和壓力文件。使用bmp.readTemprature()和bmp.readPressure()函數調用這些函數。lcd.setCursor將 LCD 的光標設置到屏幕上所需的位置。液晶打印命令從程序員設置的位置打印數據。如果 LCD 沒有設置位置,默認以(0,0)為初始位置,連續打印數據。下一個數據占據下一列的位置,并且該過程繼續進行,直到它到達行的末尾并移動到下一行。

poYBAGL_P0iAcSW3AAfxf2I-DL8097.png

BMP280 可用于飛行玩具、手機、平板電腦、PC、GPS 設備、便攜式保健設備、家庭氣象站等。按照此程序并使用頭文件和一些特殊功能,我們可以輕松地將 BMP280 與阿杜諾。完整的工作也可以在下面給出的視頻中找到,希望您喜歡這個BMP280 Arduino 教程并學到一些有用的東西。

#include

#include

#include

#include

Adafruit_BMP280 bmp; // I2C

//Adafruit_BMP280 bmp(BMP_CS); //硬件SPI

//Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK);

液晶液晶(9、8、5、4、3、2);

無效設置() {

lcd.begin(16,2);

序列號.開始(9600);

Serial.println(F("BMP280 測試"));

lcd.print("歡迎來到");

lcd.setCursor(0,1);

lcd.print("電路文摘");

延遲(1000);

lcd.clear();

if (!bmp.begin()) {

Serial.println(F("找不到有效的 BMP280 傳感器,檢查接線!"));

而(1);

}

/* 數據表中的默認設置。*/

bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* 操作模式。*/

Adafruit_BMP280::SAMPLING_X2, /* 溫度過采樣 */

Adafruit_BMP280::SAMPLING_X16, /* 壓力過采樣 */

Adafruit_BMP280::FILTER_X16, /* 過濾。 */

Adafruit_BMP280::STANDBY_MS_500); /* 待機時間。*/

}

void loop() {

Serial.print(F("Temperature = "));

Serial.print(bmp.readTemperature());

Serial.println("*C");

lcd.setCursor(0,0);

lcd.print("溫度= ");

lcd.print(bmp.readTemperature());


Serial.print(F("壓力 = "));

Serial.print(bmp.readPressure());

Serial.println("Pa");

lcd.setCursor(0,1);

lcd.print("按=");

lcd.print(bmp.readPressure());

Serial.print(F("大約高度 = "));

Serial.print(bmp.readAltitude(1018)); /* 調整為當地預測!*/

Serial.println("m");

序列號.println();

延遲(2000);

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 壓力傳感器
    +關注

    關注

    35

    文章

    2243

    瀏覽量

    163588
  • Arduino
    +關注

    關注

    188

    文章

    6477

    瀏覽量

    187816
  • BMP280
    +關注

    關注

    1

    文章

    20

    瀏覽量

    5776
收藏 人收藏

    評論

    相關推薦

    BMP280壓力溫度傳感器的驅動設計與實現

    壓力和溫度監測在嵌入式系統開發中是非常常見的需求,特別是對環境大氣壓力和溫度的檢測需求就更常見了。我們一般都會選擇一些封裝較小操作比較方便的壓力傳感器BMP280就是滿足這一要求的器
    發表于 12-09 14:32 ?3215次閱讀
    <b class='flag-5'>BMP280</b><b class='flag-5'>壓力</b>溫度<b class='flag-5'>傳感器</b>的驅動設計與實現

    【Ti SimpleLink SensorTag試用體驗】+ SensorTag BMP280氣壓傳感器服務加入

    是0x077。加入服務:建立任務: 過程和之前是一致,我就簡單的說一下。加入服務,下圖就是bmp280的所有服務。 sensorBmp280Read讀取傳感器值。 讀出溫度和壓力傳感器
    發表于 05-17 12:47

    【TI SimpleLink SensorTag試用體驗】+BMP280壓力傳感器

    壓力傳感器具有IIC和SPI兩種數字接口,開發時可根據所需挑選。采樣速率可以獨立地選擇1,2,4,8倍和16倍的采樣率。使傳感器可以非常靈活的編程以適應應用和電源管理要求。具體參數及應用可以參考datasheet。
    發表于 06-12 23:07

    通過BMP280氣壓/溫度傳感器模塊測量大氣壓和溫度

    ()函數在電腦串口調試終端打印輸出。氣壓:氣壓是作用在單位面積上的大氣壓力。氣壓的國際制單位是帕斯卡,簡稱帕,符號是Pa。氣象學中,人們一般用千帕(kPa)、或使用百帕(hpa)作為單位。二、 傳感器參數配置概述Core提供的庫函數默認
    發表于 01-07 06:40

    【RVBoards-哪吒】Lab4:大氣壓強傳感器BMP280

    projects for Allwinner D1 SBC (github.com)編譯:make測試:./runtest.sh大氣壓強傳感器BMP280模塊連接圖如下,具體請查看原
    發表于 01-15 09:50

    如何Esp-01連接BMP280傳感器

    如何 BMP280 傳感器連接到 ESP-01?
    發表于 05-25 08:28

    BMP280溫度和壓力傳感器在NodeMCU ESP8266板上工作,無法從BMP280獲得任何輸出是怎么回事?

    大家好 試圖讓 BMP280 溫度和壓力傳感器在我的 NodeMCU ESP8266 板上工作,但我似乎遇到了問題! 昨天設法讓它在 Arduino 上正常工作,但是當我在 ESP8266 上運行
    發表于 05-30 07:15

    BOSCH氣壓傳感器BMP280數據手冊

    BOSCH氣壓傳感器BMP280數據手冊
    發表于 01-19 10:38 ?0次下載

    氣壓傳感器bmp280與ms5611哪個好

    本文開始闡述了BMP280的定義與BMP280的應用程序,其次闡述了MS5611的定義、MS5611參數、MS5611的分類與典型應用,最后詳細分析了氣壓傳感器bmp280與ms561
    發表于 03-08 09:08 ?2.6w次閱讀

    BMP280氣壓傳感器的特點性能及應用

    產品相同,BMP180、BMP280 也基于Bosch 成熟的壓阻式壓力傳感器技術,具有高確度和線性度,以及長期穩定性和很高的 EMC 穩健性。
    的頭像 發表于 05-13 15:12 ?1.9w次閱讀

    BMP280數字壓力傳感器的用戶手冊免費下載

    羅伯特博世是汽車和消費者應用壓力傳感器的世界市場領導者。博世專有的APSM(高級多孔硅膜)MEMS制造工藝完全兼容CMOS,允許在全硅工藝中密封空腔。BMP280基于博世成熟的壓阻式壓力傳感器技術,具有高電磁兼容性、高精度、線性
    發表于 05-28 17:07 ?183次下載
    <b class='flag-5'>BMP280</b>數字<b class='flag-5'>壓力傳感器</b>的用戶手冊免費下載

    BMP280氣壓傳感器的制作

    在此示例中,將以下BMP280引腳分別連接Arduino,VCC到3.3V,GND到GND,SCL到A5,SDA到A4。
    的頭像 發表于 10-31 17:32 ?7231次閱讀

    使用BMP280測量溫度、壓力和高度

    電子發燒友網站提供《使用BMP280測量溫度、壓力和高度.zip》資料免費下載
    發表于 10-26 11:43 ?11次下載
    使用<b class='flag-5'>BMP280</b>測量溫度、<b class='flag-5'>壓力</b>和高度

    BMP280氣壓傳感器使用指南

    博主最近在調試 bmp280 氣壓傳感器
    的頭像 發表于 04-17 18:02 ?1.4w次閱讀
    <b class='flag-5'>BMP280</b>氣壓<b class='flag-5'>傳感器</b>使用指南

    bmp280氣壓傳感器模塊例程

    BMP280 氣壓傳感器是一種高精度的數字氣壓傳感器,可以用于測量大氣壓力、溫度和高度。它具有低功耗、高線性度和高分辨率的特點,適用于各種應用場景,如天氣站、室內氣壓監測、氣象預報和高
    的頭像 發表于 12-18 13:51 ?2505次閱讀
    赌场百家乐作弊| 博彩百家乐龙虎| 百家乐官网辅助分析软件| 百家乐官网趋势方向| 大发888开户送58| 百家乐开户送10彩金| 百家乐官网必知技巧| 岳池县| 开心8百家乐游戏| 网上百家乐官网怎么破解| 百乐坊娱乐城噢门| 广州百家乐桌子| 做生意招财的花有哪些| 金宝博百家乐官网游戏| 舟山星空棋牌下载| 三亚百家乐的玩法技巧和规则 | 找查百家乐玩法技巧| 火箭百家乐官网的玩法技巧和规则| 百家乐官网投注科学公式| 云鼎娱乐城怎么存钱| 伟易博百家乐的玩法技巧和规则| 百家乐二号博彩正网| 闲和庄百家乐官网赌场娱乐网规则 | 沈阳盛京棋牌官网| 赌神网百家乐2| 济州岛百家乐官网的玩法技巧和规则| 百家乐官网澳门有网站吗| 百家乐导航| 华人棋牌游戏| 捷豹百家乐娱乐城| 百家乐轮盘技巧| 做生意风水知识| 手机百家乐官网的玩法技巧和规则| 大发888国际娱乐网| 没费用百家乐分析器| 百家乐投注玩多少钱| 破战百家乐官网的玩法技巧和规则| 玩百家乐官网最好方法| 利来网上娱乐| 太阳城娱乐城官方网| 郑州水果机遥控器|