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

UTEN BOONLIAM Avatar
บทที่ 8

💡

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

A blue circuit board with black text AI-generated content may be incorrect.

รูปที่ 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,
การตั้งค่าโหมดทำงาน, การเขียนโปรแกรมเพื่ออ่านค่าแสง
และการประยุกต์ใช้งานกับระบบควบคุมอัตโนมัติ
ซึ่งเป็นทักษะที่สามารถนำไปใช้พัฒนาโครงการจริงได้อย่างมีประสิทธิภาพ

A close up of a device AI-generated content may be incorrect.

รูปที่ 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

A diagram of a computer component AI-generated content may be incorrect.

รูปที่ 8.3 Block Diagram แสดงการทำงานภายในโมดูล BH1750

💡8.3 หลักการทำงานของเซนเซอร์

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

Diagram of a light source AI-generated content may be incorrect.

รูปที่ 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 เช่น ระบบควบคุมไฟอัตโนมัติ,
    การมอนิเตอร์สภาพแสงในอาคาร ฯลฯ

โหมดย่อย:

  1. Continuously H-Resolution Mode: ความละเอียดสูง ปกติใช้เวลาวัด ~120 ms/ครั้ง
    (1x Resolution)

  2. Continuously H-Resolution Mode2: ความละเอียดสูง, แต่ช้าลงครึ่งหนึ่ง (0.5x
    Resolution)

  3. Continuously L-Resolution Mode: ความละเอียดต่ำ, เร็ว (16 ms/ครั้ง, 4x
    Resolution)

One-Time mode(วัดครั้งเดียว):

  1. วัดค่าแสงแค่ 1 ครั้งแล้วหยุด (เซนเซอร์เข้าสู่ Power Down หลังวัดเสร็จ)

  2. เหมาะกับงานที่ต้องการประหยัดพลังงาน เช่น IoT ที่ทำงานกับแบตเตอรี่

โหมดย่อย:

  1. One Time H-Resolution Mode: วัดละเอียดสูง 1 ครั้ง แล้วหยุด (120 ms)

  2. One Time H-Resolution Mode2: วัดละเอียดสูงแต่ครึ่งหนึ่ง (0.5x Resolution)

  3. One Time L-Resolution Mode: วัดละเอียดต่ำ (16 ms) แล้วหยุด

💡สรุปง่าย ๆ

  1. Continuous = วัดเรื่อย ๆ อัตโนมัติ

  2. One Time = วัดครั้งเดียวแล้วหยุด

💡8.4 ทฤษฎีของการสื่อสารแบบ I2C

I2C (Inter-Integrated Circuit) เป็นโปรโตคอลการสื่อสารแบบอนุกรมความเร็วต่ำ
ใช้เพียง 2 สายในการเชื่อมต่อ:

  • SCL (Serial Clock Line): สายสัญญาณนาฬิกา
    ควบคุมจังหวะการส่งข้อมูล

  • SDA (Serial Data Line): สายส่งข้อมูลแบบสองทาง

A group of white and gold rectangular signs AI-generated content may be incorrect.

รูปที่ 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

A circuit board with a black handle AI-generated content may be incorrect.

รูปที่ 8.6 การเชื่อมต่อโมดูลเซนเซอร์ตรวจจับความเข้มแสง (BH1750)

💡8.7 ตัวอย่างโค้ดและการแสดงผล

Example Code 8.1: อ่านค่าแสงแบบ One-Time และแสดงผลผ่าน Serial

อ่านค่าความเข้มแสงจากเซนเซอร์ BH1750 (ใช้ไลบรารี ErriezBH1750)
และแสดงผลออกทาง Serial Monitor โดยมีขั้นตอนการทำงานดังนี้

A screenshot of a computer AI-generated content may be incorrect.

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

A qr code with black squares AI-generated content may be incorrect.

Example Code 8.2: แสดงค่าแสงแบบต่อเนื่องแบบ Mode Continuous

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

A screenshot of a computer AI-generated content may be incorrect.

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

A qr code with black squares AI-generated content may be incorrect.

Example Code 8.3:

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

A screen shot of a computer AI-generated content may be incorrect.

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

A qr code with black squares AI-generated content may be incorrect.

Example Code 8.4:

ปรับปรุงโค้ดเดิม โดยเพิ่มฟังก์ชันควบคุมรีเลย์ดังนี้:**

  • ให้รีเลย์ **ON** เมื่อไม่มีแสง (ค่าความสว่าง Lux < 5)

  • ให้รีเลย์ **OFF** เมื่อมีแสง (ค่าความสว่าง Lux > 30)

  • แสดงสถานะรีเลย์ทั้งทาง Serial Monitor และ OLED

A screenshot of a computer AI-generated content may be incorrect.

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

A qr code with black squares AI-generated content may be incorrect.

💡การประยุกต์ใช้งาน

  • ระบบควบคุมแสงใน 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

Your email address will not be published. Required fields are marked *