การวิเคราะห์รังสี: เครื่องวัด UV Index ด้วย Arduino
เซ็นเซอร์แสงทั่วไป (LDR) ตรวจจับแสงที่มองเห็นได้; แต่มันไม่สามารถตรวจจับรังสีแสงอาทิตย์ที่เป็นอันตรายได้เลย เครื่องวัด UV Index ด้วย Arduino ใช้ photodiodes ชนิด gallium nitride ที่มีความพิเศษ เพื่อวัดรังสี UV-A และ UV-B ที่มองไม่เห็นและอันตรายที่แผ่ออกมาจากดวงอาทิตย์ โดยจะคำนวณและแสดงค่าดัชนีความปลอดภัยตามมาตรฐานขององค์การอนามัยโลก (WHO) ลงบนหน้าจอที่มีคอนทราสต์สูงโดยตรง

หลักการทำงานทางฟิสิกส์ของ ML8511 UV Sensor
GY-ML8511 UV Sensor Module เป็นหนึ่งในอุปกรณ์ analog ที่มีความไวสูงที่สุดที่ใช้ในงาน Arduino engineering
- เซ็นเซอร์จะส่งค่า analog voltage ที่เกี่ยวข้องโดยตรงกับความเข้มสูงของคลื่นแสง 280-390nm ที่มองไม่เห็น (มุ่งเป้าไปที่รังสีที่เป็นสาเหตุของการถูกแดดเผาที่อันตรายที่สุด)
- การคำนวณไม่ใช่แบบ
0-1023เซ็นเซอร์มีกราฟความสัมพันธ์ที่ระบุไว้ใน datasheet อย่างชัดเจน:1 Volt = 0 UV Index2.8 Volts = 15 UV Index(แสงแดดในทะเลทรายที่ร้อนจัดจนผิวไหม้พุพอง) - ข้อผิดพลาดในการคาลิเบรต 3.3V: ความผิดพลาดที่ใหญ่ที่สุดที่โปรแกรมเมอร์ทำคือการอ้างอิงจากสาย 5V เริ่มต้นของ Uno ML8511 ต้องการไฟเลี้ยง 3.3V อย่างแม่นยำ คุณต้องต่อสาย jumper จากขา
3.3Vของ Arduino ตรงไปยังขาA1ที่เป็นขา analog-reference เพื่อใช้เป็นจุดอ้างอิงในการคำนวณ!
เอาต์พุต Floating Point และฟังก์ชัน Map
เนื่องจากข้อมูล analog เป็นเชิงเส้น แต่ถูกบีบอัดให้อยู่ในสเกล voltage ที่เล็กมาก (1.0V ถึง 2.8V) การคำนวณด้วยเลขจำนวนเต็มแบบมาตรฐานจึงใช้ไม่ได้ผล
- คุณต้องสร้างฟังก์ชัน
mapfloat()แบบกำหนดเอง! ฟังก์ชันmap()มาตรฐานของ C++ ส่งกลับค่าเป็นจำนวนเต็มเท่านั้น (เช่นIndex: 4) - เราต้องการการวิเคราะห์ที่แม่นยำในรูปแบบทศนิยม (
Index: 4.8! คำเตือน: ผิวหนังจะถูกทำลายภายใน 12 นาที!)
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;
}
- โค้ดจะคำนวณค่าทศนิยมและแสดงคำเตือนโดยตรงบน I2C OLED SSD1306 Display
ฮาร์ดแวร์สำหรับการตรวจจับรังสีจากดวงอาทิตย์
- Arduino Uno/Nano
- ML8511 หรือ VEML6070 I2C UV Light Sensor Module
- 0.96" I2C OLED หรือ 16x2 LCD Display
- กล่องหุ้มที่พิมพ์ด้วย 3D และใช้พลังงานจากแบตเตอรี่ ช่วยให้คุณสามารถพกพาเซ็นเซอร์ไปยังชายหาด หรือหันไปทางดวงอาทิตย์ได้โดยตรง! (คำเตือน: ควรใช้กระจกควอตซ์ใสแบบเฉพาะครอบรูของกล่องหุ้มไว้ พลาสติกอะคริลิกหรือกระจกหน้าต่างทั่วไปจะกั้นรังสี UV ได้ถึง 90% และจะทำให้เซ็นเซอร์ไม่สามารถตรวจจับอะไรได้เลย!)