💡
เรียนรู้และใช้งานเซนเซอร์ตรวจจับความเข้มแสง

รูปที่ 8.1 โมดูลเซนเซอร์ BH1750 สำหรับวัดความเข้มแสง
💡8.1 บทนำ
ในโลกยุคดิจิทัลที่อาคารและอุปกรณ์ต่าง ๆ เริ่มพัฒนาเข้าสู่ระบบอัจฉริยะ
การตรวจวัดความเข้มแสงกลายเป็นองค์ประกอบสำคัญของระบบควบคุมแสงอัตโนมัติ
เซนเซอร์ตรวจจับความเข้มแสง (Light Intensity Sensor) เช่น BH1750
เป็นอุปกรณ์ที่นิยมใช้ในงานสมาร์ตอาคารและระบบ IoT เนื่องจากมีความแม่นยำสูง ใช้งานง่าย
และสื่อสารผ่านบัส I2C ได้สะดวก
BH1750 สามารถวัดค่าความเข้มแสงในหน่วย “Lux” ได้โดยตรง
ซึ่งเป็นหน่วยวัดที่ใช้กันอย่างแพร่หลายในวิศวกรรมแสง เช่น การออกแบบระบบไฟในอาคาร
การควบคุมแสงในโรงเรือนเพาะปลูก
หรือแม้แต่ระบบเปิด–ปิดไฟอัตโนมัติในห้องประชุมและทางเดิน
ตัวอย่างการใช้งานในชีวิตประจำวัน เช่น
-
การควบคุมไฟถนนให้เปิดเฉพาะตอนค่ำ
-
การปรับความสว่างของจอภาพตามแสงโดยรอบ
-
การสั่งปิดม่านอัตโนมัติเมื่อมีแสงแดดจัด
-
การตรวจสอบแสงสว่างในโรงเรียนหรือสำนักงานให้เหมาะสมกับการเรียนรู้และการทำงาน
จุดเด่นของ BH1750 คือ มีความละเอียดในการวัดสูง เลือกโหมดทำงานได้ทั้งแบบ One-time
และ Continuous ใช้พลังงานต่ำ และมีขนาดกะทัดรัด ทำให้เหมาะกับระบบ Sensor Board
ในชุดฝึก Smart Building IoT
ในบทนี้ ผู้เรียนจะได้เรียนรู้การเชื่อมต่อ BH1750 เข้ากับบอร์ด Smart Building IoT,
การตั้งค่าโหมดทำงาน, การเขียนโปรแกรมเพื่ออ่านค่าแสง
และการประยุกต์ใช้งานกับระบบควบคุมอัตโนมัติ
ซึ่งเป็นทักษะที่สามารถนำไปใช้พัฒนาโครงการจริงได้อย่างมีประสิทธิภาพ

รูปที่ 8.2 โมดูล BH1750 ติดตั้งในกล่องเซนเซอร์สำหรับใช้งานร่วมกับระบบ Smart
Building IoT
💡8.2 ส่วนประกอบโมดูล
โมดูล BH1750 ประกอบด้วยวงจรหลักดังนี้:
-
Photodiode: ตรวจจับแสงที่ตกกระทบ
-
Current-to-Voltage Converter: แปลงแสงเป็นแรงดันไฟฟ้า
-
ADC (Analog-to-Digital Converter): แปลงแรงดันเป็นสัญญาณดิจิทัล
-
Calculation Circuit: ประมวลผลและแปลงค่าให้อยู่ในหน่วย Lux
-
Timing Control: ควบคุมโหมดการวัด (One-time / Continuous)
-
I2C Interface: ใช้สื่อสารกับไมโครคอนโทรลเลอร์ (ผ่าน SDA / SCL)
-
Power Supply: รองรับแรงดัน 3.3V และ 5V

รูปที่ 8.3 Block Diagram แสดงการทำงานภายในโมดูล BH1750
💡8.3 หลักการทำงานของเซนเซอร์
ความส่องสว่าง (Illuminance, E) คือ ปริมาณแสงที่ตกกระทบบนพื้นผิวต่อพื้นที่ อาจเรียกว่า
ระดับความสว่าง (Lighting Illuminance level) เพื่อบอกว่าพื้นที่นั้นๆ
ได้รับแสงสว่างมากน้อยเพียงใด มีหน่วยเป็น ลูเมนต่อตารางเมตร หรือ ลักซ์ (Lux, lx)

รูปที่ 8.4 แสดงความสัมพันธ์ของค่าความสว่างต่าง ๆ
เซนเซอร์ BH1750 ทำงานโดยใช้ Photodiode ตรวจจับพลังงานแสงที่ตกกระทบ
และแปลงเป็นสัญญาณไฟฟ้าผ่านวงจรขยาย (Amplifier) และตัวแปลงสัญญาณ (ADC)
เพื่อแสดงผลในรูปแบบ ค่าความเข้มแสงในหน่วย Lux โดยตรง
BH1750 มีความสามารถในการวัดแสงได้ในช่วงกว้าง (1 – 65,535 Lux)
และสามารถเลือกความละเอียดของการวัดได้ (Low / High / High2 resolution)
ซึ่งเหมาะกับงานที่ต้องการตรวจวัดแสงทั้งในร่มและกลางแจ้ง
โมดูลยังรองรับโหมดทำงาน 2 แบบ:
-
Continuous mode: วัดค่าแสงต่อเนื่อง (เหมาะกับงานแบบเรียลไทม์)
-
One-time mode: วัดค่าแสง 1 ครั้งแล้วเข้าสู่โหมดพัก
(เหมาะกับงานประหยัดพลังงาน)
Continuous mode (วัดแบบต่อเนื่อง):
-
เซนเซอร์จะวัดและอัปเดตค่าความสว่างอย่างต่อเนื่องอัตโนมัติ
-
เหมาะกับงานที่ต้องการอ่านค่าแสง Real-time เช่น ระบบควบคุมไฟอัตโนมัติ,
การมอนิเตอร์สภาพแสงในอาคาร ฯลฯ
โหมดย่อย:
-
Continuously H-Resolution Mode: ความละเอียดสูง ปกติใช้เวลาวัด ~120 ms/ครั้ง
(1x Resolution) -
Continuously H-Resolution Mode2: ความละเอียดสูง, แต่ช้าลงครึ่งหนึ่ง (0.5x
Resolution) -
Continuously L-Resolution Mode: ความละเอียดต่ำ, เร็ว (16 ms/ครั้ง, 4x
Resolution)
One-Time mode(วัดครั้งเดียว):
-
วัดค่าแสงแค่ 1 ครั้งแล้วหยุด (เซนเซอร์เข้าสู่ Power Down หลังวัดเสร็จ)
-
เหมาะกับงานที่ต้องการประหยัดพลังงาน เช่น IoT ที่ทำงานกับแบตเตอรี่
โหมดย่อย:
-
One Time H-Resolution Mode: วัดละเอียดสูง 1 ครั้ง แล้วหยุด (120 ms)
-
One Time H-Resolution Mode2: วัดละเอียดสูงแต่ครึ่งหนึ่ง (0.5x Resolution)
-
One Time L-Resolution Mode: วัดละเอียดต่ำ (16 ms) แล้วหยุด
💡สรุปง่าย ๆ
-
Continuous = วัดเรื่อย ๆ อัตโนมัติ
-
One Time = วัดครั้งเดียวแล้วหยุด
💡8.4 ทฤษฎีของการสื่อสารแบบ I2C
I2C (Inter-Integrated Circuit) เป็นโปรโตคอลการสื่อสารแบบอนุกรมความเร็วต่ำ
ใช้เพียง 2 สายในการเชื่อมต่อ:
-
SCL (Serial Clock Line): สายสัญญาณนาฬิกา
ควบคุมจังหวะการส่งข้อมูล -
SDA (Serial Data Line): สายส่งข้อมูลแบบสองทาง

รูปที่ 8.5 แสดงโครงสร้างการเชื่อมต่อแบบ I2C โดยใช้สาย SDA และ
SCLร่วมกับอุปกรณ์หลายตัว
ในระบบ I2C อุปกรณ์ทุกตัวจะมี Address เฉพาะ ใช้ในการติดต่อระหว่าง Master (เช่น
ESP32) กับ Slave (เช่น BH1750) โดยสามารถเชื่อมต่ออุปกรณ์หลายตัวบนสายเดียวกันได้
ข้อดีของ I2C:
-
ใช้สายสัญญาณน้อย (เพียง 2 เส้น)
-
รองรับการเชื่อมต่ออุปกรณ์หลายชิ้น
-
เหมาะกับการสื่อสารระยะสั้นภายในบอร์ดหรือโมดูล
BH1750 ใช้ I2C ในการส่งค่าความเข้มแสงไปยังไมโครคอนโทรลเลอร์
และสามารถใช้งานร่วมกับ ESP32 ได้อย่างมีประสิทธิภาพ
💡8.5 อุปกรณ์ที่ใช้ในการทดลอง
| ลำดับที่ | รายละเอียด |
|---|---|
| 1 | เซนเซอร์ตรวจจับความเข้มแสง BH1750 |
| 2. | บอร์ด Smart Building IoT (Sensor Board) |
ตารางที่ 8.1: รายการอุปกรณ์ที่ใช้ในการทดลอง
💡8.6 การเชื่อมต่อกับบอร์ด
เชื่อมต่อเซนเซอร์ BH1750 ที่คอนเนคเตอร์ I2C บนบอร์ด Smart Building IoT
(Sensor Board) เพื่อให้ ESP32 ประมวลผล โดยขาที่ใช้ในการเชื่อมต่อจะเป็นดังนี้
-
VCC → 5V
-
GND → GND
-
SDA → GPIO21
-
SCL → GPIO22

รูปที่ 8.6 การเชื่อมต่อโมดูลเซนเซอร์ตรวจจับความเข้มแสง (BH1750)
💡8.7 ตัวอย่างโค้ดและการแสดงผล
Example Code 8.1: อ่านค่าแสงแบบ One-Time และแสดงผลผ่าน Serial
อ่านค่าความเข้มแสงจากเซนเซอร์ BH1750 (ใช้ไลบรารี ErriezBH1750)
และแสดงผลออกทาง Serial Monitor โดยมีขั้นตอนการทำงานดังนี้

รูปที่ 8.7 โค้ดตัวอย่างสำหรับอ่านค่าแสงจากเซนเซอร์ BH1750 และแสดงผลผ่าน Serial
Monitor

Example Code 8.2: แสดงค่าแสงแบบต่อเนื่องแบบ Mode Continuous
ปรับปรุงโค้ด โดยให้เซนเซอร์ทำงานในโหมด Mode Continuous และ Resolution High
จากนั้นให้สังเกตค่าที่ได้จาก Serial port

รูปที่ 8.8 โค้ดอ่านค่าแสงจากเซนเซอร์ BH1750 แบบต่อเนื่องในโหมดความละเอียดสูง

Example Code 8.3:
ปรับปรุงโค้ด โดยให้เซนเซอร์ทำงานในโหมด ModeContinuous และ ResolutionMid
และให้แสดงค่าทาง Serial และ OLED

รูปที่ 8.9 โค้ดอ่านค่าแสงแบบต่อเนื่อง แสดงผลผ่าน Serial และ OLED

Example Code 8.4:
ปรับปรุงโค้ดเดิม โดยเพิ่มฟังก์ชันควบคุมรีเลย์ดังนี้:**
-
ให้รีเลย์ **ON** เมื่อไม่มีแสง (ค่าความสว่าง Lux < 5)
-
ให้รีเลย์ **OFF** เมื่อมีแสง (ค่าความสว่าง Lux > 30)
-
แสดงสถานะรีเลย์ทั้งทาง Serial Monitor และ OLED

รูปที่ 8.10 โค้ดควบคุมรีเลย์ตามค่าความสว่าง พร้อมแสดงผลผ่าน Serial และ OLED

💡การประยุกต์ใช้งาน
-
ระบบควบคุมแสงใน Smart Building
-
ฟาร์มพืชอัจฉริยะ (ปรับแสงให้เหมาะสม)
-
สถานีตรวจวัดอากาศ
-
ระบบแจ้งเตือนระดับแสงผิดปกติ
💡สรุปผลการเรียนรู้
ผู้เรียนสามารถใช้งานเซนเซอร์ BH1750 เพื่ออ่านค่าความเข้มแสงแบบ Lux ได้อย่างถูกต้อง
เข้าใจการเลือกใช้โหมดการวัดที่เหมาะสม และนำไปประยุกต์ควบคุมอุปกรณ์ต่าง ๆ เช่น
รีเลย์หรือระบบแจ้งเตือนในสถานการณ์จริง
✅ กิจกรรมการทดลอง (Lab Exercise)
1.ทดลองเปรียบเทียบโหมด One-Time และ Continuous
…………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………
2.ปรับระดับ Resolution (High/Mid/Low) และวิเคราะห์ความแตกต่างของค่า
…………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………
3.ทดลองใช้รีเลย์ควบคุมหลอดไฟให้เปิด–ปิดอัตโนมัติตามระดับแสงที่ตรวจวัดได้
…………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………
📝 พื้นที่สรุปผลการเรียนรู้
🔹 หลังจากทำกิจกรรมและศึกษาข้อมูลจากชุดฝึกนี้ ฉันได้เรียนรู้ว่า…
…………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………
🔹 ความเข้าใจเพิ่มเติมที่ได้รับจากใบงานนี้คือ…
…………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………
🔹 ข้อเสนอแนะ/ข้อสงสัยเพิ่มเติม
…………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………
“แสงไม่เพียงให้เราเห็น แต่สอนให้เราเข้าใจ”
“Light not only lets us see, but also helps us
comprehend.”




Leave a Reply