資料介紹
描述
在開始這個(gè)項(xiàng)目之前...
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í)鐘。BoSCH 的 MEMS 傳感器確實(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)良。
安裝電路
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)視器。這就是代碼!
- 使用OPT4003-Q1環(huán)境光傳感器進(jìn)行光源檢測(cè)
- Arduino BME280氣象站儀表板
- 帶BME280傳感器的Arduino簡(jiǎn)易氣象站
- MyLCD20x4時(shí)鐘的BME280原理
- 帶有DWIN顯示屏和BME 280傳感器的簡(jiǎn)單氣壓計(jì)
- 帶BME280的Arduino水管理系統(tǒng) 0次下載
- Kniwwelino通過(guò)I2C控制BME280
- SparkFun環(huán)境CCS811/BME280 Mk02開源
- 基于BME280的超精確溫度計(jì) 6次下載
- 帶DS3231、BME280、BH1750和ESP01的LED矩陣NTP時(shí)鐘
- BME688首款A(yù)I氣體傳感器Arduino如何使用
- DIY簡(jiǎn)單的BME280 Arduino氣象站
- 博世大氣壓計(jì)BME280和BMP280資源下載 47次下載
- 帶有BME280的ESP32 Web服務(wù)器的高級(jí)氣象站 18次下載
- BME280氣壓溫濕度傳感器驅(qū)動(dòng)程序免費(fèi)下載 32次下載
- MAX9635環(huán)境光傳感器的接口代碼實(shí)現(xiàn) 578次閱讀
- 利用MAX44009環(huán)境光傳感器實(shí)現(xiàn)LCD亮度控制的簡(jiǎn)單方案 2286次閱讀
- 優(yōu)化MAX44007環(huán)境光傳感器用于黑色玻璃應(yīng)用 1018次閱讀
- 采用數(shù)字微波傳感器和Arduino控制板實(shí)現(xiàn)人體探測(cè)系統(tǒng) 1995次閱讀
- 采用數(shù)字微波傳感器、繼電器和Arduino控制板的自動(dòng)光控系統(tǒng) 833次閱讀
- 如何使用Arduino和LDR傳感器實(shí)現(xiàn)LCD液晶屏亮度的自動(dòng)調(diào)節(jié) 6529次閱讀
- 基于樹莓派組成的可隨身攜帶氣象站設(shè)計(jì)方案 2815次閱讀
- 基于ROHM BH1750環(huán)境光傳感器制作測(cè)光表過(guò)程 3087次閱讀
- dfrobotI2C BME680環(huán)境傳感器簡(jiǎn)介 2460次閱讀
- dfrobotLX1972環(huán)境光傳感器簡(jiǎn)介 1837次閱讀
- dfrobotTEMT6000環(huán)境光傳感器介紹 8646次閱讀
- dfrobotBH1750環(huán)境光傳感器簡(jiǎn)介 5112次閱讀
- DEMO Android4.4.2環(huán)境搭建 1089次閱讀
- 安華高科技正式推出了APDS-9007環(huán)境亮度傳感器產(chǎn)品 1352次閱讀
- 淺談傳感器中的環(huán)境傳感器 1685次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多