Tabla de contenido:

Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días: 3 pasos (con imágenes)
Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días: 3 pasos (con imágenes)

Video: Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días: 3 pasos (con imágenes)

Video: Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días: 3 pasos (con imágenes)
Video: ESP32 IoT con ThingSpeak | Estación meteorológica en la nube WiFi con ESP32 y BME280 | Micropython 2024, Mes de julio
Anonim
Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días
Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días
Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días
Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días
Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días
Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días
Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días
Estación meteorológica con Arduino, BME280 y pantalla para ver la tendencia en los últimos 1-2 días

¡Hola!

Aquí en instructables ya se han introducido estaciones meteorológicas. Muestran la presión del aire, la temperatura y la humedad actuales. Lo que les faltaba hasta ahora era una presentación del curso en los últimos 1-2 días. Este proceso tendría la ventaja de que no solo puede leer gráficamente los valores actuales, sino también de un vistazo, ver cómo han cambiado en los últimos 1-2 días. Como resultado, uno reconoce, por ejemplo, un posible cambio en el clima, ya que la presión del aire cambia mucho. Sin embargo, también se reconocen relaciones generales entre las cantidades medidas.

Por ejemplo, la humedad disminuye cuando aumenta la temperatura del aire. Esto se debe a que el aire caliente puede absorber más humedad que el aire frío. Si la humedad relativa es aproximadamente del 60% a 20 ° C, entonces a 25 ° C el aire podría absorber más humedad en términos absolutos. Por lo tanto, la humedad relativa ya no es del 60%, sino, por ejemplo, solo del 50% de descuento.

También puede ver claramente a qué hora del día se esperan las temperaturas más altas o más bajas. O que la humedad aumenta bruscamente cuando llueve. Ideal para el meteorólogo aficionado. Estaría muy feliz si pudiera publicar sus experiencias en los comentarios.

Paso 1: Partes

Partes
Partes
Partes
Partes
Partes
Partes
Partes
Partes

Para esta estación meteorológica solo necesitas 5 piezas:

* Arduino mega: ebay arduino mega

* Sensor meteorológico BME280: ebay BME280

* Pantalla de 320x480 píxeles para Arduino Mega: pantalla ebay de 320x480

* Fuente de alimentación de + 9V: fuente de alimentación ebay

* Cable eléctrico

Los costos totales son solo menos de $ 25.

Paso 2: el código Arduino

El código Arduino
El código Arduino
El código Arduino
El código Arduino
El código Arduino
El código Arduino

El circuito es muy sencillo. Solo tienes que conectar el sensor al arduino mega de esta manera:

Vin + 5V

GND GND

Pin 20 de SDA

Clavija 21 de SCL

La pantalla solo está conectada a la tira de conectores del arduino mega.

Aquí están los enlaces para las bibliotecas arduino que necesitará:

Biblioteca BME280:

biblioteca de sensores común:

El corazón de esta estación meteorológica es, como dije, la representación gráfica de los datos meteorológicos. Por el momento, los valores se actualizan cada 6 minutos y los gráficos se desplazan 1 píxel a la izquierda. De esta forma, se pueden registrar los últimos 1,5 días. Por supuesto, esto se puede cambiar en cualquier momento. Solo entonces se debe cambiar el valor 360000 ms (= 6 minutos) y, por supuesto, el eje de tiempo en horas. Estas son las líneas que tendrá que cambiar:

time_neu = millis ();

if (time_neu <time_alt) // para evitar problemas después del millis-overflow

{

tiempo_siguiente = 0 + 360000;

}

if (time_neu> time_next && time_next> = 360000) // nueva medición después de 6 minutos

{

He decidido mantener las escalas de temperatura, presión del aire y humedad sin cambios, ya que le permite evaluar rápidamente, a lo largo del tiempo, si la presión del aire es alta, media o baja, según la ubicación de las lecturas actuales. Si ajustara la escala una y otra vez, no reconocería esto a primera vista. El eje de tiempo se encuentra en la posición y = 290 píxeles. Las marcas en los ejes y están separadas por 45 píxeles. Si desea mostrar la presión de aire de 940 mbar a 1000 mbar en pasos de 10 mbar, proceda de la siguiente manera:

Primero, establezca la ecuación general y = k * x + d. Ahora usa esos 2 pares de valores (x = 940, y = 290) y (x = 950, y = 245). Esto da 2 ecuaciones con las dos incógnitas kyd: 290 = k * 940 + dy 245 = k * 950 + d. Restando ambas ecuaciones, obtenemos: 290 - 245 = k * 940 - k * 950 + d - d. La incógnita d se desvanece de esta manera y obtenemos para k = - 45/10 = -4,5. Este valor de k se coloca en una de las dos ecuaciones iniciales: 290 = -4.5 * 940 + d. De esta forma se obtiene el valor de d, concretamente d = 4520.

Si desea que la presión del aire, por ejemplo, represente solo 955 mbar a 985 mbar, coloque los pares de valores (955, 290) y (960, 245) en la ecuación de línea recta. Entonces se obtiene k = -9 yd = 8885. De manera similar, se calculan las ecuaciones en línea recta para la temperatura y la humedad del aire. Estas 3 ecuaciones aparecen aquí en el programa:

para (i = 0; i <= 348; i ++)

{

si (humedad ! = -66)

{

myGLCD.setColor (255, 0, 0);

//myGLCD.drawPixel(81 + i, -4.5 * temperatura + 200);

myGLCD.drawLine (81 + i, -4,5 * temperatura + 200,81 + i + 1, -4,5 * temperatura [i + 1] + 200);

myGLCD.setColor (0, 255, 0);

//myGLCD.drawPixel(81 + i, -4.5 * humedad + 380);

myGLCD.drawLine (81 + i, -4,5 * humedad + 380,81 + i + 1, -4,5 * humedad [i + 1] + 380);

myGLCD.setColor (0, 0, 255);

//myGLCD.drawPixel(81 + i, -4.5 * presión + 4520);

myGLCD.drawLine (81 + i, -9.0 * presión + 8885, 81 + i + 1, -9.0 * presión [i + 1] + 8885);

}

}

Paso 3: los resultados

Image
Image
Los resultados
Los resultados
Los resultados
Los resultados

Una palabra para el video: para hacer visible la expansión del gráfico, reduje los pasos de tiempo a 1 segundo. Por lo tanto, la pantalla parpadea intensamente. En realidad, los pasos de tiempo son de 6 minutos. Entonces no puedes ver ningún parpadeo …

Me alegraría que uno u otro meteorólogo aficionado intentara modificar mi estación meteorológica. Una comparación con las estaciones de medición oficiales (por ejemplo, la Universidad de Graz / austria) muestra la usabilidad de las curvas de medición.

Además, estaría feliz si pudiera votar por mí en el concurso de sensores y por mis otros instructivos en el concurso de ciencias en el aula:

  • https://www.instructables.com/id/DIY-LED-photomete…
  • www.instructables.com/id/DIY-Wind-Tunnel-a…
  • www.instructables.com/id/Simple-Autorange-…

Muchas gracias por esto.

Si está interesado en más proyectos de física, aquí está mi canal de youtube:

más proyectos de física:

En este sentido, Eureka …

Recomendado: