Obsah:

Hodiny meteorologickej stanice ESP8266: 4 kroky
Hodiny meteorologickej stanice ESP8266: 4 kroky

Video: Hodiny meteorologickej stanice ESP8266: 4 kroky

Video: Hodiny meteorologickej stanice ESP8266: 4 kroky
Video: Arduino - Mini Meteostanice 2024, November
Anonim
Hodiny meteorologickej stanice ESP8266
Hodiny meteorologickej stanice ESP8266

Tento projekt je pekným spôsobom, ako zobraziť čas a počasie v malom praktickom balení. Vysvetlím projekt, ako funguje a ukážem kód tu.

Môžete stlačením rôznych tlačidiel zobraziť aktuálne počasie na nastavenom mieste, ako aj teplotu a tlak. Predvolené zobrazenie je čas stiahnutý zo servera NTP.

Čas nie je potrebné nastavovať, pretože čas je synchronizovaný zo servera NTP a je veľmi presný. V tejto konfigurácii mám čas a miestnu IP adresu. Kód môžete zmeniť tak, aby obsahoval dátum, počasie, tlak a teplotu, ktoré sa majú zobrazovať na hlavnej obrazovke alebo na tlačidlách.

Krok 1: Schéma

Schéma
Schéma
Schéma
Schéma

Schéma je pomerne jednoduchá a ľahko použiteľná

nasledovať. Ak chcete roztočiť vlastnú dosku plošných spojov, existuje súbor gerber. Celý obvod je napájaný 5 V z pripojenia micro USB. Vďaka tomu je obvod jednoduchý a ľahko napájateľný. 5V je napájaný do 3,3V regulátora s nízkym výpadkom LM 3940, ktorý dáva 3,3V do ESP8266. Na ESP8266 je konektor USB, ale rozhodol som sa ho nepoužívať všeobecne, pretože 5V poháňa aj LCD.

S ESP8266 musí byť použité 3,3 V, nemôžete ho ovládať priamo s 5 V, pretože by to zabilo dosku.

Dva hmatové prepínače sú pripojené k D5 a D6 a sú nakonfigurované v kóde tak, aby na obrazovke zobrazovali rôzne informácie. Mám nastavené na teplotu/tlak a predpoveď.

Všetky komponenty sú ľahko spájkované ručne na perfboard alebo je gerber k dispozícii v mojom GitHub na

Krok 2: Kód

github.com/allenelectronics/esp8266weatherstation

Kód je zostavený v Arduino IDE a na jeho fungovanie potrebuje určitú konfiguráciu

Najprv musíte do systému IDE nainštalovať dosku ESP8266, aby ste do nej mohli nahrať kód.

Podrobný návod, ako na to, nájdete tu:

Aby som získal funkčnosť počasia, rozhodol som sa použiť RemoteMe, ktorý zhromažďuje údaje o počasí priamo z API a generuje kód, ktorý je možné vložiť do vášho kódu. Budete sa musieť zaregistrovať a nastaviť stream údajov na ich webových stránkach:

Dokumentáciu o RemoteMe nájdete tu:

Existuje niekoľko špecifických definícií, ktoré sú jedinečné pre vaše nastavenie a ktoré budete musieť dokončiť pred odovzdaním:

#define WIFI_NAME „SSID IDE TU“

#define WIFI_PASSWORD „HESLO JE DODANÉ TU“

#define DEVICE_ID 1

#define DEVICE_NAME „ZÍSKAŤ Z REMOTEME. ORG“

#define TOKEN „ZÍSKAJTE Z REMOTEME. ORG“

Tu uvedené definície musíte nastaviť na základe svojich podrobností o wifi a tokene, ktorý získate od RemoteMe.

Musíte sa uistiť, že všetky tieto knižnice sú nainštalované a zahrnuté v kóde. Zahrnul som odkazy na tie, ktoré je ťažšie získať.

#include //https://github.com/remoteme/RemoteMeArduinoLibrary

#zahrnúť

#zahrnúť

#zahrnúť

#zahrnúť

Posledná časť, ktorú je potrebné zmeniť, je vaša poloha, pretože tento projekt nepoužíva GPS. Musíte upraviť reťazec „LOCATION“:

else if (buttonState2 == LOW && prevButtonState2 == HIGH) {

Serial.print ("LOKALITA / n");

Serial.println (fc);

lcd.clear ();

lcd.print („LOKALITA“);

lcd.setCursor (0, 1);

lcd.print (fc);

lcd.setCursor (0, 0);

oneskorenie (5 000);

prevButtonState2 = buttonState2;

Krok 3: Zostavenie

Budova
Budova
Budova
Budova

Budova

V čase, keď som nemal prístup k 3D tlačiarni, to bol môj posledný projekt s použitím bežného kufríka. Použil som ľahko dostupné puzdro poplachového panela, ktoré je navrhnuté pre displej 16x2 LCD.

Odkaz: https://www.ebay.co.uk/itm/86-Plastic-project-box-enclosure-case-for-diy-LCD1602-meter-tester-with-buttGA/363214674235?hash=item549148193b:g: IvQAAOSwNXpcFFrv

Všetko je nacpané vo vnútri puzdra, LCD displej 16x2 je prilepený k prednému panelu tak, aby bola doska plošných spojov zalepená za tepla.

Krok 4: Záver

Záver

Jedná sa o úhľadný projekt pre stolné digitálne hodiny, ktoré nie je potrebné nijako upravovať ani nastavovať. Čas potrebuje server NTP a zobrazí ho na jasnom podsvietenom LCD displeji.

Nie je to pre úplného začiatočníka, pretože je potrebná určitá konfigurácia kódu a je potrebné nastaviť aj dátové toky. Ak máte akékoľvek otázky alebo pripomienky, pokojne mi napíšte komentár.

Odporúča: