Obsah:
Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 Steps
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
MPL3115A2 využívá tlakový senzor MEMS s rozhraním I2C, který poskytuje přesné údaje o tlaku/nadmořské výšce a teplotě. Výstupy senzorů jsou digitalizovány 24bitovým ADC s vysokým rozlišením. Interní zpracování odstraní úlohy kompenzace z hostitelského systému MCU. Je schopen detekovat změnu pouze o 0,05 kPa, což odpovídá změně výšky o 0,3 m. Zde je jeho ukázka s malinovým pi pomocí Java kódu.
Krok 1: Co potřebujete..
1. Raspberry Pi
2. MPL3115A2
3. I²C kabel
4. I²C štít pro Raspberry Pi
5. Ethernetový kabel
Krok 2: Připojení:
Vezměte I2C štít pro malinový pi a jemně jej zatlačte přes gpio piny malinového pi.
Poté připojte jeden konec kabelu I2C k senzoru MPL3115A2 a druhý konec ke stínění I2C.
Připojte také ethernetový kabel k pí nebo můžete použít modul WiFi.
Připojení jsou znázorněna na obrázku výše.
Krok 3: Kód:
Java kód pro MPL3115A2 lze stáhnout z našeho úložiště github- DCUBE Store.
Zde je odkaz na totéž:
github.com/DcubeTechVentures/MPL3115A2/tree/master/Java
Pro java kód jsme použili knihovnu pi4j, kroky k instalaci pi4j na raspberry pi jsou popsány zde:
pi4j.com/install.html
Odtud můžete také zkopírovat kód, který je uveden následovně:
// Distribuováno s licencí svobodné vůle.
// Používejte jej jakýmkoli způsobem, ať už ziskem nebo zdarma, za předpokladu, že se vejde do licencí souvisejících děl.
// MPL3115A2
// Tento kód je navržen pro práci s mini modulem MPL3115A2_I2CS I2C, který je k dispozici od
importovat com.pi4j.io.i2c. I2CBus;
importovat com.pi4j.io.i2c. I2CDevice;
importovat com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
veřejná třída MPL3115A2
{
public static void main (String args ) vyvolá výjimku
{
// Vytvoření sběrnice I2C
Sběrnice I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Získejte zařízení I2C, adresa I2C MPL3115A2 je 0x60 (96)
I2CDevice zařízení = Bus.getDevice (0x60);
// Vyberte řídicí registr
// Aktivní režim, OSR = 128, režim výškoměru
device.write (0x26, (byte) 0xB9);
// Vyberte registr konfigurace dat
// Událost připravenosti dat povolena pro nadmořskou výšku, tlak, teplotu
device.write (0x13, (byte) 0x07);
// Vyberte řídicí registr
// Aktivní režim, OSR = 128, režim výškoměru
device.write (0x26, (byte) 0xB9);
Thread.sleep (1000);
// Přečíst 6 bajtů dat z adresy 0x00 (00)
// stav, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
byte data = nový byte [6];
device.read (0x00, data, 0, 6);
// Převod dat na 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;
dvojnásobná nadmořská výška = tVýška / 16,0;
double cTemp = (temp / 16.0);
zdvojnásobit fTemp = cTemp * 1,8 + 32;
// Vyberte řídicí registr
// Aktivní režim, OSR = 128, režim barometru
device.write (0x26, (byte) 0x39);
Thread.sleep (1000);
// Přečíst 4 bajty dat z adresy 0x00 (00)
// stav, pres msb1, pres msb, pres lsb
device.read (0x00, data, 0, 4);
// Převod dat na 20 bitů
int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16;
dvojnásobný tlak = (pres / 4,0) / 1000,0;
// Výstup dat na obrazovku
System.out.printf ("Tlak: %.2f kPa %n", tlak);
System.out.printf ("Nadmořská výška: %.2f m %n", nadmořská výška);
System.out.printf ("Teplota ve stupních Celsia: %.2f C %n", cTemp);
System.out.printf ("Teplota ve stupních Fahrenheita: %.2f F %n", fTemp);
}
}
Krok 4: Aplikace:
Různé aplikace MPL3115A2 zahrnují vysoce přesnou výškoměr, smartphony/tablety, osobní elektronickou výškoměr atd. Lze jej také začlenit do systému GPS Dead Reckoning, GPS Enhancement pro záchranné služby, Map Assist, Navigation a vybavení meteorologické stanice.
Doporučuje:
Raspberry Pi - TSL45315 Senzor okolního světla Java Tutorial: 4 Steps
Raspberry Pi - Senzor okolního světla TSL45315 Java Výukový program: TSL45315 je digitální snímač okolního světla. Přibližuje reakci lidského oka za různých světelných podmínek. Zařízení mají tři volitelné integrační časy a poskytují přímý 16bitový lux výstup přes rozhraní sběrnice I2C. Zařízení co
Raspberry Pi MCP9803 Teplotní senzor Java Tutorial: 4 Steps
Teplotní senzor Raspberry Pi MCP9803 Java Tutorial: MCP9803 je 2vodičový vysoce přesný teplotní senzor. Jsou provedeny s uživatelsky programovatelnými registry, které usnadňují aplikace snímání teploty. Tento senzor je vhodný pro vysoce sofistikovaný vícezónový systém monitorování teploty. Tady
Raspberry Pi MCP9805 Teplotní senzor Java Tutorial: 4 Steps
Teplotní senzor Raspberry Pi MCP9805 Java Tutorial: MCP9805 je digitální teplotní senzor paměťového modulu. Je integrován s uživatelsky programovatelnými registry, které poskytují flexibilitu pro aplikace snímající teplotu. Tento senzor je navržen tak, aby byl začleněn do paměťového modulu mobilní platformy
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: 4 Steps
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: A1332 je 360 ° bezkontaktní programovatelný magnetický snímač úhlu s vysokým rozlišením. Je určen pro digitální systémy využívající rozhraní I2C. Je postaven na technologii Circular Vertical Hall (CVH) a programovatelném signálu na bázi mikroprocesoru
Raspberry Pi - BH1715 Digital Ambient Light Sensor Java Tutorial: 4 Steps
Raspberry Pi - BH1715 Digital Ambient Light Sensor Java Tutorial: The BH1715 is a digital Ambient Light Sensor with a I²C bus interface. BH1715 se běžně používá k získávání údajů o okolním osvětlení pro úpravu výkonu podsvícení LCD a klávesnice pro mobilní zařízení. Toto zařízení nabízí 16bitové rozlišení a