Kazalo:
- Zaloge
- Korak: Povežite komponente
- 2. korak: 3D natisnjeni deli
- 3. korak: Koda
- 4. korak: Delovanje in nastavitve
Video: Ura za upokojitev / štetje navzgor / ura Dn: 4 koraki (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
V predalu sem imel nekaj teh 8-palčnih matričnih zaslonov LED in razmišljal, kaj naj naredim z njimi. Navdihnjen z drugimi navodili sem dobil idejo, da bi sestavil zaslon za odštevanje/navzgor za odštevanje do prihodnjega datuma/časa, in če je ciljni čas minil, odštejte od njega. To sem zdaj naredil za upokojitveno uro na polici.
Zamisel, da bi jo dali v steklenico, je bila bolj naključje, ko smo razmišljali o ohišju. Drugi dajo ladje v steklenico, zakaj ne ura?
Želel sem tudi, da bi ura upoštevala poletni čas in si seveda zapomnila nastavitve in čas, ko je bila izključena. Napajam uro prek USB -ja, zato jo je mogoče ponovno programirati, če želite narediti nekaj drugačnega ali samo dodati funkcije kodi. Koda je precej preprosta in bi lahko uporabila tudi veliko optimizacije. Moram priznati, da nisem dovolj skrbel za porabo RAM -a. Če bom imel čas in motivacijo, se bom vrnil k temu.
Zaloge
1. Arduino Nano
2. RTC (uporabil sem skupni DS3231, ki ima tudi EEPROM)
3. Matrični modul 12x 8x8. (Imel sem štirikolesne module, ki jih je lažje postaviti)
4. LDR za prilagoditev svetlosti zaslona
5. Upor 10 kOhm
6. Kondenzator 5x 100 uF, ki zavira konice z zaslona
7. Za povečanje kontrasta modulov 8x8 sem uporabil temno obarvan "Window Film". Zaslon prikazuje LED diode kot bele pike, če ne svetijo. Okenski film postane sijoč črn.
Korak: Povežite komponente
Za sestavo zaslona sem uporabil tri štirikotne zaslone. Za prikaz datuma s poševnicami in časa z dvopičjem potrebujemo prostor za 8 znakov. Z uporabo tipične pisave 5x7 bi potrebovali šest blokov 8x8 na vrstico. Enega od štirikolesnih blokov sem prerezal na pol in jih razporedil v dve vrsti po šest blokov, kot je prikazano na shemi matične plošče.
2. korak: 3D natisnjeni deli
Za držanje dveh vrstic zaslona in njihovo postavitev v steklenico sem natisnil okrogle obroče za okvir zaslona. Spodaj sem dodal datoteke, ki sem jih uporabil. Če jih želite tiskati brez podpore, so razdeljeni na dele. Posnetek zaslona prikazuje dva obroča, prilepljena na okvir zaslona. Na pokrovu steklenice so trije gumbi za preklapljanje med načini prikaza in nastavitvijo trenutnega in ciljnega časa. Ovitek za vrat steklenice, ki sem ga natisnil v TPU -ju, je omogočil, da kabel USB potisnete v pokrov, ne da bi odrezali priključke in ga privezali z nekaj navitji žice. Pozabil sem omeniti, da sem uporabil 1,5 -litrsko steklenico vina, ki sem jo prerezal na dnu. Vsi deli za tiskanje so nameščeni na ležišču za tiskalnik velikosti 20x20 cm (8x8 palcev).
3. korak: Koda
Koda Arduino uporablja nekaj pogosto uporabljanih knjižnic.
MD_MAX72xx
SPI
Žica
RTClib
Časovni pas
TimeLib
V datoteki INO je nekaj vrstic, ki jih bo morda treba spremeniti:
Vrstica 38: #define HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- odvisno od modula 8x8 in njegove usmerjenosti
namesto FC16_HW bi lahko bil eden od:
- MD_MAX72XX:: PAROLA_HW
- MD_MAX72XX:: GENERIC_HW
- MD_MAX72XX:: ICSTATION_HW
- MD_MAX72XX:: FC16_HW
Koda uporablja nastavitve za centralni čas ZDA in jo je treba prilagoditi za druge časovne pasove:
Vrstica 53/54:
TimeChangeRule myDST = {"CDT", Drugo, Sonce, Mar, 2, -300}; // Poletni čas UTC -5TimeChangeRule mySTD = {"CST", Prvi, Ned, 2., 2., -360}; // Standardni čas UTC -6
To je enostavno prilagoditi. Ime CST/CDT je samo referenca. Ne prikažem tričrkovne okrajšave, zato ni pomembno. Naslednji parametri se nanašajo na dan v mesecu, v katerem poteka preklop. Prilagajanje je v minutah, zato bodo delovale tudi lokacije, ki uporabljajo nastavitve +/- 30 minut.
RTC deluje interno v UTC-času, kar knjižnici časovnega pasu omogoča pravilno delovanje. Morda se sprašujete, zakaj se koda sklicuje na starejši čip DS1307 v nasprotju s čipom ure, ki sem ga uporabil, vendar to ni pomembno. Knjižnica dobro deluje z enim in drugim čipom. DS1307 se ponavadi oddaljuje bolj kot DS3132. najprimernejša ura je DS3132. Za tiste, ki bi radi dodali internetni čas, bo ESP8266 delo opravil precej enostavno. Zaradi tega bi bil RTC zastarel. Če izvajate te spremembe, uporabite Arduino EEPROM za shranjevanje ciljnega časa, za to sem uporabil RTC EEPROM.
4. korak: Delovanje in nastavitve
Obstajajo trije gumbi
1. Meni / nastavitve
2. Navzgor
3. Dol
Menijski gumb omogoča kolesarjenje po treh vrstah prikaza: trenutni čas, ciljni čas, čas delte. Delta čas prikazuje število dni, HH/MM/SS med trenutnim časom in ciljnim časom. Prikazal bo t- in odštevanje, če je cilj v prihodnosti ali t+, ter odštevanje, če je cilj v preteklosti.
Če želite prilagoditi trenutni ali ciljni čas, izberite trenutni čas ali prikaz ciljnega časa. Če želite spremeniti čas, držite gumb menija 2 sekundi in ga spustite, kar vas bo pripeljalo v način nastavitve. Sosednje "/" ali ":" se spremeni v "", da označi, katero številko prilagajate. Z gumboma gor/dol prilagodite posamezne hh/mm/ss in mm/dd/yy. Nisem dodal nastavitve za preklop med mm/dd/yy in dd/mm/yy, to je treba spremeniti v kodi ali pa je morda kdo pripravljen dodati to funkcijo.
Opazili boste, da se bo, če stopite čez minute nad 59 ali pod 00, prikaz ure tudi prilagodil. enako velja za sekunde, ure in dneve, ki spremenijo naslednjo višjo vrednost, če prečkate pod 0 ali nad največjo vrednostjo te številke. To sem storil, da bi se izognil programiranju različnih omejitev posameznih mesecev in če februar v prestopnem letu potrebuje 29 dni. Prilagoditev časa se dejansko izvede v času epohe, sekunde od 1. januarja 1970.
Za prikaz štetja sem dodal preprost video. Hotel sem jih narediti kot zaslon za obračanje koles. Če želite prilagoditi trajanje spremembe, vrstica 69 v INO ponuja nekaj možnosti za pospešitev ali upočasnitev spremembe. Zaradi 120 ms bi se številke pomikale dovolj počasi, saj bi to bilo neprekinjeno tečeče kolo.
Upam, da ste uživali v tem navodilu.
Patrick Geschwindner
Priporočena:
AccuRep: naprava za štetje potiskov: 8 korakov (s slikami)
AccuRep: naprava za štetje potiskov: poznam veliko ljudi, ki so začeli pripravljati to karanteno. Težava pri domačih treningih je pomanjkanje opreme za telovadbo. Moje vadbe večinoma vsebujejo sklece. Da se resnično potisnem, med vadbo poslušam rock glasbo. Težava je v številu predstavnikov
Štetje od 0 do 9999 pri 8051 z uporabo 7 -segmentnega zaslona: 5 korakov
Štetje od 0 do 9999 pri 8051 z uporabo 7 -segmentnega zaslona: Pozdravljeni, v tej vadnici vam bomo povedali, kako šteti od 0 do 9999 s štirimi 7 -segmentnimi zasloni z uporabo samo enojnih vrat in 4 digitalnih zatičev
Pametna košarkarska arkadna igra z obroči za štetje rezultatov z vgrajeno platformo Evive- Arduino: 13 korakov
Pametna arkadna igra za košarko z obroči za štetje rezultatov z vgrajeno platformo Evive- Arduino: Od vseh iger, ki so na voljo, so najbolj zabavne arkadne igre. Tako smo pomislili, zakaj si tega ne bi naredili sami doma! In tu smo, najbolj zabavna DIY igra, ki bi jo kdaj igrali - DIY Arcade Basketball Game! Ne samo, da je
HackerBox 0039: Raven navzgor: 16 korakov
HackerBox 0039: Raven: HackerBox 0039 HackerBox Hekerji po vsem svetu uporabljajo napajalnike ATX za poganjanje svojih projektov, spoznavajo, kako tranzistorji sestavljajo logična vrata, in raziskujejo vsebino mobilnih kartic SIM. Ta navodila vsebujejo informacije
Samodejno stikalo za tipkovnico in miško - stikalo USB navzgor: 5 korakov
Samodejno stikalo za tipkovnico in miško - stikalo USB Upstream: V tem projektu bomo sestavili samodejno stikalo za tipkovnico in miško, ki omogoča preprosto skupno rabo med dvema računalnikoma. Ideja za ta projekt je prišla iz moje potrebe, da imam v vsakem trenutku dva računalnika moja laboratorijska miza. Večinoma je to moj D