สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ..!
- ขั้นตอนที่ 2: การเชื่อมต่อ:
- ขั้นตอนที่ 3: รหัส:
- ขั้นตอนที่ 4: การใช้งาน:
วีดีโอ: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
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 สำหรับบริการฉุกเฉิน, ระบบช่วยแผนที่, การนำทาง ตลอดจนอุปกรณ์สถานีตรวจอากาศ
แนะนำ:
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Java Tutorial: 4 ขั้นตอน
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Java Tutorial: TMD26721 เป็นเครื่องตรวจจับความใกล้ชิดแบบดิจิตอลอินฟราเรดซึ่งมีระบบตรวจจับความใกล้ชิดที่สมบูรณ์แบบและตรรกะอินเทอร์เฟซแบบดิจิทัลในโมดูลยึดพื้นผิว 8 พินเดียว การตรวจจับความใกล้ชิดรวมถึงสัญญาณต่อสัญญาณรบกวนที่ดีขึ้นและ ความแม่นยำ. โปร
Raspberry Pi MCP9803 Temperature Sensor Java Tutorial: 4 ขั้นตอน
Raspberry Pi MCP9803 Temperature Sensor Java Tutorial: MCP9803 เป็นเซ็นเซอร์อุณหภูมิความแม่นยำสูง 2 สาย สิ่งเหล่านี้รวมเข้ากับการลงทะเบียนที่ผู้ใช้ตั้งโปรแกรมได้ซึ่งอำนวยความสะดวกในการใช้งานการตรวจวัดอุณหภูมิ เซ็นเซอร์นี้เหมาะสำหรับระบบตรวจสอบอุณหภูมิแบบหลายโซนที่มีความซับซ้อนสูง ที่นี่
Raspberry Pi MCP9805 Temperature Sensor Java Tutorial: 4 ขั้นตอน
Raspberry Pi MCP9805 Temperature Sensor Java Tutorial: MCP9805 เป็นโมดูลหน่วยความจำเซ็นเซอร์อุณหภูมิแบบดิจิตอล มันถูกรวมเข้ากับรีจิสเตอร์ที่ตั้งโปรแกรมได้ของผู้ใช้ซึ่งให้ความยืดหยุ่นสำหรับการใช้งานการตรวจจับอุณหภูมิ เซ็นเซอร์นี้ได้รับการออกแบบเพื่อรวมเข้ากับโมดูลหน่วยความจำแพลตฟอร์มโมบายเ
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java บทช่วยสอน: 4 ขั้นตอน
Raspberry Pi A1332 Precision Hall - เซ็นเซอร์มุมเอฟเฟกต์ บทช่วยสอน Java: A1332 เป็นเซ็นเซอร์ตำแหน่งมุมแม่เหล็กที่ตั้งโปรแกรมได้ความละเอียดสูง 360 °แบบไม่ต้องสัมผัส ออกแบบมาสำหรับระบบดิจิทัลโดยใช้อินเทอร์เฟซ I2C สร้างขึ้นจากเทคโนโลยี Circular Vertical Hall (CVH) และสัญญาณไมโครโปรเซสเซอร์ที่ตั้งโปรแกรมได้
Raspberry Pi - HIH6130 I2C Humidity & Temperature Sensor Java Tutorial: 4 ขั้นตอน
Raspberry Pi - HIH6130 I2C Humidity & Temperature Sensor Java Tutorial: HIH6130 เป็นเซ็นเซอร์ความชื้นและอุณหภูมิพร้อมเอาต์พุตดิจิตอล เซ็นเซอร์เหล่านี้ให้ระดับความแม่นยำ ±4% RH ด้วยความเสถียรในระยะยาวระดับแนวหน้าของอุตสาหกรรม I2C ดิจิทัลที่ชดเชยอุณหภูมิอย่างแท้จริง ความน่าเชื่อถือระดับแนวหน้าของอุตสาหกรรม ประสิทธิภาพการใช้พลังงาน