Orodha ya maudhui:

Saa ya Kustaafu / Hesabu Juu / Saa ya Dn: Hatua 4 (na Picha)
Saa ya Kustaafu / Hesabu Juu / Saa ya Dn: Hatua 4 (na Picha)

Video: Saa ya Kustaafu / Hesabu Juu / Saa ya Dn: Hatua 4 (na Picha)

Video: Saa ya Kustaafu / Hesabu Juu / Saa ya Dn: Hatua 4 (na Picha)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Julai
Anonim
Saa ya Kustaafu / Hesabu Juu / Saa ya Dn
Saa ya Kustaafu / Hesabu Juu / Saa ya Dn

Nilikuwa na maonyesho haya ya 8x8 ya dot-matrix kwenye droo na nilikuwa nikifikiria juu ya nini cha kufanya nao. Kwa kuongozwa na mafundisho mengine, nilipata wazo la kuunda hesabu ya chini / juu kuhesabu hadi tarehe / saa ya baadaye na ikiwa wakati wa lengo umepita, hesabu kutoka hapo. Nilifanya hii sasa saa yangu ya kustaafu kukaa kwenye rafu.

Wazo la kuiweka kwenye chupa lilikuwa zaidi ya ajali wakati wa kufikiria juu ya sanduku. Wengine huweka meli ndani ya chupa, kwa nini sio saa?

Pia nilitaka kufanya saa kutii wakati wa kuokoa mchana na kwa kweli kumbuka mipangilio na wakati unapofunguliwa. Ninawasha saa kupitia USB ambayo inafanya iweze kusanidiwa ikiwa ungependa kufanya kitu tofauti au tu kuongeza huduma kwenye nambari. Nambari ni rahisi sana na inaweza kutumia utaftaji mwingi. Sikujali utumiaji mzuri wa RAM lazima nikiri. Ikiwa nilipata wakati na motisha, nitairudia.

Vifaa

1. Arduino Nano

2. RTC (nilitumia DS3231 ya kawaida ambayo pia ina EEPROM)

3. Moduli ya tumbo ya 12x 8x8. (Nilikuwa na moduli za quad ambazo ni rahisi kupanga mstari)

4. LDR kurekebisha mwangaza wa kuonyesha

5. Resistor 10 kOhm

6. Capacitor 5x 100 uF kukandamiza spikes kutoka kwa onyesho

7. Ili kuongeza utofauti wa moduli za 8x8, nilitumia rangi nyeusi ya "Filamu ya Dirisha". Onyesho linaonyesha LED kama dots nyeupe ikiwa haijawashwa. Filamu ya dirisha inageuka kuwa sura nyeusi inayong'aa.

Hatua ya 1: Unganisha Vipengele

Unganisha Vipengele
Unganisha Vipengele
Unganisha Vipengele
Unganisha Vipengele

Nilitumia maonyesho matatu ya quad kukusanya onyesho. Kuonyesha tarehe na mipasuko na wakati na koloni, tunahitaji nafasi ya herufi 8. Kutumia fonti ya kawaida ya 5x7, tungehitaji vizuizi sita vya 8x8 kwa kila safu. Nilikata moja ya vizuizi vya quad kwa nusu na nikapanga hizi kama safu mbili na vizuizi sita kama inavyoonekana kwenye skimu ya mkate.

Hatua ya 2: Sehemu zilizochapishwa za 3D

Sehemu zilizochapishwa za 3D
Sehemu zilizochapishwa za 3D
Sehemu zilizochapishwa za 3D
Sehemu zilizochapishwa za 3D
Sehemu zilizochapishwa za 3D
Sehemu zilizochapishwa za 3D

Kushikilia safu mbili za onyesho na kuziweka kwenye chupa nilichapisha pete za umbali wa pande zote kwa fremu ya kuonyesha. Niliongeza faili nilizotumia hapo chini. Ili kuweza kuchapisha hizi bila msaada, zinagawanyika kwa sehemu. Picha ya skrini inaonyesha pete mbili zilizowekwa kwenye fremu ya kuonyesha. Kifuniko cha shingo la chupa ni makazi ya vifungo vitatu vya kubadili kati ya njia za kuonyesha na kuweka wakati wa sasa na wakati wa kulenga. Kifuniko cha shingo la chupa nilichapisha katika TPU nikiruhusu kutelezesha kebo ya USB ndani ya kifuniko bila kukata viunganishi na kuifunga chini na vilima vichache vya waya. Nilisahau kutaja kuwa nilitumia chupa ya divai 1.5 L ambayo nilikata chini kabisa. Sehemu zote zitakazochapishwa zinafaa kwenye kitanda cha printa cha 20x20 (8x8 in).

Hatua ya 3: Kanuni

Nambari ya Arduino inatumia maktaba machache yanayotumiwa sana.

MD_MAX72xx

SPI

Waya

RTClib

Saa za eneo

Muda wa Muda

Kuna mistari michache kwenye faili ya INO ambayo inaweza kuhitaji kubadilisha:

Mstari wa 38: #fafanua HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- inategemea moduli ya 8x8 na mwelekeo wake

badala ya FC16_HW inaweza kuwa moja ya:

- MD_MAX72XX:: PAROLA_HW

- MD_MAX72XX:: GENERIC_HW

- MD_MAX72XX:: ICSTATION_HW

- MD_MAX72XX:: FC16_HW

Nambari inatumia mipangilio ya saa kuu ya Amerika na inahitaji marekebisho kwa maeneo mengine ya wakati:

Mstari wa 53/54:

TimeChangeRule myDST = {"CDT", Pili, Jua, Machi, 2, -300}; // Wakati wa Mchana UTC-5TimeChangeRule mySTD = {"CST", Kwanza, Jua, Novemba, 2, -360}; // Wakati wa kawaida UTC -6

Hii ni rahisi kurekebisha. Jina CST / CDT ni tu kuwa na kumbukumbu. Sionyeshi kifupi-herufi tatu, kwa hivyo haijalishi. Vigezo vifuatavyo vinarejelea siku gani kwa mwezi swichi inafanyika. Marekebisho yako katika dakika, kwa hivyo maeneo yanayotumia +/- dakika 30 marekebisho yatafanya kazi pia.

RTC inaendesha ndani kwa UTC-Time ikiruhusu maktaba ya saa kufanya kazi kama ilivyokusudiwa. Unaweza kushangaa kwa nini nambari hiyo inarejelea chip ya zamani ya DS1307 kinyume na saa ya saa niliyotumia, lakini hii haijalishi. Maktaba inafanya kazi vizuri na chip yoyote. DS1307 ina tabia ya kusogea mbali zaidi ya DS3132. DS3132 ni saa inayopendelewa. Kwa wale ambao wangependa kuongeza wakati wa mtandao, ESP8266 itafanya kazi hiyo kwa urahisi. Hii inaweza kufanya RTC kizamani. Ikiwa unafanya mabadiliko haya, tumia Arduino EEPROM kuhifadhi wakati uliolengwa, nilitumia RTC EEPROM kufanya hivyo.

Hatua ya 4: Uendeshaji na Mipangilio

Uendeshaji na Mipangilio
Uendeshaji na Mipangilio
Uendeshaji na Mipangilio
Uendeshaji na Mipangilio
Uendeshaji na Mipangilio
Uendeshaji na Mipangilio

Kuna vifungo vitatu

1. Menyu / mipangilio

2. Juu

3. Chini

Kitufe cha menyu kinaruhusu baiskeli kupitia aina tatu za onyesho: Wakati wa sasa, Wakati unaolengwa, Wakati wa Delta. Wakati wa Delta unaonyesha idadi ya siku, HH / MM / SS kati ya wakati wa sasa na wakati wa kulenga. Itaonyesha t- na kuhesabu chini ikiwa lengo liko katika siku zijazo au t + na kuhesabu ikiwa lengo liko zamani.

Ili kurekebisha wakati wa sasa au wa kulenga, chagua wakati wa sasa au onyesho la wakati unaolengwa. Ili kubadilisha wakati, shikilia kitufe cha menyu kwa sekunde 2 na utoe ambayo itakuleta kwenye hali ya mipangilio. "/" Au "jirani": "itageuka kuwa" "kuonyesha ni nambari gani unayoirekebisha. Tumia vitufe vya juu / chini kurekebisha hh / mm / ss na mm / dd / yy. Sikuongeza mpangilio wa kubadili kati ya mm / dd / yy na dd / mm / yy, hii inahitaji kubadilishwa katika nambari au labda mtu yuko tayari kuongeza huduma hii.

Utagundua kuwa ukizidi dakika 59 au chini ya 00, maonyesho ya saa yatabadilika pia. hiyo hiyo ni kweli kwa sekunde, masaa na siku kubadilisha thamani inayofuata ikiwa unavuka chini ya 0 au juu ya kiwango cha juu cha nambari hii. Nilifanya hivi ili kuzuia kupanga vipindi anuwai vya miezi ya kibinafsi na ikiwa Februari inahitaji siku 29 katika mwaka wa kuruka. Kurekebisha wakati kunafanywa kwa wakati wa wakati, sekunde tangu Jan-1-1970.

Niliongeza video rahisi kuonyesha kuhesabu. Nilitaka kuzifanya hizi kama onyesho la gurudumu linalogeuka. Ikiwa ungependa kurekebisha muda wa mabadiliko, laini ya 69 kwenye INO inakupa chaguzi kadhaa za kuharakisha au kupunguza kasi ya mabadiliko. 120ms ingefanya nambari kusonga polepole vya kutosha kwani itakuwa gurudumu inayoendelea.

Natumai ulifurahiya hii inayoweza kufundishwa.

Patrick Geschwindner

Ilipendekeza: