ArduMeter - เครื่องวัดแสงตกกระทบด้วย Arduino
การถ่ายภาพด้วยแสง: เครื่องวัดแสง ArduMeter
LDR ทั่วไปไม่เหมาะกับการถ่ายภาพอย่างยิ่ง เนื่องจากมันไม่เป็นเชิงเส้นและไม่ได้ปรับเทียบให้ตรงกับความยาวคลื่นที่สายตามนุษย์มองเห็น กล้องระดับมืออาชีพต้องการการคำนวณค่าแสงที่แม่นยำอย่างยิ่ง เครื่องวัดแสง ArduMeter ใช้เซ็นเซอร์แสงดิจิทัล BH1750 หรือ TSL2591 ที่ล้ำสมัยอย่างมากในการจับค่า Lux สภาพแวดล้อมที่สมบูรณ์แบบทางคณิตศาสตร์ และแปลงค่าเหล่านั้นเป็น "Exposure Value (EV)" พื้นฐานที่ช่างภาพฟิล์มที่ใช้กล้องแมนนวลต้องการ

ฟิสิกส์ของการตรวจจับ Lux แบบดิจิทัล (BH1750)
เซ็นเซอร์ BH1750 FVI I2C ทำหน้าที่เสมือนดวงตาดิจิทัลที่แม่นยำสูงของคุณ
- ไม่ได้ส่งออกค่าอนาล็อกคร่าวๆ (
0-1023); โปรเซสเซอร์ภายในจะส่งออกค่า Lux ที่เป็นทศนิยมที่แม่นยำ (เช่น54,000 Luxสำหรับแสงแดดจ้า) - มีฟิลเตอร์สเปกตรัมในตัวที่ละเลยแสงอินฟราเรดและอัลตราไวโอเลตด้วยอัลกอริทึม ซึ่งเลียนแบบเส้นโค้งความไวของดวงตามนุษย์และฟิล์มเคมีได้อย่างสมบูรณ์แบบ!
การคำนวณ Exposure Value (EV) Triangle
เมื่อ Arduino ได้รับค่า Lux แสงโดยรอบทั้งหมดแล้ว จะต้องแก้สมการฟิสิกส์ที่ซับซ้อนภายในโค้ด C++
- ช่างภาพตั้งค่า ISO (ความเร็วฟิล์ม) เป็น 400 โดยใช้ปุ่มหมุน rotary encoder
- Arduino คำนวณ Exposure Value:
float EV = log2((Lux * ISO) / 330); - เมื่อกำหนด EV ได้แล้ว โค้ดจะล็อกตัวแปรหนึ่งตัว (เช่น Aperture priority:
f/2.8) - จากนั้นจะดำเนินการแก้ปัญหาทางคณิตศาสตร์ขั้นสุดท้ายเพื่อค้นหาตัวแปรที่ขาดหายไป: Shutter Speed
Shutter = (Aperture * Aperture) / pow(2, EV); - หน้าจอ OLED จะแสดงผล:
ISO 400 | f/2.8 | 1/500 secช่างภาพสามารถตั้งค่าที่แม่นยำเหล่านั้นลงในกล้อง Leica แบบแมนนวลของตนได้ โดยไม่ต้องพึ่งเครื่องวัดแสงวินเทจราคาแพงอีกต่อไป!
ฮาร์ดแวร์ออปติกที่แม่นยำ
- Arduino Pro Mini หรือ ESP32 (สำหรับการประมวลผลแบบกะทัดรัด)
- BH1750 หรือ TSL2591 I2C Ambient Light Sensor (ต้องครอบด้วยครึ่งโดม "ลูกปิงปอง" สีขาวโปร่งแสง เพื่อกระจายแสงตกกระทบอย่างเหมาะสม!)
- SSD1306 0.96" I2C OLED Screen สำหรับการอ่านค่าที่คมชัดแม้ในแสงแดดจ้า
- Rotary Encoder (EC11) สำหรับการหมุนตั้งค่าเมนูอย่างรวดเร็ว
- LiPo Battery และ Charger