Tabla de contenido:
Video: Raspberry Pi - Tutorial de Python con sensor de altímetro de precisión MPL3115A2: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
El MPL3115A2 emplea un sensor de presión MEMS con una interfaz I2C para proporcionar datos precisos de presión / altitud y temperatura. Las salidas del sensor están digitalizadas por un ADC de alta resolución de 24 bits. El procesamiento interno elimina las tareas de compensación del sistema MCU anfitrión. Es capaz de detectar un cambio de solo 0,05 kPa, lo que equivale a un cambio de altitud de 0,3 m. Aquí está su demostración con raspberry pi usando código Python.
Paso 1: ¡¡Lo que necesitas …
1. Raspberry Pi
2. MPL3115A2
3. Cable I²C
4. Escudo I²C para Raspberry Pi
5. Cable Ethernet
Paso 2: Conexiones:
Tome un protector I2C para raspberry pi y empújelo suavemente sobre los pines gpio de raspberry pi.
Luego, conecte un extremo del cable I2C al sensor MPL3115A2 y el otro extremo al blindaje I2C.
También conecte el cable Ethernet al pi o puede usar un módulo WiFi.
Las conexiones se muestran en la imagen de arriba.
Paso 3: Código:
El código Python para MPL3115A2 se puede descargar desde nuestro repositorio Github - Comunidad de tiendas DCUBE.
Aqui esta el link
Hemos utilizado la biblioteca SMBus para el código python, los pasos para instalar SMBus en raspberry pi se describen aquí:
pypi.python.org/pypi/smbus-cffi/0.5.1
También puede copiar el código desde aquí, se proporciona de la siguiente manera:
# Distribuido con una licencia de libre albedrío.
# Úselo de la forma que desee, lucrativa o gratuita, siempre que encaje en las licencias de sus obras asociadas.
# MPL3115A2
# Este código está diseñado para funcionar con el mini módulo MPL3115A2_I2CS I2C
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 de altímetro
bus.write_byte_data (0x60, 0x26, 0xB9)
# MPL3115A2 dirección, 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)
# MPL3115A2 dirección, 0x60 (96)
# Seleccionar registro de control, 0x26 (38)
# 0xB9 (185) Modo activo, OSR = 128, modo de altímetro
bus.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
datos = bus.read_i2c_block_data (0x60, 0x00, 6)
# Convierte los datos a 20 bits
tHeight = ((datos [1] * 65536) + (datos [2] * 256) + (datos [3] y 0xF0)) / 16
temp = ((datos [4] * 256) + (datos [5] y 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 de 0x00 (00), 4 bytes
# estado, presiona MSB1, presiona MSB, presiona LSB
datos = bus.read_i2c_block_data (0x60, 0x00, 4)
# Convierte los datos a 20 bits
pres = ((datos [1] * 65536) + (datos [2] * 256) + (datos [3] y 0xF0)) / 16
presión = (pres / 4.0) / 1000.0
# Salida de datos a la pantalla
imprimir "Presión:%.2f kPa"% de presión
imprimir "Altitud:%.2f m"% altitud
imprimir "Temperatura en grados Celsius:%.2f C"% cTemp
imprimir "Temperatura en Fahrenheit:%.2f F"% fTemp
Paso 4: Aplicaciones:
Varias aplicaciones de MPL3115A2 incluyen altímetro de alta precisión, teléfonos inteligentes / tabletas, altímetro de electrónica personal, etc. También se puede incorporar en GPS Dead Reckoning, mejora de GPS para servicios de emergencia, asistencia de mapas, navegación y equipo de estación meteorológica.
Recomendado:
Altímetro de avión RC (compatible con telemetría Spektrum): 7 pasos
Altímetro de avión RC (compatible con Spektrum Telemetry): hice este altímetro para que el piloto pudiera saber que están por debajo del límite de 400 pies en aviones RC en los EE. UU. Mi amigo estaba preocupado porque no podía decir con certeza que siempre estaba por debajo de los 400 pies y quería tener la seguridad adicional de que un sensor
Altímetro (medidor de altitud) basado en la presión atmosférica: 7 pasos (con imágenes)
Altímetro (medidor de altitud) basado en la presión atmosférica: [Editar]; Consulte la versión 2 en el paso 6 con entrada manual de altitud de línea base. Esta es la descripción de construcción de un altímetro (medidor de altitud) basado en un Arduino Nano y un sensor de presión atmosférica Bosch BMP180. El diseño es simple pero las mediciones
Dirt Cheap Dirt-O-Meter - Altímetro audible basado en Arduino de $ 9: 4 pasos (con imágenes)
Dirt Cheap Dirt-O-Meter - Altímetro audible basado en Arduino de $ 9: Dytters (AKA Audible Altimeters) salvó la vida de los paracaidistas durante tantos años. Ahora, Audible Abby también les ahorrará dinero. Los Dytters básicos tienen cuatro alarmas, una para subir y tres para bajar. En el viaje en avión, los paracaidistas deben saber cuándo
Brújula LED y altímetro: 7 pasos (con imágenes)
Brújula y altímetro LED: Los objetos con LED siempre me fascinan. Por lo tanto, este proyecto combina el popular sensor de brújula digital HMC5883L con 48 LED. Al colocar los LED en un círculo, el LED que se enciende es la dirección a la que se dirige. Cada 7.5 grados dr
PropVario, un variómetro / altímetro de bricolaje con salida de voz para planeadores RC: 7 pasos (con imágenes)
PropVario, un variómetro / altímetro de bricolaje con salida de voz para planeadores RC: este instructivo le mostrará cómo construir un Vario económico, que podría hablar la altitud y, por supuesto, enviar varios tonos al cambiar la altura de su planeador. Algunas características: - voz y tono - use sus propias muestras (de onda) en su la