Descifrando el altímetro
Visión general
Sección titulada «Visión general»El barómetro es el sensor clave de la función de mantenimiento de altitud del drone. En este proyecto aprenderás a leer los datos del barómetro, calcular la altitud real e implementar una función de mantenimiento de altitud más precisa.
Lo que aprenderás
Sección titulada «Lo que aprenderás»- Principio de funcionamiento del barómetro
- Método de cálculo de altitud
- Técnicas de filtrado de datos
- Control por zona muerta
Materiales necesarios
Sección titulada «Materiales necesarios»| Artículo | Cantidad | Descripción |
|---|---|---|
| Drone ESP32 | 1 | Ya ensamblado |
| Módulo barómetro BMP280 | 1 | Mide presión y altitud |
| Asistente de depuración serie | 1 | serial_debug.exe |
Paso 1: Cableado del hardware
Sección titulada «Paso 1: Cableado del hardware»Conecta el BMP280 al ESP32:
| BMP280 | ESP32 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| SCL | GPIO 22 |
| SDA | GPIO 21 |
Paso 2: Abrir el proyecto
Sección titulada «Paso 2: Abrir el proyecto»Descomprime barometer.zip y ábrelo con VS Code.
Paso 3: Modificar la calibración de presión
Sección titulada «Paso 3: Modificar la calibración de presión»Abre sensors_bmp280.c y localiza la función bmp280_init:
void bmp280_init(void) { // ... código de inicialización ... p0 = 101325; // presión al nivel del mar (Pa)}Consulta la presión actual de tu zona con la app del tiempo del móvil (por ejemplo, 100800 Pa) y modifica p0:
p0 = 100800; // presión actual localPaso 4: Compilar y grabar
Sección titulada «Paso 4: Compilar y grabar»Compila y graba el código, abre el asistente de depuración serie y observa los datos:
- En reposo, el valor de presión debe ser estable
- Al mover el drone arriba y abajo, el valor de altitud debe cambiar en consecuencia
Paso 5: Optimizar el mantenimiento de altitud
Sección titulada «Paso 5: Optimizar el mantenimiento de altitud»Abre altitude_hold.c y añade una “zona muerta de mantenimiento de altitud”:
if (fabs(current_altitude - target_altitude) < 0.1) { // La diferencia de altitud es menor de 0,1 m: no ajustar return;}Paso 6: Probar
Sección titulada «Paso 6: Probar»Fija una altitud objetivo de 1 metro y observa si el drone la mantiene de forma estable.
Solución de problemas
Sección titulada «Solución de problemas»Los datos de altitud fluctúan mucho
Sección titulada «Los datos de altitud fluctúan mucho»- Añade un filtro de paso bajo
- Comprueba la conexión del sensor
El cálculo de altitud es impreciso
Sección titulada «El cálculo de altitud es impreciso»- Calibra el valor de presión local
- Comprueba la compensación de temperatura
Sensación de logro
Sección titulada «Sensación de logro»¡Enhorabuena! Ya dominas el uso del barómetro e implementaste una función precisa de mantenimiento de altitud.
Siguiente paso
Sección titulada «Siguiente paso»En el siguiente proyecto aprenderás a leer los datos de la IMU y a calcular la actitud del drone con un algoritmo de filtro complementario.
Publicado por primera vez endrone.imagrove.com/es/intermediate/altimeter/Al citar o reproducir, indica la fuente Imagrove y enlaza a esta página.
¿Dudas o problemas con este tutorial?
Inicia sesión con GitHub para comentar. Si un paso te falla, avísanos: lo verificamos y actualizamos el tutorial.
© 2026 ESP32 Drone. Todos los derechos reservados.