Turinys:

NTP sinchronizuotas žadintuvas: 8 žingsniai
NTP sinchronizuotas žadintuvas: 8 žingsniai

Video: NTP sinchronizuotas žadintuvas: 8 žingsniai

Video: NTP sinchronizuotas žadintuvas: 8 žingsniai
Video: Network Time Protocol (NTP) - Computerphile 2024, Liepa
Anonim
NTP sinchronizuotas žadintuvas
NTP sinchronizuotas žadintuvas

Sveiki.

Tai mano pirmasis pamokomas dalykas, o anglų kalba nėra mano gimtoji kalba, todėl būkite kantrūs.

Norėjau sukurti NTP žadintuvą su RTC, kuris bus sinchronizuojamas iš interneto.

Radau labai gražų ZaNgAbY ir šio vaikino laikrodį (ačiū).

Laikrodis yra LED taškinės matricos RTC laikrodis, pagrįstas garsiuoju ESP8266, kuris yra sinchronizuotas su NTP serveriu.

Nepaisant to, kad laikrodis yra labai gražus, jam trūksta kai kurių funkcijų, kurios man patinka, todėl pridėjau keletą.

1. Signalizacijos funkcija su atskiru ekranu.

2. Automatinis ryškumas.

3. Išorinis atstatymo mygtukas, jei laikrodis yra sukrautas ir jį reikia iš naujo nustatyti.

4. Pakeitė mėnesį į skaičių, o ne žodį (man taip patinka)

5. Paleidžiant, jei „WiFi“ryšys nepavyko ir RTC laikas galioja, rodomas RTC laikas.

6. Jei yra „WiFi“ryšys, užsidegs mėlyna lemputė.

7. „WiFi“SSID ir slaptažodis nėra užkoduoti, galite juos pakeisti per tinklalapį.

8. Jei po 24 valandų jis negali atnaujinti iš NTP serverio, ESP8266 bandys vėl prisijungti prie „WiFi“.

9. Signalizacijos sustabdymo jungiklis yra jutiklinis mygtukas

1 žingsnis: 1 žingsnis: dalys ir įrankiai

1 žingsnis: dalys ir įrankiai
1 žingsnis: dalys ir įrankiai
1 žingsnis: dalys ir įrankiai
1 žingsnis: dalys ir įrankiai
1 žingsnis: dalys ir įrankiai
1 žingsnis: dalys ir įrankiai

Dalys:

4 + 2 x 8x8 MAX7219 LED matrica (tokia kaip ši)

1 x RTC DS3231 (kaip šis)

1 x ESP12 plokštė (tokia)

1 x vieno paspaudimo mygtukas (toks)

1 x LDR modulis (kaip šis)

1 x I2C PCF8574 modulis (aš naudoju I2C į LCD modulį kaip šis)

1 x „Sparkfun“serijinis LED ekranas (naudojau geltoną, bet mėlyna yra graži)

PCB prototipas 65,5 mm x 210 mm (aš padariau jį iš dviejų dalių)

1 x labai žetonų žadintuvas, norint pašalinti skambėjimo signalą (kaip šis)

1 x organinio stiklo vamzdis 80 mm Skersmuo išorėje 74 mm viduje 213 mm ilgio.

1 x 5,5 mm x 2,1 mm nuolatinės srovės maitinimo šaltinio metalinis lizdo skydo laikiklis.

4 x mygtukai.

1 x įjungimo/išjungimo jungiklis.

1 x mėlynas LED ir 1 k rezistorius.

1 x 470uF 16v kondensatorius.

1 x langų atspalvio plėvelė.

1 x 5v 1A maitinimo šaltinis.

laidai

Įrankiai:

lituoklis

ir bendri įrankiai.

2 veiksmas: 2 veiksmas: ekrano paruošimas

2 žingsnis: Paruoškite ekraną
2 žingsnis: Paruoškite ekraną
2 žingsnis: Paruoškite ekraną
2 žingsnis: Paruoškite ekraną
2 žingsnis: Paruoškite ekraną
2 žingsnis: Paruoškite ekraną

Gavau du vienetus po 4 blokus, todėl perpjoviau vieną per pusę ir gavau 6 blokų ekraną, jei norite, galite nusipirkti 6 atskirus blokus ir susiūti juos kartu (atkreipkite dėmesį, kad vieno bloko Dout yra prijungtas prie kito Din).

Turėdami 6 blokų ekraną, surinkite jį ant prototipo PCB, aš naudoju varžtus, tarpiklius ir varžtus, jei jums patinka greitas sprendimas, galite naudoti dvipusę juostą.

Toliau turime surinkti aliarmo ekraną po pagrindiniu taškų matricos ekranu, pažvelgti į paveikslėlius.

Žadintuvo ekrano kairėje litavau mėlyną „WiFi“diodą.

3 veiksmas: pakeiskite ESP8266 modulį į išorinę anteną

ESP8266 modulio keitimas į išorinę anteną
ESP8266 modulio keitimas į išorinę anteną

Man sunku užmegzti gerą „WiFi“ryšį kambaryje, kuriame naudojamas laikrodis, todėl pakeičiau ESP8266 modulį į išorinę anteną.

Jei neturite problemų dėl „WiFi“ryšio, galite naudoti originalią anteną.

4 žingsnis: kitų daiktų surinkimas

Kitų daiktų surinkimas
Kitų daiktų surinkimas
Kitų daiktų surinkimas
Kitų daiktų surinkimas
Kitų daiktų surinkimas
Kitų daiktų surinkimas

Galinėje PCB prototipo pusėje surinksime modulius ESP8266, RTC ir PCF8574.

Lituodavau lizdus, kad galėčiau prijungti ir atjungti modulius.

Taip pat turite surinkti LDR modulį, kad jutiklis galėtų jausti aplinkos šviesą.

Paskutinį kartą pridėkite jutiklinį jungiklį patogioje vietoje, kad galėtumėte lengvai jį pasiekti, kad sustabdytumėte žadintuvą.

5 žingsnis: sujunkite visus dalykus

Sujungti visus dalykus
Sujungti visus dalykus
Sujungti visus dalykus
Sujungti visus dalykus
Sujungti visus dalykus
Sujungti visus dalykus
Sujungti visus dalykus
Sujungti visus dalykus

Pažvelkite į schemą, nesudėtinga, tik jungiamieji laidai iš vieno modulio į kitą.

Jei jums sunku skaityti schemą, čia yra teksto aprašymas:

====================

Nuo MAX7219 iki ESP8266 ====================

VCC - 5V (1 pastaba)

GND - GND

CS - D8

DIN - D7

CLK - D5

===================

Nuo DS3231 iki ESP8266

===================

GND - GND

VCC - 3.3V

SDA - D1

SCL - D2

==========================================

„Sparkfun“serijos 7 segmentų ekranas pagal ESP8266

==========================================

VCC - 5V (1 pastaba)

GND - GND

RX - D4

==========================================

LDR šviesos jutiklio modulis pagal ESP8266

==========================================

VCC - 3.3V

GND - GND

OUT - A0

===========================================

„WiFi“LED katodas - D3, anodas iki 3,3 V su 1k rezistoriumi

(Aš naudojau 1k rezistorių, nes norėjau, kad šviesos diodas būtų silpnas)

===========================================

============================================

„Ebay PCF8574T I/O Fr“I2C prievado sąsajos palaikymas „Arduino“=========================================== =====

P0 - valandos padidinimo mygtukas

P1 - valandos dn mygtukas

P2 - minutės padidinimo mygtukas

P3 - garsinis signalas (aš naudoju elektroninį garsinį signalą iš lustinio žadintuvo, kuris kainuoja ~ 1 USD)

P4 - minutės dn mygtukas

P5 - pavojaus signalo įjungimo/išjungimo mygtukas

P6 - vasarai pridėkite 1 valandą (tik Izraeliui) (2 pastaba)

P7 - aliarmo sustabdymo jutiklinis mygtukas

RTC SDA į SDA

SCL į RTC SCL

GND į GND

VCC iki 3.3V

Visi mygtukai jungia vieną pusę prie prievado, o kitą - prie GND.

1 pastaba. Visi 6 LED matricos blokai ir aliarmo ekranas yra prijungti prie 5 V.

2 pastaba. Jungiklis, prijungtas prie PCF8574 P6, reikalingas tik mano šalyje, nes vasaros laikas ne visada yra tos pačios datos kaip ir visame pasaulyje, todėl prireikus galiu pridėti valandą.

Laikrodis gali būti tiekiamas dviem būdais:

1. Prijunkite USB kabelį prie ESP12e modulio ir paimkite 5V ekranams iš modulio VV kaiščio.

2. įveskite 5 V per tam skirtą jungtį (kaip aprašyta schemoje), prijunkite 5 V prie taškinių matricų modulių ir aliarmo ekranų bei prie „ESP12e“modulio „Vin“kaiščio.

Jei naudojate 2 parinktį, turite prijungti 470uF 16V kondensatorių tarp 5V ir GND.

Aš taip pat prijungiau atstatymą prie mygtuko, kurį galiu pasiekti iš laikrodžio išorės kaiščiu.

Atkreipkite dėmesį į kiekvieno modulio įtampą !

6 žingsnis: programinė įranga

Pridedamas „Arduino“eskizas, aš pridėjau daug komentarų, todėl tikiu, kad tai bus aišku.

Turite įtraukti „WiFiManager“biblioteką iš „girdi“ir „ESP8266WiFi“biblioteką iš klausos

Jei nežinote, kaip programuoti ESP12e su „Arduino IDE“, „Google“ieškokite.

7 žingsnis: dėžutė

Dėžė
Dėžė
Dėžė
Dėžė
Dėžė
Dėžė

Dėžutę padariau iš 210 mm ilgio plexiglas vamzdžio, kurį viduje uždengiau lango atspalvio plėvele (naudojama automobiliuose).

Du šoniniai dangteliai, pagaminti iš „Delrin“, apdirbti CNC frezavimo staklėmis (galbūt tai galima padaryti naudojant 3D spausdintuvą).

Turiu tik DXF failus viršeliams, kuriuos naudojau CNC programavimui.

Jei kam nors reikia DXF failų, atsiųskite man pastabą.

Žinoma, jūs galite padaryti kitokią gražią laikrodžio dėžutę.

8 žingsnis: baigtas laikrodis

Baigtą laikrodį galite pamatyti čia

Ačiū.

Rekomenduojamas: