Indholdsfortegnelse:
Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
MPL3115A2 anvender en MEMS -trykføler med en I2C -grænseflade til at levere nøjagtige data om tryk/højde og temperatur. Sensorudgangene digitaliseres med en højopløselig 24-bit ADC. Intern behandling fjerner kompensationsopgaver fra værts -MCU -systemet. Det er i stand til at detektere en ændring på kun 0,05 kPa, hvilket svarer til en højdeændring på 0,3 m. Her er dens demonstration med hindbær pi ved hjælp af java -kode.
Trin 1: Hvad du har brug for..
1. Hindbær Pi
2. MPL3115A2
3. I²C -kabel
4. I²C Shield til Raspberry Pi
5. Ethernet -kabel
Trin 2: Forbindelser:
Tag et I2C -skjold til hindbærpi og skub det forsigtigt hen over gpio -benene på hindbærpi.
Tilslut derefter den ene ende af I2C -kablet til MPL3115A2 -sensoren og den anden ende til I2C -skærmen.
Tilslut også Ethernet -kablet til pi'en, eller du kan bruge et WiFi -modul.
Forbindelser er vist på billedet ovenfor.
Trin 3: Kode:
Java-koden til MPL3115A2 kan downloades fra vores github-depot- DCUBE Store.
Her er linket til det samme:
github.com/DcubeTechVentures/MPL3115A2/tree/master/Java
Vi har brugt pi4j bibliotek til java -kode, trinene til at installere pi4j på hindbær pi er beskrevet her:
pi4j.com/install.html
Du kan også kopiere koden herfra, den er givet som følger:
// Distribueret med en fri vilje licens.
// Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker.
// MPL3115A2
// Denne kode er designet til at fungere med MPL3115A2_I2CS I2C Mini Module tilgængelig fra
importer com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
offentlig klasse MPL3115A2
{
public static void main (String args ) kaster Undtagelse
{
// Opret I2C -bus
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Hent I2C -enhed, MPL3115A2 I2C -adressen er 0x60 (96)
I2CDevice -enhed = Bus.getDevice (0x60);
// Vælg kontrolregister
// Aktiv tilstand, OSR = 128, højdemåler -tilstand
device.write (0x26, (byte) 0xB9);
// Vælg datakonfigurationsregister
// Dataklar begivenhed aktiveret for højde, tryk, temperatur
device.write (0x13, (byte) 0x07);
// Vælg kontrolregister
// Aktiv tilstand, OSR = 128, højdemåler -tilstand
device.write (0x26, (byte) 0xB9);
Thread.sleep (1000);
// Læs 6 bytes 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-bit
int tHeight = ((((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16);
int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16;
dobbelt højde = tHøjde / 16,0;
dobbelt cTemp = (temp / 16,0);
dobbelt fTemp = cTemp * 1,8 + 32;
// Vælg kontrolregister
// Aktiv tilstand, OSR = 128, barometer -tilstand
device.write (0x26, (byte) 0x39);
Thread.sleep (1000);
// Læs 4 bytes data fra adresse 0x00 (00)
// status, pres msb1, pres msb, pres lsb
device.read (0x00, data, 0, 4);
// Konverter dataene til 20-bit
int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16;
dobbelt tryk = (pres / 4.0) / 1000.0;
// Output data til skærmen
System.out.printf ("Tryk: %.2f kPa %n", tryk);
System.out.printf ("Højde: %.2f m %n", højde);
System.out.printf ("Temperatur i Celsius: %.2f C %n", cTemp);
System.out.printf ("Temperatur i Fahrenheit: %.2f F %n", fTemp);
}
}
Trin 4: Ansøgninger:
Forskellige applikationer af MPL3115A2 inkluderer høj nøjagtigheds -altimetri, smartphones/tablets, personlig elektronik -altimetri osv. Det kan også inkorporeres i GPS Dead Reckoning, GPS -forbedring til nødservice, Map Assist, Navigation samt vejrstationsudstyr.
Anbefalede:
Raspberry Pi - TMD26721 Infrarød digital nærhedsdetektor Java Tutorial: 4 trin
Raspberry Pi-TMD26721 Infrarød digital nærhedsdetektor Java Tutorial: TMD26721 er en infrarød digital nærhedsdetektor, der leverer et komplet nærhedsdetekteringssystem og digital interface-logik i et enkelt 8-benet overflademonteringsmodul. Nærhedsdetektering inkluderer forbedret signal-til-støj og nøjagtighed. En pro
Raspberry Pi - ADXL345 3 -Axis Accelerometer Java Tutorial: 4 trin
Raspberry Pi-ADXL345 3-Axis Accelerometer Java Tutorial: ADXL345 er et lille, tyndt, ultralavt, 3-akset accelerometer med høj opløsning (13-bit) måling på op til ± 16 g. Digitale outputdata er formateret som 16-bit tokomplement og er tilgængelige via I2 C digital interface. Det måler
Raspberry Pi - TSL45315 Java Ambient Light Sensor Tutorial: 4 trin
Raspberry Pi - TSL45315 Ambient Light Sensor Java Tutorial: TSL45315 er en digital sensor til omgivende lys. Det tilnærmer menneskelig øjenrespons under forskellige lysforhold. Enhederne har tre valgbare integrationstider og giver en direkte 16-bit lux-output via et I2C-businterface. Enheden ko
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: 4 trin
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: A1332 er en 360 ° kontaktløs højopløselig programmerbar magnetisk vinkel positionssensor. Det er designet til digitale systemer, der bruger en I2C -grænseflade. Det er bygget på Circular Vertical Hall (CVH) teknologi og et programmerbart mikroprocessorbaseret signal
Raspberry Pi - BH1715 Digital Ambient Light Sensor Java Tutorial: 4 trin
Raspberry Pi - BH1715 Digital Ambient Light Sensor Java Tutorial: BH1715 er en digital Ambient Light Sensor med en I²C busgrænseflade. BH1715 bruges almindeligvis til at indhente omgivelseslysdata til justering af LCD- og tastaturets baggrundsbelysning til mobile enheder. Denne enhed tilbyder en 16-bit opløsning og en justering