Alerta de caída de presión para temporada de huracanes
Mide la presión del aire cada 10 minutos y suena un zumbador cuando baja rápido: la señal clásica de que se acerca una tormenta.
Los meteorólogos vigilan la tendencia de presión de 3 horas. Una caída de varios hectopascales en tres horas indica que un sistema de baja presión fuerte se acerca. Un BME280 en un Pi puede vigilar esa tendencia por ti día y noche.
Es un proyecto de aviso temprano de hobby, no reemplaza las alertas oficiales del servicio meteorológico ni las órdenes de evacuación. Sigue siempre a tu oficina local de manejo de emergencias.
Pasos de la misión
Activa I2C
Corre sudo raspi-config, activa I2C en Interface Options y reinicia.
Conecta el sensor
VIN del BME280 a 3V3, GND a GND, SDA a GPIO2 y SCL a GPIO3; agrega un zumbador entre GPIO18 y GND.
Instala las librerías
En un entorno virtual corre pip install adafruit-blinka adafruit-circuitpython-bme280 gpiozero.
Corre el monitor
El script guarda 3 horas de lecturas y compara la más nueva con la más vieja.
Ajusta el umbral
Empieza con una caída de 6 hPa en 3 horas y ajústalo después de ver pasar algunos frentes.
Código
import time, collections, board
from adafruit_bme280 import basic as adafruit_bme280
from gpiozero import Buzzer
bme = adafruit_bme280.Adafruit_BME280_I2C(board.I2C(), address=0x76)
buzzer = Buzzer(18)
history = collections.deque(maxlen=19) # 19 readings, 10 min apart = 3 hours
DROP_HPA = 6.0
while True:
p = bme.pressure # hPa
history.append(p)
if len(history) == history.maxlen:
change = p - history[0]
print(f"{time.strftime('%H:%M')} {p:.1f} hPa 3 h change {change:+.1f}")
if change <= -DROP_HPA:
print('Rapid pressure drop! Check the official forecast.')
buzzer.beep(0.2, 0.2, n=10)
time.sleep(600)Code comments are in English, like most libraries and docs — a good habit for makers.
Preguntas
Mi sensor tiene la dirección 0x77, no 0x76.
Algunas placas usan 0x77. Corre i2cdetect -y 1 para ver la dirección y cámbiala en el script.