สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ..!
- ขั้นตอนที่ 2: การเชื่อมต่อ:
- ขั้นตอนที่ 3: รหัส:
- ขั้นตอนที่ 4: การใช้งาน:
วีดีโอ: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
MPL3115A2 ใช้เซ็นเซอร์ความดัน MEMS พร้อมอินเทอร์เฟซ I2C เพื่อให้ข้อมูลความดัน/ระดับความสูงและอุณหภูมิที่แม่นยำ เอาต์พุตเซ็นเซอร์ถูกแปลงเป็นดิจิทัลด้วย ADC 24 บิตความละเอียดสูง การประมวลผลภายในจะลบงานการชดเชยออกจากระบบโฮสต์ MCU สามารถตรวจจับการเปลี่ยนแปลงได้เพียง 0.05 kPa ซึ่งเท่ากับการเปลี่ยนแปลงระดับความสูง 0.3 ม. นี่คือการสาธิตด้วย raspberry pi โดยใช้รหัส python
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ..!
1. ราสเบอร์รี่ปี่
2. MPL3115A2
3. สายเคเบิล I²C
4. I²C Shield สำหรับ Raspberry Pi
5. สายเคเบิลอีเธอร์เน็ต
ขั้นตอนที่ 2: การเชื่อมต่อ:
ใช้เกราะป้องกัน I2C สำหรับ raspberry pi แล้วค่อยๆ ดันไปบนหมุด gpio ของ raspberry pi
จากนั้นเชื่อมต่อปลายด้านหนึ่งของสายเคเบิล I2C เข้ากับเซ็นเซอร์ MPL3115A2 และเชื่อมต่อปลายอีกด้านหนึ่งเข้ากับแผงป้องกัน I2C
เชื่อมต่อสายอีเทอร์เน็ตกับ pi หรือคุณสามารถใช้โมดูล WiFi ได้
การเชื่อมต่อแสดงในภาพด้านบน
ขั้นตอนที่ 3: รหัส:
รหัสหลามสำหรับ MPL3115A2 สามารถดาวน์โหลดได้จากที่เก็บ Github ของเรา - DCUBE Store Community
นี่คือลิงค์
เราใช้ไลบรารี SMBus สำหรับโค้ด python ขั้นตอนในการติดตั้ง SMBus บน raspberry pi ได้อธิบายไว้ที่นี่:
pypi.python.org/pypi/smbus-cffi/0.5.1
คุณสามารถคัดลอกรหัสจากที่นี่ได้ดังนี้:
# จัดจำหน่ายด้วยใบอนุญาตอิสระ
# ใช้งานตามที่คุณต้องการ ไม่ว่าจะมีกำไรหรือฟรี หากเข้ากับใบอนุญาตของงานที่เกี่ยวข้อง
# MPL3115A2
# รหัสนี้ออกแบบมาเพื่อทำงานกับ MPL3115A2_I2CS I2C Mini Module
นำเข้า smbus
เวลานำเข้า
# รับรถบัส I2C
รถบัส = smbus. SMBus(1)
# MPL3115A2 ที่อยู่ 0x60(96)
# เลือกรีจิสเตอร์ควบคุม 0x26(38)
# 0xB9 (185) โหมดแอ็คทีฟ, OSR = 128, โหมดเครื่องวัดระยะสูง
bus.write_byte_data(0x60, 0x26, 0xB9)
# MPL3115A2 ที่อยู่ 0x60(96)
# เลือกการลงทะเบียนการกำหนดค่าข้อมูล 0x13 (19)
# 0x07(07) เปิดใช้งานเหตุการณ์พร้อมข้อมูลสำหรับระดับความสูง ความดัน อุณหภูมิ
bus.write_byte_data(0x60, 0x13, 0x07)
# MPL3115A2 ที่อยู่ 0x60(96)
# เลือกรีจิสเตอร์ควบคุม 0x26(38)
# 0xB9 (185) โหมดแอ็คทีฟ, OSR = 128, โหมดเครื่องวัดระยะสูง
bus.write_byte_data(0x60, 0x26, 0xB9)
เวลานอน(1)
# MPL3115A2 ที่อยู่ 0x60(96)
# อ่านข้อมูลย้อนหลังตั้งแต่ 0x00(00) 6 ไบต์
# สถานะ, ความสูง MSB1, ความสูง MSB, ความสูง LSB, MSB ชั่วคราว, LSB ชั่วคราว
ข้อมูล = bus.read_i2c_block_data(0x60, 0x00, 6)
# แปลงข้อมูลเป็น 20 บิต
ความสูง = ((ข้อมูล[1] * 65536) + (ข้อมูล[2] * 256) + (ข้อมูล[3] & 0xF0)) / 16
temp = ((data[4] * 256) + (data[5] & 0xF0)) / 16
ความสูง = ความสูง / 16.0
cTemp = อุณหภูมิ / 16.0
fTemp = cTemp * 1.8 + 32
# MPL3115A2 ที่อยู่ 0x60(96)
# เลือกรีจิสเตอร์ควบคุม 0x26(38)
# 0x39 (57) โหมดแอคทีฟ, OSR = 128, โหมดบารอมิเตอร์
bus.write_byte_data(0x60, 0x26, 0x39)
เวลานอน(1)
# MPL3115A2 ที่อยู่ 0x60(96)
# อ่านข้อมูลย้อนหลังตั้งแต่ 0x00(00), 4 ไบต์
# สถานะ กด MSB1 กด MSB กด LSB
ข้อมูล = bus.read_i2c_block_data(0x60, 0x00, 4)
# แปลงข้อมูลเป็น 20 บิต
ก่อนหน้า = ((ข้อมูล[1] * 65536) + (ข้อมูล[2] * 256) + (ข้อมูล[3] & 0xF0)) / 16
ความดัน = (กด / 4.0) / 1000.0
# ส่งออกข้อมูลไปยังหน้าจอ
พิมพ์ "แรงดัน: %.2f kPa" %pressure
พิมพ์ "ระดับความสูง: %.2f m" %altitude
พิมพ์ "อุณหภูมิในเซลเซียส: %.2f C" %cTemp
พิมพ์ "อุณหภูมิเป็นฟาเรนไฮต์: %.2f F" %fTemp
ขั้นตอนที่ 4: การใช้งาน:
แอปพลิเคชันต่างๆ ของ MPL3115A2 รวมถึงเครื่องวัดระยะสูงที่มีความแม่นยำสูง สมาร์ทโฟน/แท็บเล็ต อุปกรณ์อิเล็กทรอนิกส์ส่วนบุคคล Altimetry เป็นต้น นอกจากนี้ยังสามารถรวมเข้ากับ GPS Dead Reckoning, การปรับปรุง GPS สำหรับบริการฉุกเฉิน, ระบบช่วยแผนที่, การนำทาง ตลอดจนอุปกรณ์สถานีตรวจอากาศ
แนะนำ:
Raspberry Pi SHT25 Humidity & Temperature Sensor Python Tutorial: 4 ขั้นตอน
Raspberry Pi SHT25 Humidity & Temperature Sensor Python Tutorial: SHT25 I2C Humidity and Temperature Sensor ±1.8%RH ±0.2°C I2C Mini Module. เซ็นเซอร์ความชื้นและอุณหภูมิความแม่นยำสูง SHT25 ได้กลายเป็นมาตรฐานอุตสาหกรรมในแง่ของฟอร์มแฟกเตอร์และความชาญฉลาด โดยให้สัญญาณเซ็นเซอร์แบบลิเนียร์ที่ปรับเทียบแล้ว
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python Tutorial: 4 ขั้นตอน
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python Tutorial: BH1715 เป็นเซ็นเซอร์วัดแสงโดยรอบแบบดิจิตอลพร้อมอินเทอร์เฟซบัสI²C โดยทั่วไปแล้ว BH1715 จะใช้เพื่อรับข้อมูลแสงแวดล้อมสำหรับการปรับไฟแบ็คไลท์ LCD และแผงปุ่มกดสำหรับอุปกรณ์มือถือ อุปกรณ์นี้มีความละเอียด 16 บิตและส่วนเสริม
Raspberry Pi - HIH6130 I2C Humidity & Temperature Sensor Python Tutorial: 4 ขั้นตอน
Raspberry Pi - HIH6130 I2C Humidity & Temperature Sensor Python Tutorial: HIH6130 เป็นเซ็นเซอร์ความชื้นและอุณหภูมิพร้อมเอาต์พุตดิจิตอล เซ็นเซอร์เหล่านี้ให้ระดับความแม่นยำ ±4% RH ด้วยความเสถียรในระยะยาวระดับแนวหน้าของอุตสาหกรรม I2C ดิจิทัลที่ชดเชยอุณหภูมิอย่างแท้จริง ความน่าเชื่อถือระดับแนวหน้าของอุตสาหกรรม ประสิทธิภาพการใช้พลังงาน
Raspberry Pi MCP9808 Temperature Sensor Python Tutorial: 4 ขั้นตอน
Raspberry Pi MCP9808 Temperature Sensor Python Tutorial: MCP9808 เป็นเซ็นเซอร์อุณหภูมิดิจิตอลที่มีความแม่นยำสูง± 0.5 ° C I2C mini module สิ่งเหล่านี้รวมเข้ากับการลงทะเบียนที่ผู้ใช้ตั้งโปรแกรมได้ซึ่งอำนวยความสะดวกในการใช้งานการตรวจวัดอุณหภูมิ เซ็นเซอร์อุณหภูมิความแม่นยำสูง MCP9808 ได้กลายเป็นอุตสาหกรรม
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java บทช่วยสอน: 4 ขั้นตอน
Raspberry Pi A1332 Precision Hall - เซ็นเซอร์มุมเอฟเฟกต์ บทช่วยสอน Java: A1332 เป็นเซ็นเซอร์ตำแหน่งมุมแม่เหล็กที่ตั้งโปรแกรมได้ความละเอียดสูง 360 °แบบไม่ต้องสัมผัส ออกแบบมาสำหรับระบบดิจิทัลโดยใช้อินเทอร์เฟซ I2C สร้างขึ้นจากเทคโนโลยี Circular Vertical Hall (CVH) และสัญญาณไมโครโปรเซสเซอร์ที่ตั้งโปรแกรมได้