Obsah:

Hodiny meteorologické stanice ESP8266: 4 kroky
Hodiny meteorologické stanice ESP8266: 4 kroky

Video: Hodiny meteorologické stanice ESP8266: 4 kroky

Video: Hodiny meteorologické stanice ESP8266: 4 kroky
Video: Arduino - Mini Meteostanice 2024, Červenec
Anonim
Hodiny meteorologické stanice ESP8266
Hodiny meteorologické stanice ESP8266

Tento projekt je pěkný způsob, jak zobrazit čas a počasí v malém praktickém balíčku. Vysvětlím projekt, jak funguje, a zde ukážu kód.

Stisknutím různých tlačítek můžete zobrazit aktuální počasí na nastaveném místě, teplotu a tlak. Výchozí zobrazení je čas získaný ze serveru NTP.

Čas není nutné nastavovat, protože čas je synchronizován ze serveru NTP a je velmi přesný. V této konfiguraci mám čas a místní IP adresu. Kód můžete změnit tak, aby obsahoval datum, počasí, tlak a teplotu a zobrazoval se na hlavní obrazovce nebo na tlačítkách.

Krok 1: Schéma

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

Schéma je poměrně jednoduché a snadno proveditelné

následovat. Pokud si přejete roztočit vlastní desku plošných spojů, existuje soubor Gerber. Celý obvod je napájen 5V pocházejícím z připojení micro USB. Díky tomu je obvod jednoduchý a snadno napájitelný. 5V je napájeno do 3,3V regulátoru Low Dropout LM 3940, který dává 3,3V do ESP8266. Na ESP8266 je konektor USB, ale rozhodl jsem se jej obecně nepoužívat, protože 5V pohání i LCD.

S ESP8266 musí být použit 3,3 V, nemůžete jej řídit přímo s 5 V, protože to zabije desku.

Dva dotykové přepínače jsou připojeny k D5 a D6 a jsou konfigurovány v kódu tak, aby na obrazovce zobrazovaly různé informace. Nastavil jsem je na teplotu/tlak a předpověď.

Všechny součásti lze snadno pájet ručně na perfboard nebo je gerber k dispozici v mém GitHubu na

Krok 2: Kód

github.com/allenelectronics/esp8266weatherstation

Kód je kompilován v Arduino IDE a ke svému fungování potřebuje určitou konfiguraci

Za prvé, musíte nainstalovat desku ESP8266 do IDE, abyste do ní mohli nahrát kód.

Podrobný návod, jak na to, najdete zde:

Abych získal funkce počasí, rozhodl jsem se použít RemoteMe, který shromažďuje data o počasí přímo z API a generuje kód, který lze vložit do vašeho kódu. Budete se muset zaregistrovat a nastavit datový proud na jejich webových stránkách:

Dokumentaci o RemoteMe najdete zde:

Existuje několik specifických definic, které jsou pro vaše nastavení jedinečné a které budete muset před odesláním dokončit:

#define WIFI_NAME „SSID ZDE“

#define WIFI_PASSWORD „HESLO JDE ZDE“

#define DEVICE_ID 1

#define DEVICE_NAME „ZÍSKEJTE Z DÁLKOVÉHO SVĚTA“

#define TOKEN "ZÍSKEJTE Z DÁLKOVÉHO SVĚTA"

Zde uvedené definice musíte nastavit na základě vašich údajů o wifi a tokenu, který získáte od RemoteMe.

Musíte zajistit, aby všechny tyto knihovny byly nainstalovány a zahrnuty v kódu. Zahrnul jsem odkazy na ty, které je obtížnější získat.

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

#zahrnout

#zahrnout

#zahrnout

#zahrnout

Poslední část, kterou je třeba změnit, je vaše poloha, protože tento projekt nepoužívá GPS. Musíte upravit řetězec „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);

zpoždění (5000);

prevButtonState2 = buttonState2;

Krok 3: Sestavení

Stavba
Stavba
Stavba
Stavba

Stavba

V době, kdy jsem neměl přístup k 3D tiskárně, to byl můj poslední projekt s použitím běžného pouzdra. Použil jsem snadno dostupné pouzdro poplachového panelu, které je určeno pro LCD 16x2.

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šechno je nacpané uvnitř pouzdra, LCD displej 16x2 je přilepen k přednímu panelu s plošně lepenou deskou plošných spojů.

Krok 4: Závěr

Závěr

Jedná se o úhledný projekt pro stolní digitální hodiny, které není třeba nijak upravovat ani nastavovat, vyžaduje čas ze serveru NTP a zobrazí jej na jasném podsvíceném displeji LCD.

Toto není pro úplného začátečníka, protože je vyžadována určitá konfigurace kódu a je třeba nastavit i datové streamy. Pokud máte nějaké dotazy nebo připomínky, neváhejte mi zanechat komentář.

Doporučuje: