Sadržaj:
Video: Raspberry Pi - MPL3115A2 Precizni senzor visinomjera Java Vodič: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
MPL3115A2 koristi MEMS senzor tlaka s I2C sučeljem za pružanje točnih podataka o tlaku/nadmorskoj visini i temperaturi. Izlazi senzora digitalizirani su 24-bitnim ADC-om visoke rezolucije. Interna obrada uklanja zadatke kompenzacije iz host MCU sustava. Sposoban je otkriti promjenu od samo 0,05 kPa, što je jednako promjeni visine 0,3 m. Evo njegove demonstracije s malinom pi pomoću java koda.
Korak 1: Što vam treba..
1. Malina Pi
2. MPL3115A2
3. I²C kabel
4. I²C štit za Raspberry Pi
5. Ethernet kabel
Korak 2: Veze:
Uzmite I2C štit za malinu pi i nježno je gurnite preko gpio igle maline pi.
Zatim spojite jedan kraj I2C kabela na senzor MPL3115A2, a drugi kraj na I2C štit.
Također priključite Ethernet kabel na pi ili možete koristiti WiFi modul.
Priključci su prikazani na gornjoj slici.
Korak 3: Kôd:
Java kôd za MPL3115A2 može se preuzeti s našeg github spremišta- DCUBE Store.
Evo linka za isto:
github.com/DcubeTechVentures/MPL3115A2/tree/master/Java
Za java kod koristili smo biblioteku pi4j, koraci za instaliranje pi4j na malinu pi opisani su ovdje:
pi4j.com/install.html
Ovdje možete i kopirati kôd, dat je na sljedeći način:
// Distribuirano s licencom slobodne volje.
// Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.
// MPL3115A2
// Ovaj kôd je dizajniran za rad s MPL3115A2_I2CS I2C mini modulom dostupnim na
uvoz com.pi4j.io.i2c. I2CBus;
uvoz com.pi4j.io.i2c. I2CDevice;
uvoz com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
javna klasa MPL3115A2
{
public static void main (String args ) baca iznimku
{
// Kreiranje sabirnice I2C
I2CBus sabirnica = I2CFactory.getInstance (I2CBus. BUS_1);
// Nabavite I2C uređaj, MPL3115A2 I2C adresa je 0x60 (96)
I2CDevice uređaj = Bus.getDevice (0x60);
// Odaberite kontrolni registar
// Aktivni način rada, OSR = 128, način rada visinomjera
device.write (0x26, (bajt) 0xB9);
// Odabir registra konfiguracije podataka
// Omogućen događaj spremnosti podataka za nadmorsku visinu, tlak, temperaturu
device.write (0x13, (bajt) 0x07);
// Odaberite kontrolni registar
// Aktivni način rada, OSR = 128, način rada visinomjera
device.write (0x26, (bajt) 0xB9);
Navoj.spavanje (1000);
// Očitavanje 6 bajtova podataka s adrese 0x00 (00)
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
bajt podatak = novi bajt [6];
device.read (0x00, podaci, 0, 6);
// Pretvorimo podatke u 20-bitne
int tHeight = ((((podaci [1] & 0xFF) * 65536) + ((podaci [2] & 0xFF) * 256) + (podaci [3] & 0xF0)) / 16);
int temp = ((podaci [4] * 256) + (podaci [5] & 0xF0)) / 16;
dvostruka nadmorska visina = tHeight / 16,0;
dvostruki cTemp = (temp / 16,0);
dvostruki fTemp = cTemp * 1,8 + 32;
// Odaberite kontrolni registar
// Aktivni način rada, OSR = 128, način rada barometra
device.write (0x26, (bajt) 0x39);
Navoj.spavanje (1000);
// Očitavanje 4 bajta podataka s adrese 0x00 (00)
// status, pres msb1, pres msb, pres lsb
device.read (0x00, podaci, 0, 4);
// Pretvorimo podatke u 20-bitne
int pres = (((podaci [1] & 0xFF) * 65536) + ((podaci [2] & 0xFF) * 256) + (podaci [3] & 0xF0)) / 16;
dvostruki tlak = (pres / 4,0) / 1000,0;
// Izlaženje podataka na zaslon
System.out.printf ("Tlak: %.2f kPa %n", tlak);
System.out.printf ("Nadmorska visina: %.2f m %n", nadmorska visina);
System.out.printf ("Temperatura u Celzijusima: %.2f C %n", cTemp);
System.out.printf ("Temperatura u Fahrenheitu: %.2f F %n", fTemp);
}
}
Korak 4: Aplikacije:
Različite primjene MPL3115A2 uključuju altimetriju visoke točnosti, pametne telefone/tablete, altimetriju osobne elektronike itd. Također se može uključiti u GPS mrtvo računanje, GPS poboljšanje za hitne službe, pomoć pri zemljovidu, navigaciju kao i opremu meteorološke postaje.
Preporučeni:
Raspberry Pi - Java vodič za TSL45315 senzor ambijentalnog svjetla: 4 koraka
Raspberry Pi - TSL45315 Java vodič senzora ambijentalnog svjetla: TSL45315 je digitalni senzor ambijentalnog svjetla. Ona približava reakciju ljudskog oka u različitim svjetlosnim uvjetima. Uređaji imaju tri vremena integracije koja se mogu izabrati i pružaju izravan 16-bitni lux izlaz preko sučelja I2C sabirnice. Uređaj ko
Raspberry Pi MCP9805 senzor temperature Java Vodič: 4 koraka
Raspberry Pi MCP9805 senzor temperature Java Vodič: MCP9805 je digitalni senzor temperature memorijskog modula. Uključen je u programe koje može programirati korisnik, a koji pružaju fleksibilnost za aplikacije osjetljivosti temperature. Ovaj je senzor dizajniran za ugradnju u memorijski modul mobilne platforme tem
Raspberry Pi - TMP100 senzor temperature Java Vodič: 4 koraka
Raspberry Pi-TMP100 senzor temperature Java Vodič: TMP100 I2C MINI modul visoke točnosti, male snage, digitalni senzor temperature. TMP100 je idealan za produženo mjerenje temperature. Ovaj uređaj nudi točnost od ± 1 ° C bez potrebe za kalibracijom ili kondicioniranjem signala vanjske komponente. On
Raspberry Pi TMP112 senzor temperature Java Vodič: 4 koraka
Raspberry Pi TMP112 senzor temperature Java Vodič: TMP112 I2C MINI modul visoke točnosti, male snage, digitalni senzor temperature. TMP112 je idealan za produženo mjerenje temperature. Ovaj uređaj nudi točnost od ± 0,5 ° C bez potrebe za kalibracijom ili kondicioniranjem signala vanjske komponente
Raspberry Pi HTS221 senzor relativne vlažnosti i temperature Java Vodič: 4 koraka
Raspberry Pi HTS221 senzor relativne vlažnosti i temperature Java vodič: HTS221 je ultra kompaktni kapacitivni digitalni senzor za relativnu vlažnost i temperaturu. Sadrži osjetni element i integrirani krug specifične primjene mješovitog signala (ASIC) za pružanje mjernih informacija putem digitalne serijske