Kazalo:
Video: Raspberry Pi - MPL3115A2 Precizni senzor višinomera, Java vadnica: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
MPL3115A2 uporablja senzor tlaka MEMS z vmesnikom I2C za zagotavljanje točnih podatkov o tlaku/nadmorski višini in temperaturi. Izhode senzorjev digitalizira 24-bitni ADC z visoko ločljivostjo. Notranja obdelava odstrani kompenzacijske naloge iz gostiteljskega sistema MCU. Sposoben je zaznati spremembo le 0,05 kPa, kar pomeni 0,3 m višinske spremembe. Tukaj je njegova predstavitev z malinovim pi s kodo java.
Korak: Kaj potrebujete.. !
1. Malina Pi
2. MPL3115A2
3. Kabel I²C
4. I²C ščit za Raspberry Pi
5. Ethernetni kabel
2. korak: Povezave:
Za malino pi vzemite ščit I2C in ga nežno potisnite čez zatiče gpio maline pi.
Nato en konec kabla I2C priključite na senzor MPL3115A2, drugi konec pa na ščit I2C.
Ethernetni kabel priključite tudi na pi ali pa uporabite modul WiFi.
Povezave so prikazane na zgornji sliki.
3. korak: Koda:
Kodo java za MPL3115A2 lahko prenesete iz našega skladišča github- DCUBE Store.
Tukaj je povezava za isto:
github.com/DcubeTechVentures/MPL3115A2/tree/master/Java
Za kodo java smo uporabili knjižnico pi4j, koraki za namestitev pi4j na malino pi so opisani tukaj:
pi4j.com/install.html
Kodo lahko tudi kopirate od tu, podana je na naslednji način:
// Razdeljeno z licenco za svobodno voljo.
// Uporabljajte ga kakor koli želite, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam povezanih del.
// MPL3115A2
// Ta koda je zasnovana za delo z mini modulom MPL3115A2_I2CS I2C, ki je na voljo pri
uvoz com.pi4j.io.i2c. I2CBus;
uvoz com.pi4j.io.i2c. I2CDevice;
uvoz com.pi4j.io.i2c. I2CFactory;
uvoz java.io. IOException;
javni razred MPL3115A2
{
public static void main (String args ) vrže Exception
{
// Ustvari vodilo I2C
Vodilo I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Pridobite napravo I2C, naslov I2C MPL3115A2 je 0x60 (96)
Naprava I2CDevice = Bus.getDevice (0x60);
// Izberite kontrolni register
// Aktivni način, OSR = 128, način višinomera
device.write (0x26, (bajt) 0xB9);
// Izberite register konfiguracije podatkov
// Omogočen dogodek pripravljenih podatkov za nadmorsko višino, tlak, temperaturo
device.write (0x13, (bajt) 0x07);
// Izberite kontrolni register
// Aktivni način, OSR = 128, način višinomera
device.write (0x26, (bajt) 0xB9);
Thread.sleep (1000);
// prebere 6 bajtov podatkov z naslova 0x00 (00)
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
bajt podatki = novi bajt [6];
device.read (0x00, podatki, 0, 6);
// Pretvorimo podatke v 20-bitne
int tHeight = ((((podatki [1] & 0xFF) * 65536) + ((podatki [2] & 0xFF) * 256) + (podatki [3] & 0xF0)) / 16);
int temp = ((podatki [4] * 256) + (podatki [5] & 0xF0)) / 16;
dvojna nadmorska višina = tHeight / 16,0;
dvojni cTemp = (temp / 16,0);
dvojni fTemp = cTemp * 1,8 + 32;
// Izberite kontrolni register
// Aktivni način, OSR = 128, način barometra
device.write (0x26, (bajt) 0x39);
Thread.sleep (1000);
// branje 4 bajtov podatkov z naslova 0x00 (00)
// stanje, pres msb1, pres msb, pres lsb
device.read (0x00, podatki, 0, 4);
// Pretvorimo podatke v 20-bitne
int pres = (((podatki [1] & 0xFF) * 65536) + ((podatki [2] & 0xFF) * 256) + (podatki [3] & 0xF0)) / 16;
dvojni tlak = (pres / 4,0) / 1000,0;
// Izhod podatkov na zaslon
System.out.printf ("Tlak: %.2f kPa %n", tlak);
System.out.printf ("Nadmorska višina: %.2f m %n", nadmorska višina);
System.out.printf ("Temperatura v Celzijah: %.2f C %n", cTemp);
System.out.printf ("Temperatura v Fahrenheitu: %.2f F %n", fTemp);
}
}
4. korak: Aplikacije:
Različne aplikacije MPL3115A2 vključujejo visoko natančnost altimetrije, pametne telefone/tablične računalnike, višino osebne elektronike itd. Lahko se vključijo tudi v GPS mrtve obračune, izboljšavo GPS za službe v sili, pomoč pri zemljevidih, navigacijo in opremo vremenskih postaj.
Priporočena:
Raspberry Pi MCP9803 Temperaturni senzor Java Vadnica: 4 koraki
Raspberry Pi MCP9803 Temperaturni senzor Java Vadnica: MCP9803 je dvožični temperaturni senzor visoke natančnosti. Poosebljeni so s programi, ki jih lahko programira uporabnik in olajšajo aplikacije zaznavanja temperature. Ta senzor je primeren za zelo izpopolnjen večzonski sistem za spremljanje temperature. Tukaj
Raspberry Pi MCP9805 Temperaturni senzor Java Vadnica: 4 koraki
Raspberry Pi MCP9805 Temperaturni senzor Java Vadnica: MCP9805 je digitalni temperaturni senzor pomnilniškega modula. Vgrajen je v registre, ki jih lahko programira uporabnik in ki omogočajo prilagodljivost za aplikacije zaznavanja temperature. Ta senzor je zasnovan za vgradnjo v pomnilniški modul mobilne platforme tem
Raspberry Pi - TMP100 temperaturni senzor Java Vadnica: 4 koraki
Raspberry Pi-TMP100 temperaturni senzor Java Vadnica: TMP100 visokonatančen, nizko porabljen digitalni temperaturni senzor I2C MINI modul. TMP100 je idealen za daljše merjenje temperature. Ta naprava ponuja natančnost ± 1 ° C, ne da bi bila potrebna kalibracija ali prilagajanje signala zunanjih komponent. On
Raspberry Pi TMP112 Temperaturni senzor Java Vadnica: 4 koraki
Raspberry Pi TMP112 temperaturni senzor Java Vadnica: TMP112 visokonatančen, nizko porabljen digitalni temperaturni senzor I2C MINI modul. TMP112 je idealen za daljše merjenje temperature. Ta naprava ponuja natančnost ± 0,5 ° C brez kalibracije ali prilagajanja signala zunanjih komponent.
Raspberry Pi A1332 Precision Hall - Senzor kota učinka Java Vadnica: 4 koraki
Raspberry Pi A1332 Precision Hall - Senzor kota učinka Java Vadnica: A1332 je 360 ° brezkontaktno programabilno tipalo magnetnega kota z visoko ločljivostjo. Zasnovan je za digitalne sisteme z vmesnikom I2C. Zgrajen je na tehnologiji CVH (Circular Vertical Hall) in programirljivem mikroprocesorskem signalu