|
最近一直想做一個(gè)可以檢測(cè)溫濕度的,光照強(qiáng)度,還有氣壓檢測(cè)的儀表。而且要精度高反應(yīng)快的傳感器,在網(wǎng)上找了一圈,看的眼花繚亂,符合要求的價(jià)格都不低,無(wú)意中看到某寶看到一個(gè)溫濕度、氣壓、光照度三合一的傳感模塊,最重要的是模塊上面集成的溫濕度芯片是我首選的SHT20,還有光照強(qiáng)度傳感器BH1750. ,都符合自己的要求,這2款芯片在大學(xué)的時(shí)候就有所了解,算是溫度檢測(cè)和光照檢測(cè)領(lǐng)域里,精度高,體積非常小,性?xún)r(jià)比很高的一款。氣壓傳感器一般都是采用BMP180或者BMP085,這2個(gè)芯片也差不多的,現(xiàn)在用BMP180的感覺(jué)要多一些。非常符合設(shè)計(jì)需要。 再加上這個(gè)模塊是串口輸出,直接就可以讀取數(shù)據(jù)啦。哈哈哈,根本不需要自己去進(jìn)行3個(gè)傳感器的驅(qū)動(dòng)代碼編程,。(其實(shí)之前我也買(mǎi)個(gè)單獨(dú)的模塊回來(lái),本來(lái)打算3個(gè)模塊并聯(lián)使用,,奈何程序花了好幾天時(shí)間都沒(méi)有調(diào)試通過(guò),后來(lái)模塊直接都不知道丟哪里去了。)。于是果斷重新就此準(zhǔn)備自己重新制作一個(gè)。 因?yàn)槭悄K,沒(méi)有相關(guān)的顯示屏,硬著頭皮問(wèn)賣(mài)家能不能拿送個(gè)顯示屏................結(jié)果和預(yù)想的一樣。需要單獨(dú)購(gòu)買(mǎi)。好吧,又買(mǎi)了一塊單片機(jī)的板子,到手拼接后,開(kāi)始查資料制作,于是出現(xiàn)了此貼。
從單片機(jī)板子和模塊到手后 到制作完成總共花了1天時(shí)間!附實(shí)物圖與相關(guān)程序,留給需要的人吧!其實(shí)還可以通過(guò)氣壓大小,有相應(yīng)來(lái)計(jì)算出海拔高度。過(guò)段時(shí)間更新的時(shí)候我在上傳上來(lái)。。。。3合1模塊上的傳感器:CMCU-01 SHT20+BMP180+BH1750FVI
2.jpg (71.99 KB, 下載次數(shù): 69)
下載附件
2019-2-22 18:36 上傳
1.jpg (95.98 KB, 下載次數(shù): 64)
下載附件
2019-2-22 18:36 上傳
各傳感器的參數(shù)介紹:
================================================
SHT20是瑞士Sensirion 數(shù)字溫濕度傳感器。 SHT20數(shù)字溫濕度傳感器是眾多溫濕度傳感器中一款性?xún)r(jià)比高的產(chǎn)品,配有4C 代CMOSens®芯片。除了配有電容式相對(duì)濕度傳感器和能隙溫度傳感器外,該芯片還包含一個(gè)放大器、A/D 轉(zhuǎn)換器、OTP 內(nèi)存和數(shù)字處理單元。用量以百萬(wàn)計(jì),且應(yīng)用領(lǐng)域廣泛。該類(lèi)傳感器適用于對(duì)成本極其敏感但又注重品質(zhì)的大批量生產(chǎn)的行業(yè)。 同時(shí)具有很高的溫度精度和濕度精度。 SHT20系列模塊專(zhuān)為低功耗小體積應(yīng)用設(shè)計(jì),具有良好的品質(zhì)、快的響應(yīng)速度、抗干擾能力強(qiáng)、性?xún)r(jià)比高等優(yōu)點(diǎn)、極低的功耗。懂行的人都知道它的優(yōu)點(diǎn)。傳感器重要參數(shù): 濕度測(cè)量范圍:0—100%RH
濕度精度范圍(10%RH to 95%RH): ±3%RH溫度測(cè)量范圍: -40℃—125℃ (-40 - +257°F)溫度精度范圍:±0.3℃濕度遲滯:±1%RH測(cè)量時(shí)間:50ms年漂移量:-0.5%RH/year響應(yīng)時(shí)間:5 s
=================================================
BMP180是一款高精度、小體積、超低能耗的壓力傳感器,可以應(yīng)用在移動(dòng)設(shè)備中
它的性能卓越,絕對(duì)精度最低可以達(dá)到0.03hPa,并且耗電極低,只有3μA,采用強(qiáng)大的8-pin陶瓷無(wú)引線芯片承載(LCC)超薄封裝,可以通過(guò)I2C總線直接與各種微處理器相連
主要特點(diǎn):
壓力范圍:300~1100hPa(海拔9000米~-500米),從這里可以看出來(lái),該模塊還可以通過(guò)公式計(jì)算海拔高度哦~
低功耗:5μA,在標(biāo)準(zhǔn)模式
高精度:低功耗模式下,分辨率為0.06hPa(0.5米)
高線性模式下,分辨率為0.03hPa(0.25米)
======================================================BH1750FVI
采用ROHM原裝BH1750FVI芯片
光照度范圍:0-65535 lx (有沒(méi)有發(fā)現(xiàn)比光敏電阻強(qiáng)N倍?)
傳感器內(nèi)置16bitAD轉(zhuǎn)換器
直接數(shù)字輸出,省略復(fù)雜的計(jì)算,省略標(biāo)定
不區(qū)分環(huán)境光源
接近于視覺(jué)靈敏度的分光特性
可對(duì)廣泛的亮度進(jìn)行1勒克斯的高精度測(cè)定
===============================================
單片機(jī)源程序如下:
- #include <reg52.h>
- #include <intrins.h>
- #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; //濕度
- /*********************************************************/
- // 毫秒級(jí)的延時(shí)函數(shù),time是要延時(shí)的毫秒數(shù)
- /*********************************************************/
- void DelayMs(uint time)
- {
- uint i,j;
- for(i=0;i<time;i++)
- for(j=0;j<112;j++);
- }
- /*********************************************************/
- // 串口初始化
- /*********************************************************/
- void UartInit()
- {
- SCON = 0x50; // 配置串口寄存器
- TMOD = 0x20; // 配置定時(shí)器寄存器
- TH1 = 0xfd; // 計(jì)算波特率的值為9600
- TL1 = 0xfd; // 計(jì)算波特率的值為9600
- EA = 1; // 打開(kāi)總中斷
- ES = 1; // 打開(kāi)串口中斷
- 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
- Byte1=SBUF;
- RI=0;
- while(!RI); // Byte2 預(yù)留
- Byte2=SBUF;
- RI=0;
-
- while(!RI); // Byte3 預(yù)留
- Byte3=SBUF;
- RI=0;
-
- while(!RI); // Byte4 預(yù)留
- Byte4=SBUF;
- RI=0;
-
- while(!RI); // Byte5 預(yù)留
- Byte5=SBUF;
- RI=0;
-
- while(!RI); // Byte6 光照強(qiáng)度高8位
- Byte6=SBUF;
- RI=0;
-
- while(!RI); // Byte7 光照強(qiáng)度低8位
- Byte7=SBUF;
- RI=0;
-
- while(!RI); // Byte8 氣壓高8位
- Byte8=SBUF;
- RI=0;
-
- while(!RI); // Byte9 氣壓低8位
- Byte9=SBUF;
- RI=0;
-
- while(!RI); // Byte10 溫度正負(fù)標(biāo)志位
- Byte10=SBUF;
- RI=0;
-
- while(!RI); // Byte11 溫度高8位
- Byte11=SBUF;
- RI=0;
-
- while(!RI); // Byte12 溫度低8位
- Byte12=SBUF;
- RI=0;
-
- while(!RI); // Byte13 濕度
- Byte13=SBUF;
- RI=0;
-
- while(!RI); // Byte14 校驗(yàn)和 高8位
- Byte14=SBUF;
- RI=0;
-
- while(!RI); // Byte15 校驗(yàn)和 低8位
- Byte15=SBUF;
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
0.png (5.61 KB, 下載次數(shù): 56)
下載附件
2019-2-22 20:19 上傳
所有資料51hei提供下載:
程序,相關(guān)文檔資料測(cè)試通過(guò).zip
(3.78 MB, 下載次數(shù): 337)
2019-2-22 18:37 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|