ได้รับส่งมอบฟรีในคําสั่งทั้งหมดมากกว่า 20 ปอนด์!

ใช้ GY-302 กับ Raspberry Pi

Using the GY-302 with the Raspberry Pi

The GY-302 เป็นโมดูลเซนเซอร์วัดความเข้มแสงที่ใช้เซนเซอร์ BH1750 ให้การวัดความเข้มแสงเป็นหน่วยลักซ์ (lux) อย่างแม่นยำ เหมาะสำหรับการใช้งานเช่น ระบบไฟอัจฉริยะ การติดตามสภาพอากาศ และการถ่ายภาพ คำแนะนำนี้อธิบายวิธีการตั้งค่าและใช้งาน GY-302 กับ Raspberry Pi.


สิ่งที่คุณจะต้องมี

  1. Raspberry Pi (ทุกรุ่นที่รองรับ GPIO เช่น Pi 3, Pi 4)
  2. โมดูลเซนเซอร์แสง GY-302
  3. เบรดบอร์ดและสาย Jumper
  4. คอมพิวเตอร์ที่สามารถเข้า SSH ไปยัง Raspberry Pi หรือแป้นพิมพ์และจอภาพเชื่อมต่อกับ Pi
  5. Python ติดตั้งบน Raspberry Pi

ขั้นตอนที่ 1: การเชื่อมต่อ GY-302 กับ Raspberry Pi

โมดูล GY-302 สื่อสารกับ Raspberry Pi โดยใช้โปรโตคอล I2C.

การเชื่อมต่อ (โหมด I2C)

GY-302 ขา ขาของ Raspberry Pi
VCC 3.3V (Pin 1)
GND GND (Pin 6)
SDA SDA (Pin 3, GPIO2)
SCL SCL (Pin 5, GPIO3)

ขั้นตอนที่ 2: เปิดใช้งานอินเทอร์เฟซ I2C บน Raspberry Pi

  1. เปิดเครื่องมือกำหนดค่าของ Raspberry Pi:
    sudo raspi-config
    
  2. ไปที่ Interface Options > I2C และเปิดใช้งาน
  3. รีบูต Raspberry Pi:
    sudo reboot
    

ขั้นตอนที่ 3: ติดตั้งไลบรารีที่จำเป็น

  1. อัปเดต Raspberry Pi ของคุณ:
    sudo apt update && sudo apt upgrade -y
    
  2. ติดตั้งเครื่องมือ I2C และไลบรารี Python:
    sudo apt install -y i2c-tools python3-smbus python3-pip
    
  3. ตรวจสอบว่า GY-302 ถูกตรวจพบบนบัส I2C:
    sudo i2cdetect -y 1
    
    คุณควรเห็นที่อยู่ของอุปกรณ์ (โดยปกติคือ 0x23) ในผลลัพธ์.

ขั้นตอนที่ 4: การอ่านข้อมูลจาก GY-302

สคริปต์ Python ต่อไปนี้สาธิตวิธีการอ่านค่าความเข้มแสง (lux) จาก GY-302.

ตัวอย่างโค้ด Python

import smbus2
import time

# กำหนดที่อยู่ I2C และคำสั่ง
BH1750_ADDRESS = 0x23
CONTINUOUS_HIGH_RES_MODE = 0x10

# เริ่มต้นบัส I2C
bus = smbus2.SMBus(1)

def read_light():
    data = bus.read_i2c_block_data(BH1750_ADDRESS, CONTINUOUS_HIGH_RES_MODE, 2)
    lux = (data[0] << 8) | data[1]
    return lux / 1.2

try:
    while True:
        light_level = read_light()
        print(f"ความเข้มแสง: {light_level:.2f} lux")
        time.sleep(1)
except KeyboardInterrupt:
    print("ออกจากโปรแกรม...")

ขั้นตอนที่ 5: การใช้งานของ GY-302

  1. ระบบไฟอัจฉริยะ: ปรับระดับแสงตามความเข้มแสงโดยรอบ.
  2. การติดตามสภาพอากาศ: วัดความเข้มแสงเป็นส่วนหนึ่งของสถานีอากาศ.
  3. การถ่ายภาพ: ใช้ควบคุมการเปิดรับแสงในระบบกล้อง.
  4. โครงการ IoT: นำข้อมูลความเข้มแสงไปรวมเข้ากับระบบอัตโนมัติ.

การแก้ไขปัญหา

  1. อุปกรณ์ไม่ถูกตรวจพบ:

    • ตรวจสอบการเชื่อมต่อ SDA และ SCL.
    • ตรวจสอบให้แน่ใจว่าอินเทอร์เฟซ I2C ถูกเปิดใช้งานบน Raspberry Pi.
  2. การอ่านค่าไม่แม่นยำ:

    • ตรวจสอบการรบกวนจากแหล่งแสงภายนอก.
    • ตรวจสอบการเชื่อมต่อและทิศทางของเซนเซอร์ให้ถูกต้อง.
  3. ข้อผิดพลาด I2C:

    • ตรวจสอบว่าไม่มีอุปกรณ์อื่นที่ขัดแย้งบนบัส I2C.

บทสรุป

โมดูลเซนเซอร์แสง GY-302 ให้วิธีที่เรียบง่ายและมีประสิทธิภาพในการวัดความเข้มแสงด้วย Raspberry Pi โดยปฏิบัติตามคำแนะนำนี้ คุณสามารถตั้งค่าเซนเซอร์และนำไปใช้งานในหลากหลายแอปพลิเคชัน ตั้งแต่ระบบสมาร์ทโฮมไปจนถึงโครงการ IoT ลองทดลองในสถานการณ์ต่างๆ เพื่อสำรวจศักยภาพทั้งหมดของมัน!

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

1 ความคิดเห็น

Could you tell me where I can find instructions to use the GY-302 light sensor module with module ESP32 DEV, please?

Jose,

แสดงความคิดเห็น