INHOUDSOPGAWE:
Video: Framboos Pi - MPL3115A2 Presisie -hoogtemeter sensor Java -tutoriaal: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Die MPL3115A2 het 'n MEMS -druksensor met 'n I2C -koppelvlak om akkurate druk-/hoogte- en temperatuurdata te verskaf. Die sensoruitsette word gedigitaliseer deur 'n hoë-resolusie 24-bis ADC. Interne verwerking verwyder vergoedingstake uit die gasheer -MCU -stelsel. Dit is in staat om 'n verandering in slegs 0,05 kPa op te spoor wat gelykstaande is aan 'n hoogteverandering van 0,3 m. Hier is die demonstrasie daarvan met framboospi met behulp van Java -kode.
Stap 1: wat u nodig het..
1. Framboos Pi
2. MPL3115A2
3. I²C -kabel
4. I²C -skild vir Framboos Pi
5. Ethernet -kabel
Stap 2: Verbindings:
Neem 'n I2C skild vir framboos pi en druk dit liggies oor die gpio penne van framboos pi.
Koppel dan die een kant van die I2C -kabel aan die MPL3115A2 -sensor en die ander kant aan die I2C -skild.
Koppel ook die Ethernet -kabel aan die pi, of u kan 'n WiFi -module gebruik.
Verbindings word op die foto hierbo getoon.
Stap 3: Kode:
Die java-kode vir MPL3115A2 kan afgelaai word vanaf ons github-bewaarplek- DCUBE-winkel.
Hier is die skakel vir dieselfde:
github.com/DcubeTechVentures/MPL3115A2/tree/master/Java
Ons het pi4j -biblioteek gebruik vir java -kode, die stappe om pi4j op framboos pi te installeer word hier beskryf:
pi4j.com/install.html
U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:
// Versprei met 'n vrywillige lisensie.
// Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.
// MPL3115A2
// Hierdie kode is ontwerp om te werk met die MPL3115A2_I2CS I2C Mini Module beskikbaar by
invoer com.pi4j.io.i2c. I2CBus;
voer com.pi4j.io.i2c. I2CD -toestel in;
invoer com.pi4j.io.i2c. I2CFactory;
invoer java.io. IOException;
openbare klas MPL3115A2
{
openbare statiese leegte hoof (String argumente ) gooi uitsondering
{
// Skep I2C -bus
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Kry I2C -toestel, MPL3115A2 I2C -adres is 0x60 (96)
I2CDevice -toestel = Bus.getDevice (0x60);
// Kies kontroleregister
// Aktiewe modus, OSR = 128, hoogtemodus
device.write (0x26, (byte) 0xB9);
// Kies datakonfigurasie register
// Gereedheid vir data gereed vir hoogte, druk, temperatuur
device.write (0x13, (byte) 0x07);
// Kies kontroleregister
// Aktiewe modus, OSR = 128, hoogtemodus
device.write (0x26, (byte) 0xB9);
Draad.slaap (1000);
// Lees 6 grepe data vanaf adres 0x00 (00)
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
byte data = nuwe byte [6];
device.read (0x00, data, 0, 6);
// Skakel die data om in 20-bisse
int tHeight = ((((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16);
int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16;
dubbele hoogte = tHoogte / 16,0;
dubbel cTemp = (temp / 16.0);
dubbel fTemp = cTemp * 1.8 + 32;
// Kies kontroleregister
// Aktiewe modus, OSR = 128, barometer af
device.write (0x26, (byte) 0x39);
Draad.slaap (1000);
// Lees 4 grepe data vanaf adres 0x00 (00)
// status, pres msb1, pres msb, pres lsb
device.read (0x00, data, 0, 4);
// Skakel die data om in 20-bisse
int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16;
dubbele druk = (pres / 4.0) / 1000.0;
// Uitset data na die skerm
System.out.printf ("Druk: %.2f kPa %n", druk);
System.out.printf ("Hoogte: %.2f m %n", hoogte);
System.out.printf ("Temperatuur in Celsius: %.2f C %n", cTemp);
System.out.printf ("Temperatuur in Fahrenheit: %.2f F %n", fTemp);
}
}
Stap 4: Aansoeke:
Verskeie toepassings van MPL3115A2 sluit in hoë akkuraatheid altimetrie, slimfone/tablette, persoonlike elektronika altimetrie, ens. Dit kan ook opgeneem word in GPS Dead Reckoning, GPS -verbetering vir nooddienste, kaarthulp, navigasie sowel as weerstasie -toerusting.
Aanbeveel:
Persoonlike weerstasie met framboos Pi met BME280 in Java: 6 stappe
Persoonlike weerstasie met Raspberry Pi met BME280 in Java: Slegte weer lyk altyd erger deur 'n venster. Ons was nog altyd geïnteresseerd in die monitering van ons plaaslike weer en wat ons by die venster sien. Ons wou ook beter beheer oor ons verwarming en lugversorgingstelsel hê. Die bou van 'n persoonlike weerstasie is 'n goeie ding
HC-SR04 Ultrasoniese sensor met framboos Pi: 6 stappe
HC-SR04 Ultrasoniese sensor met Framboos Pi: Hallo almal … my naam is Ahmed Darwish … dit is my projek met behulp van Framboos Pi met die Ultrasoniese sensor en ek wil dit met julle almal deel. Ek is gevra om 'n kode voor te berei wat op Python werk om 8 ultrasoniese sensors aan te sluit
N Eksperiment vir presisie -regstelling: 11 stappe
N Eksperiment vir presisie -regstelling: Ek het onlangs 'n eksperiment op 'n presisie -regstellingskring gedoen en 'n paar gevolgtrekkings gemaak. Aangesien die presisie gelykrigterkring 'n algemene stroombaan is, kan die resultate van hierdie eksperiment verwysingsinligting verskaf
Pulsoksimeter met baie verbeterde presisie: 6 stappe (met foto's)
Pulsoximeter met baie verbeterde presisie: As u onlangs 'n dokter besoek het, is die kans goed dat u basiese vitale tekens deur 'n verpleegster ondersoek is. Gewig, lengte, bloeddruk, sowel as hartklop (HR) en suurstofversadiging in perifere bloed (SpO2). Miskien is die laaste twee verkry uit
Temperatuurbeheerder met hoë presisie: 6 stappe (met foto's)
Hoë-presisie temperatuurbeheerder: In die wetenskap en in die ingenieurswêrelde is die byhou van temperatuur aka (beweging van die atome in termodinamika) een van die fundamentele fisiese parameters wat u byna oral moet oorweeg, van selbiologie tot vuurpyl en