Tabla de contenido:
- Suministros
- Paso 1: haz el prototipo
- Paso 2: Diseño del programa
- Paso 3: Código de programa
- Paso 4: crea la caja
Video: Tweerstationneke también conocido como WeatherStation holandés: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Mi papá siempre está interesado en las últimas noticias y la información meteorológica más reciente. Así que eso me llevó al regalo de cumpleaños perfecto cuando cumplió 76 años: una pequeña estación meteorológica siempre encendida sin tonterías, que se sienta tranquilamente en una esquina todo el día y ofrece un resumen de las últimas predicciones.
Está diseñado en torno a dos sitios web holandeses. ¡Probablemente puedas ver eso en el divertido título local de este tema! Uno da el pronóstico local por ciudad cada 10 minutos en formato json. El otro da el pronóstico de lluvia para las próximas dos horas en formato de texto sin formato, que siempre es útil saber. Estoy seguro de que si no vives en los Países Bajos, puedes adaptar fácilmente este tema a cualquier otro servicio.
Suministros
- Una placa ESP8266; sugiero usar un Wemos D1 mini
- Una pantalla TFT de 1,8 pulgadas con 128 * 160 puntos; Color de 16 bits
- Algunos cables
- El programa tal cual o para empezar a crear el tuyo propio
- Una bonita caja para ponerlo todo junto. Utilice uno estándar o imprima el suyo con el diseño adjunto
Paso 1: haz el prototipo
Conectando pantalla y controlador
Use un cable plano pequeño y suelde la placa y la pantalla TFT juntas. Utilice la lista para conectar las piezas de iones de la manera correcta
PANTALLA TFT ------------------ WEMOS
LED ------------------------------- D8 SCK ---------------- --------------- D5SDA ------------------------------- D7A0 - -------------------------------- D3RESET ----------------- ----------- D2CS ---------------------------------- D4GND --- ---------------------------- GNDVCC --------------------- ---------- 3V3
Alternativamente, puede poner el LED en 3v3 en lugar del pin D8. He usado el pin D8 para que el dispositivo se duerma alrededor de las 23:00 de la noche y se despierte alrededor de las 07:00 de nuevo. Efectivo este será el primer momento en que lea el boletín meteorológico después de esa hora, ya que lee el encabezado para comprobar la hora. No hay reloj de tiempo real en este dispositivo.
Si todo esto funciona, conecte su cable USB a Wemos y cargue el software. Si todo funciona, puede comenzar a construir la caja.
Paso 2: Diseño del programa
Mis ideas de este dispositivo meteorológico donde
- Fácilmente adaptable a otro entorno wifi
- Mostrar pronóstico del tiempo y pronóstico de lluvia
- Sin botones
- Sin sonido, simple qui, sin pelusa
Con eso en mente, creé un programa que comienza con el código WifiManager cuando no puede descubrir una red Wifi conocida. Crea su propia red y muestra el nombre en la pantalla. Esto le da la oportunidad de configurar los parámetros de Wifi en su propia red doméstica.
Después de esta configuración, muestra el pronóstico del tiempo y la precipitación de lluvia por turnos, cada 20 segundos. Si por alguna razón no es posible leer el próximo pronóstico, se mostrará un pequeño número de error en el lado derecho de la pantalla; y se mostrará la imagen anterior. En la siguiente ejecución se realiza un nuevo intento para recuperar la información.
La información meteorológica se recibe del sitio en un mensaje de estilo json. La información que contiene se convierte y se guarda en variables globales. De esta forma podemos desvincular la recuperación de la información de su visualización. No hay razón para recuperar el tiempo más rápido una vez cada 10 minutos.
Obtener la precipitación de lluvia es aún más simple. Se sirve en formato de texto sin formato, con la cantidad de lluvia esperada como un valor de 0..255; una barra vertical; un tiempo en cada línea. Esto por cada 5 minutos durante las próximas 2 horas. El valor de lluvia se entrega de una manera inteligente donde los valores pequeños dan más espacio para mostrar la diferencia como valores más grandes. La fórmula utilizada es la siguiente:
mmhora = ronda (pow (10, (valor de lluvia - 109) / 32) * 10) / 10;
Tenga en cuenta que "multiplicar por 10, dividir por 10" es un truco para asegurarse de que tenemos 1 decimal detrás del punto. Dependiendo de la cantidad máxima de lluvia esperada para las próximas 2 horas, se utilizan 3 escalas para el gráfico;
- Se espera un máximo de 5 mm / hora
- Se espera un máximo de 20 mm / hora
- Max se toma del valor más alto en el pronóstico
Aquí en los Países Bajos, el valor más alto de todos los tiempos es de alrededor de 80 mm / hora; por lo que esta escala funcionará perfectamente. Para otros países, sería conveniente cambiar esto.
Paso 3: Código de programa
Configuración del editor
El software para este dispositivo meteorológico se crea en el entorno de programación Arduino. Lo encontrará adjunto aquí para su conveniencia. Úselo como está; o cámbielo para adaptarlo a sus necesidades. Todo el texto que se puede mostrar en la pantalla TFT se DEFINE en la parte superior del programa; lo que significa que puede cambiarlo fácilmente a su propio idioma si lo desea. Usé el Wemos D1 mini, pero tablas similares también funcionarán.
En el entorno Arduino utilicé la siguiente configuración;
- Tablero: LOLIN (WEMOS) D1 RA & Mini
- Velocidad de carga: 115200
- Frecuencia de CPU: 80 MHz
- Tamaño de flash: 4M (sin SPIFFS) V2 Memoria inferior deshabilitada
Los temporizadores de software se utilizan para hacer que el loop () sea más fácil y más legible. La visualización de la información está separada de la descarga de la información. De esta forma podemos utilizar otros tamaños de pantalla, etc. sin tener que cambiar todo el programa.
Utilice el archivo.ino y cárguelo en el editor arduino. Configura tu tablero en el editor. Adjunte el archivo de encabezado que garantiza que las matrices PROGMEM de estilo C necesarias estén incluidas en el programa.
tarjeta SD
Tenga en cuenta que la mayoría de las pantallas de 1,8 pulgadas disponibles tienen una ranura para tarjetas SD en la parte posterior de la pantalla. Esta es una característica interesante que le ayuda a almacenar imágenes grandes en la tarjeta. La mayoría de los microcontroladores no tienen demasiada memoria a bordo, por lo que eso ayuda.
Aunque paso mucho tiempo tratando de que la tarjeta SD funcione con la pantalla, no pude tener una situación viable. Podría usar la pantalla; recuperar un archivo de la tarjeta SD con éxito, pero después de eso ya no pude llegar a la pantalla TFT. Cambiar bibliotecas, cambiar el orden de las bibliotecas y "desnudar" el programa al cuerpo más pequeño para descartar otras posibilidades no me ayudó.
Para aumentar mi frustración; Hay toneladas de ejemplos en Internet de personas que hacen cosas similares con resultados positivos, hmmm. ¿Podría ser un problema de hardware en mi pantalla TFT? ¿O algo en lo que no pensé? Cualquier sugerencia es bienvenida para un próximo intento. Al final después de pasar algunas noches en él; Decidí dejar ese camino. Dado que las imágenes tienen solo 50x50 píxeles (lo que resulta en 5000 bytes cada una a color de 16 bits), el ESP es capaz de almacenar esto en PROGMEM con facilidad. Así que ese es el truco que utilicé.
Esta elección resultó en otro desafío. Cómo obtener la imagen BMP que tenía en un formato legible. Después de buscar un poco, descubrí el sitio de Henning Karlsen que resolvió este rompecabezas antes. Creó un programa que convierte archivos de tipo-p.webp
Paso 4: crea la caja
Esta no es la primera caja que necesitaba. Hay muchas cajas estándar disponibles de los proveedores. Con una sierra pequeña, un cuchillo, un taladro, etc., es fácil crear un agujero para la pantalla en la caja. Pero nunca logré hacer un bonito rectángulo exacto. Probablemente no hay suficientes habilidades y / o paciencia;-)
La solución: tuve suerte. Tengo una universidad que es como Superman si se trata de jugar con cosas técnicas. Eso incluye también el diseño y la impresión 3D. Así que decidió ofrecer mucho de su tiempo libre para medir la pantalla TFT y el microcontrolador y crear una caja a su alrededor. Todo encaja muy bien, mira las fotos. Incluso contiene broches para la pantalla, un orificio para el conector USB y un lugar para fijar el microcontrolador.
¡Gracias Arjan por este gran trabajo hecho! Aún mejor, fue tan amable de dar acceso a todos a su trabajo, por lo que si descarga sus archivos desde el enlace y lo usa para su propia impresora 3D, puede crear la misma caja con contenido.
Recomendado:
Monitor de espacio de rastreo (también conocido como: ¡No más tuberías congeladas!): 12 pasos (con imágenes)
Monitor de espacio de rastreo (también conocido como: ¡No más tuberías congeladas!): El agua que llega a mi casa proviene de mi pozo a través de un espacio de rastreo sin calefacción. Toda la plomería de la cocina y el baño también pasa por este espacio. (¡La plomería interior fue una ocurrencia tardía a mediados de los 70 en esta casa!) He estado usando lámparas de calor en
Sputnik 1 también conocido como el primer satélite puesto en órbita por la Unión Soviética, en 1957: 5 pasos (con imágenes)
Sputnik 1 también conocido como el primer satélite puesto en órbita por la Unión Soviética, en 1957: siempre me ha fascinado la historia del Sputnik 1, porque ha desencadenado la carrera espacial. El 4 de octubre de 2017, celebramos el 60 aniversario del lanzamiento de este satélite ruso, que hizo historia, porque fue el primero
Árbol de fibra óptica LED RGB (también conocido como Project Sparkle): 6 pasos
Árbol de fibra óptica LED RGB (también conocido como Project Sparkle): ¿Encuentra su habitación un poco aburrida? ¿Quieres añadirle un poco de brillo? ¡Lea aquí cómo tomar un LED RGB, agregar un poco de cable de fibra óptica y hacer que brille! El objetivo básico de Project Sparkle es tomar un LED súper brillante más un cable de fibra óptica de brillo final
DIY Google Glass, también conocido como "Beady-i": 22 pasos (con imágenes)
DIY Google Glass, también conocido como "Beady-i": pantalla portátil monocular con diadema lateral flexible. Tengo mis ojos pequeños en ti ………………………………….. ………………………………………….. ……………… En 2009 publiqué un Instructable sobre cómo hacer un par de g
Cómo agregar tonos de timbre y videos de respaldo en un Verizon Vx8500 (también conocido como Chocolate) gratis: 8 pasos
Cómo agregar tonos de llamada y videos de respaldo en un Verizon Vx8500 (también conocido como Chocolate) de forma gratuita: Esto le mostrará cómo construir un cable de carga / datos para el vx8500 (también conocido como chocolate) y cómo usar el cable para cargar tonos de timbre y hacer copias de seguridad compradas. vídeos vcast. Descargo de responsabilidad: no soy responsable de las acciones de quienes lean esta página