GY-302 เป็นกระดานฝ่าวงล้อมที่มีเซ็นเซอร์ความเข้มแสง BH1750 ซึ่งวัดระดับแสงใน LUX มันสื่อสารกับไมโครคอนโทรลเลอร์ผ่านโปรโตคอล I2C ทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับโครงการที่ขึ้นกับแสงเช่นแสงอัจฉริยะตัวติดตามแสงอาทิตย์และแอพพลิเคชั่นการถ่ายภาพ บทช่วยสอนนี้จะแนะนำคุณผ่านการเชื่อมต่อและใช้โมดูล GY-302 กับ Arduino
สิ่งที่คุณต้องการ
- GY-302 BH1750 โมดูลเซ็นเซอร์แสง
- คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
- เครื่องหั่นขนมปังและสายจัมเปอร์
- คอมพิวเตอร์ที่ติดตั้ง 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"
ขั้นตอนในการติดตั้ง:
- เปิด Arduino IDE
- ไป ร่าง > รวมห้องสมุด > จัดการห้องสมุด.
- ค้นหา "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: ทดสอบการตั้งค่า
- เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
- เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
- อัปโหลดรหัสโดยคลิก อัพโหลด.
- เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น
9600
. - สังเกตการอ่านความเข้มแสงที่แสดงใน LUX
ตัวเลือก: การปรับที่อยู่ I2C
หากที่อยู่ I2C เริ่มต้น (0x23
) ไม่ทำงานตรวจสอบการกำหนดค่า PIN ของโมดูล โมดูลบางอย่างอนุญาตให้คุณเปลี่ยนไปใช้ที่อยู่สำรอง (0x5C
) โดยการเชื่อมต่อ PIN Addr กับ VCC
แอปพลิเคชันของ GY-302
- ระบบแสงอัจฉริยะ
- การติดตามแผงโซลาร์เซลล์
- การวัดความเข้มแสงในการถ่ายภาพ
- การตรวจสอบแสงในร่มและกลางแจ้ง
การแก้ไขปัญหา
- ไม่มีการตอบสนองจากเซ็นเซอร์: ตรวจสอบการเดินสาย I2C และตรวจสอบที่อยู่ I2C ของโมดูล
- การอ่านที่ไม่ถูกต้อง: ตรวจสอบให้แน่ใจว่าเซ็นเซอร์ไม่ได้ถูกขัดขวางหรือรับแสงสะท้อนแสง
- ข้อผิดพลาดของห้องสมุด: ยืนยันว่ามีการติดตั้งไลบรารี BH1750 อย่างถูกต้อง
บทสรุป
คุณประสบความสำเร็จในการเชื่อมต่อเซ็นเซอร์แสง GY-302 BH1750 กับ Arduino เซ็นเซอร์อเนกประสงค์นี้ให้การวัดความเข้มแสงที่แม่นยำใน LUX ทำให้เป็นเครื่องมือที่ยอดเยี่ยมสำหรับโครงการที่ไวต่อแสงที่หลากหลาย ทดลองเพิ่มเติมโดยรวมเข้ากับส่วนประกอบหรือระบบอื่น ๆ !