娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

單片機(jī)SHT20+BH1750+BMP180溫濕度、氣壓、光照度三合一設(shè)計(jì)

發(fā)布者:calmrs最新更新時(shí)間:2019-10-30 來源: 51hei關(guān)鍵字:單片機(jī)  SHT20  BH1750  BMP180 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

最近一直想做一個(gè)可以檢測溫濕度的,光照強(qiáng)度,還有氣壓檢測的儀表。而且要精度高反應(yīng)快的傳感器,在網(wǎng)上找了一圈,看的眼花繚亂,符合要求的價(jià)格都不低,無意中看到某寶看到一個(gè)溫濕度、氣壓、光照度三合一的傳感模塊,最重要的是模塊上面集成的溫濕度芯片是我首選的SHT20,還有光照強(qiáng)度傳感器BH1750. ,都符合自己的要求,這2款芯片在大學(xué)的時(shí)候就有所了解,算是溫度檢測和光照檢測領(lǐng)域里,精度高,體積非常小,性價(jià)比很高的一款。氣壓傳感器一般都是采用BMP180或者BMP085,這2個(gè)芯片也差不多的,現(xiàn)在用BMP180的感覺要多一些。非常符合設(shè)計(jì)需要。 再加上這個(gè)模塊是串口輸出,直接就可以讀取數(shù)據(jù)啦。哈哈哈,根本不需要自己去進(jìn)行3個(gè)傳感器的驅(qū)動(dòng)代碼編程,。(其實(shí)之前我也買個(gè)單獨(dú)的模塊回來,本來打算3個(gè)模塊并聯(lián)使用,,奈何程序花了好幾天時(shí)間都沒有調(diào)試通過,后來模塊直接都不知道丟哪里去了。)。于是果斷重新就此準(zhǔn)備自己重新制作一個(gè)。        因?yàn)槭悄K,沒有相關(guān)的顯示屏,硬著頭皮問賣家能不能拿送個(gè)顯示屏................結(jié)果和預(yù)想的一樣。需要單獨(dú)購買。好吧,又買了一塊單片機(jī)的板子,到手拼接后,開始查資料制作,于是出現(xiàn)了此貼。

從單片機(jī)板子和模塊到手后 到制作完成總共花了1天時(shí)間!附實(shí)物圖與相關(guān)程序,留給需要的人吧!其實(shí)還可以通過氣壓大小,有相應(yīng)來計(jì)算出海拔高度。過段時(shí)間更新的時(shí)候我在上傳上來。。。。3合1模塊上的傳感器:CMCU-01 SHT20+BMP180+BH1750FVI

.

 

各傳感器的參數(shù)介紹:
================================================
SHT20是瑞士Sensirion 數(shù)字溫濕度傳感器。 SHT20數(shù)字溫濕度傳感器是眾多溫濕度傳感器中一款性價(jià)比高的產(chǎn)品,配有4C 代CMOSens?芯片。除了配有電容式相對濕度傳感器和能隙溫度傳感器外,該芯片還包含一個(gè)放大器、A/D 轉(zhuǎn)換器、OTP 內(nèi)存和數(shù)字處理單元。用量以百萬計(jì),且應(yīng)用領(lǐng)域廣泛。該類傳感器適用于對成本極其敏感但又注重品質(zhì)的大批量生產(chǎn)的行業(yè)。 同時(shí)具有很高的溫度精度和濕度精度。 SHT20系列模塊專為低功耗小體積應(yīng)用設(shè)計(jì),具有良好的品質(zhì)、快的響應(yīng)速度、抗干擾能力強(qiáng)、性價(jià)比高等優(yōu)點(diǎn)、極低的功耗。懂行的人都知道它的優(yōu)點(diǎn)。傳感器重要參數(shù):                   濕度測量范圍:0—100%RH
濕度精度范圍(10%RH to 95%RH): ±3%RH溫度測量范圍: -40℃—125℃  (-40 - +257°F)溫度精度范圍:±0.3℃濕度遲滯:±1%RH測量時(shí)間:50ms年漂移量:-0.5%RH/year響應(yīng)時(shí)間:5 s
=================================================
BMP180是一款高精度、小體積、超低能耗的壓力傳感器,可以應(yīng)用在移動(dòng)設(shè)備中
它的性能卓越,絕對精度最低可以達(dá)到0.03hPa,并且耗電極低,只有3μA,采用強(qiáng)大的8-pin陶瓷無引線芯片承載(LCC)超薄封裝,可以通過I2C總線直接與各種微處理器相連
主要特點(diǎn):
壓力范圍:300~1100hPa(海拔9000米~-500米),從這里可以看出來,該模塊還可以通過公式計(jì)算海拔高度哦~
低功耗:5μA,在標(biāo)準(zhǔn)模式
高精度:低功耗模式下,分辨率為0.06hPa(0.5米)
高線性模式下,分辨率為0.03hPa(0.25米)

======================================================BH1750FVI
采用ROHM原裝BH1750FVI芯片
光照度范圍:0-65535 lx   (有沒有發(fā)現(xiàn)比光敏電阻強(qiáng)N倍?)
傳感器內(nèi)置16bitAD轉(zhuǎn)換器
直接數(shù)字輸出,省略復(fù)雜的計(jì)算,省略標(biāo)定
不區(qū)分環(huán)境光源
接近于視覺靈敏度的分光特性
可對廣泛的亮度進(jìn)行1勒克斯的高精度測定

===============================================

單片機(jī)源程序如下:

#include

#include

#include"LCD1602.h"


#define uchar unsigned char                // 以后unsigned char就可以用uchar代替

#define uint  unsigned int                // 以后unsigned int 就可以用uint 代替



uchar rxfalg=1;

uchar Byte1,Byte2,Byte3,Byte4,Byte5,Byte6,Byte7,Byte8,Byte9,Byte10,Byte11,Byte12,Byte13,Byte14,Byte15,Byte15,Byte16;


uint Light,Pressure,Temp; //定義的光照強(qiáng)度,氣壓,溫度。

uchar Humi; //濕度

/*********************************************************/

// 毫秒級的延時(shí)函數(shù),time是要延時(shí)的毫秒數(shù)

/*********************************************************/

void DelayMs(uint time)

{

        uint i,j;

        for(i=0;i                for(j=0;j<112;j++);

}




/*********************************************************/

// 串口初始化

/*********************************************************/

void UartInit()

{

        SCON = 0x50;        // 配置串口寄存器

        TMOD = 0x20;        // 配置定時(shí)器寄存器

        TH1  = 0xfd;        // 計(jì)算波特率的值為9600

        TL1  = 0xfd;        // 計(jì)算波特率的值為9600

        EA   = 1;                        // 打開總中斷

        ES   = 1;                        // 打開串口中斷

        TR1  = 1;                        // 啟動(dòng)定時(shí)器

}



/*********************************************************/

// 主函數(shù)

/*********************************************************/

void main(void)

{


  LCDInt(); //液晶初始化

        UartInit();                                                        // 串口初始化

  DelayMs(500);


             SetXY(0,0); // 光照

                         LCDWriteDate('L');

                         LCDWriteDate(':');

             SetXY(0,7);

             LCDWriteDate('L');

             LCDWriteDate('x');

        

             SetXY(1,0); // 氣壓

                         LCDWriteDate('P');

                         LCDWriteDate(':');

             SetXY(1,8);

             LCDWriteDate('K');

             LCDWriteDate('p');

           

            

             SetXY(0,10); // 溫度

                         LCDWriteDate('T');

                         LCDWriteDate(':');

            // SetXY(0,15); //

                        // LCDWriteDate(0XDF);

                        

             SetXY(1,11); //濕度

                         LCDWriteDate('H');

                         LCDWriteDate(':');

                         SetXY(1,15); //

       LCDWriteDate('%');

                        

        

        while(1)

        { 

                

                 

                if(rxfalg==0)

                {

                         rxfalg=1;

                 

                  //光照強(qiáng)度

                   SetXY(0,2); //

       LCDWriteDate(Light/10000+0x30);

                         LCDWriteDate(Light%10000/1000+0x30);

                         LCDWriteDate(Light%1000/100+0x30);

                         LCDWriteDate(Light%100/10+0x30);

                         LCDWriteDate(Light%10+0x30);

                        

                         //氣壓強(qiáng)度

                   SetXY(1,2); //

       LCDWriteDate(Pressure/10000+0x30);

                         LCDWriteDate(Pressure%10000/1000+0x30);

                         LCDWriteDate(Pressure%1000/100+0x30);

                         LCDWriteDate('.');

                         LCDWriteDate(Pressure%100/10+0x30);

                         LCDWriteDate(Pressure%10+0x30);

                        

                         //溫度

                   SetXY(0,12); //

       LCDWriteDate(Temp/100+0x30);

                         LCDWriteDate(Temp%100/10+0x30);

                         LCDWriteDate('.');

       LCDWriteDate(Temp%10+0x30);

                         

                         //濕度

                   SetXY(1,13); //

       LCDWriteDate(Humi/10+0x30);

       LCDWriteDate(Humi%10+0x30);

                        

                }

                

           DelayMs(500);

}


}


/*********************************************************/

// 串口中斷服務(wù)程序

/*********************************************************/

void UartInt(void) interrupt 4

{

      ES = 0;                           //關(guān)串口中斷,防止中斷嵌套


                        while(!RI);                        // 固定位0XAA

[1] [2]
關(guān)鍵字:單片機(jī)  SHT20  BH1750  BMP180 引用地址:單片機(jī)SHT20+BH1750+BMP180溫濕度、氣壓、光照度三合一設(shè)計(jì)

上一篇:STC15F2系列單片機(jī)UART1使用定時(shí)器1做波特率發(fā)生器
下一篇:單片機(jī)+ADC0832簡易數(shù)字電壓表

推薦閱讀最新更新時(shí)間:2025-05-21 15:39

(2)趣味單片機(jī)Thinkercad-基本電路玩法
上一篇我們大概看了Tinkercad有那些元器件,接下來我們通過一些基本電路的方式來認(rèn)識這些基本元器件 一、電池點(diǎn)亮LED燈 實(shí)驗(yàn)材料:電池x2、LEDx1、100Ω電阻、開關(guān) 實(shí)物材料: 實(shí)驗(yàn)現(xiàn)象 電池:為電路提供能量 LED燈:當(dāng)電流從正確的方向通過時(shí)會(huì)亮起的發(fā)光二極管 電阻:限制電路中的電流,從而降低電壓和流 開關(guān):切斷和連通電路用 我們注意到實(shí)驗(yàn)現(xiàn)象中,二極管反接時(shí),LED燈不會(huì)亮,所以LED燈是有方向性的 二、電池驅(qū)動(dòng)直流電機(jī)轉(zhuǎn)動(dòng) 實(shí)驗(yàn)材料:電池x2、直流電機(jī)、開關(guān) 實(shí)物材料: 實(shí)驗(yàn)現(xiàn)象 電機(jī):將直流電轉(zhuǎn)化為機(jī)械能的裝置 我們注意到實(shí)驗(yàn)現(xiàn)象中,當(dāng)給電機(jī)通上正方向的電流時(shí),電機(jī)正轉(zhuǎn)(順時(shí)針);當(dāng)給
[單片機(jī)]
(13)趣味單片機(jī)新玩法-仿真的同時(shí)偶爾也要回歸實(shí)物
我們先來看同一個(gè)呼吸燈代碼在不同軟件及實(shí)物上的運(yùn)行效果,這時(shí)一個(gè)呼吸燈的示例,PWM周期是200us 200us 實(shí)物效果 200usThinkerCAD在線軟件效果 200usProteus效果 200us 代碼: 如果說這個(gè)對比感覺看不出什么,我們接下來把周期弄長一點(diǎn),刷新率改低一點(diǎn),延時(shí)是5000us=5ms 5ms 實(shí)物效果 5msThinkerCAD在線軟件效果 5ms Proteus效果 5ms代碼: 總結(jié): 從上面的對比實(shí)驗(yàn)可以很明顯的看到,Proteus軟件的效果與實(shí)物的效果相差甚遠(yuǎn),亮度調(diào)節(jié)過程中有明顯的“頓挫感”;當(dāng)我們在使用仿真軟件看到的結(jié)果不符合我們預(yù)期時(shí),我們最好
[單片機(jī)]
干貨:手把手指導(dǎo)單片機(jī)復(fù)位原因分析
當(dāng)STM32發(fā)生復(fù)位時(shí),可能原因有上電復(fù)位、掉電復(fù)位、看門狗復(fù)位、軟件復(fù)位等多種,那怎么判斷STM32復(fù)位的原因呢?且看輕松學(xué)長慢慢道來。 1、STM32 復(fù)位類型 STM32有三種復(fù)位:系統(tǒng)復(fù)位、電源復(fù)位和后備域復(fù)位。 1.1 系統(tǒng)復(fù)位 指除時(shí)鐘控制寄存器CSR中的復(fù)位標(biāo)志和備份區(qū)域中的寄存器外,將其他的所有寄存器復(fù)位為它們的復(fù)位數(shù)值。系統(tǒng)復(fù)位可通過查看RCC_CSR控制狀態(tài)寄存器中的復(fù)位狀態(tài)標(biāo)志位識別復(fù)位事件來源,這就是今天的重點(diǎn)。 關(guān)于備份區(qū)域的理解可看下圖: image 有以下事件發(fā)生時(shí),會(huì)產(chǎn)生一個(gè)系統(tǒng)復(fù)位: 軟件復(fù)位(SW復(fù)位) 低功耗管理復(fù)位 NRST引腳上的低電平(外部復(fù)位) 窗口看門狗計(jì)數(shù)終止(WWDG
[單片機(jī)]
【GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(3)NVIC 介紹
NVIC(Nested vectored interrupt controller,嵌套向量中斷控制器)是Cortex-M處理器的一部分,它是可編程的,且寄存器位于存儲器映射的系統(tǒng)控制空間(SCS)。NVIC與內(nèi)核相輔相成,共同完成對中斷的響應(yīng)。本章將介紹中斷的優(yōu)先級設(shè)置、如何定義中斷函數(shù)名稱、中斷向量如何偏移。有關(guān)NVIC的更多知識,請見《ARM Coretex-M3權(quán)威指南》。 3.1.優(yōu)先級的設(shè)置 在Cortex-M中,優(yōu)先級對于異常來說很關(guān)鍵的,它會(huì)影響一個(gè)異常是否能被響應(yīng),以及何時(shí)可以響應(yīng)。優(yōu)先級的數(shù)值越小,則優(yōu)先級越高。Cortex-M支持中斷嵌套,使得高優(yōu)先級異常會(huì)搶占低優(yōu)先級異常。有3個(gè)系統(tǒng)異常:復(fù)位,NMI以
[單片機(jī)]
【GD32 <font color='red'>MCU</font> 入門教程】GD32 <font color='red'>MCU</font> 常見外設(shè)介紹(3)NVIC 介紹
華大電子MCU CIU32M010、CIU32M030循環(huán)冗余校驗(yàn)計(jì)算單元及電源管理
1.循環(huán)冗余校驗(yàn)計(jì)算單元(CRC) 1.1模塊介紹 循環(huán)冗余校驗(yàn)(CRC)計(jì)算單元是根據(jù)自定義的生成多項(xiàng)式得到任意一個(gè) 32 位全字的 CRC 計(jì)算結(jié)果。 在其他的應(yīng)用中,CRC 技術(shù)主要應(yīng)用于核實(shí)數(shù)據(jù)傳輸或者數(shù)據(jù)存儲的正確性和完整性。CRC 計(jì)算單元可以在程序運(yùn)行時(shí)計(jì)算出軟件的標(biāo)識,之后與在連接時(shí)生成的參考標(biāo)識比較,然后存放在指定的存儲器空間。 1.2功能特點(diǎn) ? 支持 16/32 位不同長度的多項(xiàng)式 ? 支持自定義的多項(xiàng)式 ? 默認(rèn)是 32 位多項(xiàng)式: x 32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 +x8 + x7 + x5 + x4 + x2+ x +1 ? 一個(gè) 32 位初始
[單片機(jī)]
華大電子<font color='red'>MCU</font> CIU32M010、CIU32M030循環(huán)冗余校驗(yàn)計(jì)算單元及電源管理
因?yàn)闃漭尚峦频牡诙?font color='red'>MCU,工程師吵起來了
2021年,樹莓派推出其首款售價(jià)僅為4美元的MCU——Raspberry Pi Pico,它基于RP2040構(gòu)建。而后又推出添加英飛凌CYW43439無線芯片的6美元Raspberry Pi Pico W。 時(shí)隔三年,再看這個(gè)產(chǎn)品,誰也沒想到這一產(chǎn)品能夠大獲歡迎,不僅本身可玩性強(qiáng),還被實(shí)際用在工業(yè)中。但仔細(xì)想想,這個(gè)產(chǎn)品又有許多設(shè)計(jì)上的不足,包括片上存儲、低功耗空閑和封裝選項(xiàng)等,同時(shí)內(nèi)核速度也不夠快。 前兩天,樹莓派推出5美元的Raspberry Pi Pico 2。這一次,他們不僅升級了內(nèi)核和功能,還加入了RISC-V,這引發(fā)了工程師大規(guī)模的討論。其中,不乏一些吐槽。 依然經(jīng)濟(jì)實(shí)惠的設(shè)計(jì) Pico 2延續(xù)了Pi
[單片機(jī)]
因?yàn)闃漭尚峦频牡诙?font color='red'>MCU</font>,工程師吵起來了
《8051單片機(jī)C語言創(chuàng)新教程》筆記 01
內(nèi)部存儲器結(jié)構(gòu):RAM 與 ROM 地址重合同過選通信號 PSEN 區(qū)分 用戶避免進(jìn)入的某些存儲單元 中斷服務(wù)函數(shù)的入口地址: 用戶真正使用的是 30H—7FH------------------------------80字節(jié) 特殊功能寄存器地址分配:80H—FFH
[單片機(jī)]
《8051<font color='red'>單片機(jī)</font>C語言創(chuàng)新教程》筆記 01
單片機(jī)數(shù)據(jù)通信學(xué)習(xí)中串口有多重要?
剛開始學(xué)單片機(jī)的你,是不是會(huì)因用程序把LED點(diǎn)亮而感到高興,會(huì)因用程序把數(shù)碼管點(diǎn)亮而感到高興。這是好事,這也是想繼續(xù)學(xué)習(xí)下去的動(dòng)力。 但是到了與數(shù)據(jù)相關(guān)的實(shí)驗(yàn)時(shí),卻感覺很難有所進(jìn)步。有時(shí)候,把驅(qū)動(dòng)寫好了,下載到單片機(jī)后,一點(diǎn)反應(yīng)都沒有,可是又不知道問題出在哪里,數(shù)據(jù)通信又不像LED那樣可以用萬用表測出到底有沒有電。 這是學(xué)習(xí)單片機(jī)和STM32的一道坎。又或者說,這是一條河,阻攔著你的去路的河,有一條河你會(huì)怎么辦?過去的方法很多,但是筆者覺得較快的方法就是借助原有工具渡過去。過去之后你會(huì)發(fā)現(xiàn)河的那邊是一個(gè)不一樣的世界。 那這個(gè)原有的工具是什么呢?那就是“串口通信”。 串口通信介紹 串口通信是指外設(shè)和計(jì)算機(jī)間,通過數(shù)據(jù)信號線 、地
[單片機(jī)]
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章
隨便看看

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京B2-20211791 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 杨浦区| 华宁县| 阳江市| 潜山县| 大英县| 沙田区| 齐齐哈尔市| 明光市| 周宁县| 普格县| 弥勒县| 平顺县| 扶余县| 凌源市| 中阳县| 固安县| 东丰县| 车致| 滦平县| 丁青县| 美姑县| 江安县| 隆回县| 济源市| 巩义市| 阜南县| 瓦房店市| 乌鲁木齐市| 康乐县| 绿春县| 永春县| 邯郸县| 那坡县| 绥芬河市| 维西| 富宁县| 临澧县| 古交市| 云安县| 常州市| 怀来县|