สารบัญ:

Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 ขั้นตอน
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 ขั้นตอน

วีดีโอ: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 ขั้นตอน

วีดีโอ: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 ขั้นตอน
วีดีโอ: Arduino Nano - MPL3115A2 Precision Altimeter Sensor Tutorial 2024, พฤศจิกายน
Anonim
Image
Image

MPL3115A2 ใช้เซ็นเซอร์ความดัน MEMS พร้อมอินเทอร์เฟซ I2C เพื่อให้ข้อมูลความดัน/ระดับความสูงและอุณหภูมิที่แม่นยำ เอาต์พุตเซ็นเซอร์ถูกแปลงเป็นดิจิทัลด้วย ADC 24 บิตความละเอียดสูง การประมวลผลภายในจะลบงานการชดเชยออกจากระบบโฮสต์ MCU สามารถตรวจจับการเปลี่ยนแปลงได้เพียง 0.05 kPa ซึ่งเท่ากับการเปลี่ยนแปลงระดับความสูง 0.3 ม. นี่คือการสาธิตด้วย raspberry pi โดยใช้รหัส java

ขั้นตอนที่ 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

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

github.com/DcubeTechVentures/MPL3115A2/tree/master/Java

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

pi4j.com/install.html

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

// แจกจ่ายด้วยใบอนุญาตอิสระ

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

// MPL3115A2

// รหัสนี้ออกแบบมาเพื่อทำงานกับ MPL3115A2_I2CS I2C Mini Module ที่มีจำหน่ายจาก

นำเข้า com.pi4j.io.i2c. I2CBus;

นำเข้า com.pi4j.io.i2c. I2CDevice;

นำเข้า com.pi4j.io.i2c. I2CFactory;

นำเข้า java.io. IOException;

คลาสสาธารณะ MPL3115A2

{

โมฆะคงที่สาธารณะหลัก (สตริง args ) พ่นข้อยกเว้น

{

// สร้างบัส I2C

I2CBus บัส = I2CFactory.getInstance(I2CBus. BUS_1);

// รับอุปกรณ์ I2C ที่อยู่ MPL3115A2 I2C คือ 0x60(96)

อุปกรณ์ I2CDevice = Bus.getDevice(0x60);

// เลือกตัวควบคุมการลงทะเบียน

// โหมดแอ็คทีฟ, OSR = 128, โหมดเครื่องวัดระยะสูง

อุปกรณ์.write(0x26, (ไบต์)0xB9);

// เลือก data configuration register

// เปิดใช้งานเหตุการณ์พร้อมข้อมูลสำหรับระดับความสูง ความดัน อุณหภูมิ

อุปกรณ์.write(0x13, (ไบต์)0x07);

// เลือกตัวควบคุมการลงทะเบียน

// โหมดแอ็คทีฟ, OSR = 128, โหมดเครื่องวัดระยะสูง

อุปกรณ์.write(0x26, (ไบต์)0xB9);

เธรด. สลีป (1000);

// อ่านข้อมูล 6 ไบต์จากที่อยู่ 0x00(00)

// สถานะ tHeight msb1, tHeight msb, tHeight lsb, msb ชั่วคราว, temp lsb

ไบต์ data = ไบต์ใหม่[6];

อุปกรณ์อ่าน (0x00, ข้อมูล, 0, 6);

// แปลงข้อมูลเป็น 20 บิต

int tHeight = ((((data[1] & 0xFF) * 65536) + ((data[2] & 0xFF) * 256) + (data[3] & 0xF0)) / 16);

int temp = ((data[4] * 256) + (data[5] & 0xF0)) / 16;

ความสูงสองเท่า = ความสูง / 16.0;

cTemp สองเท่า = (อุณหภูมิ / 16.0);

fTemp สองเท่า = cTemp * 1.8 + 32;

// เลือกตัวควบคุมการลงทะเบียน

// โหมดแอคทีฟ, OSR = 128, โหมดบารอมิเตอร์

อุปกรณ์.write(0x26, (ไบต์)0x39);

เธรด. สลีป (1000);

// อ่านข้อมูล 4 ไบต์จากที่อยู่ 0x00(00)

// สถานะ, pres msb1, pres msb, pres lsb

อุปกรณ์อ่าน (0x00, ข้อมูล, 0, 4);

// แปลงข้อมูลเป็น 20 บิต

int pres = (((data[1] & 0xFF) * 65536) + ((data[2] & 0xFF) * 256) + (data[3] & 0xF0)) / 16;

แรงดันสองเท่า = (กด / 4.0) / 1000.0;

// ส่งออกข้อมูลไปที่หน้าจอ

System.out.printf("ความดัน: %.2f kPa %n", ความดัน);

System.out.printf("Altitude: %.2f m %n", ระดับความสูง);

System.out.printf("อุณหภูมิในเซลเซียส: %.2f C %n", cTemp);

System.out.printf("อุณหภูมิเป็นฟาเรนไฮต์: %.2f F %n", fTemp);

}

}

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

แอปพลิเคชันต่างๆ ของ MPL3115A2 รวมถึงเครื่องวัดระยะสูงที่มีความแม่นยำสูง สมาร์ทโฟน/แท็บเล็ต อุปกรณ์อิเล็กทรอนิกส์ส่วนบุคคล Altimetry เป็นต้น นอกจากนี้ยังสามารถรวมเข้ากับ GPS Dead Reckoning, การปรับปรุง GPS สำหรับบริการฉุกเฉิน, ระบบช่วยแผนที่, การนำทาง ตลอดจนอุปกรณ์สถานีตรวจอากาศ

แนะนำ: