Orodha ya maudhui:

Saa ya Kibichi ya Kweli na Usawazishaji wa NTP: Hatua 4
Saa ya Kibichi ya Kweli na Usawazishaji wa NTP: Hatua 4

Video: Saa ya Kibichi ya Kweli na Usawazishaji wa NTP: Hatua 4

Video: Saa ya Kibichi ya Kweli na Usawazishaji wa NTP: Hatua 4
Video: Goodluck Gozbert - Hauwezi Kushindana (Official Video) SMS SKIZA 8633371 TO 811 TO GET THIS SONG 2024, Julai
Anonim
Saa ya Binary ya Kweli na Usawazishaji wa NTP
Saa ya Binary ya Kweli na Usawazishaji wa NTP
Saa ya Binary ya Kweli na Usawazishaji wa NTP
Saa ya Binary ya Kweli na Usawazishaji wa NTP

Saa ya kweli ya kibinadamu inaonyesha wakati wa siku kama jumla ya sehemu ndogo za siku nzima, tofauti na "saa" ya jadi inayoonyesha wakati kama nambari za nambari zilizosimbwa kwa binary zinazolingana na masaa / dakika / sekunde. "Saa za kibinadamu" za jadi zinatumia sana njia ya binary-encoded-decimal-encoded-sexagesimal. Ni fujo gani! Saa za kweli za binary hurahisisha mambo sana.

Katika saa ya kweli ya kibinadamu, nambari ya kwanza inakuambia ni nusu siku, nambari ya pili ni siku ya robo, nambari ya tatu ni ya nane ya siku, n.k. Inaweza kusomwa kwa azimio lolote haraka sana (kwa mazoezi ya kweli). Nambari ya kwanza inasimba AM vizuri dhidi ya PM, nambari ya pili inajumuisha ikiwa ni mapema asubuhi / alfajiri au marehemu AM / PM, na kadhalika.

Katika kubuni saa yangu ya kweli ya binary, nilitumia nambari kumi na mbili za azimio, kwa hivyo siku imegawanywa katika 2 ^ 12 = sehemu 4096 (kila nyongeza ni takriban sekunde 20). Badala ya kuweka nambari zote kwenye mstari, tarakimu 12 ziligawanywa katika safu 3 za nambari 4. Ijapokuwa nambari halisi za kibinadamu hazijabadilika, hii inaruhusu saa isomwe kama nambari 3 za hex-encoded hex, mstari wa kwanza unaonyesha siku ya 16 (1.5hrs), mstari wa pili unaonyesha siku ya 256 (~ dakika 5), na mstari wa tatu unaonyesha 4096 ya siku (~ 20seconds).

Saa imesawazishwa na NTP (Itifaki ya Wakati wa Mtandao) kwa kutumia ESP8266. ESP8266 imeundwa ili, wakati wa kuanza, kubonyeza kitufe kwenye saa itatuma katika hali ya mipangilio. Katika hali ya mipangilio, saa itaunda mtandao wa WiFi ambao hutumikia ukurasa wa wavuti ambao unaweza kutumiwa kuweka mipangilio yako ya wifi, seva ya NTP, na eneo la saa. Habari hii imehifadhiwa kwenye EEPROM ya ESP8266 na inasomwa wakati saa inapoanza katika hali ya saa ili iweze kuungana na mtandao na kupata wakati.

Ugavi:

  • NodeMCU ESP8266
  • Ukanda wa LED wa WS2812B
  • Pushbutton
  • 470 Ohm kupinga
  • Kinzani ya 10K Ohm
  • 470 uF capacitor
  • Vijiti vya Popsicle
  • Marumaru
  • Mbao (au karatasi nyingine ya nyenzo) ya kesi hiyo

Hatua ya 1: Mzunguko

Mzunguko
Mzunguko
Mzunguko
Mzunguko
Mzunguko
Mzunguko
Mzunguko
Mzunguko

Ili kuwa na onyesho, mradi huu hutumia ukanda ulioongozwa na RGB uliowekwa kwenye safu 3. Nilikata vipande 3 vya risasi 8 kutoka kwa ukanda wa vichwa vya WS2812B na kuziunganisha pamoja. (Ni dhaifu na kusawazisha pedi ndogo inaweza kuwa ngumu. Nilifunga ncha zilizouzwa kwenye mkanda wa umeme ili kuzifunga kutoka kwa kuinama yoyote.) Ingawa nilihitaji tu viongo 4 kwa safu, nilikata vipande 8 ili inaweza kuwa na nafasi kubwa kati ya taa kwa kutumia tu kila kuongozwa. Vipande hivi vilikuwa vimekwama kwa msingi tambarare uliotengenezwa na vijiti vya popsicle. Katikati ya kila safu, safu mbili za vijiti vya popsicle hutoa wasifu ili uso wa mbele uweze kukwama dhidi ya ndani ya kesi ya saa (angalia picha).

Ukanda ulioongozwa unapewa nguvu kutoka kwa VU na GND ya NodeMCU. VU inakuja kwa nguvu (karibu) moja kwa moja kutoka kwa USB, kwa hivyo inatoa 5V kwa WS2812B LEDs ingawa ESP8266 inafanya kazi saa 3.3V. Niliweka capacitor ya 470 uF kwa nguvu kwa ukanda wa WS2812B ili kulinda viongo. Takwimu za ukanda ulioongozwa imeunganishwa na pini ya D3 ya NodeMCU kupitia kontena la 470 Ohm. Rejelea hii inayoweza kufundishwa kwa maelezo zaidi juu ya jinsi ya kudhibiti vichwa vya WS2812B na ESP8266. Mzunguko uliuzwa kwenye bodi ya proto na vichwa vya wanaume na wanawake kwa NodeMCU.

Kitufe cha kushinikiza pia kiliambatanishwa na D6 ya NodeMCU. Kitufe hiki cha kushinikiza kinaweza kubanwa wakati saa inaanza kuipeleka katika hali ya mipangilio (ambayo mipangilio ya wifi, seva ya NTP, na upendeleo wa saa zinaweza kubadilishwa). Kwa upande mmoja kitufe cha kushinikiza kimeunganishwa na D6 na pia kwa GND kupitia kontena la 10K Ohm na kwa upande mwingine imeunganishwa na nguvu. Kitufe kinapofutwa, D6 inasoma chini; inapobanwa, D6 inasoma juu.

Hatua ya 2: Programu

Programu
Programu

Programu ya ESP8266 iliandikwa kwa kutumia nambari ya Arduino. LED zinashughulikiwa kwa kutumia maktaba ya FastLED na usawazishaji wa NTP hufanywa na maktaba ya NTPClient. Wakati unasawazishwa na NTP kila saa.

Mwanzoni mwa kazi ya usanidi, programu inakagua ili kuona ikiwa kitufe kilichounganishwa na D6 kimeshinikizwa. Ikiwa ni hivyo, ESP8266 inaunda mtandao wa wifi (SSID na nywila zinaweza kubadilishwa katika nambari, SSID chaguo-msingi ni "TrueBinary" na nywila ni "thepoweroftwo"). Unganisha kwenye mtandao huu kutoka kifaa chochote na nenda kwa 192.168.1.1. ESP8266 itatumia ukurasa wa wavuti na fomu ambazo unaweza kuingiza wifi SSID yako na nywila, seva inayopendelea ya NTP, na upeanaji wa saa kutoka UTC. Baada ya fomu hizi kuwasilishwa kwa ESP8266, itahifadhi maelezo kwenye uhifadhi wake wa ndani wa EEPROM.

Ikiwa kitufe hakikubanwa, saa huanza kwa kawaida, inasoma mipangilio kutoka EEPROM, inaunganisha kwa wifi kutumia NTP, na kuanza kuonyesha wakati.

KUMBUKA: kazi setDisplay (int index) inachukua nambari ya nambari kutoka 0-11 ambapo 0 ni nambari ya kwanza (nusu siku) na 11 ni ya mwisho (1/4096 ya siku) na inawasha mwangaza unaolingana kwa kutumia " leds "safu. Kazi hii inapaswa kujazwa kulingana na jinsi ulivyosanidi onyesho. Mfano wangu wa maoni unalingana na jinsi nilivyouza safu kwa mtindo wa zig-zag badala ya kumaliza-mwisho na kuruka kila LED nyingine.

Hatua ya 3: Nyumba

Makazi
Makazi
Makazi
Makazi
Makazi
Makazi

Ili kuweka saa, nilitumia pembe ya kuni iliyochorwa ambayo nilikuwa nayo. Kwenye uso mmoja wa nje, nilichimba mashimo 12 kwenye gridi inayofanana na nafasi za LED. Kisha nikaweka taa za LED ndani ya pembe kwa kutia nyuso zilizoinuliwa za vijiti vya popsicle katikati ya safu hadi kuni (kama inavyoonyeshwa). Ili kueneza nuru kutoka kwa LED, nilibana marumaru za glasi juu ya mashimo. Nilitimiza hii kwa kuzamisha nusu ya chini ya kila marumaru katika resini ya epoxy na kisha kuiweka kwenye mashimo. NodeMCU na bodi ya proto zilipigwa ndani ya uso wa ndani wa pembe. Pande zilifunikwa kwa kutumia pembetatu ndogo za kuni, zilizounganishwa na gundi ya kuni. Moja ya pande ina shimo kwa bandari ndogo ya USB ya NodeMCU na kata kwenye kona ya kitufe cha kushinikiza.

Hatua ya 4: Imekamilika

Imekamilika!
Imekamilika!
Imekamilika!
Imekamilika!

Saa yetu ya kweli ya binary imekamilika! Ili kuiweka, weka kitufe kibonye wakati unakiingiza ili kuiweka katika hali ya mipangilio na kisha ingiza vitambulisho vya WiFi kwenye ukurasa wake wa wavuti. Mara baada ya kusanidi, saa inaweza kuingizwa mahali popote na itaunganisha kiotomatiki kwenye wavuti na kuanza kuonyesha wakati kwa binary.

Inachukua nafasi ya mazoezi kusoma wakati katika muundo wa kweli wa kibinadamu, lakini ni mazoezi ya kufurahisha na baada ya muda inakuwa njia ya haraka ya kupata wakati kwa mtazamo tu!

Ilipendekeza: