วิธีใช้เซ็นเซอร์ความเข้มแสง GY-302 BH1750 กับ Arduino

How to Use the GY-302 BH1750 Light Intensity Sensor with Arduino

GY-302 เป็นกระดานฝ่าวงล้อมที่มีเซ็นเซอร์ความเข้มแสง BH1750 ซึ่งวัดระดับแสงใน LUX มันสื่อสารกับไมโครคอนโทรลเลอร์ผ่านโปรโตคอล I2C ทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับโครงการที่ขึ้นกับแสงเช่นแสงอัจฉริยะตัวติดตามแสงอาทิตย์และแอพพลิเคชั่นการถ่ายภาพ บทช่วยสอนนี้จะแนะนำคุณผ่านการเชื่อมต่อและใช้โมดูล GY-302 กับ Arduino


สิ่งที่คุณต้องการ

  1. GY-302 BH1750 โมดูลเซ็นเซอร์แสง
  2. คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
  3. เครื่องหั่นขนมปังและสายจัมเปอร์
  4. คอมพิวเตอร์ที่ติดตั้ง Arduino IDE

ขั้นตอนที่ 1: ทำความเข้าใจโมดูล GY-302

GY-302 ใช้เซ็นเซอร์ BH1750 เพื่อวัดความเข้มของแสง มันส่งออกผลลัพธ์ใน LUX ซึ่งเป็นหน่วยมาตรฐานสำหรับการวัดความสว่าง

gy-302 pinout

เข็มหมุด การทำงาน
VCC แหล่งจ่ายไฟ (3.3V/5V)
gnd พื้น
SDA สายข้อมูล i2c
SCL สายนาฬิกา i2c

ที่อยู่ i2c

  • ที่อยู่เริ่มต้น: 0x23
  • ที่อยู่สำรอง: 0x5C (ตั้งค่าโดยการดึง pin addr สูงในบางโมดูล)

ขั้นตอนที่ 2: เดินสาย GY-302 ไปยัง Arduino

เชื่อมต่อโมดูล GY-302 เข้ากับ Arduino ของคุณดังนี้:

gy-302 pin พิน Arduino
VCC 5V
gnd gnd
SDA A4
SCL A5

บันทึก: ตรวจสอบให้แน่ใจว่ามีการใช้พิน I2C ที่ถูกต้องสำหรับบอร์ด Arduino ของคุณ (เช่น SDA และ SCL บน Arduino Mega คือหมุด 20 และ 21)


ขั้นตอนที่ 3: ติดตั้งไลบรารีที่ต้องการ

เพื่อลดความซับซ้อนของการสื่อสารด้วยเซ็นเซอร์ BH1750 ให้ติดตั้งไลบรารี "BH1750"

ขั้นตอนในการติดตั้ง:

  1. เปิด Arduino IDE
  2. ไป ร่าง > รวมห้องสมุด > จัดการห้องสมุด.
  3. ค้นหา "BH1750" แล้วคลิก ติดตั้ง.

ขั้นตอนที่ 4: อัปโหลดรหัส

นี่คือตัวอย่างตัวอย่างในการอ่านข้อมูลความเข้มแสงจาก GY-302:

#include <Wire.h>
#include <BH1750.h>

BH1750 lightMeter;

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("Initializing BH1750...");

  if (!lightMeter.begin()) {
    Serial.println("BH1750 not detected. Check wiring.");
    while (1);
  }

  Serial.println("BH1750 ready.");
}

void loop() {
  float lux = lightMeter.readLightLevel(); // Read light level in lux

  Serial.print("Light Intensity: ");
  Serial.print(lux);
  Serial.println(" lx");

  delay(1000); // Wait 1 second before the next reading
}

ขั้นตอนที่ 5: ทดสอบการตั้งค่า

  1. เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
  2. เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
  3. อัปโหลดรหัสโดยคลิก อัพโหลด.
  4. เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น 9600.
  5. สังเกตการอ่านความเข้มแสงที่แสดงใน LUX

ตัวเลือก: การปรับที่อยู่ I2C

หากที่อยู่ I2C เริ่มต้น (0x23) ไม่ทำงานตรวจสอบการกำหนดค่า PIN ของโมดูล โมดูลบางอย่างอนุญาตให้คุณเปลี่ยนไปใช้ที่อยู่สำรอง (0x5C) โดยการเชื่อมต่อ PIN Addr กับ VCC


แอปพลิเคชันของ GY-302

  1. ระบบแสงอัจฉริยะ
  2. การติดตามแผงโซลาร์เซลล์
  3. การวัดความเข้มแสงในการถ่ายภาพ
  4. การตรวจสอบแสงในร่มและกลางแจ้ง

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

  • ไม่มีการตอบสนองจากเซ็นเซอร์: ตรวจสอบการเดินสาย I2C และตรวจสอบที่อยู่ I2C ของโมดูล
  • การอ่านที่ไม่ถูกต้อง: ตรวจสอบให้แน่ใจว่าเซ็นเซอร์ไม่ได้ถูกขัดขวางหรือรับแสงสะท้อนแสง
  • ข้อผิดพลาดของห้องสมุด: ยืนยันว่ามีการติดตั้งไลบรารี BH1750 อย่างถูกต้อง

บทสรุป

คุณประสบความสำเร็จในการเชื่อมต่อเซ็นเซอร์แสง GY-302 BH1750 กับ Arduino เซ็นเซอร์อเนกประสงค์นี้ให้การวัดความเข้มแสงที่แม่นยำใน LUX ทำให้เป็นเครื่องมือที่ยอดเยี่ยมสำหรับโครงการที่ไวต่อแสงที่หลากหลาย ทดลองเพิ่มเติมโดยรวมเข้ากับส่วนประกอบหรือระบบอื่น ๆ !

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

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.