Idea prestada al projecte. ESP8266 Visualització meteorològica.
Vaig decidir portar-ho al cap.
Es van establir les tasques següents:
- Actualitzar el codi relacionat amb l’ús nova versió biblioteques ArduinoJson.h.
- Reescriviu el codi mitjançant la funció millis () en lloc de la funció de retard (). És clar que amb retard per establir una pausa entre el canvi d'informació a la pantalla, és impossible implementar controls de botons;
- Fer descarregar esbossos a través de Wifi;
- Allunyeu-vos del voluminós Wemos D1 R2 del mini Wemos D1;
- Sempre que sigui possible Pantalla Russify;
- Utilitzeu una funda preparada amb forats amb botons per a dispositius basats en LCD1602;
- Utilitzeu botons de 6x6 estàndard soldats al panell. Afegiu botons de control de retroiluminació, un botó carrusel per canviar les dades mostrades i un botó per forçar les actualitzacions de dades del servidor.
S'han utilitzat els components següents:
- El estoig és de plàstic ABS amb un conjunt de fundes per als botons;
- Pals de niló 6 + 5 mm masculí M3 negre, 4 ulls;
- Dous de niló M3 negre, 4 unitats;
- Postes de niló blanc + 2 mm masculí M2 blanc, 3 peces;
- Suport de niló blanc de 6 mm, 1 unitat;
- Suport de niló blanc de 8 mm, 1 unitat;
- Bastidors de niló blanc de 10 mm per a 2 bucs;
- LCD 1602 (I2C), groc;
- Wemos d1 mini;
- Wemos d1 Escut de corrent continu;
- Tauler de taula 3x7;
- Botons 6x6, alçada 7 mm, 3pcs;
- Dupont cables 10cm mare-mare, 4 peces;
- 24 cables AWG negre i vermell;
- Cables de silicona 20 AWG blau i blanc;
- Resistores de 5 kOhm - 2 unitats, 10 kOhm - 1 unitat (que venia a la mà);
- Adaptador d'alimentació 9V 1A;
- Adhesiu epoxi de dos components
El estoig utilitzat presenta diversos avantatges. En primer lloc, a més de la pantalla, la placa de desacoblament estàndard 3x7 amb els seus components instal·lats a banda i banda està perfectament ubicada en alçada. En segon lloc, en dos extrems presenta obertures rectangulars per a la refrigeració. Va resultar que els salts entre aquests forats estan tallats perfectament amb mini-arxius de 3 i 4 mm. Si talleu un parell de salts i talleu un petit forat rectangular a la caixa, el connector d'alimentació DC-005 entra perfectament al forat format amb una geometria complexa. A més, la part posterior d’aquest estoig té un gran forat quadrat que, segons sembla, havia d’instal·lar bateries.A través d'ella és convenient connectar alguna cosa a l'interior sense desmuntar el cas. Posteriorment, es pot tancar simplement amb vidre o plàstic.
Creació del progrés:
Primer es va fer un prototip en un panell.
Després es finalitza el cas amb un fitxer.
Després d'això, els components principals es solden i es realitza el muntatge. Les potes estaven especialment doblades perquè les juntes desmuntables encaixessin en alçada. S’havia d’arxivar un parell de bastidors de niló perquè tots els botons estiguessin a la mateixa alçada.
Com a resultat, la part frontal de la placa amb botons, resistències i cables és la següent:
Com a resultat, els accessoris del dispositiu es veuen així:
Quan es munta, el dispositiu es veu així:
Superar dificultats:
- Durant molt de temps no vaig poder entendre per què no funcionaven els botons, tot i que el multímetre mostrava clarament 0 quan es van prémer els botons i 4,6 - 5,0 V quan es va prémer (depenent de l'alimentació). Va resultar que als dispositius Wemos / Lolin cal indicar els números GPIO com a números de pin a l'esquema. Per exemple, D5 és GPIO14. Així que aquest és el 14è passador.
const int buttonPin = 14;
- Per mostrar el temps, la condició és necessària:
currentMillis - previousMillis == weatherTime
Correspondència estricta, perquè s’ha de fer una vegada.
Per realitzar una sol·licitud al servidor, la condició és necessària:currentMillis - previousMillis> = getDataTime
Compliment solt, perquè s’executa fins que es defineixi la bandera de “dades rebudes”.
De fet, això no és obvi i, per entendre-ho, va trigar força temps. - També vaig haver de turmentar-me amb la resposta del servidor:
String weather = root ["weather"] [0] ["main"]; Charing description = root ["weather"] [0] ["description"];
Zero era completament evident. Resulta que hi ha dues estacions meteorològiques a Moscou, i la segona no sempre funciona (per rebre dades d’aquestes, heu d’especificar [1] si està activa).
Es troba situat el repositori amb codi i biblioteques aquí.