Turinys:

ESP8266 orų stoties laikrodis: 4 žingsniai
ESP8266 orų stoties laikrodis: 4 žingsniai

Video: ESP8266 orų stoties laikrodis: 4 žingsniai

Video: ESP8266 orų stoties laikrodis: 4 žingsniai
Video: How to Write a Story? (For Beginners) | Tamil | With English Subtitles 2024, Liepa
Anonim
ESP8266 Orų stoties laikrodis
ESP8266 Orų stoties laikrodis

Šis projektas yra puikus būdas parodyti laiką ir orą mažoje patogioje pakuotėje. Čia paaiškinsiu projektą, kaip jis veikia ir parodysiu kodą.

Galite paspausti skirtingus mygtukus, kad parodytumėte esamą orą nustatytoje vietoje, taip pat temperatūrą ir slėgį. Numatytasis rodinys yra laikas, kuris ištraukiamas iš NTP serverio.

Nereikia nustatyti laiko, nes laikas sinchronizuojamas iš NTP serverio ir yra labai tikslus. Šioje konfigūracijoje turiu laiką ir vietinį IP adresą. Galite pakeisti kodą, įtraukdami datą, orą, slėgį ir temperatūrą, kad jie būtų rodomi pagrindiniame ekrane arba mygtukuose.

1 žingsnis: schema

Schema
Schema
Schema
Schema

Schema yra gana paprasta ir nesudėtinga

sekti. Jei norite sukti savo PCB, yra gerbero failas. Visą grandinę maitina 5 V, gaunama iš „micro USB“jungties. Dėl to grandinė yra paprasta ir lengvai įjungiama. 5 V tiekiamas į žemo iškritimo 3,3 V reguliatorių, LM 3940, kuris suteikia 3,3 V ESP8266. ESP8266 yra USB jungtis, tačiau aš nusprendžiau jos nenaudoti apskritai, nes 5V taip pat varo LCD.

3.3V turi būti naudojamas su ESP8266, jūs negalite jo tiesiogiai vairuoti su 5 V, nes tai sunaikins plokštę.

Du lytėjimo jungikliai yra prijungti prie D5 ir D6 ir yra sukonfigūruoti kodu, kad ekrane būtų rodoma skirtinga informacija. Aš juos nustatiau į temperatūrą/slėgį ir prognozę.

Visi komponentai yra lengvai lituojami rankiniu būdu ant perforatoriaus arba „Gerber“galima rasti „GitHub“adresu

2 žingsnis: kodas

github.com/allenelectronics/esp8266weatherstation

Kodas yra sudarytas „Arduino IDE“ir jam reikia tam tikros konfigūracijos

Pirmiausia, norėdami įkelti kodą į IDE, turite įdiegti ESP8266 plokštę prie IDE.

Išsamias instrukcijas, kaip tai padaryti, rasite čia:

Norėdami gauti orų funkcionalumą, nusprendžiau naudoti „RemoteMe“, kuri renka orų duomenis tiesiai iš API ir sukuria kodą, kurį galima įterpti į jūsų kodą. Turėsite užsiregistruoti ir nustatyti duomenų srautą jų svetainėje:

Dokumentus apie „RemoteMe“rasite čia:

Yra keletas konkrečių sąrankos apibrėžimų, kuriuos turėsite užpildyti prieš įkeldami:

#define WIFI_NAME „SSID GOES HERE“

#define WIFI_PASSWORD „PASSWORD GOES HERE“

#define DEVICE_ID 1

#define DEVICE_NAME "ĮSIGYTI IŠ REMOTEME. ORG"

#define TOKEN "GAUTI IŠ REMOTEME. ORG"

Čia esančius apibrėžimus turite nustatyti atsižvelgdami į išsamią „Wi -Fi“informaciją ir iš „RemoteMe“gautą prieigos raktą.

Turite įsitikinti, kad visos šios bibliotekos yra įdiegtos ir įtrauktos į kodą. Įtraukiau nuorodas į tuos, kuriuos sunkiau gauti.

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

#įtraukti

#įtraukti

#įtraukti

#įtraukti

Paskutinė dalis, kurią reikia pakeisti, yra jūsų vieta, nes šis projektas nenaudoja GPS. Turite pakeisti eilutę „LOCATION“:

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

Serial.print („LOCATION / n“);

Serial.println (fc);

lcd.clear ();

lcd.print ("LOCATION");

lcd.setCursor (0, 1);

lcd.print (fc);

lcd.setCursor (0, 0);

vėlavimas (5000);

prevButtonState2 = buttonState2;

3 žingsnis: sukurkite

Statyti
Statyti
Statyti
Statyti

Statyti

Tuo metu aš neturėjau prieigos prie 3D spausdintuvo, tai buvo paskutinis mano projektas naudojant dėklą. Aš naudoju lengvai prieinamą signalizacijos skydelio dėklą, skirtą 16x2 LCD.

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

Viskas įdėta į dėklo vidų, 16x2 skystųjų kristalų ekranas yra priklijuotas prie priekinio skydelio, o plokštė karštai priklijuota.

4 žingsnis: Išvada

Išvada

Tai tvarkingas stalinio kompiuterio skaitmeninio laikrodžio projektas, kurio nereikia koreguoti ar nustatyti; tai užtrunka iš NTP serverio ir parodo jį aiškiai apšviestame LCD ekrane.

Tai netinka pradedantiesiems, nes reikalingas tam tikras kodo konfigūravimas, taip pat reikia nustatyti duomenų srautus. Jei turite klausimų ar komentarų, nedvejodami palikite man komentarą.

Rekomenduojamas: