Tabla de contenido:

Altitud, presión y temperatura con Raspberry Pi con MPL3115A2: 6 pasos
Altitud, presión y temperatura con Raspberry Pi con MPL3115A2: 6 pasos

Video: Altitud, presión y temperatura con Raspberry Pi con MPL3115A2: 6 pasos

Video: Altitud, presión y temperatura con Raspberry Pi con MPL3115A2: 6 pasos
Video: Altitude Sensor | High Altitude Balloon Project | Raspberry Pi 3 B+ 2024, Mes de julio
Anonim
Altitud, presión y temperatura con Raspberry Pi con MPL3115A2
Altitud, presión y temperatura con Raspberry Pi con MPL3115A2
Altitud, presión y temperatura con Raspberry Pi con MPL3115A2
Altitud, presión y temperatura con Raspberry Pi con MPL3115A2

Suena interesante. Es muy posible en este momento en que todos estamos entrando en la generación de IoT. Como fanático de la electrónica, hemos estado jugando con la Raspberry Pi y decidimos hacer proyectos interesantes usando este conocimiento. En este proyecto, mediremos la altitud, la presión del aire y la temperatura con Raspberry Pi. Así que aquí va la documentación (siempre modificada y ampliada). Recomendamos comenzar siguiendo las instrucciones y copiar el código. Puedes experimentar más tarde. Entonces empecemos.

Paso 1: Equipo imperativo que necesitamos

Equipo imperativo que necesitamos
Equipo imperativo que necesitamos
Equipo imperativo que necesitamos
Equipo imperativo que necesitamos
Equipo imperativo que necesitamos
Equipo imperativo que necesitamos
Equipo imperativo que necesitamos
Equipo imperativo que necesitamos

1. Raspberry Pi

El primer paso fue obtener una placa Raspberry Pi. Compramos el nuestro y tú también puedes. Comenzamos a aprender de los tutoriales, entendimos los conceptos de scripting y conexión y aprendimos después. Este pequeño genio es común para aficionados, profesores y en la creación de entornos innovadores.

2. Escudo I²C para Raspberry Pi

El INPI2 (adaptador I2C) proporciona a la Raspberry Pi 2/3 un puerto I²C para usar con varios dispositivos I2C. Está disponible en Dcube Store

3. Altímetro, sensor de presión y temperatura, MPL3115A2

El MPL3115A2 es un sensor de presión MEMS con una interfaz I²C para proporcionar datos de presión / altitud y temperatura. Este sensor utiliza el protocolo I²C para comunicarse. Compramos este sensor en Dcube Store

4. Cable de conexión

Teníamos el cable de conexión I2C disponible en Dcube Store

5. Cable micro USB

La fuente de alimentación del cable micro USB es una opción ideal para alimentar la Raspberry Pi.

6. Mejora del acceso a Internet: cable Ethernet / adaptador WiFi

En esta era, para acceder a cualquier cosa se necesita una conexión a Internet (casi como también hay vida fuera de línea). Así que seguimos el consejo de un cable LAN o un Adaptador Nano USB Inalámbrico (WiFi) para construir la conexión a Internet para que podamos usar nuestra Rasp Pi con facilidad y sin ningún problema.

7. Cable HDMI (opcional, su elección)

Es un poco complicado. Puede tener el poder de conectar otro monitor en caso de que lo desee o sea muy rentable para usted al hacer una conexión Pi sin cabeza con su PC / computadora portátil.

Paso 2: Conexiones de hardware para armar el circuito

Conexiones de hardware para armar el circuito
Conexiones de hardware para armar el circuito
Conexiones de hardware para armar el circuito
Conexiones de hardware para armar el circuito

Realice el circuito según el esquema que se muestra. En general, las conexiones son muy sencillas. Siga las instrucciones y las imágenes y no debería tener problemas.

Mientras planificamos, analizamos el hardware y la codificación, así como los conceptos básicos de la electrónica. Queríamos diseñar un esquema electrónico simple para este proyecto. En el diagrama, puede observar las diferentes partes, componentes de potencia y sensor I²C siguiendo los protocolos de comunicación I²C. Con suerte, esto ilustra lo simple que es la electrónica para este proyecto.

Conexión de Raspberry Pi y I2C Shield

En primer lugar, tome la Raspberry Pi y coloque el escudo I²C sobre ella. Presione el escudo suavemente (vea la foto).

Conexión del sensor y Raspberry Pi

Tome el sensor y conecte el cable I²C con él. Asegúrese de que la salida I²C SIEMPRE se conecte a la entrada I²C. Lo mismo le seguirá la Raspberry Pi con el blindaje I²C montado sobre él. Tenemos el blindaje I²C y los cables de conexión I²C de nuestro lado como una gran ventaja ya que solo nos queda la opción plug and play. No más problemas de pines y cableado y, por lo tanto, la confusión se ha ido. Qué alivio imaginarse a sí mismo en la red de cables y meterse en eso. Solo el proceso simple que hemos mencionado.

Nota: El cable marrón siempre debe seguir la conexión de tierra (GND) entre la salida de un dispositivo y la entrada de otro dispositivo

La conectividad a Internet es vital

De hecho, tienes una opción aquí. Puede conectar Raspberry Pi con el cable LAN o el adaptador Nano USB inalámbrico para conectividad WiFi. De todos modos, hizo el objetivo principal que es conectarse a Internet.

Encendido del circuito

Enchufe el cable Micro USB en el conector de alimentación de Raspberry Pi. Enciéndelo y listo.

Conexión a la pantalla

Podemos tener el cable HDMI conectado a un nuevo monitor o podemos hacer nuestro Pi sin cabeza, que es creativo y rentable usando acceso remoto como SSH / PuTTY (sé que no estamos financiados como una organización secreta).

Paso 3: Programación de Raspberry Pi en Python

Programación Raspberry Pi en Python
Programación Raspberry Pi en Python

El código Python para Raspberry Pi y MPL3115A2 Sensor. Está disponible en nuestro repositorio de Github.

Antes de continuar con el código, asegúrese de leer las instrucciones dadas en el archivo Léame y configure su Raspberry Pi de acuerdo con él. Solo tomará un momento hacerlo.

La altitud se calcula a partir de la presión utilizando la siguiente ecuación:

h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (valor de registro)

Donde p0 = presión al nivel del mar (101326 Pa) y h está en metros. El MPL3115A2 usa este valor ya que el registro de compensación se define como 2 Pascales por LSB.

El código está claramente frente a usted y está en la forma más simple que pueda imaginar y no debería tener problemas.

También puede copiar el código Python de trabajo para este sensor desde aquí.

# Distribuido con una licencia de libre albedrío. # Úselo de la forma que desee, lucrativa o gratuita, siempre que se ajuste a las licencias de sus obras asociadas. # MPL3115A2 # Este código está diseñado para funcionar con el mini módulo MPL3115A2_I2CS I2C disponible en ControlEverything.com. #

importar smbus

tiempo de importación

# Obtener bus I2C

bus = smbus. SMBus (1)

# MPL3115A2 dirección, 0x60 (96)

# Seleccionar registro de control, 0x26 (38) # 0xB9 (185) Modo activo, OSR = 128, Modo altímetro bus.write_byte_data (0x60, 0x26, 0xB9) # Dirección MPL3115A2, 0x60 (96) # Seleccionar registro de configuración de datos, 0x13 (19) # 0x07 (07) Evento de datos listos habilitado para altitud, presión, temperatura bus.write_byte_data (0x60, 0x13, 0x07) # Dirección MPL3115A2, 0x60 (96) # Seleccionar registro de control, 0x26 (38) # 0xB9 (185) Modo activo, OSR = 128, bus en modo altímetro.write_byte_data (0x60, 0x26, 0xB9)

hora de dormir (1)

# MPL3115A2 dirección, 0x60 (96)

# Leer datos de 0x00 (00), 6 bytes # estado, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Convierte los datos a 20 bits

tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 altitud = tHeight / 16.0 cTemp = temp / 16.0 fTemp = cTemp * 1.8 + 32

# MPL3115A2 dirección, 0x60 (96)

# Seleccionar registro de control, 0x26 (38) # 0x39 (57) Modo activo, OSR = 128, modo de barómetro bus.write_byte_data (0x60, 0x26, 0x39)

hora de dormir (1)

# MPL3115A2 dirección, 0x60 (96)

# Leer datos desde 0x00 (00), 4 bytes # estado, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Convierte los datos a 20 bits

pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 presión = (pres / 4.0) / 1000.0

# Salida de datos a la pantalla

imprimir "Presión:%.2f kPa"% presión imprimir "Altitud:%.2f m"% altitud imprimir "Temperatura en Celsius:%.2f C"% cTemp imprimir "Temperatura en Fahrenheit:%.2f F"% fTemp

Paso 4: La practicidad del código (prueba)

La practicidad del código (pruebas)
La practicidad del código (pruebas)

Ahora, descargue (o git pull) el código y ábralo en la Raspberry Pi.

Ejecute los comandos para compilar y cargar el código en el terminal y vea la salida en Monitor. Después de unos segundos, mostrará todos los parámetros. Después de asegurarse de que todo funciona sin problemas, puede llevar este proyecto a un proyecto más grande.

Paso 5: Aplicaciones y características

El uso común del sensor I²C del altímetro de precisión MPL3115A2 es en aplicaciones como mapa (asistente de mapa, navegación), brújula magnética o GPS (navegación por estima, mejora de GPS para servicios de emergencia), altímetro de alta precisión, teléfonos inteligentes / tabletas, altímetro de electrónica personal y satélites (equipo de estación meteorológica / pronóstico).

Por ejemplo un proyecto para hacer un altímetro de electrónica personal que mide la altitud, la presión del aire y la temperatura con Raspberry Pi. El altímetro de electrónica personal es un proyecto bastante rápido de construir. Solo te llevará unos minutos si tienes todas las partes y no improvisas (¡por supuesto que puedes!). Un altímetro de presión es un altímetro que se encuentra en la mayoría de los aviones, y los paracaidistas usan versiones montadas en la muñeca para propósitos similares. Los excursionistas y escaladores utilizan altímetros de mano o de muñeca.

Paso 6: Conclusión

Espero que este proyecto inspire más experimentación. Este sensor I²C es increíblemente versátil, económico y accesible. Dado que es un programa extremadamente mutable, hay formas interesantes de extender este proyecto y hacerlo aún mejor. Por ejemplo, el altímetro es un instrumento opcional en vehículos todoterreno para ayudar en la navegación. Algunos autos de lujo de alto rendimiento que nunca tuvieron la intención de dejar las carreteras pavimentadas, utilizan esta tecnología. Para su conveniencia, tenemos un interesante video tutorial en YouTube que podría ayudarlo a explorar. Espero que este proyecto inspire más experimentación.

Recomendado: