2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Ovaj je projekt lijep način prikaza vremena i vremena u malom prikladnom pakiranju. Objasnit ću projekt, kako funkcionira i ovdje ću prikazati kôd.
Možete pritisnuti različite tipke za prikaz trenutnog vremena na zadanom mjestu, kao i temperature i tlaka. Zadani prikaz je vrijeme koje se preuzima s NTP poslužitelja.
Nema potrebe za postavljanjem vremena jer je vrijeme sinkronizirano s NTP poslužitelja i vrlo je točno. U ovoj konfiguraciji imam vrijeme i lokalnu IP adresu. Kôd možete promijeniti tako da uključuje datum, vrijeme, tlak i temperaturu za prikaz na glavnom zaslonu ili na gumbima.
Korak 1: Shema
Shema je relativno jednostavna i laka za napraviti
slijediti. Postoji gerber datoteka ako želite okretati vlastitu PCB ploču. Cijeli krug pokreće 5V koje dolazi iz mikro USB veze. To čini krug jednostavnim i lakim za napajanje. 5V se dovodi u regulator niskog ispadanja 3.3V LM 3940 koji daje 3.3V na ESP8266. Na ESP8266 postoji USB priključak, međutim, odlučio sam ga ne koristiti općenito jer 5V također pokreće LCD.
3.3V se mora koristiti s ESP8266, ne možete ga napajati izravno s 5V jer će ubiti ploču.
Dva taktilna prekidača spojena su na D5 i D6 i konfigurirani su u kodu za prikaz različitih informacija na zaslonu. Postavio sam ih na Temperatura/Tlak i Prognoza.
Sve se komponente lako ručno leme na perfboard ili je gerber dostupan u mom GitHubu na
Korak 2: Kôd
github.com/allenelectronics/esp8266weatherstation
Kôd je sastavljen u Arduino IDE -u i za rad mu je potrebna određena konfiguracija
Prvo morate instalirati ploču ESP8266 na IDE kako biste na nju učitali kôd.
Opsežne upute o tome kako to učiniti nalaze se ovdje:
Kako bih dobio vremensku funkcionalnost, odlučio sam koristiti RemoteMe koji prikuplja podatke o vremenu izravno iz API -ja i generira kôd koji se može umetnuti u vaš kôd. Morat ćete se registrirati i postaviti tok podataka na njihovoj web stranici:
Dokumentaciju o RemoteMe -u možete pronaći ovdje:
Postoje neke posebne definicije koje su jedinstvene za vaše postavljanje i koje ćete morati dovršiti prije prijenosa:
#define WIFI_NAME "SSID IDE OVDJE"
#define WIFI_PASSWORD "LOZINKA IDE OVDJE"
#define DEVICE_ID 1
#define DEVICE_NAME "DOBITI S DALJINSKOG. ORG -a"
#define TOKEN "DOBITI S REMOTEME. ORG -a"
Ovdje morate postaviti definicije na temelju vaših podataka o WiFi -u i tokena koji dobivate od RemoteMe -a.
Morate provjeriti jesu li sve ove knjižnice instalirane i uključene u kôd. Uključio sam veze do onih do kojih je teže doći.
#include //https://github.com/remoteme/RemoteMeArduinoLibrary
#uključi
#uključi
#uključi
#uključi
Posljednji dio koji treba promijeniti je vaša lokacija jer ovaj projekt ne koristi GPS. Morate izmijeniti niz "LOCATION":
inače if (buttonState2 == LOW && prevButtonState2 == HIGH) {
Serial.print ("LOCATION / n");
Serijski.println (fc);
lcd.clear ();
lcd.print ("LOCATION");
lcd.setCursor (0, 1);
lcd.tisak (fc);
lcd.setCursor (0, 0);
kašnjenje (5000);
prevButtonState2 = buttonState2;
Korak 3: Izgradnja
Izgradnja
U vrijeme kada nisam imao pristup 3D pisaču, ovo je bio moj posljednji projekt korištenja van police. Koristio sam lako dostupno kućište alarmne ploče koje je dizajnirano za 16x2 LCD.
Veza: https://www.ebay.co.uk/itm/86-Plastic-project-box-enclosure-case-for-diy-LCD1602-meter-tester-with-buttGA/363214674235?hash=item549148193b:g: IvQAAOSwNXpcFFrv
Sve je napunjeno unutar kućišta, 16x2 LCD zaslon zalijepljen je na prednju ploču tako da je ploča vruće zalijepljena na mjestu.
Korak 4: Zaključak
Zaključak
Ovo je zgodan projekt za stolni digitalni sat koji ne treba podešavanje ili podešavanje, potrebno mu je vrijeme s NTP poslužitelja i prikazuje ga na jasnom LCD zaslonu s pozadinskim osvjetljenjem.
Ovo nije za potpune početnike jer je potrebna određena konfiguracija koda, a potrebno je postaviti i niz podataka. Ako imate bilo kakvih pitanja ili komentara, slobodno mi ostavite komentar.