Spisu treści:

Zegar stacji pogodowej ESP8266: 4 kroki
Zegar stacji pogodowej ESP8266: 4 kroki

Wideo: Zegar stacji pogodowej ESP8266: 4 kroki

Wideo: Zegar stacji pogodowej ESP8266: 4 kroki
Wideo: Mądry dom za grosze #6 - Inteligentna stacja pogodowa działająca po wifi | DIY 2024, Listopad
Anonim
Zegar stacji pogodowej ESP8266
Zegar stacji pogodowej ESP8266

Ten projekt to fajny sposób na pokazanie czasu i pogody w małym, wygodnym opakowaniu. Wyjaśnię projekt, jak działa i pokażę kod tutaj.

Możesz nacisnąć różne przyciski, aby wyświetlić aktualną pogodę w określonej lokalizacji, a także temperaturę i ciśnienie. Widok domyślny to czas, który jest pobierany z serwera NTP.

Nie ma potrzeby ustawiania czasu, ponieważ czas jest synchronizowany z serwerem NTP i jest bardzo dokładny. W tej konfiguracji mam czas i lokalny adres IP. Możesz zmienić kod, aby zawierał datę, pogodę, ciśnienie i temperaturę, które będą wyświetlane na ekranie głównym lub na przyciskach.

Krok 1: Schemat

Schemat
Schemat
Schemat
Schemat

Schemat jest stosunkowo prosty i łatwy do wykonania

śledzić. Istnieje plik gerber, jeśli chcesz kręcić własną płytką drukowaną. Cały obwód jest zasilany napięciem 5V pochodzącym z połączenia micro USB. Dzięki temu obwód jest prosty i łatwy do zasilania. Napięcie 5 V jest podawane do regulatora o niskim spadku napięcia 3,3 V LM 3940, który daje 3,3 V do ESP8266. W ESP8266 jest złącze USB, jednak zdecydowałem się go nie używać, ponieważ 5 V również napędza LCD.

3,3 V musi być używane z ESP8266, nie można go bezpośrednio zasilać 5 V, ponieważ zabije to płytkę.

Dwa dotykowe przełączniki są podłączone do D5 i D6 i są skonfigurowane w kodzie, aby wyświetlać różne informacje na ekranie. Mam te ustawione na temperaturę/ciśnienie i prognozę.

Wszystkie komponenty można łatwo przylutować ręcznie do płyty perforowanej lub gerber jest dostępny w moim GitHub pod adresem

Krok 2: Kodeks

github.com/allenelectronics/esp8266stacja pogodowa

Kod jest skompilowany w środowisku Arduino IDE i do działania wymaga pewnej konfiguracji

Po pierwsze, musisz zainstalować płytkę ESP8266 do IDE, aby wgrać na nią kod.

Szczegółowe instrukcje, jak to zrobić, znajdują się tutaj:

Aby uzyskać funkcjonalność pogodową, wybrałem RemoteMe, które zbiera dane pogodowe bezpośrednio z API i generuje kod, który można wstawić do swojego kodu. Musisz się zarejestrować i skonfigurować strumień danych na ich stronie internetowej:

Dokumentację dotyczącą RemoteMe można znaleźć tutaj:

Istnieje kilka konkretnych definicji, które są unikalne dla Twojej konfiguracji, które musisz uzupełnić przed przesłaniem:

#define WIFI_NAME „SSID JEST TUTAJ”

#define WIFI_PASSWORD „HASŁO JEST TUTAJ”

#define DEVICE_ID 1

#define DEVICE_NAME "UZYSKAJ Z REMOTEME. ORG"

#define TOKEN „UZYSKAJ Z REMOTEME. ORG”

Definicje tutaj muszą być ustawione przez Ciebie na podstawie danych Wi-Fi i tokena otrzymanego od RemoteMe.

Musisz upewnić się, że wszystkie te biblioteki są zainstalowane i zawarte w kodzie. Dołączyłem linki do tych, które są trudniejsze do zdobycia.

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

#włączać

#włączać

#włączać

#włączać

Ostatnią częścią wymagającą zmiany jest Twoja lokalizacja, ponieważ ten projekt nie korzysta z GPS. Musisz zmodyfikować ciąg „LOCATION”:

else if(buttonState2 == NISKI && prevButtonState2== WYSOKI){

Serial.print("LOKALIZACJA\n");

Serial.println(fc);

lcd.clear();

lcd.print("LOKALIZACJA");

lcd.setCursor(0, 1);

lcd.print(fc);

lcd.setCursor(0, 0);

opóźnienie(5000);

prevButtonState2 = buttonState2;

Krok 3: Kompilacja

Kompilacja
Kompilacja
Kompilacja
Kompilacja

Kompilacja

W tym czasie nie miałem dostępu do drukarki 3d, to był mój ostatni projekt wykorzystujący pudełko z półki. Użyłem łatwo dostępnej obudowy panelu alarmowego, która jest przeznaczona dla LCD 16x2.

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

Wszystko jest upchnięte wewnątrz obudowy, wyświetlacz LCD 16x2 jest przyklejony do przedniego panelu z płytką drukowaną na gorąco.

Krok 4: Wniosek

Wniosek

Jest to zgrabny projekt cyfrowego zegara stacjonarnego, który nie wymaga regulacji ani ustawiania, pobiera czas z serwera NTP i wyświetla go na wyraźnym podświetlanym wyświetlaczu LCD.

Nie jest to rozwiązanie dla początkujących, ponieważ wymagana jest pewna konfiguracja kodu, a także strumienie danych. Jeśli masz jakieś pytania lub uwagi, zostaw mi komentarz.

Zalecana: