Índice:

Raspberry Pi - Sensor de altímetro de precisão MPL3115A2 Java Tutorial: 4 etapas
Raspberry Pi - Sensor de altímetro de precisão MPL3115A2 Java Tutorial: 4 etapas

Vídeo: Raspberry Pi - Sensor de altímetro de precisão MPL3115A2 Java Tutorial: 4 etapas

Vídeo: Raspberry Pi - Sensor de altímetro de precisão MPL3115A2 Java Tutorial: 4 etapas
Vídeo: Raspberry Pi HP206C Barometer & Altimeter Sensor Java Tutorial 2024, Novembro
Anonim
Image
Image

O MPL3115A2 emprega um sensor de pressão MEMS com uma interface I2C para fornecer dados precisos de pressão / altitude e temperatura. As saídas do sensor são digitalizadas por um ADC de alta resolução de 24 bits. O processamento interno remove as tarefas de compensação do sistema MCU host. Ele é capaz de detectar uma mudança em apenas 0,05 kPa, o que equivale a uma mudança de 0,3 m na altitude. Aqui está sua demonstração com raspberry pi usando código java.

Etapa 1: O que você precisa..

O que você precisa..!!
O que você precisa..!!

1. Raspberry Pi

2. MPL3115A2

3. Cabo I²C

4. Escudo I²C para Raspberry Pi

5. Cabo Ethernet

Etapa 2: Conexões:

Conexões
Conexões
Conexões
Conexões
Conexões
Conexões
Conexões
Conexões

Pegue um escudo I2C para raspberry pi e empurre-o suavemente sobre os pinos gpio de raspberry pi.

Em seguida, conecte uma extremidade do cabo I2C ao sensor MPL3115A2 e a outra extremidade à blindagem I2C.

Também conecte o cabo Ethernet ao pi ou você pode usar um módulo WiFi.

As conexões são mostradas na imagem acima.

Etapa 3: Código:

Código
Código

O código java para MPL3115A2 pode ser baixado de nosso repositório github- DCUBE Store.

Aqui está o link para o mesmo:

github.com/DcubeTechVentures/MPL3115A2/tree/master/Java

Usamos a biblioteca pi4j para o código java, as etapas para instalar o pi4j no raspberry pi são descritas aqui:

pi4j.com/install.html

Você também pode copiar o código daqui, ele é fornecido da seguinte forma:

// Distribuído com uma licença de livre arbítrio.

// Use-o como quiser, com ou sem lucro, desde que se enquadre nas licenças das suas obras associadas.

// MPL3115A2

// Este código é projetado para funcionar com o Mini Módulo MPL3115A2_I2CS I2C disponível em

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

classe pública MPL3115A2

{

public static void main (String args ) lança exceção

{

// Criar barramento I2C

I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);

// Obter dispositivo I2C, o endereço MPL3115A2 I2C é 0x60 (96)

Dispositivo I2CDevice = Bus.getDevice (0x60);

// Selecione o registro de controle

// Modo ativo, OSR = 128, modo altímetro

device.write (0x26, (byte) 0xB9);

// Selecione o registro de configuração de dados

// Evento Data Ready habilitado para altitude, pressão, temperatura

device.write (0x13, (byte) 0x07);

// Selecione o registro de controle

// Modo ativo, OSR = 128, modo altímetro

device.write (0x26, (byte) 0xB9);

Thread.sleep (1000);

// Lê 6 bytes de dados do endereço 0x00 (00)

// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb

byte data = novo byte [6];

device.read (0x00, data, 0, 6);

// Converta os dados para 20 bits

int tHeight = ((((dados [1] e 0xFF) * 65536) + ((dados [2] e 0xFF) * 256) + (dados [3] e 0xF0)) / 16);

int temp = ((dados [4] * 256) + (dados [5] e 0xF0)) / 16;

altitude dupla = tHeight / 16,0;

cTemp duplo = (temp / 16,0);

fTemp duplo = cTemp * 1,8 + 32;

// Selecione o registro de controle

// Modo ativo, OSR = 128, modo barômetro

device.write (0x26, (byte) 0x39);

Thread.sleep (1000);

// Lê 4 bytes de dados do endereço 0x00 (00)

// status, pres msb1, pres msb, pres lsb

device.read (0x00, data, 0, 4);

// Converta os dados para 20 bits

int pres = (((dados [1] e 0xFF) * 65536) + ((dados [2] e 0xFF) * 256) + (dados [3] e 0xF0)) / 16;

pressão dupla = (pres / 4,0) / 1000,0;

// Dados de saída para a tela

System.out.printf ("Pressão:%.2f kPa% n", pressão);

System.out.printf ("Altitude:%.2f m% n", altitude);

System.out.printf ("Temperatura em Celsius:%.2f C% n", cTemp);

System.out.printf ("Temperatura em Fahrenheit:%.2f F% n", fTemp);

}

}

Etapa 4: Aplicativos:

Várias aplicações de MPL3115A2 incluem Altimetria de Alta Precisão, Smartphones / Tablets, Altimetria Eletrônica Pessoal, etc. Ele também pode ser incorporado em GPS Dead Reckoning, Melhoria de GPS para Serviços de Emergência, Map Assist, Navegação, bem como Equipamentos de Estação Meteorológica.

Recomendado: