ในโปรเจกต์นี้เราจะมาสร้างไพราโนมิเตอร์ (Pyranometer) กัน ซึ่งเจ้านี่คือเครื่องมือวัดการแผ่รังสีแสงอาทิตย์เป็นหน่วย W/m² ไอเดียคือแทนที่จะไปซื้อของแพงๆ เรามาประดิษฐ์เองแบบประหยัดเงินในกระเป๋ากันดีกว่า
เราสามารถทดลองต่อวงจรผ่าน Tinkercad ได้ตามภาพด้านล่างนี้เลย

ลงลึกเรื่องเทคนิคกันหน่อย
ตัวต้านทานปรับค่าได้ตามแสง (LDR) ทั่วไปมันบอกได้แค่ "สว่าง" หรือ "มืด" แต่มันใช้คำนวณพลังงานแบบวิทยาศาสตร์ไม่ได้ เครื่องวัดการแผ่รังสีแสงอาทิตย์ ตัวจริงต้องใช้เซนเซอร์ที่สามารถคำนวณความเข้มของการแผ่รังสี (Solar Irradiance) ได้
ไพราโนมิเตอร์ของแท้จะใช้เทอร์โมไพล์ (Thermopile) ซึ่งคือเทอร์โมคัปเปิลหลายๆ ตัวซ้อนกันอยู่ใต้โดมแก้ว แสงอาทิตย์ตกกระทบแล้วจะสร้างแรงดันไฟฟ้าเล็กๆ ออกมาเป็นสัดส่วน
- ปัญหาคือ: สัญญาณที่ไพราโนมิเตอร์ส่งออกมานั้นเล็กมากๆ อาจจะแค่
10 ไมโครโวลต์ต่อวัตต์ของแสงอาทิตย์ การใช้analogRead()บน Arduino Uno อ่านค่าไมโครโวลต์ไม่ได้ มันอ่านค่าในระดับมิลลิโวลต์ได้เฉยๆ เลย ผลลัพธ์ที่ได้จะออกมาเป็น0หมด - ทางแก้: ถ้าจะทำแบบโปร ต้องใช้ ตัวแปลงสัญญาณแอนะล็อกเป็นดิจิทัล (ADC) ความแม่นยำสูงจากภายนอก เช่น ADS1115 (16-bit) หรือ HX711 (24-bit)
คณิตศาสตร์และการบันทึกข้อมูล
เมื่อใช้ ADC ภายนอกอย่าง ADS1115 ที่เชื่อมต่อผ่าน I2C เราสามารถขยายสัญญาณจากไพราโนมิเตอร์ได้
- Arduino จะอ่านค่าทศนิยมที่ถูกขยายแล้ว
- นำค่าที่ได้ไปคูณกับ แฟคเตอร์การปรับเทียบ (Calibration Factor) เฉพาะที่ให้มาใน datasheet ของเซนเซอร์
- ผลลัพธ์ที่ได้คือ ความเข้มของการแผ่รังสีแสงอาทิตย์ (Solar Irradiance) ที่แม่นยำในหน่วย
W/m² - สำหรับการวิเคราะห์ระยะยาว ข้อมูลนี้สามารถบันทึกเวลาได้ด้วยโมดูล RTC และเซฟลงไฟล์ CSV บน โมดูลการ์ด SD เพื่อใช้ในการศึกษาเกษตรกรรมหรือพลังงาน
อุปกรณ์ที่ต้องใช้สำหรับการสร้างแบบขั้นสูง
- Arduino Uno/Nano
- เซนเซอร์ไพราโนมิเตอร์: เช่น Apogee SP-series หรือเทอร์โมไพล์ที่เทียบเท่า
- โมดูล ADS1115 16-Bit I2C ADC: อุปกรณ์หลักสำหรับการวัดที่แม่นยำ
- โมดูลบันทึกข้อมูลลงการ์ด SD พร้อม RTC (นาฬิกาจริง)
ขั้นตอนการประกอบ
เริ่มจากต่อบอร์ด Arduino Uno เข้ากับคอมพิวเตอร์ แล้วเข้าไปที่แพลตฟอร์ม Arduino IDE เพื่ออัปโหลดโค้ดที่เตรียมไว้
ขั้นตอนแรก ต่อสายสีเหลือง ซึ่งเชื่อมระหว่างเบรดบอร์ดกับพอร์ต A0 ของ Arduino ตามภาพ

- ขั้นตอนที่สอง ต่อสายสีน้ำเงินสั้นๆ บนเบรดบอร์ดเข้ากับพอร์ตกราวด์ (GND) ของ Arduino ตามภาพ

และต่อสายสีแดงสั้นๆ ซึ่งเชื่อมระหว่างเบรดบอร์ดกับพอร์ต 5V ของ Arduino ตามภาพ

- ตอนนี้มาดูที่สายสีส้มที่เชื่อมระหว่างเบรดบอร์ดกับ Arduino Uno สายหนึ่งต่อจาก Digital พิน 12 ของ Arduino ไปที่ RS ของหน้าจอ LCD อีกสายต่อจาก Digital พิน 4 ของ Arduino ไปที่ D4 ของหน้าจอ LCD อีกสายต่อจาก Digital พิน 3 ของ Arduino ไปที่ D5 ของหน้าจอ LCD อีกสายต่อจาก Digital พิน 2 ของ Arduino ไปที่ D6 ของหน้าจอ LCD สายสุดท้ายต่อจาก Digital พิน 1 ของ Arduino ไปที่ D7 ของหน้าจอ LCD

- ขั้นตอนที่สี่ ต่อโพเทนชิโอมิเตอร์และตัวต้านทานปรับค่าได้ (Trimmer) 10 kΩ CA9 กับเบรดบอร์ดตามภาพด้านล่าง และใช้สายสีเขียวเพื่อเชื่อมต่อโพเทนชิโอมิเตอร์กับ Digital พิน 13 ของ Arduino

เราก็สามารถต่อสายไฟแดงกับดำลงบนเบรดบอร์ดได้ตามรูปเลยน้อง ง่ายๆ


5. ขั้นตอนที่ห้ามาแล้วววว! ต่อตัวต้านทาน (Resistor) สองตัวตามรูปเลยจ้า (ตัวต้านทาน 10 kΩ กับ ตัวต้านทาน 220 โอห์ม) จากนั้นก็ต่อโซลาร์เซลล์เข้ากับเบรดบอร์ดได้เลย ดูรูปที่สองประกอบให้ดี อย่าต่อผิดล่ะ


6. ขั้นสุดท้ายแล้วจ้า! ต่อแบตเตอรี่ (Alkaline 9V) เข้ากับ Arduino Uno ด้วย Jack adapter 9V ของ Arduino เลย ไฟจะได้เข้าเต็มๆ

จัดไปวัยรุ่น! ตอนนี้เซ็ตอัพอุปกรณ์เสร็จแล้ว เราก็พร้อมจะวัดความเข้มของรังสีแม่เหล็กไฟฟ้าต่อหน่วยพื้นที่กันแล้ว (หน่วยเป็น W/m² นะอิอิ) ภาพด้านล่างคือตัวเครื่อง Pyranometer ที่ประกอบเสร็จสมบูรณ์แล้ว ดูเท่ห์ดีมั้ยล่ะ

วาง Pyranometer ไว้บนพื้นผิวแนวนอนเพื่อวัดรังสีดวงอาทิตย์ทั้งหมดที่ตกกระทบลงมาเลย สุดท้ายแล้ว ลองทดสอบเล่นๆ ด้วยการเอามือไปบังโซลาร์เซลล์บางส่วน แล้วสังเกตการเปลี่ยนแปลงของค่าที่วัดได้สิ น่าสนใจดี!
