Tabla de contenido:
- Paso 1: prepara el Pi
- Paso 2: Conéctelo todo
- Paso 3: Pruebe su I2C
- Paso 4: Instale MySQL y PhpMyAdmin
- Paso 5: instalar módulos de Python
- Paso 6: Código para iniciar sesión en la base de datos
- Paso 7: Código para mostrar la temperatura
- Paso 8: Caja impresa en 3D
- Paso 9: Qué hacer
Video: Reloj meteorológico con barómetro Raspberry Pi: 9 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
En este instructivo, le mostraré cómo construir un reloj termómetro / barómetro básico usando una Raspberry Pi 2 con un sensor BMP180 I2C que se muestra en una pantalla I2C de 4 dígitos y 7 segmentos de Adafruit. El Pi también utiliza un módulo de reloj I2C en tiempo real DS3231 para mantener el tiempo cuando se reinicia el Pi.
El reloj recorre 4 etapas durante 5 segundos cada una. Primero muestra la temperatura en Celsius, luego en Fahrenheit, luego la presión barométrica en kPa * (camina este número a la izquierda debido al número limitado de dígitos) y finalmente muestra una tendencia de cambio de presión barométrica entre ahora y el promedio de la hora anterior.
Lo que hace que este reloj sea diferente a la mayoría es que usa una base de datos MySQL en el Pi para registrar datos del BMP180 cada minuto. Como la presión barométrica actual no es tan valiosa como su movimiento hacia arriba o hacia abajo durante un período de tiempo determinado, utiliza esta base de datos para calcular un promedio para un intervalo de una hora entre 2 horas y 1 hora atrás y lo compara con la presión actual. Un aumento significativo en la presión barométrica generalmente indica una mejora en las condiciones climáticas frente a una gran caída que podría advertir de una tormenta inminente.
El reloj está alojado en una carcasa de ABS impresa en 3D con el BMP180 en una tapa ventilada en la parte posterior del reloj para evitar que el calor generado por el Pi afecte las lecturas de temperatura. Le proporcionaré el esquema de Autodesk 123D Design si desea imprimir el suyo.
El reloj se alimenta con una verruga de pared USB estándar y consume alrededor de 450 mA en total.
No entraré en demasiados detalles sobre la configuración básica de Pi e I2C, ya que esto se ha cubierto en muchos otros instructivos a los que proporcionaré enlaces.
Paso 1: prepara el Pi
Configure su Raspberry Pi - Detalles en Raspberrypi.org
- Descargue e instale la distribución de Linux seleccionada en una tarjeta SD: usé Raspbian
- Conecta el pi y enciéndelo
- Usé un adaptador micro WiFi para conectar el pi a mi enrutador ya que la carcasa del reloj oculta el puerto Ethernet.
- Usé el modo sin cabeza en el que te conectas al pi usando SSH, por lo que todo lo que necesitas enchufar es la energía.
- Configure I2C en la Pi: seguí estas instrucciones en el sitio de Adafruit.
Paso 2: Conéctelo todo
Todos los módulos que uso en este proyecto son tolerantes a 5 V y usan I2C, que es un protocolo de 2 cables que se usa para que los circuitos integrados se comuniquen entre sí, por lo que el cableado es bastante simple. Conecte todos los VCC a 5 V, todas las conexiones a tierra juntas y todas las líneas SCA y SCL juntas según el esquema. Trabajo hecho.
Paso 3: Pruebe su I2C
Parte de la instalación de I2C es ejecutar i2cdetect, que debería verse como la imagen adjunta si todo está cableado correctamente.
A continuación se muestran las direcciones coincidentes
- 0x70 = Pantalla de 7 segmentos
- 0x77 = Sensor de termómetro / barómetro BMP180
- 0x68 = Módulo de reloj en tiempo real DS3231
- 0x57 = DS3231 a bordo EEPROM para almacenar datos de alarma.
Paso 4: Instale MySQL y PhpMyAdmin
La instalación de mySQL es bastante sencilla si sigue el tutorial aquí
sudo apt-get install mysql-server
También instalé phpMyAdmin, que es un sitio web que se ejecuta en Apache y que puede usar para crear y administrar bases de datos mySQL. Tutorial aquí
sudo apt-get install phpmyadmin
Una vez instalado, configuré una base de datos llamada BP180 usando phpMyAdmin con la estructura según la imagen.
También hago uso de un módulo de Python llamado mysqlDB que puedes instalar usando
sudo apt-get install python-mysqldb
Paso 5: instalar módulos de Python
Descargue e instale los siguientes módulos de Python que utilizará para conectarse a los sensores.
- Módulo Adafruit_BMP085
- Módulo SDL_DS3231
- Módulo de 7 segmentos de Adafruit
Paso 6: Código para iniciar sesión en la base de datos
El siguiente fragmento de código se utiliza para registrar la temperatura y la presión barométrica y se llama desde un script cron (tareas programadas de Linux) que se ejecuta cada 5 minutos. Para aprender a usar crond, consulte este tutorial.
¡NÓTESE BIEN! No se moleste en arruinar mis habilidades de codificación, no soy un desarrollador, así que sí, probablemente hay un millón de formas mejores, más rápidas, más suaves y más limpias de hacer esto
Notará que en el código la temperatura se reduce en 7 grados, lo que equivale al calor generado por la Raspberry Pi incluso con la BMP180 montada en el exterior de la carcasa. Cuando lo tenía originalmente dentro de la carcasa, hacía unos 15 grados más que la temperatura ambiente. Parece bastante lineal, pero no he tenido la oportunidad de probar ningún extremo. Se agradecería recibir comentarios sobre sus experiencias.
Paso 7: Código para mostrar la temperatura
Este código se llama para recorrer la pantalla según la introducción.
Una vez más, no soy desarrollador, por lo que el código es muy tosco, pero funciona
Paso 8: Caja impresa en 3D
El siguiente es el diseño del recinto. Esto fue bastante desafiante ya que la forma es propensa a deformarse porque las partes de la capa exterior tienen solo 2 mm de grosor. Primero dibujé maquetas del Pi y todas las partes y luego diseñé el recinto a su alrededor. La impresión tomó alrededor de 7 horas en mi RapMan 3.2 (que es una impresora bastante lenta) a una profundidad de capa de 0.25.
El esquema adjunto está realizado en Autodesk 123D Design, que creo que es una fantástica pieza de software gratuito.
Tenga en cuenta que algunos de los orificios, como los necesarios para montar el Pi, no están en el diseño, ya que es mejor perforarlos después en caso de que la impresión se deforme un poco. Mano firme, una broca de 3 mm es todo lo que necesita. Marque la profundidad en la broca con cinta adhesiva para que no pase accidentalmente por su impresión de 7 horas como lo hice yo.
Paso 9: Qué hacer
- El reloj en tiempo real fue una adición después de que el gabinete se imprimió por quinta vez, por lo que actualmente está pegado en caliente en el costado del gabinete que no se ve bien, por lo que me gustaría volver a hacer el diseño y agregarle un lugar.
- El brillo de la pantalla de 7 segmentos está configurado actualmente en su nivel más ligero, lo que no es óptimo para condiciones de luz intensa. Me gustaría agregar una fotorresistencia en la parte superior del gabinete y ajustar el brillo de 7 segmentos según las condiciones de luz ambiental.
- Hay algunos problemas de diseño menores con el agrietamiento de la base que también se solucionarán.
- Cualquier idea es bienvenida.
Espero que hayas disfrutado de este instructivo y lo hayas encontrado lo suficientemente inspirador como para ponerte en marcha. La idea es proporcionar una plataforma que pueda utilizar para agregar sus propias ideas. ¡Divertirse!
Recomendado:
Reloj meteorológico: 11 pasos (con imágenes)
Weather Clock: Actualización con esquema eléctrico y esquema Fritzing Hago dos premisas: Este es mi primer Instructable Soy un italiano ignorante que no ha estudiado inglés en la escuela, y por eso pedí ayuda para: https: //translate.google.itStart con agradecimiento
Barómetro del estado de ánimo del reloj Nixie: 7 pasos (con imágenes)
Barómetro del estado de ánimo del reloj de Nixie: Una víctima inadvertida de Progress es el barómetro aneroide del hogar. En estos días, es posible que todavía pueda encontrar ejemplos en los hogares de personas mayores de noventa años, pero millones más están en el basurero o en eBay. En verdad, el barómetro de la vieja escuela no ayudó a
Reloj meteorológico: 15 pasos (con imágenes)
Weather Clock: reloj de escritorio de gran apariencia con fecha y amp; pantalla meteorológica
Reloj meteorológico ESP8266: 6 pasos (con imágenes)
Reloj meteorológico ESP8266: ¡Estoy muy orgulloso de tu llegada y te doy la bienvenida
Reloj de red y monitor meteorológico basados en ESP8266: 3 pasos (con imágenes)
Reloj de red y monitor meteorológico basado en ESP8266: proyecto de fin de semana corto y simple con ESP8266 y pantalla OLED de 0,96 '' 128x64 El dispositivo es un reloj de red, es decir, obtiene la hora de los servidores ntp. También muestra información meteorológica con iconos de openweathermap.org Piezas necesarias: 1. Módulo ESP8266 (A