Índice:

Altitude, pressão e temperatura usando Raspberry Pi com MPL3115A2: 6 etapas
Altitude, pressão e temperatura usando Raspberry Pi com MPL3115A2: 6 etapas
Anonim
Altitude, pressão e temperatura usando Raspberry Pi com MPL3115A2
Altitude, pressão e temperatura usando Raspberry Pi com MPL3115A2
Altitude, pressão e temperatura usando Raspberry Pi com MPL3115A2
Altitude, pressão e temperatura usando Raspberry Pi com MPL3115A2

Soa interessante. É bem possível neste momento em que todos estamos entrando na geração de IoT. Como um fanático por eletrônica, estamos brincando com o Raspberry Pi e decidimos fazer projetos interessantes usando esse conhecimento. Neste projeto, estaremos medindo altitude, pressão atmosférica e temperatura usando Raspberry Pi. Então aqui vai a documentação (sempre sendo modificada e expandida). Recomendamos começar seguindo as instruções e copiando o código. Você pode experimentar mais tarde. Então vamos começar.

Etapa 1: equipamento imperativo que precisamos

Equipamento imperativo que precisamos
Equipamento imperativo que precisamos
Equipamento imperativo que precisamos
Equipamento imperativo que precisamos
Equipamento imperativo que precisamos
Equipamento imperativo que precisamos
Equipamento imperativo que precisamos
Equipamento imperativo que precisamos

1. Raspberry Pi

O primeiro passo foi obter uma placa Raspberry Pi. Nós compramos o nosso e você também pode. Começamos a aprender com os tutoriais, entendemos os conceitos de script e conexão e aprendemos depois. Este pequeno gênio é comum para amadores, professores e na criação de ambientes inovadores.

2. Escudo I²C para Raspberry Pi

O INPI2 (adaptador I2C) fornece ao Raspberry Pi 2/3 uma porta I²C para uso com vários dispositivos I2C. Está disponível na Dcube Store

3. Altímetro, Sensor de pressão e temperatura, MPL3115A2

O MPL3115A2 é um sensor de pressão MEMS com uma interface I²C para fornecer dados de pressão / altitude e temperatura. Este sensor usa o protocolo I²C para comunicação. Nós compramos este sensor na Dcube Store

4. Cabo de conexão

Tínhamos o cabo de conexão I2C disponível na loja Dcube

5. Cabo micro USB

A fonte de alimentação do cabo micro USB é a escolha ideal para alimentar o Raspberry Pi.

6 Melhoria de acesso à Internet - cabo Ethernet / adaptador WiFi

Nesta época, para ter acesso a qualquer coisa, é necessária uma conexão com a internet (quase como também existe vida offline). Portanto, vamos seguir o conselho de um cabo LAN ou um Adaptador Nano USB Wireless (WiFi) para construir a conexão com a Internet para que possamos usar nosso Rasp Pi com facilidade e sem nenhum problema.

7. Cabo HDMI (opcional, à sua escolha)

É um pouco complicado. Você pode ter o poder de conectar outro monitor caso queira, ou é muito econômico para você, fazendo uma conexão Pi sem cabeça com seu PC / laptop.

Etapa 2: conexões de hardware para montar o circuito

Conexões de hardware para montar o circuito
Conexões de hardware para montar o circuito
Conexões de hardware para montar o circuito
Conexões de hardware para montar o circuito

Faça o circuito de acordo com o esquema mostrado. Em geral, as conexões são muito simples. Siga as instruções e imagens e não terá problemas.

Durante o planejamento, examinamos o hardware e a codificação, bem como os fundamentos da eletrônica. Queríamos projetar um esquema eletrônico simples para este projeto. No diagrama, você pode observar as diferentes partes, componentes de energia e sensor I²C seguindo os protocolos de comunicação I²C. Esperançosamente, isso ilustra o quão simples é a eletrônica para este projeto.

Conexão do Raspberry Pi e Escudo I2C

Em primeiro lugar, pegue o Raspberry Pi e coloque o escudo I²C nele. Pressione o escudo suavemente (veja a foto).

Conexão do Sensor e Raspberry Pi

Pegue o sensor e conecte o cabo I²C com ele. Certifique-se de que a saída I²C SEMPRE se conecte à entrada I²C. O mesmo a ser seguido pelo Raspberry Pi com a blindagem I²C montada sobre ele. Temos a blindagem I²C e os cabos de conexão I²C do nosso lado como uma grande vantagem, pois ficamos apenas com a opção plug and play. Não há mais problemas com pinos e fiação e, portanto, a confusão se foi. Que alívio imaginar-se na teia de fios e entrar nela. Apenas o processo simples que mencionamos.

Nota: O fio marrom deve sempre seguir a conexão Terra (GND) entre a saída de um dispositivo e a entrada de outro dispositivo

Conectividade com a Internet é vital

Você tem uma escolha aqui, na verdade. Você pode conectar o Raspberry Pi com o cabo LAN ou o adaptador Nano USB sem fio para conectividade sem fio. De qualquer forma, fez o objetivo principal que é conectar-se à internet.

Alimentação do circuito

Conecte o cabo Micro USB ao conector de alimentação do Raspberry Pi. Ilumine-o e estamos prontos para ir.

Conexão com a tela

Podemos ter o cabo HDMI conectado a um novo monitor ou podemos fazer nosso Pi sem cabeça, que é criativo e econômico usando acesso remoto como SSH / PuTTY. (Eu sei que não somos financiados como uma organização secreta)

Etapa 3: Programação Raspberry Pi em Python

Programação Raspberry Pi em Python
Programação Raspberry Pi em Python

O código Python para o sensor Raspberry Pi e MPL3115A2. Ele está disponível em nosso repositório Github.

Antes de prosseguir com o código, certifique-se de ler as instruções fornecidas no arquivo Leiame e configure seu Raspberry Pi de acordo com ele. Isso levará apenas alguns instantes.

A altitude é calculada a partir da pressão usando a equação abaixo:

h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (valor de registro)

Onde p0 = pressão ao nível do mar (101.326 Pa) eh está em metros. O MPL3115A2 usa esse valor, pois o registro de deslocamento é definido como 2 Pascals por LSB.

O código está claramente à sua frente e da forma mais simples que você pode imaginar e você não deve ter problemas.

Você também pode copiar o código Python de trabalho para este sensor aqui.

# Distribuído com licença de livre arbítrio. # Use-o da maneira que quiser, com ou sem lucro, desde que se enquadre nas licenças das obras associadas. # MPL3115A2 # Este código foi desenvolvido para funcionar com o Minimódulo MPL3115A2_I2CS I2C disponível em ControlEverything.com. #

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, barramento de modo do altímetro.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, bus do modo altímetro.write_byte_data (0x60, 0x26, 0xB9)

tempo.sono (1)

Endereço # MPL3115A2, 0x60 (96)

# Ler 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] & 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)

# Lê os dados de volta 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"% pressure print "Altitude:%.2f m"% altitude print "Temperatura em Celsius:%.2f C"% cTemp print "Temperatura em Fahrenheit:%.2f F"% fTemp

Etapa 4: a praticidade do código (teste)

A praticidade do código (teste)
A praticidade do código (teste)

Agora, baixe (ou git pull) o código e abra-o no Raspberry Pi.

Execute os comandos para Compilar e Carregar o código no terminal e veja a saída no Monitor. Após alguns segundos, ele exibirá todos os parâmetros. Depois de se certificar de que tudo está funcionando perfeitamente, você pode levar este projeto para um projeto maior.

Etapa 5: aplicativos e recursos

O uso comum do sensor MPL3115A2 Altímetro de precisão I²C é em aplicações como Mapa (Map Assist, Navigation), Magnetic Compass ou GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), Alta Precisão Altimetria, Smartphones / Tablets, Personal Electronics Altimetry e Satélites (Equipamento da Estação Meteorológica / Previsão).

Por ex. um projeto para fazer Altímetro Eletrônico Pessoal que mede altitude, pressão do ar, temperatura usando Raspberry Pi. O Altímetro Eletrônico Pessoal é um projeto totalmente rápido de construir. Levará apenas alguns minutos se você tiver todas as partes e não improvisar (é claro que pode!). Um altímetro de pressão é um altímetro encontrado na maioria das aeronaves, e os pára-quedistas usam versões montadas no pulso para fins semelhantes. Os caminhantes e alpinistas usam altímetros de pulso ou de mão.

Etapa 6: Conclusão

Espero que este projeto inspire mais experimentação. Este sensor I²C é incrivelmente versátil, barato e acessível. Por ser um programa extremamente mutável, existem maneiras interessantes de estender esse projeto e torná-lo ainda melhor. Por exemplo, o altímetro é um instrumento opcional em veículos off-road para auxiliar na navegação. Alguns carros de luxo de alto desempenho que nunca tiveram a intenção de deixar estradas pavimentadas, usam essa tecnologia. Para sua conveniência, temos um tutorial em vídeo interessante no YouTube que pode ajudar na sua exploração. Espero que este projeto inspire mais experimentação.

Recomendado: