Clima y CienciaTécnico

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.

NivelTécnico
Tiempo45 min
Costo est.~$108
Pasos5

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.

⚠ SEGURIDAD
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

  1. Activa I2C

    Corre sudo raspi-config, activa I2C en Interface Options y reinicia.

  2. 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.

  3. Instala las librerías

    En un entorno virtual corre pip install adafruit-blinka adafruit-circuitpython-bme280 gpiozero.

  4. Corre el monitor

    El script guarda 3 horas de lecturas y compara la más nueva con la más vieja.

  5. 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.