คราวนี้เราจะเชื่อมต่อเซ็นเซอร์วัดแสงแบบดิจิตอล 16 บิต BH1750 (ลักซ์มิเตอร์) ซึ่งใช้งานบนโมดูล GY-302 กับ Arduino
มันจำเป็น
- - Arduino;
- - โมดูล GY-302 พร้อมเซ็นเซอร์วัดแสงดิจิตอล BH1750;
- - คอมพิวเตอร์ส่วนบุคคล.
คำแนะนำ
ขั้นตอนที่ 1
พิจารณาโมดูล GY-302 ที่มีเซ็นเซอร์ BH1750 เซ็นเซอร์ BH1750 เป็นเซ็นเซอร์รับแสงดิจิตอล 16 บิตแบบดิจิทัลที่กำหนดช่วงการวัด: ตั้งแต่ 1 ถึง 65535 ลักซ์ เซ็นเซอร์ BH1750 มีความไวต่อแสงที่มองเห็นและแทบไม่ได้รับผลกระทบจากรังสีอินฟราเรด กล่าวคือ ตอบสนองต่อช่วงสเปกตรัมเดียวกันกับสายตามนุษย์ ด้วยเหตุนี้ เซ็นเซอร์ดังกล่าวจึงถูกนำมาใช้กันอย่างแพร่หลายในอุปกรณ์อิเล็กทรอนิกส์สมัยใหม่ เช่น อุปกรณ์พกพา กล้องถ่ายภาพและวิดีโอ ระบบสมาร์ทโฮม และอื่นๆ อีกมากมาย
โมดูลเชื่อมต่อผ่านอินเทอร์เฟซ I2C แบบสองสาย และจ่ายไฟตั้งแต่ +5 โวลต์ อินเทอร์เฟซ I2C ในบอร์ด Arduino ใช้งานบนพินอะนาล็อก A4 และ A5 ซึ่งรับผิดชอบ SDA (บัสข้อมูล) และ SCL (บัสนาฬิกา) ตามลำดับ ADDR pin ของ GY-302 สามารถปล่อยทิ้งไว้โดยไม่เชื่อมต่อหรือเชื่อมต่อกับกราวด์
ขั้นตอนที่ 2
เราจะไม่เจาะลึกถึงความซับซ้อนของการใช้งานอินเทอร์เฟซสำหรับการโต้ตอบของเซ็นเซอร์ BH1750 กับ Arduino แต่เราจะใช้ไลบรารี่สำเร็จรูป คุณสามารถดาวน์โหลดได้ที่นี่: https://github.com/claws/BH1750/archive/master.zip แตกไฟล์เก็บถาวรที่ดาวน์โหลดลงในไดเร็กทอรีด้วยสภาพแวดล้อมการพัฒนา "Arduino IDE / ไลบรารี"
มาเขียนสเก็ตช์นี้และอัปโหลดไปยัง Arduino ในภาพสเก็ตช์ ทุกๆ 100 มิลลิวินาที เราจะอ่านค่าการส่องสว่างในหน่วยลักซ์จากเซ็นเซอร์ BH1750 และส่งออกข้อมูลนี้ไปยังพอร์ตอนุกรม
ขั้นตอนที่ 3
มาเชื่อมต่อเซ็นเซอร์วัดแสง BH1750 กับ Arduino ดังที่แสดงไว้ด้านบน มาเชื่อมต่อบอร์ด Arduino กับคอมพิวเตอร์กัน เปิด Arduino IDE และเปิดจอภาพอนุกรมด้วยแป้นพิมพ์ลัด "Ctrl + Shift + M" หรือผ่านเมนู "เครื่องมือ" ในจอภาพของพอร์ตอนุกรม ค่าการส่องสว่างจากเซ็นเซอร์ BH1750 ของเราจะทำงาน หันเซ็นเซอร์ไปทางแหล่งกำเนิดแสง จากนั้นปิดกั้นไม่ให้แสงส่องเข้ามา แล้วคุณจะเห็นว่าค่าที่อ่านเปลี่ยนไปอย่างไร