arduino測距儀教程(用ArduinoDIY可攜式紫外線指數儀)
2023-04-19 17:38:55 4
MAKER:fmarzocca/譯:趣無盡 Cherry(轉載請註明出處)本期帶大家自製一款可攜式紫外線指數儀。不論是皮膚患者還是愛美的小姐姐,這款小儀器真的非常實用。這款紫外線指數測量儀主要是由Arduino Nano rev3,一個UV傳感器,一個直流變壓器(用以提高3v電池電壓),以及一個小型OLED顯示屏構成。
我的主要目標是為了方便攜帶,這樣我就可以在任何時間和任何地方輕鬆了解紫外線指數。
材料清單1、Arduino Nano rev32、ML8511 紫外線傳感器3、128×64 OLED 顯示屏(SSD1306)4、MT3608 DC-DC 變壓器5、CR2電池6、CR2電池座7、開關8、外殼
傳感器說明ML8511是一種紫外線傳感器,適用於室內或戶外讀取紫外線強度。 ML8511內部配有放大器,可根據紫外線強度將光電流轉換為電壓。這種獨特的功能可以為ADC等外部電路提供了簡便的接口。在省電模式下,通常待機電流為0.1μA,從而延長電池壽命。
特徵:
對UV-A和UV-B敏感的光電二極體嵌入式運算放大器模擬電壓輸出低電源電流(典型值300μA)和低待機電流(典型值0.1μA)小而薄的表面封裝(4.0mm x 3.7mm x 0.73mm,12引腳 陶瓷封裝QFN)
可惜的是,我沒有找到任何紫外線透明材料來保護傳感器。我測試過的任何一種透明蓋子(塑料,玻璃等)都會減弱紫外線測量。更好的選擇可能是熔融石英玻璃,但我沒有找到合理價位的材料,所以我決定將傳感器直接裸露的放在盒子外面。操作說明測量紫外線的方式非常簡單,只需打開設備並將其指向太陽幾秒鐘,使其與太陽光線的方向保持一致。然後在顯示屏上觀察:左側的指數始終顯示瞬時測量值(每個200毫秒一個),而右側的讀取是期間的最大讀數:這正是你需要的值。在顯示器的左下部分,還報告了測量的UV指數程度(低度,中度,高度,非常高,極度的高)。電池電壓和讀數我選擇CR2電池是因為它的尺寸和容量(800 mAh)。整個夏天,我都在使用UltraV,電池仍然可以讀取2.8V。這個選擇我非常滿意。操作時,電路消耗大約100 mA,但讀數測量不會超過幾秒鐘。當電池額定電壓為3v時,我增加了一個DC-DC升壓轉換器,使電壓達到9v時,將其連接到Vin引腳。為了在顯示器上顯示電池電壓,我使用了模擬輸入(A2)。 Arduino模擬輸入可用於測量0到5V之間的直流電壓,但這種技術需要校準。校準時,你需要一個萬用表。1、 首先使用最終選擇的電池(CR2)為電路供電,而不是使用計算機的USB電源。2、 在穩壓器上(在Arduino 5V引腳上找到)測量Arduino上的5V電壓。默認情況下,此電壓用於Arduino ADC參考電壓。現在將測量值放入草圖中,如下所示(假設我讀取的是5.023):voltage = ((long)sum / (long)NUM_SAMPLES * 5023) / 1024.0;
在草圖中,我將電壓測量值作為10個樣本的平均值。原理圖和接線軟體安裝對於顯示器,我使用了U8g2lib,它非常靈活,功能強大,適用於這種OLED顯示器,允許多種字體選擇和良好的定位功能。關於ML8511的電壓讀數,我使用3.3v Arduino參考引腳(精度在1%以內)作為ADC轉換器的基礎。因此,通過在3.3V引腳上進行模數轉換(將其連接到A1),然後將此讀數與傳感器的讀數進行比較,我們可以推斷出真實的讀數,無論VIN是什麼(只要它高於3.4V)。int uvLevel = averageAnalogRead(UVOUT);int refLevel = averageAnalogRead(REF_3V3);float outputVoltage = 3.3 / refLevel * uvLevel;
完整代碼在文件庫自行下載。http://make.quwj.com/project/76外殼設計我使用CAD應用程設計了外殼,並儘可能地使用最小的尺寸,我將CR2電池安裝在外殼的背面(電池盒粘在盒子上)。請在文件庫中下載STL文件。http://make.quwj.com/project/76組裝圖片還需改進的地方1、使用紫外光譜儀測量各種條件下的實時紫外線指數(紫外光譜儀非常昂貴)。2、使用Arduino微控制器同時記錄ML8511的輸出。3、寫入算法,在標準的大氣條件下實時將ML8511輸出與實際UVI值聯繫起來。,