สารบัญ:

Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Python Tutorial: 4 ขั้นตอน
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Python Tutorial: 4 ขั้นตอน

วีดีโอ: Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Python Tutorial: 4 ขั้นตอน

วีดีโอ: Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Python Tutorial: 4 ขั้นตอน
วีดีโอ: Interfacing Raspberry pi 3 with IR sensor using Python language 2024, พฤศจิกายน
Anonim
Image
Image

TMD26721 เป็นเครื่องตรวจจับระยะใกล้แบบดิจิตอลอินฟราเรดซึ่งมีระบบตรวจจับระยะใกล้และตรรกะอินเทอร์เฟซแบบดิจิทัลในโมดูลยึดพื้นผิว 8 พินเพียงตัวเดียว การตรวจจับระยะใกล้รวมถึงสัญญาณต่อสัญญาณรบกวนและความแม่นยำที่ได้รับการปรับปรุง รีจิสเตอร์ออฟเซ็ตระยะใกล้ช่วยให้สามารถชดเชยสัญญาณครอสทอล์คของระบบออปติคัลระหว่าง IR LED และเซ็นเซอร์ได้ นี่คือการสาธิตด้วย raspberry pi โดยใช้รหัส python

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ..!

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

1. ราสเบอร์รี่ปี่

2. TMD26721

3. สายเคเบิล I²C

4. I²C Shield สำหรับ Raspberry Pi

5. สายเคเบิลอีเธอร์เน็ต

ขั้นตอนที่ 2: การเชื่อมต่อ:

การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ

ใช้เกราะป้องกัน I2C สำหรับ raspberry pi แล้วค่อยๆ ดันไปบนหมุด gpio ของ raspberry pi

จากนั้นเชื่อมต่อปลายสาย I2C ด้านหนึ่งกับเซ็นเซอร์ TMD26721 และปลายอีกด้านหนึ่งเข้ากับแผงป้องกัน I2C

เชื่อมต่อสายอีเทอร์เน็ตกับ pi หรือคุณสามารถใช้โมดูล WiFi ได้

การเชื่อมต่อแสดงในภาพด้านบน

ขั้นตอนที่ 3: รหัส:

รหัส
รหัส

รหัสหลามสำหรับ TMD26721 สามารถดาวน์โหลดได้จากที่เก็บ GitHub ของเรา - ControlEverythingCommunity

นี่คือลิงค์สำหรับสิ่งเดียวกัน:

github.com/ControlEverythingCommunity/TMD2…

แผ่นข้อมูลของ TMD26721 สามารถพบได้ที่นี่:

s3.amazonaws.com/controleverything.media/c…

เราใช้ไลบรารี SMBus สำหรับโค้ด python ขั้นตอนในการติดตั้ง SMBus บน raspberry pi ได้อธิบายไว้ที่นี่:

pypi.python.org/pypi/smbus-cffi/0.5.1

คุณสามารถคัดลอกรหัสจากที่นี่ได้ดังนี้:

# จัดจำหน่ายด้วยใบอนุญาตอิสระ

# ใช้งานตามที่คุณต้องการ ไม่ว่าจะมีกำไรหรือฟรี หากเข้ากับใบอนุญาตของงานที่เกี่ยวข้อง

#TMD26721

# รหัสนี้ออกแบบมาเพื่อทำงานกับ TMD26721_I2CS I2C Mini Module ที่มีจำหน่ายจาก ControlEverything.com

#

นำเข้า smbus

เวลานำเข้า

# รับรถบัส I2C

รถบัส = smbus. SMBus(1)

# TMD26721 ที่อยู่ 0x39 (57)

# เลือกเปิดใช้งานการลงทะเบียนลงทะเบียน 0x00 (0) พร้อมคำสั่งลงทะเบียน 0x80 (128)

# 0x0D (14) เปิดเครื่อง, รอเปิดใช้งาน, เปิดใช้งานความใกล้เคียง

bus.write_byte_data(0x39, 0x00 | 0x80, 0x0D)

# TMD26721 ที่อยู่ 0x39 (57)

# เลือกรีจิสเตอร์ควบคุมเวลาใกล้เคียง 0x02 (2) พร้อมรีจิสเตอร์คำสั่ง 0x80 (128)

# 0xFF(255) เวลา = 2.73 ms

bus.write_byte_data(0x39, 0x02 | 0x80, 0xFF)

# TMD26721 ที่อยู่ 0x39 (57)

# เลือกเวลารอลงทะเบียน 0x03(03) พร้อมรีจิสเตอร์คำสั่ง 0x80(128)# 0xFF(255) เวลา - 2.73ms

bus.write_byte_data(0x39, 0x03 | 0x80, 0xFF)

# ที่อยู่ TMD26721, 0x39 (57# เลือกการลงทะเบียนการนับพัลส์, 0x0E (14) พร้อมรีจิสเตอร์คำสั่ง 0x80 (128)

# 0x20(32) จำนวนชีพจร = 32

bus.write_byte_data(0x39, 0x0E | 0x80, 0x20)

# TMD26721 ที่อยู่ 0x39 (57)

# เลือกรีจิสเตอร์ควบคุม 0x0F (15) พร้อมรีจิสเตอร์คำสั่ง 0x80 (128)

# 0x20 (32) ความใกล้ชิดใช้ CH1 diode

bus.write_byte_data(0x39, 0x0F | 0x80, 0x20)

เวลานอน(0.8)

# TMD26721 ที่อยู่ 0x39 (57)

# อ่านข้อมูลย้อนหลังตั้งแต่ 0x18 (57) พร้อมรีจิสเตอร์คำสั่ง 0x80 (128), 2 ไบต์

# ความใกล้ชิด lsb ความใกล้ชิด msb

ข้อมูล = bus.read_i2c_block_data(0x39, 0x18 | 0x80, 2)

#แปลงข้อมูล

ความใกล้ชิด = ข้อมูล[1] * 256 + ข้อมูล[0]

# ส่งออกข้อมูลไปยังหน้าจอ

พิมพ์ "ความใกล้เคียงของอุปกรณ์: %d" %proximity

ขั้นตอนที่ 4: การใช้งาน:

TMD26721 เป็นเซ็นเซอร์ความใกล้ชิดดิจิตอลอินฟราเรดซึ่งสามารถรวมอยู่ในการควบคุมหน้าจอสัมผัสของเครื่องมือถือและเปิดใช้งานสปีกเกอร์โฟนอัตโนมัติ นอกจากนี้ยังสามารถให้การเปลี่ยนสวิตช์เครื่องกลเช่นเดียวกับการจัดตำแหน่งกระดาษ ประสิทธิภาพและความน่าเชื่อถือสูงทำให้เหมาะสำหรับการใช้งานการตรวจจับระยะใกล้ต่างๆ

แนะนำ: