Orodha ya maudhui:

Saa rahisi ya Akiba ya Mchana: Hatua 7
Saa rahisi ya Akiba ya Mchana: Hatua 7

Video: Saa rahisi ya Akiba ya Mchana: Hatua 7

Video: Saa rahisi ya Akiba ya Mchana: Hatua 7
Video: Majambazi walipopambana na Polisi baada ya kuiba pesa NMB Bank 2024, Novemba
Anonim
Saa rahisi ya Akiba ya Mchana
Saa rahisi ya Akiba ya Mchana
Saa rahisi ya Akiba ya Mchana
Saa rahisi ya Akiba ya Mchana

Hadithi

Mradi huu ulianza kama changamoto kwangu kujifunza programu (kuweka coding) na Arduino Uno na onyesho moja la 1602A LCD, kwanza nilitaka kushinikiza Arduino kwa mipaka yake kwa usahihi. Huu ni mradi wa kujenga saa bila kutumia moduli ya RTC (Moduli ya Saa ya Saa) na zaidi usitumie ucheleweshaji wowote (); amri kwa sababu kuchelewesha (); amri inasimamisha nambari kwa urefu wa muda uliowekwa. Wakati nilifanya kazi kupitia nambari ya msingi ya utunzaji wa wakati nilifikiri hii inaweza kuwa ya kawaida sana kwa hivyo niliamua kuongeza kipengee cha wakati wa kuokoa mchana kama nyongeza ya riwaya kwa vitu vya juu na pengine kuunda hamu zaidi katika mradi huu. Mwanzoni wazo hilo lilikuwa riwaya tu lakini kadiri ninavyofanya kazi nayo na kutazama saa ya mwili ambayo ninaendesha kwenye dawati langu wazo hilo huwa la vitendo zaidi. Kwa kuongeza moduli ya RTC na kurekebisha nambari saa hii itakuwa sahihi kwa miaka ijayo na kwa gharama ya chini sana kwa watengenezaji na umma ambao hununua saa kama hiyo.

Saa ya Kuokoa Mchana au (DST) imekuwa karibu kwa miaka 100+ (Google it, ina historia ya kupendeza). Sitaki kuingia katika siasa zake lakini ni zoezi mbaya na chungu ambalo halifanyi maisha kuwa rahisi kwa watu wa kawaida (mimi na wewe). Kwa sehemu kubwa tunafurahiya saa ya ziada ya mchana lakini njia ambayo inatumiwa ni ya kikatili. Ni wakati wa kuboresha kubwa kwa wazo la zamani sana.

Mfano huu ni rahisi kuishi na kwa umri wa dijiti na maendeleo katika teknolojia inayotumika kwa urahisi kwa kila aina ya saa za dijiti, lakini inaweza kusaidia kufa kwa saa ya analog. Badala ya kuruka saa 1 kutoka wakati wa kawaida hadi wakati wa DST basi wakati wa DST hadi wakati wa kawaida saa hii inategemea maendeleo ya polepole ya wakati kutoka msimu wa baridi hadi msimu wa majira ya joto kisha kurudi wakati wa kawaida katika msimu wa baridi ujao mwaka baada ya mwaka. Mabadiliko haya hufanyika kwa siku 180 kati ya kila kipindi cha miezi 6, marekebisho ni sekunde 20 kwa siku kwa siku 360 na siku 5 au 6 zilizobaki zimeongezwa kwa urefu wa solstices. Mfano wangu hapa unaongeza dakika 1 mara moja kila siku tatu ndani ya mzunguko wa siku 180. Mnamo Juni 21 au kila mwaka saa ni saa 1 kamili mbele na juu au mnamo Desemba 21 ya kila mwaka saa imeshuka hadi wakati wa kawaida. Mwaka wa kuruka huhesabiwa kwa urahisi haswa ikiwa RTC inatumiwa. Ulimwengu wa Kusini hubadilishwa kwa urahisi na saa hii pia, kiwango cha slaidi ni miezi 6 tu kutoka kwa awamu kutoka ulimwengu wa kaskazini.

Kuna maeneo matatu ulimwenguni ambayo DST ingekuwa nzuri sana isipokuwa, mkoa wa ikweta, na miti. Sidhani kama mwanga wa mchana unabadilika sana kwenye ikweta, sijui kama kuna maeneo yoyote ya kitropiki hata yanatumia DST na miti hiyo ni hadithi nyingine tena, tu 'NI NINI' wakati ni kwenye miti hata hivyo?

Hatua ya 1: Kuhusu Saa

Kuhusu Saa
Kuhusu Saa
Kuhusu Saa
Kuhusu Saa

Saa niliyoiunda inategemea wakati wa kawaida ambao hautofautiani kamwe kutoka saa inayokubalika kimataifa, hii inaonyeshwa kwenye laini ya kwanza ya LCD ya 1602. Mstari wa pili ni kiwango sawa cha wakati lakini inaonyesha seti ya dakika kutoka kwa solstice moja hadi nyingine. Kuanzia msimu wa baridi hadi msimu wa joto msimu uliowekwa unazidisha dakika moja kila siku tatu hadi kiwango cha juu cha dakika sitini. Kuanzia msimu wa joto hadi msimu wa baridi msimu uliowekwa hupungua kwa dakika moja kila siku tatu hadi wakati wa kawaida na wakati wa DST ni sawa.

Kwa mfano huu nimetumia wakati wa kijeshi (saa 24) na saa ya kawaida (saa 12) AM na PM kuwasaidia watu hao wasiojua kiwango cha saa 24, pia ilitoa chumba changu kuonyesha siku ambayo DST ni kuweka kutoka. Nambari inaweza kubadilishwa kuonyesha saa ya saa 12. Nimeongeza vifungo vitatu vya kushinikiza vilivyounganishwa na pini za dijiti 2, 3 na 4 kurekebisha wakati. Vifungo hivi vitaongeza sekunde, dakika au masaa tu. Vifungo ni vya hiari, saa bado itafanya kazi vizuri ikiwa hauta waya kwenye vifungo na hakuna haja ya kubadilisha nambari. Napenda kupendekeza angalau kutumia kitufe kurekebisha sekunde na ikiwa usahihi kamili hauwezi kupatikana weka saa upande wa polepole, kitufe kinaendelea wakati wa sekunde 1 kwa sekunde.

Ukianza saa kutoka Arduino IDE itachukua kama sekunde 5.5 hadi 6 kwa mchoro kupakia na kuanza, ikiwa una mchoro uliopakiwa kwa Arduino basi ingiza kwenye wart ya ukuta au usambazaji wa umeme itachukua kama 2.5 hadi Sekunde 3 kuanza na kukimbia.

Kuna usanidi wa mwongozo unahitajika wakati mwishowe utapata saa tayari ya kufanya kazi.

Saa hii haitumii moduli ya RTC wala kipimo haitumii "kuchelewesha ();" amri.

Ikiwa unapenda kutumia RTC na Arduino dhana hii bado inaweza kutumika. RTC itakupa habari zote unazohitaji kuongeza wakati wa EDSC. Nambari inaweza kuwa tofauti kabisa na moduli ya RTC, sijaiangalia. Wewe ni mzuri sana ikiwa unafanya lakini ni njia nzuri ya kutumia ubongo wako.

Hatua ya 2: Nini Utahitaji

Nini Utahitaji
Nini Utahitaji
Nini Utahitaji
Nini Utahitaji
Nini Utahitaji
Nini Utahitaji

ORODHA YA MANUNUZI

1 Arduino Uno au Mega2569 (pini za I2C ni A4 na A5 kwenye UNO na 20 na 21 kwenye Mega 2560)

Karibu Arduino nyingine yoyote inapaswa kufanya kazi, pini zinazotumiwa zinaweza kuwa tofauti. Kwa jambo hilo, bodi yoyote ya mtawala itafanya kazi. Itabidi uandike nambari tena kwa bodi hiyo au mtengenezaji.

Onyesho la 1 1602 LCD (rangi ya chaguo lako)

Ninatumia pakiti ya nyuma ya I2C na LCD, naona ni rahisi na wepesi kuanzisha.

Waya za jumper

VIFAA VYA hiari

Bodi 1 ya mkate wa saizi ya kati

Vifungo vya kushinikiza vya muda mfupi vya 1-3

1-3 10 K ohm vipinga

Mafundisho haya ni marefu, kwa hivyo siendi kwenye upandaji au baraza la mawaziri ambalo nimetumia kuonyesha saa. Ikiwa unapenda mradi huu na unataka kufanya toleo la kudumu liibunie kwa kupenda kwako. Ubunifu huu ni mzuri kwangu kwa sababu nilikuwa na kila kitu ninachohitaji kwenye sanduku langu la taka na napenda sura yake.

MAELEZO:

Ili kuepuka kuanguka kwa shimo kwa kukatika kwa umeme saa yangu ya mwisho inaendeshwa na jopo la jua nililonalo nje. Jopo la jua huweka betri ya volt 12 iliyoshtakiwa na mdhibiti juu yake ili kuzuia kuchaji. Betri hii imeunganishwa na Arduino kupitia jack ya nguvu karibu na bandari ya USB. Ninaweka bandari ya USB iliyounganishwa kwenye gridi ya taifa ili kupunguza kuteka kwenye betri. Vyanzo vyote vya nguvu vinaweza kutumika wakati huo huo bila uharibifu kwa Arduino. Betri ya volt 12 inaweza kuchajiwa kwa volts 14.5 max ambayo ni kubwa sana kwa Arduino kwa hivyo ninatumia kibadilishaji cha dume ili kupunguza voltage ya usambazaji kutoka kwa betri hadi anuwai ya volts 9 hadi 12. Batri 12 ya volt ninayoendelea kushtakiwa itadumu kwa siku 3 au 4 ikiwa siku zimejaa mawingu. Kidhibiti ninachotumia kitakata nguvu kwa Arduino ikiwa voltage ya betri itashuka hadi volts 11. Betri ninayo inatoka kwa mfumo wa taa ya dharura kwa majengo ya biashara, ni karibu robo moja saizi ya betri ndogo ya gari. Ikiwa unakusudia kutumia betri ya gari hakikisha kuiweka kwenye eneo lenye hewa ya kutosha (nje), betri za gari hutoa gesi ya haidrojeni na oksijeni kama zinavyotoza na kutoa, huu ni mchanganyiko wa kulipuka.

ONYO

ENDELEA KUPAMBANA NA BURE

MAENEO YA UWASILIANO, NJE

Hatua ya 3: Wiring

Wiring
Wiring

Nimetoa skimu kwa viunganisho vyote kwenye mradi huu, ikiwa utatumia ubao wa mkate utahitaji bodi ya saizi ya kati, swichi zitahitaji nafasi ya kuenea ili mzunguko usichanganye.

Onyesho la LCD la 1602 lina kifurushi cha nyuma cha I2C kwa urahisi, ikiwa unatumia unganisho la SPI utahitaji kutafuta jinsi ya kuitumia na kubadilisha nambari karibu na mwanzo wa mchoro. Sijawahi kutumia viunganisho vya SPI kwa hivyo pini 2, 3 na 4 zinaweza kutopatikana kwa vifungo vitatu vya kushinikiza.

Vifungo vitatu vya kushinikiza hutumiwa kurekebisha wakati kwenye saa. Wanaendeleza wakati tu (AHEAD). Katika marekebisho ya mwisho weka saa kwenye kificho upande wa polepole (kama sekunde 1 hadi 2 kwa siku au siku kadhaa) kwa njia hii unaweza kuendeleza wakati ikiwa ni lazima. Kila kifungo kinaongeza wakati nyongeza moja kwa sekunde, kitufe cha chini sekunde 2 kwa sekunde, kitufe cha kati dakika 1 kwa sekunde na kitufe cha juu saa 1 kwa sekunde. Usahihi wa hali ya juu unapaswa kufanywa kwa hivyo hutahitaji kuirekebisha sana.

Ikiwa unarekebisha sekunde, dakika au masaa (kwa mfano ikiwa dakika zimeendelea 58, 59, 00) saa itaendelea hadi saa inayofuata.

Vifungo hivi vitatu ni nyongeza ya dakika ya mwisho kwa saa, hufanya kazi vizuri lakini kunaweza kuwa na njia bora. Kumbuka tu kwamba ukichanganya na sehemu hii ya nambari "kuchelewesha ();" amri haiwezi kutumika. Nilitumia njia hii kwa sababu siitaji kuwa na wasiwasi juu ya mabadiliko ya kubadili na kuruka kwa kushangaza katika maendeleo ya wakati.

Hatua ya 4: Maonyesho yanaonyeshwa nini

Maonyesho yanaonyesha nini
Maonyesho yanaonyesha nini

Nimeweka habari nyingi kwenye onyesho la LCD la 1602 ambalo linahitaji ufafanuzi:

Mstari wa 1 Au mstari wa sifuri '0' unapozungumza kwa kificho, inaonyesha wakati wa kawaida. Kushoto ni 'STD', hii inasimama kwa wakati wa 'STandarD'.

Ifuatayo kwenye mstari wa kwanza katikati ni wakati wako wa kawaida wa kawaida. Usianze na wakati wa kuokoa mchana, saa itaonyesha hii kwenye laini ya pili.

Kiwango hiki cha saa ni saa 12 kwa hivyo upande wa kulia ni 'AM au' PM 'kuonyesha asubuhi au baada ya saa sita.

Mstari wa 2 Au mstari wa kwanza '1' unapozungumza kwa kificho, inaonyesha wakati wa kuokoa mchana ambao unatofautiana kulingana na siku ya mwaka. 'DST' upande wa kushoto inamaanisha 'Wakati wa Kuokoa Mchana'

Katikati ya mstari wa pili ni wakati wako wa kijeshi ambao ni saa 24. Utasikia ikiitwa "oh masaa mia sita" kwa mfano.

Upande wa kulia ni siku ya mwaka kama inavyotajwa kutoka msimu wa baridi, katika Ulimwengu wa Kaskazini Desemba 21 (takriban) ni siku sifuri '0' na katika Ulimwengu wa Kusini Juni 21 (takriban) ni siku sifuri '0'.

Nimetoa faili mbili za.pdf kwa kumbukumbu wakati wa kwanza kuweka saa. Chagua faili ambayo inahusu ulimwengu unaokaa.

Vifungo vitatu kwenye sekunde za nyongeza za kulia, dakika na masaa kutoka chini kwenda juu.

Hatua ya 5: Usanidi wa Mchoro

Usanidi wa Mchoro
Usanidi wa Mchoro

Kuna mistari kadhaa ya nambari ambayo inahitaji kusanidiwa kwa kuanza kwa mwanzo. Baadhi ya mistari hii inahitaji mabadiliko kila wakati unakata saa na kubadilisha maadili ya vigeuzi kwenye mchoro. Ukianza saa ya IDE itachukua sekunde 6 kupakia na kuanza. Ikiwa utapakia mchoro kutoka kwa IDE kisha ukatishe saa na kuiwasha tena kutoka kwa wart ya ukuta au usambazaji wa umeme mchoro utaanza kwa sekunde 2.5.

Mstari wa 11 LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7);

Mstari huu unashughulikia onyesho la LCD na inaweka anwani sahihi ya kifurushi cha nyuma cha I2C. 0x27 ni anwani ya vifurushi vyovyote vya nyuma nilivyonunua. Ikiwa unaongeza saa lakini hakuna data iliyoonyeshwa lakini inaangazia anwani labda ni tofauti kwako LCD. Nitaweka kiunga hapo chini kwa maelezo ya jinsi ya kubadilisha anwani ya kifurushi chako cha nyuma cha LCD au kupata anwani.

Mistari 24 int dakikaSt = 35;

Weka dakika ya kuanza kwa saa ya kawaida, kawaida weka dakika 5 kabla ya kuanza saa kuruhusu wakati wa kuanzisha.

Mistari 25 saa ya saaSt = 18;

Weka saa kuwa saa ya STD (saa 24) inaanza. 6 PM itakuwa saa 18.

Mstari wa 26 int DSTdays = 339;

Pakua na rejelea faili ya pdf ya "Easy DST Clock Time Scale" (Kaskazini au Kusini mwa Ulimwengu) unayoishi, angalia tarehe na uweke Siku # katika mstari huu. (Safu ya kushoto). Mfano (Novemba 24 ni siku # 339 katika Ulimwengu wa Kaskazini na siku # 156 katika Ulimwengu wa Kusini)

Mstari wa 27 int DSTyear = 2019;

Ingiza mwaka wa sasa.

Mstari wa 92 ikiwa ((masterTime - previousMasterTimeSt> = 1000) && (microTime - previousMicroTimeSt> = 500)) {

"PreviousMasterTimeSt" inahitaji kulinganishwa na idadi ya milliseconds kwa hivyo hii '1000' inaweza kuhitaji kubadilika kuwa 999 kulingana na saa ya ndani ya bodi ya Arduino kisha urekebishe wakati uliopita wa Sauti ili uangalie saa vizuri. Saa ya ndani ingawa 16MH ina tofauti kutoka bodi moja hadi nyingine.

Sauti ya "previousMicroTimeSt" inachukua saa ya ndani kusaidia kuhesabu sekunde 1 sahihi. Ikiwa saa ni ya haraka sana ongeza mikrofoni na ikiwa saa ni polepole sana punguza mikrofoni na ikiwa inahitajika tupa millisecond hadi 999 na kisha anza microseconds karibu 999, 990 au ongeza kasi ya saa.

Kila bodi ya Arduino ina kasi tofauti kidogo kwa hivyo nambari hizi zitabadilika na kila bodi unayotumia. Sehemu ya nambari bado haijajaribiwa, hii ni laini ya 248 ya kuhesabu kila mwaka wa kuruka. Katika wiki chache zijazo nitaijaribu na kutuma mabadiliko yoyote ikiwa ni lazima.

Hatua ya 6: Vidokezo vya Mwisho

Vidokezo vya Mwisho
Vidokezo vya Mwisho

Mradi huu ni rahisi kujenga lakini dhana na marekebisho muhimu kwenye nambari inaweza kuwa kazi, chukua muda wako na ufikirie, saa haimaliziki hadi mwisho wa 2037. Nitaangalia barua pepe kwa maswali kwani nina hakika kutakuwa na zingine, mimi sio fikra ya fasihi kwa hivyo maelezo yangu mengine yanaweza kuwa matope kidogo.

Kuna faili mbili za

Kwa habari iliyotumiwa kwenye mchoro itakuwa rahisi kuonyesha sio tu wakati wa kawaida na wakati wa DST lakini pia siku na tarehe kwenye LCD ya 2004A. Ikiwa unapenda changamoto ambazo mradi huu hutoa jaribu kuunganisha onyesho la LCD la 2004A kisha ongeza nambari kuonyesha habari ya ziada au ikiwa nia ya kutosha imeonyeshwa nitafanya tofauti nyingine ya mradi huu pamoja na habari hii ya ziada.

Nimejaribu kuwa na maoni yote katika mradi huu lakini nimepata maeneo matatu ulimwenguni yanayoulizwa. Ncha ya Kaskazini, Ncha ya Kusini na Ikweta.

Je! DST ni muhimu au hata inawezekana kwenye Poles za Kaskazini au Kusini?

Je! Ni saa ngapi kwenye Ncha ya Kaskazini au Kusini?

Je! Ungeenda kwa mwelekeo gani kuacha Ncha ya Kaskazini au Ncha ya Kusini?

Kutoka kwa Ncha Kusini utasafiri kuelekea Austrailia, Amerika ya Kaskazini, Ulaya au Asia?

Je! Santa anaishi eneo la wakati gani?

Je! Anahitaji DST?

Je! Ni saa ngapi katika Ncha ya Kaskazini?

Je! Santa anasafiri kuelekea kutoa zawadi zake zote?

Je! DST inafanya kazi kwa latitudo gani?

Sasa kwa Ikweta;

Je! Saa hii inaweza kutumika katika Ikweta?

Je! Wangetumia kiwango cha Ulimwengu wa Kaskazini au Kusini?

Je! Ni tarehe gani za msimu wa baridi na msimu wa joto?

Je! DST inafanya kazi kwa latitudo gani?

Je! Penguins inahitaji DST?

Je! Unafikiri mimi ni mtu wa ajabu kufikiria juu ya maswali haya?

Furaha ya kujenga kila mtu!

philmnut

Hatua ya 7: Viungo vingine

Hiki ni kiunga cha kuamua au kubadilisha anwani kwenye kifurushi cha nyuma cha I2C:

www.instructables.com/id/1602-2004-LCD-Adapter-Addressing/

PiotrS ameandika bora kufundisha kwa anwani za vifaa vya I2C

playground.arduino.cc/Main/I2cScanner

Kiungo hiki kitachanganua kifaa chako cha I2C na kurudisha anwani

Ilipendekeza: