37款傳感器與執(zhí)行器的提法,在網(wǎng)絡(luò)上廣泛流傳,其實(shí)Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑒于本人手頭積累了一些傳感器和執(zhí)行器模塊,依照實(shí)踐出真知(一定要?jiǎng)邮肿觯┑睦砟?,以學(xué)習(xí)和交流為目的,這里準(zhǔn)備逐一動(dòng)手嘗試系列實(shí)驗(yàn),不管成功(程序走通)與否,都會(huì)記錄下來—小小的進(jìn)步或是搞不掂的問題,希望能夠拋磚引玉。
【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(資料代碼+仿真編程+圖形編程)
實(shí)驗(yàn)一百四十三:ML8511紫外線傳感器模塊 模擬量輸出UV Sensor Breakou
ML8511
是紫外線傳感器,適用于獲取室內(nèi)或室外的紫外線強(qiáng)度。 配有內(nèi)部放大器,可根據(jù)紫外線強(qiáng)度將光電流轉(zhuǎn)換為電壓。這項(xiàng)獨(dú)特的功能為與ADC等外部電路提供了便捷的接口。 在掉電模式下,典型待機(jī)電流為0.1μA,因此可以延長電池壽命。
ML8511芯片,是日本商號(hào)沖電氣工業(yè)株式會(huì)社(Oki Electric Industry Co., Ltd.)生產(chǎn)的,敏感波長:UV-A(320-400nm),UV-B(280-320nm) 。
ML8511特征
?對(duì)UV-A和UV-B敏感的光電二極管
?嵌入式運(yùn)算放大器
?模擬電壓輸出
?低電源電流(典型值300uA)和低待機(jī)電流(典型值0.1uA)
?小型薄型表面貼裝封裝(4.0mm x 3.7mm x 0.73mm,12引腳陶瓷QFN)
ML8511應(yīng)用領(lǐng)域
?智能手機(jī),手表,氣象站,自行車導(dǎo)航,配件,游戲
ML8511主要參數(shù)
RoHS: 是
產(chǎn)品: Light to Voltage Converters
峰值波長: 365 nm
最大工作溫度: + 70 C
最小工作溫度: - 20 C
安裝風(fēng)格: SMD/SMT
封裝 / 箱體: QFN-12
工作電源電壓: 3.3 V
工作電源電流: 300 uA
封裝: Reel
封裝: Cut Tape
工廠包裝數(shù)量: 1000
電源電壓-最大: 3.6 V
電源電壓-最小: 2.7 V
零件號(hào)別名: ML8511AFCZ05BL
GY-8511紫外線傳感器模塊GY-ML8511 模擬量輸出UV Sensor Breakou
說明:ML8511突破是一個(gè)易于使用的紫外線傳感器。MP8511紫外線(紫外線)傳感器的工作原理是輸出一個(gè)與檢測(cè)到的紫外線數(shù)量相關(guān)的模擬信號(hào)。這種突破可以非常方便地創(chuàng)建設(shè)備,警告用戶曬傷或檢測(cè)紫外線指數(shù),因?yàn)樗c天氣條件有關(guān)。
此傳感器可最有效地檢測(cè)280-390牛米的光線。這被歸為UVB(燃燒射線)光譜和大部分UVA(曬黑射線)光譜的一部分。它輸出的模擬電壓與測(cè)量的紫外線強(qiáng)度(mW/cm~2)成線性關(guān)系。如果你的微控制器可以做一個(gè)模擬到數(shù)字的信號(hào)轉(zhuǎn)換,那么你可以檢測(cè)紫外線的水平!
沖電氣(OKI)推出內(nèi)建運(yùn)算放大器的紫外線(UV)傳感器IC——ML8511。該產(chǎn)品運(yùn)用絕緣上覆硅(SOI)-CMOS,為該公司首款模擬電壓輸出、無濾光器的UV傳感器。ML8511可與UV光量成正比輸出模擬電壓。由于可以輸出電壓,因此可以直接連接內(nèi)建MCU的A/D數(shù)字/模擬轉(zhuǎn)換器,無需光電轉(zhuǎn)換電路。而且使用小型、薄型表面封裝方式,適合于便攜式設(shè)備用途。
該模塊采用了通用的ML8511 UV傳感器原件,可以用來檢測(cè)室內(nèi)或室外的紫外線密度。通過將光電流轉(zhuǎn)化成電壓的原理來檢測(cè)UV強(qiáng)度,同時(shí)非常適合被被外部電路所采用。該模塊還具備省電模式可達(dá)0.1uA,適合在智能可穿戴和手機(jī)等設(shè)備上使用。
應(yīng)用
紫外線等級(jí)監(jiān)視器
環(huán)境監(jiān)測(cè)儀、氣象站
DIY紫外線互動(dòng)裝置
技術(shù)規(guī)格
工作電壓:3.3V - 5V
通信接口:Gravity Analog(PH2.0-3P,模擬電壓輸出1V ~ 2.8VDC)
敏感波長:UV-A(320-400nm),UV-B(280-320nm)
工作溫度:-20~70°C
模塊尺寸:30 x 22mm
紫外線(Ultraviolet,UV)
是電磁波譜中波長為400nm~10nm輻射的總稱,不能引起人們的視覺。它是頻率比藍(lán)紫光高的不可見光。英語中,前綴ultra-意為意為“高于,超越”。
1801年,德國物理學(xué)家里特發(fā)現(xiàn):在日光光譜的紫端外側(cè)一段能夠使含有溴化銀的照相底片感光,從而發(fā)現(xiàn)了紫外線的存在。紫外線是由原子的外層電子受到激發(fā)后產(chǎn)生的。自然界的主要紫外線光源是太陽,太陽光透過大氣層時(shí)波長短于 290nm 的紫外線為大氣層中的臭氧吸收掉。
紫外線是陽光中波長為400nm~10nm(納米)的光線。英語為ultraviolet(縮寫為UV),前綴ultra-意為“高于,超越”。太陽光譜上,紫外線的頻率高于可見光線。可以分為UVA(紫外線A,波長400nm~320nm,低頻長波)、UVB(波長320nm~280nm,中頻中波)、UVC(波長280nm~100nm,高頻短波)、EUV(100nm~10nm,超高頻)4種。其中,UVA的致癌性最強(qiáng),曬紅及曬傷作用是UVB的1000倍。UVC則一般會(huì)被臭氧層阻隔。IR是紅外線(infrared),可造成曬紅、微血管擴(kuò)張、皮膚炎,并促進(jìn)紫外線的致癌性。紫外線照射會(huì)讓皮膚產(chǎn)生大量自由基,導(dǎo)致細(xì)胞膜的過氧化反應(yīng),使黑色素細(xì)胞產(chǎn)生更多的黑色素,并往上分布到表皮角質(zhì)層,造成黑色斑點(diǎn)。紫外線可以說是造成皮膚皺紋、老化、松弛及黑斑的最大元兇。
紫外線照射人體時(shí),能促進(jìn)人體合成維生素D,以防止患佝僂病,經(jīng)常讓小孩曬曬太陽就是這個(gè)道理。紫外線還具有殺菌作用,醫(yī)院里的病房就利用紫外線消毒。但過強(qiáng)的紫外線會(huì)傷害人體,應(yīng)注意防護(hù)。
紫外線指數(shù)
是指當(dāng)太陽在天空中的位置最高時(shí)(一般是在中午前后,即從上午十時(shí)至下午三時(shí)的時(shí)間段里),到達(dá)地球表面的太陽光線中的紫外線輻射對(duì)人體皮膚的可能損傷程度。紫外線指數(shù)變化范圍用0-15的數(shù)字來表示,通常,夜間的紫外線指數(shù)為0,熱帶、高原地區(qū)、晴天時(shí)的紫外線指數(shù)為15。當(dāng)紫外線指數(shù)愈高時(shí),表示紫外線輻射對(duì)人體皮膚的紅斑損傷程度愈加劇,同樣地,紫外線指數(shù)愈高,在愈短的時(shí)間里對(duì)皮膚的傷害也愈大。
紫外線指數(shù)由兩部分組成,一部分是測(cè)量得到的不同波長的太陽紫外線強(qiáng)度,另一部分是醫(yī)學(xué)試驗(yàn)得到的不同類型皮膚經(jīng)紫外線照射后出現(xiàn)紅斑反映所需要的紫外線劑量,把這兩部分用數(shù)學(xué)方法組合處理后再按規(guī)定的標(biāo)準(zhǔn)轉(zhuǎn)換成數(shù)字就形成了向公眾發(fā)布的紫外線指數(shù)。因此紫外線指數(shù)可以理解為,到達(dá)地面的太陽紫外線強(qiáng)度以及人類裸露皮膚的影響程度,紫外線指數(shù)的數(shù)字越大,對(duì)皮膚造成的損害越大。醫(yī)學(xué)試驗(yàn)證明,以皮膚變紅為標(biāo)準(zhǔn),紫外線對(duì)皮膚的傷害,不僅和紫外線強(qiáng)度有關(guān),還和皮膚類型以及日曬時(shí)間有關(guān),所以在紫外線指數(shù)的實(shí)際應(yīng)用中,我們不僅需要知道不同紫外線指數(shù)的具體含義,還需要知道更多的防曬知識(shí)。
紫外線指數(shù)等級(jí)(Grade of UV Index)
分為一級(jí)~五級(jí),分級(jí)方法見附表
一級(jí):0,1,2 最弱<5100~180不需要采取防護(hù)措施;若長期在戶外,建議涂擦SPF在8-12之間的防曬護(hù)膚品。
二級(jí):3,4 弱 51060100可以適當(dāng)采取一些防護(hù)措施,涂擦SPF在12-15之間、PA+的防曬護(hù)膚品。
三級(jí):5,6 中等 10153060外出時(shí)戴好遮陽帽、太陽鏡和太陽傘等;涂擦SPF高于15、PA+的防曬護(hù)膚品。
四級(jí):7,8,9 強(qiáng) 15302040避免在10點(diǎn)至14點(diǎn)暴露于日光下.外出時(shí)戴好遮陽帽、太陽鏡和太陽傘等,涂擦SPF20左右、PA++的防曬護(hù)膚品。
五級(jí):10和大于10 很強(qiáng) >=30小于20盡可能不在室外活動(dòng),必須外出時(shí),要采取各種有效的防護(hù)措施。
GY-8511紫外線傳感器模塊電原理圖
Arduino實(shí)驗(yàn)開源代碼
/*
【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(資料代碼+仿真編程+圖形編程)
實(shí)驗(yàn)一百四十三:ML8511紫外線傳感器模塊 模擬量輸出UV Sensor Breakou
接線
ML8511 arduino uno
VCC----------------------VCC
OUT----------------------A0
GND----------------------GND
實(shí)驗(yàn)之一:串口顯示ML8511紫外線傳感器數(shù)值
*/
int ReadUVintensityPin = A0; //Output from the sensor
void setup()
{
pinMode(ReadUVintensityPin, INPUT);
Serial.begin(9600); //open serial port, set the baud rate to 9600 bps
Serial.println("Starting up...");
}
void loop()
{
int uvLevel = averageAnalogRead(ReadUVintensityPin);
float outputVoltage = 5.0 * uvLevel/1024;
float uvIntensity = mapfloat(outputVoltage, 0.99, 2.9, 0.0, 15.0);
Serial.print("UVAnalogOutput: ");
Serial.print(uvLevel);
Serial.print(" OutputVoltage: ");
Serial.print(outputVoltage);
Serial.print(" UV Intensity: ");
Serial.print(uvIntensity);
Serial.print(" mW/cm^2");
Serial.println();
delay(100);
}
//Takes an average of readings on a given pin
//Returns the average
int averageAnalogRead(int pinToRead)
{
byte numberOfReadings = 8;
unsigned int runningValue = 0;
for(int x = 0 ; x < numberOfReadings ; x++)
runningValue += analogRead(pinToRead);
runningValue /= numberOfReadings;
return(runningValue);
}
//The Arduino Map function but for floats
float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
GY-8511紫外線傳感器模塊測(cè)試室內(nèi)紫外線情況,串口顯示
GY-8511紫外線傳感器模塊實(shí)際測(cè)試實(shí)驗(yàn)場(chǎng)景圖
GY-8511紫外線傳感器模塊接線示意圖
上午測(cè)量的室內(nèi)紫外線情況(前面是昨晚測(cè)量的)
Arduino實(shí)驗(yàn)開源代碼之二
/*
【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(資料代碼+仿真編程+圖形編程)
實(shí)驗(yàn)一百四十三:ML8511紫外線傳感器模塊 模擬量輸出UV Sensor Breakou
實(shí)驗(yàn)接線
ML8511 / Arduino
3.3V = 3.3V
OUT = A0
GND = GND
EN = 3.3V
Arduino 3.3V = Arduino A1
測(cè)試之二:串口顯示ML8511紫外線傳感器數(shù)值(帶3.3V基準(zhǔn)校準(zhǔn))
*/
//Hardware pin definitions
int UVOUT = A0; //Output from the sensor
int REF_3V3 = A1; //3.3V power on the Arduino board
void setup(){
Serial.begin(9600);
pinMode(UVOUT, INPUT);
pinMode(REF_3V3, INPUT);
Serial.println("MP8511 example");
}
void loop(){
int uvLevel = averageAnalogRead(UVOUT);
int refLevel = averageAnalogRead(REF_3V3);
//Use the 3.3V power pin as a reference to get a very accurate output value from sensor
float outputVoltage = 3.3 / refLevel * uvLevel;
float uvIntensity = mapfloat(outputVoltage, 0.99, 2.9, 0.0, 15.0);
Serial.print("MP8511 output: ");
Serial.print(uvLevel);
Serial.print(" MP8511 voltage: ");
Serial.print(outputVoltage);
Serial.print(" UV Intensity (mW/cm^2): ");
Serial.print(uvIntensity);
Serial.println();
delay(100);
}
//Takes an average of readings on a given pin
//Returns the average
int averageAnalogRead(int pinToRead)
{
byte numberOfReadings = 8;
unsigned int runningValue = 0;
for (int x = 0 ; x < numberOfReadings ; x++)
runningValue += analogRead(pinToRead);
runningValue /= numberOfReadings;
return (runningValue);
}
//The Arduino Map function but for floats
//From: http://forum.arduino.cc/index.php?topic=3922.0
float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
實(shí)驗(yàn)串口返回情況
ML8511分支板連接到Arduino的接線
ML8511 / Arduino的
3.3V = 3.3V
輸出= A0
地=地
EN = 3.3V
Arduino 3.3V = Arduino A1
最后兩個(gè)連接有些不同。將分線上的EN引腳連接到3.3V以啟用設(shè)備。還要將Arduino的3.3V引腳連接到Arduino模擬引腳1。
這里使用了一個(gè)巧妙的技巧。模數(shù)轉(zhuǎn)換完全依靠VCC。我們假設(shè)這是5.0V,但如果該板由USB供電,則可能高達(dá)5.25V或低至4.75V。由于這個(gè)未知的窗口,這使得Arduino上的ADC相當(dāng)不準(zhǔn)確。為了解決這個(gè)問題,我們使用了非常準(zhǔn)確的板載3.3V參考電壓(準(zhǔn)確度在1%以內(nèi))。因此,通過在3.3V引腳上進(jìn)行模數(shù)轉(zhuǎn)換(將其連接到A1),然后將該讀數(shù)與傳感器的讀數(shù)進(jìn)行比較,無論VIN是多少,我們都可以推斷出真實(shí)的讀數(shù)(如只要高于3.4V)。
例如,我們知道Arduino上的ADC在讀取VCC時(shí)將輸出1023。如果從連接到3.3V的連接中讀取669,那么Arduino的電壓是多少?這是一個(gè)簡單的比例!
VCC / 1023 = 3.3V / 669
求解VCC,我們得到5.05V。如果您有數(shù)字萬用表,可以在Arduino上驗(yàn)證5V引腳。
既然我們確切地知道什么是VCC,我們就可以對(duì)UV電壓做一個(gè)更精確的ADC:
UV_Voltage / uvLevel = 3.3 / refLevel
uvLevel這就是我們從OUT圖釘中讀取的內(nèi)容。refLevel這就是我們?cè)?.3V引腳上讀取的內(nèi)容。解決UV_Voltage,我們可以獲得準(zhǔn)確的讀數(shù)。
ML8511紫外線傳感器
實(shí)驗(yàn)開源仿真編程(linkboy V4.2)
實(shí)驗(yàn)串口繪圖器返回情況
Arduino實(shí)驗(yàn)場(chǎng)景圖文章來源:http://www.zghlxwxcb.cn/news/detail-436951.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-436951.html
到了這里,關(guān)于【花雕學(xué)AI】如何避免ChatGPT封號(hào),安全穩(wěn)定地使用ChatGPT的技巧和簡單過渡辦法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!