Innholdsfortegnelse:
Video: Raspberry Pi - MPL3115A2 Java Precision Altimeter Sensor Java Opplæring: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
MPL3115A2 bruker en MEMS -trykksensor med et I2C -grensesnitt for å gi nøyaktige trykk-/høyde- og temperaturdata. Sensorutgangene digitaliseres med en høyoppløselig 24-biters ADC. Intern behandling fjerner kompensasjonsoppgaver fra verts -MCU -systemet. Den er i stand til å oppdage en endring på bare 0,05 kPa som tilsvarer en endring i høyde på 0,3 m. Her er demonstrasjonen med bringebær pi ved hjelp av java -kode.
Trinn 1: Hva du trenger..
1. Bringebær Pi
2. MPL3115A2
3. I²C -kabel
4. I²C Shield for Raspberry Pi
5. Ethernet -kabel
Trinn 2: Tilkoblinger:
Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.
Koble deretter den ene enden av I2C -kabelen til MPL3115A2 -sensoren og den andre enden til I2C -skjoldet.
Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul.
Tilkoblinger er vist på bildet ovenfor.
Trinn 3: Kode:
Java-koden for MPL3115A2 kan lastes ned fra vårt github-depot- DCUBE Store.
Her er lenken til det samme:
github.com/DcubeTechVentures/MPL3115A2/tree/master/Java
Vi har brukt pi4j bibliotek for java -kode, trinnene for å installere pi4j på bringebær pi er beskrevet her:
pi4j.com/install.html
Du kan også kopiere koden herfra, den er gitt som følger:
// Distribuert med en fri viljelisens.
// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.
// MPL3115A2
// Denne koden er designet for å fungere med MPL3115A2_I2CS I2C Mini Module tilgjengelig fra
importer com.pi4j.io.i2c. I2CBus;
importer com.pi4j.io.i2c. I2CDenhet;
importer com.pi4j.io.i2c. I2CFactory;
importer java.io. IOException;
offentlig klasse MPL3115A2
{
public static void main (String args ) kaster Unntak
{
// Lag I2C -buss
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Få I2C -enhet, MPL3115A2 I2C -adresse er 0x60 (96)
I2CDevice -enhet = Bus.getDevice (0x60);
// Velg kontrollregister
// Aktiv modus, OSR = 128, høydemåler modus
device.write (0x26, (byte) 0xB9);
// Velg datakonfigurasjonsregister
// Dataklar hendelse aktivert for høyde, trykk, temperatur
device.write (0x13, (byte) 0x07);
// Velg kontrollregister
// Aktiv modus, OSR = 128, høydemåler modus
device.write (0x26, (byte) 0xB9);
Tråd. Sover (1000);
// Les 6 byte data fra adresse 0x00 (00)
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
byte data = ny byte [6];
device.read (0x00, data, 0, 6);
// Konverter dataene til 20-bits
int tHeight = ((((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16);
int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16;
dobbel høyde = tHeight / 16,0;
dobbel cTemp = (temp / 16,0);
dobbelt fTemp = cTemp * 1,8 + 32;
// Velg kontrollregister
// Aktiv modus, OSR = 128, barometer modus
device.write (0x26, (byte) 0x39);
Tråd. Sover (1000);
// Les 4 byte med data fra adresse 0x00 (00)
// status, pres msb1, pres msb, pres lsb
device.read (0x00, data, 0, 4);
// Konverter dataene til 20-bits
int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16;
dobbelt trykk = (pres / 4.0) / 1000.0;
// Utdata til skjermen
System.out.printf ("Trykk: %.2f kPa %n", trykk);
System.out.printf ("Høyde: %.2f m %n", høyde);
System.out.printf ("Temperatur i Celsius: %.2f C %n", cTemp);
System.out.printf ("Temperatur i Fahrenheit: %.2f F %n", fTemp);
}
}
Trinn 4: Søknader:
Ulike bruksområder for MPL3115A2 inkluderer høy nøyaktighet altimetri, smarttelefoner/nettbrett, personlig elektronikk altimetri osv. Den kan også integreres i GPS Dead Reckoning, GPS Enhancement for Emergency Services, Map Assist, Navigasjon samt værstasjonsutstyr.
Anbefalt:
Raspberry Pi - TMD26721 Infrarød digital nærhetsdetektor Java Opplæring: 4 trinn
Raspberry Pi-TMD26721 Infrarød digital nærhetsdetektor Java Opplæring: TMD26721 er en infrarød digital nærhetsdetektor som gir et komplett nærhetsdeteksjonssystem og digital grensesnittlogikk i en enkelt 8-pinners overflatemonteringsmodul. Nærhetsdeteksjonen inkluderer forbedret signal-til-støy og nøyaktighet. En proff
Raspberry Pi - ADXL345 3 -akset akselerometer Java Opplæring: 4 trinn
Raspberry Pi-ADXL345 3-akset akselerometer Java-opplæring: ADXL345 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-biters) måling på opptil ± 16 g. Digitale utdata er formatert som 16-biters tokomplement og er tilgjengelig via I2 C digitalt grensesnitt. Den måler
Raspberry Pi A1332 Precision Hall - Effektvinkelsensor Java Opplæring: 4 trinn
Raspberry Pi A1332 Precision Hall - Effektvinkelsensor Java Opplæring: A1332 er en 360 ° kontaktløs høyoppløselig programmerbar magnetisk vinkelposisjonssensor. Den er designet for digitale systemer som bruker et I2C -grensesnitt. Den er bygget på Circular Vertical Hall (CVH) -teknologi og et programmerbart mikroprosessorbasert signal
Raspberry Pi CPS120 Pressure Sensor Java Opplæring: 4 trinn
Raspberry Pi CPS120 trykksensor Java Opplæring: CPS120 er en høykvalitets og lavkostet kapasitiv absolutt trykksensor med fullt kompensert utgang. Den bruker svært lite strøm og består av en ultra liten mikro-elektro-mekanisk sensor (MEMS) for trykkmåling. Et sigma-delta basert
Raspberry Pi - BH1715 Digital Ambient Light Sensor Java Opplæring: 4 trinn
Raspberry Pi - BH1715 Digital Ambient Light Sensor Java Opplæring: BH1715 er en digital Ambient Light Sensor med et I²C bussgrensesnitt. BH1715 brukes ofte til å skaffe data fra omgivelseslys for justering av bakgrunnsbelysning for LCD og tastatur for mobile enheter. Denne enheten tilbyr en 16-biters oppløsning og justeringer