【雕爺學(xué)編程】Arduino動手做(122)---BH1750光照傳感器

37款傳感器與執(zhí)行器的提法,在網(wǎng)絡(luò)上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑒于本人手頭積累了一些傳感器和執(zhí)行器模塊,依照實踐出真知(一定要動手做)的理念,以學(xué)習(xí)和交流為目的,這里準(zhǔn)備逐一動手嘗試系列實驗,不管成功(程序走通)與否,都會記錄下來—小小的進(jìn)步或是搞不掂的問題,希望能夠拋磚引玉。
【Arduino】168種傳感器模塊系列實驗(資料代碼+仿真編程+圖形編程)
實驗一百二十二:GY-302 數(shù)字量光強(qiáng)度檢測 光照傳感器 BH1750FVI 光線檢測模塊









BH1750光照傳感器模塊描述
1. ROHM原裝BH1750FVI芯片
2.電源:3-5v
3.光強(qiáng)范圍:0-65535 lx
4.傳感器內(nèi)置16bitAD轉(zhuǎn)換器
5.直接數(shù)字輸出,省略復(fù)雜計算,省略校準(zhǔn)
6.不區(qū)分環(huán)境光,接近光譜特性的視覺靈敏度
7.可以在很寬的亮度范圍內(nèi)進(jìn)行1 lux的高精度測量
8.標(biāo)準(zhǔn)NXP IIC通信協(xié)議
9.模塊包含通信級轉(zhuǎn)換,5v微控制器直接連接

模塊參考電原理圖

知識點:光亮度
光亮度(luminance)又稱發(fā)光率,是指一個表面的明亮程度,以L表示, 即從一個表面反射出來的光通量?;蛘哒f是指在某方向上單位投影面積的面光源沿該方向的發(fā)光強(qiáng)度。不同物體對光有不同的反射系數(shù)或吸收系數(shù)。光亮度是表示發(fā)光面明亮程度的,指發(fā)光表面在指定方向的發(fā)光強(qiáng)度與垂直于指定方向的發(fā)光面的面積之比,單位是坎德拉/平方米。對于一個漫散射面,盡管各個方向的光強(qiáng)和光通量不同,但各個方向的亮度都是相等的。電視機(jī)的熒光屏就是近似于這樣的漫散射面,所以從各個方向上觀看圖像,都有相同的亮度感。亮度和照度的關(guān)系,最常用的照度單位是呎燭光(footcandle)。1呎燭光是在距離標(biāo)準(zhǔn)燭光一英尺遠(yuǎn)的一平方英尺平面上接受的光通量。如果按公制單位,則以米為標(biāo)準(zhǔn),照度就用米燭光(metrecandle)來表示,即1米燭光是距離標(biāo)準(zhǔn)燭光一米遠(yuǎn)的一平方米面積上的照度。
1米燭光等于0.0929呎燭光。
我們不難理解亮度和照度之間的關(guān)系,其關(guān)系為:
L=R×E
式中L為亮度,R為反射系數(shù),E為照度。
因此,當(dāng)我們知道一個物體表面的反射系數(shù)及其表面的照度時,便可推算出它的亮度。

BH1750FVI是日本羅姆(ROHM)半導(dǎo)體生產(chǎn)的數(shù)字式環(huán)境光傳感IC。其主要特性有:
I2C數(shù)字接口,支持速率最大400Kbps
輸出量為光照度(Illuminance)
測量范圍1~65535 lux,分辨率最小到1lux
低功耗(Power down)功能
屏蔽50/60Hz市電頻率引起的光照變化干擾
支持兩個I2C地址,通過ADDR引腳選擇
較小的測量誤差(精度誤差最大值+/-20%)

Arduino實驗開源代碼
光亮度數(shù)據(jù)參考
晚上: 0.001-0.02;
月夜: 0.02-0.3;
多云室內(nèi): 5-50;
多云室外: 50-500;
晴天室內(nèi): 100-1000;
夏天中午光照下: 大約10*6能量;
閱讀書籍時的照明度:50-60;
家庭錄像標(biāo)準(zhǔn)照明度:1400
實驗串口返回情況


打開臺燈后的光亮度波形,提高了400多倍


Arduino實驗場景圖

Arduino實驗開源代碼之二
實驗開源仿真編程(Linkboy V4.62)

