Taula de continguts:
- Subministraments
- Pas 1: feu el prototip
- Pas 2: disseny del programa
- Pas 3: Codi del programa
- Pas 4: Creeu el quadre
Vídeo: Tweerstationneke A.k.a. WeatherStation holandès: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
Al meu pare sempre li interessen les últimes notícies i la informació meteorològica més recent. Per tant, això em va portar al regal perfecte d’aniversari quan va arribar als 76 anys: una petita estació meteorològica permanent, sense tonteries, que es queda tranquil·la en un racó durant tot el dia i proporciona un resum de les darreres prediccions.
Està dissenyat al voltant de dos llocs web holandesos. Probablement ho podreu veure al divertit títol local d’aquest tema. Un dóna la previsió local per ciutat cada 10 minuts en format json. L’altre proporciona la previsió de pluja per a les dues properes hores en format de text pla, que sempre és útil saber. Estic segur que si no viviu als Països Baixos, podeu adaptar fàcilment aquest tema a qualsevol altre servei.
Subministraments
- Una placa ESP8266; suggeriu utilitzar un Wemos D1 mini
- Una pantalla TFT d'1,8 polzades amb 128 * 160 punts; Color de 16 bits
- Uns quants cables
- El programa tal qual o per començar per crear el vostre
- Una bonica caixa per muntar-ho tot. Utilitzeu-ne un d’estàndard o imprimiu el vostre amb el disseny adjunt
Pas 1: feu el prototip
Connexió de pantalla i controlador
Utilitzeu un petit cable pla i soldeu el tauler i la pantalla TFT junts. Utilitzeu la llista per connectar les parts de la manera correcta
PANTALLA TFT ------------------ WEMOS
LED ------------------------------- D8 SCK ---------------- --------------- D5SDA ------------------------------- D7A0 - -------------------------------- D3RESET ----------------- ----------- D2CS ---------------------------------- D4GND --- ---------------------------- GNDVCC --------------------- ---------- 3V3
També podeu posar el LED a 3v3 en lloc del pin D8. He utilitzat el pin D8 perquè el dispositiu pugui dormir cap a les 23:00 de la nit i tornar a despertar cap a les 07:00. Aquest serà el primer moment en què es llegeix el butlletí meteorològic després d'aquest temps, ja que llegeix la capçalera per comprovar l'hora. No hi ha rellotge en temps real en aquest dispositiu.
Si tot això funciona, connecteu el cable USB al Wemos i carregueu el programari. Si tot funciona, podeu començar a construir la caixa.
Pas 2: disseny del programa
Les meves idees d’aquest dispositiu meteorològic on
- Fàcilment adaptable a un altre entorn wifi
- Mostra la previsió meteorològica i la pluja
- Sense botons
- Sense so, qui senzill, sense difusió
Amb això en ment, vaig crear un programa que comença amb el codi WifiManager quan no pot descobrir una xarxa Wifi coneguda. Crea la seva pròpia xarxa i mostra el nom a la pantalla. Això us permet establir els paràmetres de Wifi a la vostra pròpia xarxa domèstica.
Després d'aquesta configuració, mostra la predicció del temps i la precipitació de la pluja per torns, cada 20 segons. Si per alguna raó no és possible llegir la següent previsió, es mostrarà un petit número d'error a la part dreta de la pantalla; i es mostrarà la imatge anterior. En la següent execució, es fa un nou intent de recuperar la informació.
La informació meteorològica es rep del lloc en un missatge d'estil json. La informació que conté es converteix i es desa en variables globals. D’aquesta manera podem desvincular la recuperació de la informació de mostrar-la. No hi ha cap raó per recuperar el temps més ràpidament com una vegada cada 10 minuts.
Aconseguir la precipitació de la pluja és encara més senzill. Es serveix en format de text pla, amb la quantitat de pluja prevista com a valor 0..255; una barra vertical; un temps a cada línia. Això per cada 5 minuts durant les properes 2 hores. El valor de pluja s’ofereix d’una manera intel·ligent on els valors petits donen més marge per mostrar la diferència com a valors més grans. La fórmula utilitzada és la següent:
mmhour = round (pow (10, (rainvalue - 109) / 32) * 10) / 10;
Tingueu en compte que el "temps 10, divideix per 10" és un truc per assegurar-nos que tenim 1 decimal darrere del punt. Depenent de la quantitat màxima de pluja prevista per a les properes 2 hores, hi ha 3 escales utilitzades per al gràfic;
- Màxima de 5 mm / hora prevista
- Màxim de 20 mm / hora previst
- El màxim es pren del valor més alt de la previsió
Aquí, als Països Baixos, el nostre valor històric és de 80 mm / hora; per tant, aquesta escala funcionarà perfectament. Per a altres països pot ser aconsellable canviar això.
Pas 3: Codi del programa
Configuració de l'editor
El programari d’aquest dispositiu meteorològic es crea a l’entorn de programació Arduino. El trobareu adjunt aquí per a la vostra comoditat. Utilitzeu-lo tal qual; o canvieu-lo segons les vostres necessitats. Tot el text que es pot mostrar a la pantalla TFT es defineix a la part superior del programa; el que significa que podeu canviar-lo fàcilment al vostre propi idioma si voleu. He utilitzat el Wemos D1 mini, però també funcionaran plaques similars.
A l’entorn Arduino he utilitzat la configuració següent;
- Tauler: LOLIN (WEMOS) D1 RA i Mini
- Velocitat de càrrega: 115200
- Freqüència de la CPU: 80 MHz
- Mida del flaix: 4M (sense SPIFFS) V2 Memòria inferior desactivada
Els temporitzadors de programari s’utilitzen per fer el bucle () més fàcil i més llegible. La visualització de la informació se separa de la descàrrega de la informació. D’aquesta manera podem utilitzar altres mides de pantalla, etc. sense haver de canviar tot el programa.
Utilitzeu el fitxer.ino i carregueu-lo a l'editor arduino. Configureu el tauler a l’editor. Adjunteu el fitxer de capçalera que garanteixi que les matrius PROGMEM d'estil C necessàries s'incloguin al programa.
targeta SD
Tingueu en compte que la majoria de les pantalles disponibles d’1,8 polzades tenen una ranura per a targetes SD a la part posterior de la pantalla. Aquesta és una bona característica que us ajuda a emmagatzemar imatges grans a la targeta. La majoria dels microcontroladors no tenen massa memòria a bord, de manera que això ajuda.
Tot i que passo molt de temps intentant que la targeta SD funcioni amb la pantalla, no vaig poder tenir una situació viable. Podria utilitzar la pantalla; recuperar un fitxer de la targeta SD amb èxit, però després no vaig poder arribar a la pantalla TFT. Canviar les biblioteques, canviar l'ordre de les biblioteques i "despullar" el programa al cos més petit per descartar altres possibilitats no em va ajudar.
Per afegir a la meva frustració; a Internet hi ha molts exemples de persones que fan coses similars amb un resultat positiu, hmmm. Pot ser un problema de maquinari a la pantalla TFT? O alguna cosa que no pensava? Qualsevol suggeriment és benvingut per a un proper intent. Al final després de passar-hi algunes nits; Vaig decidir deixar aquest camí. Atès que les imatges només tenen 50x50 píxels (el que resulta a 5.000 bytes cadascun amb un color de 16 bits), l’ESP és capaç d’emmagatzemar-lo a PROGMEM amb facilitat. Per tant, aquest és el truc que he utilitzat.
Aquesta elecció va suposar un altre repte. Com obtenir la imatge BMP que tenia en un format llegible. Després de fer algunes cerques, vaig descobrir el lloc de Henning Karlsen, que va resoldre aquest trencaclosques abans. Va crear un programa que converteix fitxers de tipus-p.webp
Pas 4: Creeu el quadre
Aquesta no és la primera caixa que necessitava. Hi ha moltes caixes estàndard disponibles als proveïdors. Mitjançant una serra petita, un ganivet, un trepant, és fàcil crear un forat per a la pantalla de la caixa. Però mai no vaig aconseguir fer un rectangle precís. Probablement no hi ha prou habilitats i / o paciència;-)
La solució: vaig tenir sort. Tinc una universitat que és com un superhome si es tracta de jugar amb coses tècniques. Això inclou també el disseny i la impressió 3D. Així que va decidir oferir molt del seu temps lliure per mesurar la pantalla TFT i el microcontrolador i crear una caixa al seu voltant. Tot encaixa bé, mireu les imatges. Fins i tot conté accessoris instantanis per a la pantalla, un forat per al connector USB i un lloc per arreglar el microcontrolador.
Gràcies Arjan per aquest súper treball realitzat !!! Encara millor, va ser tan amable de donar accés a tothom al seu treball, de manera que si descarregueu els fitxers de l’enllaç i l’utilitzeu per a la vostra pròpia impressora 3D podeu crear el mateix quadre amb contingut.
Recomanat:
Llegiu Mesurador d’electricitat i gas (belga / holandès) i pengeu a Thingspeak: 5 passos
Llegiu Mesurador d’electricitat i gas (belga / holandès) i Pengeu-ho a Thingspeak: si us preocupa el vostre consum d’energia o només una mica nerd, és probable que vulgueu veure les dades del vostre nou comptador digital de luxe al vostre telèfon intel·ligent. projecte obtindrem les dades actuals d’un electrògen digital belga o holandès
Wemos D1 Mini Weatherstation (Plug & Play): 4 passos
Wemos D1 Mini Weatherstation (Plug & Play): aquest projecte tracta de l’estació meteorològica més senzilla possible basada en WeMos D1 Mini. Trio WeMos D1 Mini, perquè té avantatges: 1. Podeu programar-lo i executar-lo sense connectar mòduls externs, només mitjançant un cable USB. no necessites regulació de tensió
ESP8266 - 12 Weatherstation: 4 passos (amb imatges)
ESP8266 - 12 Weatherstation: aquest projecte tracta de construir i provar estacions meteorològiques basades en ESP8266 - 12. El concepte es basa en un baix consum amb bateria de càrrega mitjançant cèl·lula solar. Aquesta instrucció es basa en el sistema de càrrega dels meus 2 projectes anteriors i el logger esp
Rellotge de paraules holandès 8x8: 7 passos (amb imatges)
Rellotge de paraules holandès de 8x8: sé que no sóc el primer a fer un rellotge de paraules amb un Arduino. Tot i així, sempre hi havia alguna cosa a la meva llista de tasques per fer-ne un de holandès. Per a un projecte diferent, fa temps que vaig comprar un "colorduino / rainbowduino / funduino" per provar alguna cosa
RPi Weatherstation amb lloc web responsiu: 5 passos
RPi Weatherstation With Responsive Website: per a un projecte escolar, vam haver de fer un dispositiu IoT amb un lloc web per visualitzar la informació recollida d’una manera agradable. Vaig optar per fer una estació meteorològica alimentada per un Raspberry Pi 3 amb Flask per al lloc web responsiu, MySQL (MariaDB) per les meves dades