簡單試用,真的非常簡單,就只是試一試而已,能動就收工。
首先感謝MakerPRO歐先生拿給我一套Grove感測器組合。
拿出Grove紫外線感測器。
void setup() {
Serial.begin(115200);
}
void loop() {
// 收集1024次
long analog = 0;
for(int i = 0; i < 1024; i++){
analog += analogRead(A0);
delay(2);
}
analog >>= 10; // 算出平均值
float v = analog * 4.98 / 1023.0; // 電壓
float intensity = v * 307; // 照射強度
float uv_index = intensity / 200; // 紫外線指數
Serial.print("The voltage value: ");
Serial.print(v);
Serial.println("V");
Serial.print("Illumination intensity: ");
Serial.print(intensity);
Serial.println("mW/m^2");
Serial.print("UV index: ");
Serial.println(uv_index);
delay(20);
}
開啟序列埠監控視窗,每10秒得到一次量測結果。第一項是模組輸出的電壓值;第二項是照射強度(illumination intensity),然後算出第三項紫外線指數。
嘿,可到中央氣象局即時查詢紫外線指數喔。
想請問,紫外線照射強單位為mW/cm^2,可是程式結果為mW/m^2,是還需要另外計算嗎?
ReplyDelete需要換算。
Delete搜尋「mW/cm^2 mW/m^2」就會有了。
感謝你,另外方便請問紫外線照射是由信號電壓*307,那個307是怎麼得到的?官方網站只有寫乘上307,假如我今天只有photo-diode跟放大電路,得出來的電壓要計算照射強度,也是乘上307嗎?還是另外的規則?
Delete官方網站說的,
Deletehttp://wiki.seeed.cc/Grove-UV_Sensor/
About our Grove - UV Sensor, we have converted Photocurrent to corresponding voltage value collected by Arduino/Seeeduino. The output voltage and the UV index is linear:
illumination intensity = 307 * Vsig
至於怎麼得到的,那就是製作該感測器的廠商,他們給的spec,詳細理論則要看感測器相關書籍。我不會,只會用而已。
請問這是抓SIG的類比輸出嗎? 另一個NC需要接嗎?
ReplyDelete