Përmbajtje:

Ora e daljes në pension / Numërimi / Ora Dn: 4 hapa (me fotografi)
Ora e daljes në pension / Numërimi / Ora Dn: 4 hapa (me fotografi)

Video: Ora e daljes në pension / Numërimi / Ora Dn: 4 hapa (me fotografi)

Video: Ora e daljes në pension / Numërimi / Ora Dn: 4 hapa (me fotografi)
Video: Nobody Is Allowed Inside! ~ Phenomenal Abandoned Manor Left Forever 2024, Nëntor
Anonim
Ora e Pensionit / Numërimi / Ora Dn
Ora e Pensionit / Numërimi / Ora Dn

Unë kisha disa nga këto ekrane 8x8 LED të pikës së matricës në sirtar dhe po mendoja se çfarë të bëja me to. Frymëzuar nga instruksione të tjera, më lindi ideja për të ndërtuar një ekran numërimi mbrapsht/lart për të numëruar deri në një datë/kohë të ardhshme dhe nëse koha e synuar kaloi, numëroni nga ajo. Unë e bëra këtë tani orën time të pensionit ulur në raft.

Ideja për ta vënë atë në një shishe ishte më shumë një aksident ndërsa mendonit për një shtresë. Të tjerët i vendosin anijet në një shishe, pse jo një orë?

Unë gjithashtu doja të bëja që ora t'i bindej orës së kursimit të ditës dhe natyrisht të mbaja mend cilësimet dhe kohën kur të mos shkëputesh. Unë po fuqizoj orën përmes USB, gjë që e bën atë të riprogramueshme nëse dëshironi të bëni diçka të ndryshme ose thjesht të shtoni veçori në kod. Kodi është mjaft i thjeshtë dhe gjithashtu mund të përdorë shumë optimizim. Unë nuk u kujdesa mirë për konsumin e RAM -it duhet ta pranoj. Nëse kam kohë dhe motivim, do të kthehem në të.

Furnizimet

1. Arduino Nano

2. RTC (Kam përdorur DS3231 të zakonshëm i cili gjithashtu ka një EEPROM)

3. Modul matricë 12x 8x8 pika. (Unë kisha modulet kuadratikë të cilët janë më të lehtë për tu rreshtuar)

4. LDR për të rregulluar shkëlqimin e ekranit

5. Rezistencë 10 kOhm

6. Kondensatori 5x 100 uF duke shtypur thumba nga ekrani

7. Për të rritur kontrastin e moduleve 8x8, kam përdorur "Film Window" me ngjyrë të errët. Ekrani tregon LED -të si pika të bardha nëse nuk ndizen. Filmi i dritares e kthen atë një pamje të zezë me shkëlqim.

Hapi 1: Lidhni Komponentët

Lidhni Komponentët
Lidhni Komponentët
Lidhni Komponentët
Lidhni Komponentët

Kam përdorur tre nga katër ekranet për të montuar ekranin. Për të treguar një datë me pika të shkurtra dhe kohë me dy pika, na duhet hapësirë për 8 karaktere. Duke përdorur fontin tipik 5x7, do të na duheshin gjashtë blloqe 8x8 për rresht. Unë e preva njërën nga blloqet katërsh në gjysmë dhe i radhita këto si dy rreshta me gjashtë blloqe siç tregohet në skemën e bukës.

Hapi 2: Pjesët e printuara në 3D

Pjesë të printuara 3D
Pjesë të printuara 3D
Pjesë të printuara 3D
Pjesë të printuara 3D
Pjesë të printuara 3D
Pjesë të printuara 3D

Për të mbajtur dy rreshtat e ekranit dhe për t'i vendosur ato në shishe kam shtypur unaza në distancë të rrumbullakët për kornizën e ekranit. Shtova skedarët që përdor më poshtë. Për të qenë në gjendje t'i printoni këto pa mbështetje, ato ndahen në pjesë. Pamja e ekranit po tregon dy unazat e ngjitura në kornizën e ekranit. Mbulesa e qafës së shisheve përmban tre butona për të kaluar midis modaliteteve të ekranit dhe vendosjes së kohës aktuale dhe kohës së synuar. Mbulesa e qafës së shisheve e kam shtypur në TPU duke lejuar që të rrëshqasë kabllon USB në kapak pa i prerë lidhësit dhe ta lidhë atë me disa mbështjellje tela. Kam harruar të përmend se kam përdorur një shishe verë 1.5 L të cilën e kam prerë në fund. Të gjitha pjesët që do të printohen janë të vendosura në një shtrat printeri 20x20 cm (8x8 in).

Hapi 3: Kodi

Kodi Arduino po përdor disa biblioteka të përdorura zakonisht.

MD_MAX72xx

SPI

Tela

RTClib

Zonë kohore

TimeLib

Ka disa rreshta në skedarin INO të cilat mund të kenë nevojë të ndryshojnë:

Linja 38: #përcakto HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- varet nga moduli 8x8 dhe orientimi i tij

në vend të FC16_HW mund të ishte një nga:

- MD_MAX72XX:: PAROLA_HW

- MD_MAX72XX:: GENERIC_HW

- MD_MAX72XX:: ICSTATION_HW

- MD_MAX72XX:: FC16_HW

Kodi po përdor cilësimet për kohën Qendrore të SHBA dhe ka nevojë të rregullohet për zonat e tjera kohore:

Linja 53/54:

TimeChangeRule myDST = {"CDT", Së dyti, Diell, Mars, 2, -300}; // Koha e ditës UTC -5TimeChangeRule mySTD = {"CST", Së pari, E Diel, Nëntor, 2, -360}; // Koha standarde UTC -6

Kjo është e lehtë për tu rregulluar. Emri CST/CDT është vetëm për të pasur një referencë. Unë nuk e shfaq shkurtesën me tre shkronja, kështu që nuk ka rëndësi. Parametrat e mëposhtëm i referohen se në cilën ditë të muajit po ndodh ndërrimi. Rregullimi është në minuta, kështu që vendet që përdorin rregullime +/- 30 minuta do të funksionojnë gjithashtu.

RTC po funksionon brenda në UTC-Time duke lejuar që biblioteka e zonës kohore të funksionojë siç është menduar. Ju mund të pyesni veten pse kodi po i referohet çipit më të vjetër DS1307 në kundërshtim me çipin e orës që kam përdorur, por kjo nuk ka rëndësi. Biblioteka po punon mirë me secilin çip. DS1307 ka tendencën të largohet më shumë se DS3132. ora DS3132 është ora e preferuar. Për ata që duan të shtojnë kohë në internet, një ESP8266 do ta bëjë punën mjaft lehtë. Kjo mund ta bëjë RTC të vjetëruar. Nëse jeni duke bërë këto ndryshime, përdorni Arduino EEPROM për të ruajtur kohën e synuar, unë kam përdorur RTC EEPROM për ta bërë këtë.

Hapi 4: Funksionimi dhe cilësimet

Funksionimi dhe cilësimet
Funksionimi dhe cilësimet
Funksionimi dhe cilësimet
Funksionimi dhe cilësimet
Funksionimi dhe cilësimet
Funksionimi dhe cilësimet

Ka tre butona

1. Menyja / cilësimet

2. Lart

3. Poshtë

Butoni i menysë lejon lëvizjen me biçikletë në tre tipet e ekranit: Koha aktuale, Koha e synuar, Koha Delta. Koha Delta po tregon numrin e ditëve, HH/MM/SS midis kohës aktuale dhe kohës së synuar. Ai do të tregojë t- dhe numërimin mbrapsht nëse objektivi është në të ardhmen ose t+ dhe numërimin nëse objektivi është në të kaluarën.

Për të rregulluar kohën aktuale ose të synuar, zgjidhni kohën aktuale ose shfaqjen e kohës së synuar. Për të ndryshuar kohën, mbani butonin e menysë për 2 sekonda dhe lëshoni i cili do t'ju sjellë në modalitetin e cilësimit. "/" Ose ":" fqinjë do të kthehet në "" për të treguar se cilën shifër po e rregulloni. Përdorni butonat lart/poshtë për të rregulluar hh/mm/ss dhe mm/dd/yy. Unë nuk shtova një cilësim për të kaluar midis mm/dd/yy dhe dd/mm/yy, kjo duhet të ndryshojë në kod ose ndoshta dikush është i gatshëm të shtojë këtë veçori.

Do të vini re se nëse i kaloni minutat mbi 59 ose nën 00, shfaqja e orës gjithashtu do të rregullohet. e njëjta gjë është e vërtetë për sekondat, orët dhe ditët që ndryshojnë vlerën tjetër më të lartë nëse kaloni nën 0 ose mbi maksimumin për këtë shifër. Unë e bëra këtë për të shmangur programimin e kufijve të ndryshëm të muajve individualë dhe nëse shkurtit i duhen 29 ditë në një vit të brishtë. Rregullimi i kohës bëhet në të vërtetë në epokë, sekonda që nga Janari-1-1970.

Shtova një video të thjeshtë për të treguar numërimin. Doja t'i bëja këto si një ekran rrotullues. Nëse ju pëlqen të rregulloni kohëzgjatjen e ndryshimit, rreshti 69 në INO ju jep disa mundësi për të shpejtuar ose ngadalësuar ndryshimin. 120ms do t'i bënte shifrat të lëvizin mjaft ngadalë pasi do të ishte një rrotë që vazhdimisht funksiononte.

Shpresoj se ju ka pëlqyer kjo udhëzues.

Patrick Geschwindner

Recommended: