Índice:

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

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

Vídeo: Raspberry Pi - Sensor de altímetro de precisão MPL3115A2 Python Tutorial: 4 etapas
Vídeo: Raspberry Pi HP203B Precision 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 python.

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 python para MPL3115A2 pode ser baixado de nosso repositório Github- DCUBE Store Community.

Aqui está o link

Usamos a biblioteca SMBus para o código python. As etapas para instalar o SMBus no raspberry pi são descritas aqui:

pypi.python.org/pypi/smbus-cffi/0.5.1

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 da forma que quiser, com ou sem lucro, desde que se enquadre nas licenças das suas obras associadas.

# MPL3115A2

# Este código foi desenvolvido para funcionar com o Minimódulo MPL3115A2_I2CS I2C

import smbus

tempo de importação

# Pegue o ônibus I2C

bus = smbus. SMBus (1)

Endereço # MPL3115A2, 0x60 (96)

# Selecione o registro de controle, 0x26 (38)

# 0xB9 (185) Modo ativo, OSR = 128, modo Altímetro

bus.write_byte_data (0x60, 0x26, 0xB9)

Endereço # MPL3115A2, 0x60 (96)

# Selecione o registro de configuração de dados, 0x13 (19)

# 0x07 (07) Evento de dados prontos habilitado para altitude, pressão, temperatura

bus.write_byte_data (0x60, 0x13, 0x07)

Endereço # MPL3115A2, 0x60 (96)

# Selecione o registro de controle, 0x26 (38)

# 0xB9 (185) Modo ativo, OSR = 128, modo Altímetro

bus.write_byte_data (0x60, 0x26, 0xB9)

tempo.sono (1)

Endereço # MPL3115A2, 0x60 (96)

# Leia os dados de 0x00 (00), 6 bytes

# status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB

data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Converta os dados para 20 bits

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

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

altitude = tHeight / 16,0

cTemp = temp / 16,0

fTemp = cTemp * 1,8 + 32

Endereço # MPL3115A2, 0x60 (96)

# Selecione o registro de controle, 0x26 (38)

# 0x39 (57) Modo ativo, OSR = 128, modo Barômetro

bus.write_byte_data (0x60, 0x26, 0x39)

tempo.sono (1)

Endereço # MPL3115A2, 0x60 (96)

# Leia os dados de 0x00 (00), 4 bytes

# status, pres MSB1, pres MSB, pres LSB

data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Converta os dados para 20 bits

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

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

# Dados de saída para a tela

print "Pressão:%.2f kPa"% de pressão

imprimir "Altitude:%.2f m"% altitude

print "Temperatura em Celsius:%.2f C"% cTemp

print "Temperatura em Fahrenheit:%.2f F"% 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: