สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
TSL45315 เป็นเซ็นเซอร์วัดแสงโดยรอบแบบดิจิตอล มันใกล้เคียงกับการตอบสนองของสายตามนุษย์ภายใต้สภาพแสงที่หลากหลาย อุปกรณ์มีเวลาในการรวมที่เลือกได้สามครั้งและให้เอาต์พุต lux 16 บิตโดยตรงผ่านอินเทอร์เฟซบัส I2C อุปกรณ์ประกอบด้วยอาร์เรย์โฟโตไดโอด ตัวแปลงอนาล็อกเป็นดิจิตอล (ADC) แบบบูรณาการ วงจรประมวลผลสัญญาณ ลอจิกการคำนวณ lux และอินเทอร์เฟซอนุกรม I2C บนวงจรรวม CMOS เดียวเพื่อให้ข้อมูลลักซ์ นี่คือการสาธิตด้วย raspberry pi โดยใช้รหัส python
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ..!
1. ราสเบอร์รี่ปี่
2. TSL45315
3. สายเคเบิล I²C
4. I²C Shield สำหรับ Raspberry Pi
5. สายเคเบิลอีเธอร์เน็ต
ขั้นตอนที่ 2: การเชื่อมต่อ:
ใช้เกราะป้องกัน I2C สำหรับ raspberry pi แล้วค่อยๆ ดันไปบนหมุด gpio ของ raspberry pi
จากนั้นเชื่อมต่อปลายสาย I2C ด้านหนึ่งกับเซ็นเซอร์ TSL45315 และปลายอีกด้านหนึ่งเข้ากับแผงป้องกัน I2C
เชื่อมต่อสายอีเทอร์เน็ตกับ pi หรือคุณสามารถใช้โมดูล WiFi ได้
การเชื่อมต่อแสดงในภาพด้านบน
ขั้นตอนที่ 3: รหัส:
รหัสหลามสำหรับ TSL45315 สามารถดาวน์โหลดได้จากที่เก็บ GitHub-Dcube store
นี่คือลิงค์สำหรับสิ่งเดียวกัน:
github.com/DcubeTechVentures/TSL45315…
เราใช้ไลบรารี SMBus สำหรับโค้ด python ขั้นตอนในการติดตั้ง SMBus บน raspberry pi ได้อธิบายไว้ที่นี่:
pypi.python.org/pypi/smbus-cffi/0.5.1
คุณสามารถคัดลอกรหัสจากที่นี่ได้ดังนี้:
# จัดจำหน่ายด้วยใบอนุญาตอิสระ
# ใช้งานตามที่คุณต้องการ ไม่ว่าจะมีกำไรหรือฟรี หากเข้ากับใบอนุญาตของงานที่เกี่ยวข้อง
# TSL45315
# รหัสนี้ออกแบบมาเพื่อทำงานกับ TSL45315_IS2C I2C Mini Module ที่มีอยู่ใน Dcube Store
นำเข้า smbus
เวลานำเข้า
# รับรถบัส I2C
รถบัส = smbus. SMBus(1)
# TSL45315 ที่อยู่ 0x29(41)
# เลือกควบคุมการลงทะเบียน 0x00 (0) พร้อมการลงทะเบียนคำสั่ง 0x80 (128)
# 0x03(03) การทำงานปกติ
bus.write_byte_data(0x29, 0x00 | 0x80, 0x03)
# TSL45315 ที่อยู่ 0x29(41)
# เลือกการลงทะเบียนการกำหนดค่า 0x01 (1) พร้อมการลงทะเบียนคำสั่ง 0x80 (128)
# 0x00(00) ตัวคูณ 1x, สี: 400ms
bus.write_byte_data(0x29, 0x01 | 0x80, 0x00)
เวลานอน(0.5)
# TSL45315 ที่อยู่ 0x29(41)
# อ่านข้อมูลย้อนหลังจาก 0x04 (4) พร้อมการลงทะเบียนคำสั่ง 0x80 (128)
# 2 ไบต์ LSB ก่อน
ข้อมูล = bus.read_i2c_block_data(0x29, 0x04 | 0x80, 2)
# แปลงข้อมูลเป็น lux
ความสว่าง = ข้อมูล[1] * 256 + ข้อมูล[0]
# ส่งออกข้อมูลไปยังหน้าจอ
พิมพ์ "Ambient Light Luminance: %d lux" %luminance
ขั้นตอนที่ 4: การใช้งาน:
ช่วงไดนามิกกว้างของเซ็นเซอร์วัดแสงโดยรอบทำให้มีประโยชน์อย่างยิ่งในการใช้งานกลางแจ้งที่ต้องสัมผัสกับแสงแดดโดยตรง อุปกรณ์นี้เหมาะอย่างยิ่งสำหรับใช้ในการควบคุมไฟถนนและระบบรักษาความปลอดภัย ป้ายโฆษณา และไฟรถยนต์โดยอัตโนมัติ อุปกรณ์ TSL45315 ยังสามารถใช้ในสถานะของแข็งและแสงทั่วไปสำหรับการควบคุมอัตโนมัติและการเก็บเกี่ยวในเวลากลางวันเพื่อประหยัดพลังงานสูงสุด แอปพลิเคชั่นอื่นๆ รวมถึงการควบคุมแบ็คไลท์ของจอแสดงผลเพื่อยืดอายุการใช้งานแบตเตอรี่และปรับการมองเห็นในโทรศัพท์มือถือ แท็บเล็ต และโน้ตบุ๊กให้เหมาะสม