電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino BME280環(huán)境傳感器項(xiàng)目

Arduino BME280環(huán)境傳感器項(xiàng)目

2022-12-21 | zip | 0.06 MB | 次下載 | 免費(fèi)

資料介紹

描述

在開始這個(gè)項(xiàng)目之前...

pYYBAGOhJ4-AcSvHAAAz43w3OD4334.png

1 / 2

另一個(gè)適合初學(xué)者的簡(jiǎn)單項(xiàng)目,這個(gè) Arduino BME280 環(huán)境傳感器項(xiàng)目絕對(duì)簡(jiǎn)單易懂,傳感器能夠計(jì)算其周圍的溫度、濕度、壓力和高度。為了使用這個(gè)傳感器,DFRobot 提供了一個(gè)特殊的庫(kù),幾行簡(jiǎn)單的串行通信函數(shù)就可以很好地完成這項(xiàng)工作。由于其廣泛的工作溫度范圍和測(cè)量能力,您可以將此傳感器用于各種應(yīng)用,例如最惡劣環(huán)境中的氣象站或時(shí)鐘。BoSCHMEMS 傳感器確實(shí)讓像我們這樣的業(yè)余愛好者的事情變得更容易,我們可以利用板載接口 (i2c/SPI) 和微控制器從中提取數(shù)據(jù)。該項(xiàng)目需要以下組件:

1 DFRobot BME280 環(huán)境傳感器

1 重力 4 針 i2c/UART 傳感器線

4 根跳線(公對(duì)公)

1個(gè)Arduino(本例中使用的是Seeeduino v4.2)

1 根 USB 數(shù)據(jù)線(取決于 Arduino)

贊助商鏈接:

UTSource.net評(píng)論

這是一個(gè)值得信賴的電子元器件訂購(gòu)網(wǎng)站,價(jià)格便宜,質(zhì)量?jī)?yōu)良。

安裝電路

pYYBAGOhJ5OAT397AACq0zKX37k841.png

1 / 2

首先,在開始連接之前,請(qǐng)移除 Arduino 的所有外部設(shè)備或電源,因?yàn)檫B接電線時(shí)可能存在短路風(fēng)險(xiǎn)。我們將為此項(xiàng)目使用傳感器提供的 i2c 接口,因此請(qǐng)將重力 4 針傳感器線夾到 BME280 傳感器的端口,如上圖所示。然后,使用一根跨接線將 Gravity 電纜的紅線連接到 Arduino 上的 5v(+5 伏)引腳。之后,將另一根跳線從 Gravity 電纜的黑線連接到 Arduino 的 GND 引腳。對(duì)于 i2c 連接,將一根跳線從 Gravity 電纜的藍(lán)線連接到 A5(模擬引腳 5)以進(jìn)行 SCL(串行時(shí)鐘)連接。最后,使用跳線將 Gravity 電纜的綠線連接到 A4(模擬引腳 4)以實(shí)現(xiàn) SDA(串行數(shù)據(jù))i2c 連接。您現(xiàn)在應(yīng)該完成硬件連接!

關(guān)于代碼

有了 DFRobot BME280 傳感器庫(kù),這個(gè)庫(kù)使得從傳感器讀取數(shù)據(jù)變得更加容易,同時(shí)在這段代碼中使用簡(jiǎn)單的命令。使用了各種變量、 ?無(wú)效?部分和串行命令,讓我們開始演練吧。首先,在兩條起始行中,我們包括用于從傳感器讀取數(shù)據(jù)的“DFRobot BME280”傳感器庫(kù)和用于 i2c 通信的“Wire”庫(kù)。然后,我們使用?typedef函數(shù)修改另一個(gè)數(shù)據(jù)類型的名稱。?我們通過(guò)創(chuàng)建新名稱 ?BME來(lái)縮短DFRobot_BME280_IIC的原始數(shù)據(jù)類型名稱?. 此數(shù)據(jù)類型隨后可用于觸發(fā)其他功能。接下來(lái),我們選擇用于 i2c 通信的 TwoWire 外設(shè)并設(shè)置傳感器地址 ?0x77以僅與我們的 BME280 傳感器通信。在下一行中,我們確定了一個(gè)已知常量?SEA_LEVEL_PRESSURE,它被設(shè)置為 1015.0f。讓我們繼續(xù)第一個(gè)void語(yǔ)句 ?void printLastOperateStatus,它用于打印出傳感器的最后狀態(tài)。我們引入了一個(gè)?switch case命令結(jié)構(gòu),它通過(guò)根據(jù)指定的條件執(zhí)行多個(gè)命令來(lái)控制程序的流程。在這種?情況下,我們?cè)O(shè)置?BME?成為將要改變的變量,根據(jù)這個(gè)變量的狀態(tài),將執(zhí)行各種命令。第一個(gè)?案例?命令表示,如果傳感器的狀態(tài)正常,“一切正常”將打印到串行監(jiān)視器中。這與if語(yǔ)句非常相似?。接下來(lái),這個(gè)?案例命令說(shuō)如果有錯(cuò)誤,將“未知錯(cuò)誤”打印到串行監(jiān)視器中。以下?案例命令現(xiàn)在聲明,如果未連接 BME280 傳感器,它將在串行監(jiān)視器中打印出“設(shè)備未連接”,最后,如果傳感器參數(shù)存在測(cè)量錯(cuò)誤,它將在串行監(jiān)視器中打印“參數(shù)錯(cuò)誤” .但是,在下一行中,它表示如果系統(tǒng)狀態(tài)與這些case命令中的任何一個(gè)都不匹配?,它將向串行監(jiān)視器打印?默認(rèn)的“未知狀態(tài)”。這就是?案例命令結(jié)構(gòu)部分?,F(xiàn)在,對(duì)于?無(wú)效設(shè)置階段,我們首先將串行通信的波特率設(shè)置為 115200 波特。之后,我們使用BME.reset()清除 BME280 傳感器的預(yù)先存在的數(shù)據(jù)?,然后我們將“bme read data test”打印到串行監(jiān)視器以啟動(dòng)整個(gè)程序。我們現(xiàn)在引入一個(gè)?while語(yǔ)句,這樣兩件事可以同時(shí)發(fā)生?;旧希@個(gè)?while語(yǔ)句表示當(dāng) BME 傳感器開始并且沒有 OK 狀態(tài)(如?case命令結(jié)構(gòu)中所述)時(shí),向串行監(jiān)視器打印出“bme begin failed”。隨后打印出從?case?命令引用到串行監(jiān)視器的最后一個(gè)操作狀態(tài)消息。為了結(jié)束這個(gè)?while?語(yǔ)句,我們暫停 2 秒。但是?,如果此時(shí)?語(yǔ)句被避免(沒有錯(cuò)誤),我們將向串行監(jiān)視器打印“bme begin success”并暫停 100 毫秒,然后繼續(xù)。繼續(xù),?空循環(huán)?部分非常容易理解,第一行聲明了一個(gè)?名為?temp?的浮點(diǎn)?數(shù)據(jù)類型,該數(shù)據(jù)類型用于存儲(chǔ)來(lái)自傳感器的所有溫度讀數(shù)。第二行聲明了一個(gè)?uint32_t?數(shù)據(jù)類型,它存儲(chǔ)來(lái)自傳感器的壓力讀數(shù)。第三行聲明了另一個(gè)?名為?alti?的浮點(diǎn)?數(shù)據(jù)類型,用于存儲(chǔ)來(lái)自傳感器的所有高度讀數(shù),最后是?浮點(diǎn)?數(shù)據(jù)類型?humi?存儲(chǔ)來(lái)自傳感器的所有濕度讀數(shù)。然后,我們逐行打印所有數(shù)據(jù)讀數(shù),并為打印的每個(gè)數(shù)據(jù)部分設(shè)置分隔符。您可以在頂部的圖片中看到它的外觀。最后一行然后暫停 1 秒,以便每秒將數(shù)據(jù)打印到串行監(jiān)視器。這就是代碼!

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)