chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

BME280壓力和溫濕度傳感器的工作原理

454398 ? 來(lái)源:wv ? 2019-10-25 10:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:BME280探索

電子行業(yè)已使用BME280傳感器(具有溫度,氣壓和濕度的環(huán)境傳感器)加快了競(jìng)爭(zhēng)步伐!該傳感器非常適合各種天氣/環(huán)境傳感,甚至可以在I2C中使用。

此精密傳感器BME280是用于測(cè)量濕度(精度為±3%),氣壓為±1的最佳傳感解決方案。 hPa絕對(duì)精度,溫度精度為±1.0°C。由于壓力會(huì)隨高度變化,因此壓力測(cè)量值非常好,因此您也可以將其用作高度計(jì),精度為±1米或更高!溫度傳感器經(jīng)過優(yōu)化,可實(shí)現(xiàn)最低噪聲和高分辨率,可用于溫度補(bǔ)償壓力傳感器,也可用于估算環(huán)境溫度。 BME280的測(cè)量可以由用戶執(zhí)行,也可以定期進(jìn)行。

數(shù)據(jù)表:?jiǎn)螕粢灶A(yù)覽或下載BME280傳感器的數(shù)據(jù)表。

步驟2:硬件需求列表

我們完全使用了Dcube Store Parts,因?yàn)樗鼈円子谑褂茫⑶宜信c厘米網(wǎng)格完全匹配的東西確實(shí)可以使我們前進(jìn)。您可以根據(jù)需要使用任何東西,但接線圖將假定您正在使用這些零件。

BME280傳感器I2C微型模塊

I2C粒子光子防護(hù)罩

粒子光子

I2C電纜

電源適配器

步驟3:接口連接

接口部分基本上說明了傳感器與粒子光子之間所需的接線。在任何系統(tǒng)上為所需的輸出工作時(shí),確保正確的連接是基本必要。因此,必要的連接如下:

BME280將在I2C上運(yùn)行。這是示例接線圖,演示了如何連接傳感器的每個(gè)接口。開箱即用,該電路板已配置為I2C接口,因此,如果您不確定,我們建議使用此接口。您只需要四根電線! Vcc,Gnd,SCL和SDA引腳僅需要四個(gè)連接,它們通過I2C電纜連接。這些連接如上圖所示。

步驟4:溫度,壓力和濕度監(jiān)控代碼

我們將在此處使用干凈的代碼版本來(lái)運(yùn)行它。

在將傳感器模塊與Arduino結(jié)合使用時(shí),我們包含了application.h和spark_wiring_i2c.h庫(kù)。 “ application.h”和spark_wiring_i2c.h庫(kù)包含促進(jìn)傳感器與粒子之間的i2c通信的功能。

點(diǎn)擊此處打開用于設(shè)備監(jiān)控的網(wǎng)頁(yè)

上傳代碼添加到您的開發(fā)板上,它應(yīng)該開始工作了!所有數(shù)據(jù)都可以在網(wǎng)頁(yè)上獲得,如圖所示。

代碼如下:

// Distributed with a free-will license.

// Use it any way you want, profit or free, provided it fits in the licenses of its associated works.

// BME280

// This code is designed to work with the BME280_I2CS I2C Mini Module available from ControlEverything.com.

#include

#include

// BME280 I2C address is 0x76(108)

#define Addr 0x76

double cTemp = 0, fTemp = 0, pressure = 0, humidity = 0;

void setup()

{

// Set variable

Particle.variable(“i2cdevice”, “BME280”);

article.variable(“cTemp”, cTemp);

Particle.variable(“fTemp”, fTemp);

Particle.variable(“pressure”, pressure);

Particle.variable(“humidity”, humidity);

// Initialise I2C communication as MASTER

Wire.begin();

// Initialise Serial communication, set baud rate = 9600

Serial.begin(9600);

delay(300);

}

void loop()

{

unsigned int b1[24];

unsigned int data[8];

int dig_H1 = 0;

for(int i = 0; i 《 24; i++)

{

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Select data register

Wire.write((136+i));

// Stop I2C Transmission

Wire.endTransmission();

// Request 1 byte of data

Wire.requestFrom(Addr, 1);

// Read 24 bytes of data

if(Wire.available() == 1)

{

b1[i] = Wire.read();

}

}

// Convert the data

// temp coefficents

int dig_T1 = (b1[0] & 0xff) + ((b1[1] & 0xff) * 256);

int dig_T2 = b1[2] + (b1[3] * 256);

int dig_T3 = b1[4] + (b1[5] * 256);

// pressure coefficents

int dig_P1 = (b1[6] & 0xff) + ((b1[7] & 0xff ) * 256);

int dig_P2 = b1[8] + (b1[9] * 256);

int dig_P3 = b1[10] + (b1[11] * 256);

int dig_P4 = b1[12] + (b1[13] * 256);

int dig_P5 = b1[14] + (b1[15] * 256);

int dig_P6 = b1[16] + (b1[17] * 256);

int dig_P7 = b1[18] + (b1[19] * 256);

int dig_P8 = b1[20] + (b1[21] * 256);

int dig_P9 = b1[22] + (b1[23] * 256);

for(int i = 0; i 《 7; i++)

{

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Select data register

Wire.write((225+i));

// Stop I2C Transmission

Wire.endTransmission();

// Request 1 byte of data

Wire.requestFrom(Addr, 1);

// Read 7 bytes of data

if(Wire.available() == 1)

{

b1[i] = Wire.read();

}

}

// Convert the data

// humidity coefficents

int dig_H2 = b1[0] + (b1[1] * 256);

int dig_H3 = b1[2] & 0xFF ;

int dig_H4 = (b1[3] * 16) + (b1[4] & 0xF);

int dig_H5 = (b1[4] / 16) + (b1[5] * 16);

int dig_H6 = b1[6];

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Select data register

Wire.write(161);

// Stop I2C Transmission

Wire.endTransmission();

// Request 1 byte of data

Wire.requestFrom(Addr, 1);

// Read 1 byte of data

if(Wire.available() == 1)

{

dig_H1 = Wire.read();

}

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Select control humidity register

Wire.write(0xF2);

// Humidity over sampling rate = 1

Wire.write(0x01);

// Stop I2C Transmission

Wire.endTransmission();

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Select control measurement register

Wire.write(0xF4);

// Normal mode, temp and pressure over sampling rate = 1

Wire.write(0x27);

// Stop I2C Transmission

Wire.endTransmission();

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Select config register

Wire.write(0xF5);

// Stand_by time = 1000ms

Wire.write(0xA0);

// Stop I2C Transmission

Wire.endTransmission();

for(int i = 0; i 《 8; i++)

{

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Select data register

Wire.write((247+i));

// Stop I2C Transmission

Wire.endTransmission();

// Request 1 byte of data

Wire.requestFrom(Addr, 1);

// Read 8 bytes of data

if(Wire.available() == 1)

{

data[i] = Wire.read();

}

}

// Convert pressure and temperature data to 19-bits

long adc_p = (((long)(data[0] & 0xFF) * 65536) + ((long)(data[1] & 0xFF) * 256) + (long)(data[2] & 0xF0)) / 16;

long adc_t = (((long)(data[3] & 0xFF) * 65536) + ((long)(data[4] & 0xFF) * 256) + (long)(data[5] & 0xF0)) / 16;

// Convert the humidity data long adc_h = ((long)(data[6] & 0xFF) * 256 + (long)(data[7] & 0xFF));

// Temperature offset calculations

double var1 = (((double)adc_t) / 16384.0 - ((double)dig_T1) / 1024.0) * ((double)dig_T2);

double var2 = ((((double)adc_t) / 131072.0 - ((double)dig_T1) / 8192.0) * (((double)adc_t)/131072.0 - ((double)dig_T1)/8192.0)) * ((double)dig_T3);

double t_fine = (long)(var1 + var2);

double cTemp = (var1 + var2) / 5120.0;

double fTemp = cTemp * 1.8 + 32;

// Pressure offset calculations

var1 = ((double)t_fine / 2.0) - 64000.0;

var2 = var1 * var1 * ((double)dig_P6) / 32768.0;

var2 = var2 + var1 * ((double)dig_P5) * 2.0;

var2 = (var2 / 4.0) + (((double)dig_P4) * 65536.0);

var1 = (((double) dig_P3) * var1 * var1 / 524288.0 + ((double) dig_P2) * var1) / 524288.0;

var1 = (1.0 + var1 / 32768.0) * ((double)dig_P1);

double p = 1048576.0 - (double)adc_p;

p = (p - (var2 / 4096.0)) * 6250.0 / var1;

var1 = ((double) dig_P9) * p * p / 2147483648.0;

var2 = p * ((double) dig_P8) / 32768.0;

double pressure = (p + (var1 + var2 + ((double)dig_P7)) / 16.0) / 100 ;

// Humidity offset calculations

double var_H = (((double)t_fine) - 76800.0);

var_H = (adc_h - (dig_H4 * 64.0 + dig_H5 / 16384.0 * var_H)) * (dig_H2 / 65536.0 * (1.0 + dig_H6 / 67108864.0 * var_H * (1.0 + dig_H3 / 67108864.0 * var_H)));

double humidity = var_H * (1.0 - dig_H1 * var_H / 524288.0);

if(humidity 》 100.0)

{

humidity = 100.0;

}

else if(humidity 《 0.0)

{

humidity = 0.0;

}

// Output data to dashboard

Particle.publish(“Temperature in Celsius : ”, String(cTemp));

Particle.publish(“Temperature in Fahrenheit : ”, String(fTemp));

Particle.publish(“Pressure : ”, String(pressure));

Particle.publish(“Relative Humidity : ”, String(humidity));

delay(1000);

}

步驟5:應(yīng)用程序:

BME280溫度,壓力和相對(duì)濕度傳感器具有多種工業(yè)應(yīng)用,例如溫度監(jiān)控,計(jì)算機(jī)外圍熱保護(hù),工業(yè)壓力監(jiān)控。我們還將這種傳感器應(yīng)用于氣象站應(yīng)用程序以及溫室監(jiān)控系統(tǒng)中。

其他應(yīng)用程序可能包括:

情境感知,例如皮膚檢測(cè),房間變化檢測(cè)。

體能監(jiān)測(cè)/健康-有關(guān)干燥或高溫的警告。

測(cè)量風(fēng)量和空氣流量。

家庭自動(dòng)化控制。

控制供暖,通風(fēng)和空調(diào)(HVAC)。

物聯(lián)網(wǎng)。

GPS增強(qiáng)功能(例如,首次定位時(shí)間的改進(jìn),航位推測(cè),斜率檢測(cè))。

室內(nèi)導(dǎo)航(更改樓層檢測(cè),電梯檢測(cè))。

戶外導(dǎo)航,休閑和體育應(yīng)用。

天氣預(yù)報(bào)。

垂直速度指示(上升/下降速度)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2573

    文章

    53934

    瀏覽量

    781715
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【上海晶珩睿莓1開發(fā)板試用體驗(yàn)】6、I2C通信-讀取BME280溫濕度氣壓數(shù)據(jù)

    BME280簡(jiǎn)介 BME280連接睿莓1 將BME280模塊的SDA接PIN3,SCL接PIN5,VCC接3V3,GND接GND 使用命令 i2cdetect -y 1 該命令查看在I2C1上
    發(fā)表于 08-20 08:56

    中科銀河芯GXHT30溫濕度傳感器的卓越性能

    在工業(yè)自動(dòng)化、智能家居、醫(yī)療設(shè)備等領(lǐng)域,溫濕度數(shù)據(jù)的精準(zhǔn)采集直接影響系統(tǒng)性能與決策質(zhì)量。傳統(tǒng)傳感器往往面臨精度不足、穩(wěn)定性差、適配性有限等痛點(diǎn),而中科銀河芯推出的 GXHT30 溫濕度傳感器
    的頭像 發(fā)表于 08-08 17:09 ?1653次閱讀

    什么是溫濕度傳感器的水合?

    溫濕度傳感器需要進(jìn)行水合處理(Hydration),主要是為了優(yōu)化傳感器的性能、穩(wěn)定性和長(zhǎng)期可靠性。以下是具體原因和作用的詳細(xì)解釋:1.穩(wěn)定濕度敏感材料電容式
    的頭像 發(fā)表于 07-11 12:10 ?532次閱讀
    什么是<b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>的水合?

    一款適用于粉塵、易結(jié)露等惡劣環(huán)境溫濕度監(jiān)控中的溫濕度傳感芯片

    溫濕度監(jiān)控系統(tǒng)在惡劣環(huán)境中通過傳感器實(shí)時(shí)監(jiān)測(cè)溫濕度參數(shù),當(dāng)達(dá)到預(yù)設(shè)閾值時(shí)自動(dòng)觸發(fā)預(yù)警或調(diào)節(jié)機(jī)制,確保環(huán)境狀態(tài)維持在安全范圍內(nèi)。
    的頭像 發(fā)表于 07-09 09:41 ?363次閱讀
    一款適用于粉塵、易結(jié)露等惡劣環(huán)境<b class='flag-5'>溫濕度</b>監(jiān)控中的<b class='flag-5'>溫濕度</b><b class='flag-5'>傳感</b>芯片

    【BPI-CanMV-K230D-Zero開發(fā)板體驗(yàn)】04 I2C讀取BME280溫濕度氣壓數(shù)據(jù)

    1 前言 本次實(shí)驗(yàn)的主要目標(biāo)是通過 I2C 接口讀取 BME280 傳感器的數(shù)據(jù),并進(jìn)行溫度、氣壓、濕度的補(bǔ)償處理,最后打印出人類可讀的環(huán)境信息。 2 API講解 2.1 machine.I2C
    發(fā)表于 07-02 21:29

    常見的溫濕度傳感器類型?

    溫濕度傳感器是一種用于測(cè)量環(huán)境溫度和濕度的設(shè)備,廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、氣象等領(lǐng)域。以下是幾種常見的溫濕度傳感器類型及其優(yōu)缺點(diǎn): 電容式
    發(fā)表于 06-24 09:24

    溫濕度傳感器:核心原理與跨領(lǐng)域應(yīng)用解析

    、農(nóng)業(yè)種植、醫(yī)療倉(cāng)儲(chǔ)等領(lǐng)域。根據(jù)市場(chǎng)研究機(jī)構(gòu)的數(shù)據(jù),2025 年全球溫濕度傳感器市場(chǎng)規(guī)模預(yù)計(jì)突破 50 億美元,年復(fù)合增長(zhǎng)率達(dá) 8.7%。 二、工作原理與技術(shù)分類 溫度測(cè)量模塊 熱電偶技術(shù) :利用兩種不同金屬的熱電效應(yīng),將溫度差
    的頭像 發(fā)表于 03-27 11:21 ?1245次閱讀
    <b class='flag-5'>溫濕度</b><b class='flag-5'>傳感器</b>:核心原理與跨領(lǐng)域應(yīng)用解析

    溫濕度傳感器:生活中的“小氣候?qū)<摇?/a>

    ,我們就來(lái)一起揭開溫濕度傳感器的神秘面紗,看看它是如何工作,并在我們的生活中發(fā)揮重要作用的。 一、溫濕度傳感器的自我介紹
    的頭像 發(fā)表于 02-27 16:36 ?744次閱讀

    【瑞薩RA2L1入門學(xué)習(xí)】04、I2C驅(qū)動(dòng)OLED屏幕 BME280傳感器

    修改,具體的修改參考軟件部分。 2.3 BME280溫濕度氣壓傳感器 BME280是一款由Bosch Sensortec開發(fā)的多功能環(huán)境傳感器
    發(fā)表于 01-29 17:09

    遠(yuǎn)程溫濕度實(shí)時(shí)監(jiān)測(cè)系統(tǒng)應(yīng)用方案

    遠(yuǎn)程溫濕度實(shí)時(shí)監(jiān)測(cè)系統(tǒng),作為現(xiàn)代環(huán)境管理的重要組成部分,是各行各業(yè)不可或缺的重要工具,對(duì)環(huán)境溫濕度的遠(yuǎn)程、實(shí)時(shí)、精準(zhǔn)監(jiān)測(cè)。 一、運(yùn)行原理 聚英遠(yuǎn)程溫濕度實(shí)時(shí)監(jiān)測(cè)系統(tǒng),依賴于高精度溫濕度
    的頭像 發(fā)表于 01-02 17:03 ?927次閱讀

    NB溫濕度傳感器:無(wú)線傳輸,便捷安裝

    在現(xiàn)代環(huán)境監(jiān)測(cè)與控制領(lǐng)域,溫濕度傳感器扮演著至關(guān)重要的角色。而 NB 溫濕度傳感器憑借其無(wú)線傳輸特性和便捷的安裝方式,正逐漸成為眾多應(yīng)用場(chǎng)景中的設(shè)備,為人們的生活和生產(chǎn)帶來(lái)了極大的便利
    的頭像 發(fā)表于 12-29 09:31 ?888次閱讀

    農(nóng)業(yè)溫濕度監(jiān)控系統(tǒng)

    的現(xiàn)代農(nóng)業(yè)管理工具。通過布置在農(nóng)田、溫室等場(chǎng)所的溫濕度傳感器,實(shí)時(shí)采集環(huán)境數(shù)據(jù),通過數(shù)據(jù)處理分析,為農(nóng)業(yè)生產(chǎn)提供精準(zhǔn)的溫濕度信息,為農(nóng)業(yè)生產(chǎn)者提供決策支持。非常適合農(nóng)業(yè)大棚內(nèi)部潮濕且環(huán)境多變的條件。
    的頭像 發(fā)表于 12-11 16:24 ?706次閱讀

    LORA無(wú)線溫濕度監(jiān)測(cè)系統(tǒng)

    倉(cāng)儲(chǔ)、農(nóng)業(yè)、機(jī)房等多種應(yīng)用場(chǎng)景,提供高效、可靠的解決方案。 部分組成 LORA溫濕度傳感器:作為系統(tǒng)的前端采集設(shè)備,實(shí)時(shí)捕捉環(huán)境中的溫濕度數(shù)據(jù)。LORA溫濕度
    的頭像 發(fā)表于 11-07 16:57 ?1035次閱讀

    溫濕度控制的功能和應(yīng)用

    溫濕度控制在電阻柜中的應(yīng)用主要涉及以下幾個(gè)方面: 溫濕度控制的功能 檢測(cè)與控制:溫濕度控制
    的頭像 發(fā)表于 11-07 15:08 ?1157次閱讀

    溫濕度控制的應(yīng)用場(chǎng)景及功能特點(diǎn)分析

    一、定義 溫濕度控制是一種用于監(jiān)測(cè)和控制環(huán)境溫度和濕度的設(shè)備。 二、工作原理 溫濕度控制通常
    的頭像 發(fā)表于 10-28 13:25 ?1519次閱讀
    <b class='flag-5'>溫濕度</b>控制<b class='flag-5'>器</b>的應(yīng)用場(chǎng)景及功能特點(diǎn)分析