Satura rādītājs:
- Piegādes
- 1. darbība: pievienojiet komponentus
- 2. darbība: 3D drukātās detaļas
- 3. darbība: kods
- 4. darbība: darbība un iestatījumi
Video: Pensijas pulkstenis / skaitīšana uz augšu / Dn pulkstenis: 4 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Man atvilktnē bija daži no šiem 8x8 LED punktu matricas displejiem un domāju, ko ar tiem iesākt. Iedvesmojoties no citiem norādījumiem, man radās ideja izveidot atpakaļskaitīšanas/atpakaļskaitīšanas displeju, lai skaitītu atpakaļ līdz nākamajam datumam/laikam un, ja ir pagājis mērķa laiks, skaitīt no tā. Es to tagad izveidoju par savu pensijas pulksteni, kas sēdēja plauktā.
Ideja to ielikt pudelē drīzāk bija nelaimes gadījums, domājot par apvalku. Citi ieliek kuģus pudelē, kāpēc ne pulksteni?
Es arī gribēju likt pulkstenim ievērot vasaras laiku un, protams, atcerēties iestatījumus un laiku, kad tiek atvienots no elektrotīkla. Es baroju pulksteni, izmantojot USB, kas padara to pārprogrammējamu, ja vēlaties kaut ko darīt citādi vai vienkārši pievienot koda funkcijas. Kods ir diezgan vienkāršs un var izmantot arī daudz optimizācijas. Man nav pienācīgi rūpējies par RAM patēriņu, jāatzīst. Ja man būs laiks un motivācija, es pie tā atgriezīšos.
Piegādes
1. Arduino Nano
2. RTC (es izmantoju parasto DS3231, kuram ir arī EEPROM)
3. 12x 8x8 punktu matricas modulis. (Man bija četrkodolu moduļi, kurus ir vieglāk salikt rindā)
4. LDR, lai pielāgotu displeja spilgtumu
5. Rezistors 10 kOhm
6. Kondensators 5x 100 uF slāpēšanas tapas no displeja
7. Lai palielinātu 8x8 moduļu kontrastu, es izmantoju tumši tonētu "Window Film". Displejā gaismas diodes ir redzamas kā balti punkti, ja tās nedeg. Logu plēve padara to par spīdīgi melnu izskatu.
1. darbība: pievienojiet komponentus
Displeja salikšanai es izmantoju trīs no četrkodolu displejiem. Lai parādītu datumu ar slīpsvītrām un laiku ar kolu, mums ir nepieciešama vieta 8 rakstzīmēm. Izmantojot tipisko 5x7 fontu, mums ir nepieciešami seši 8x8 bloki katrā rindā. Es pārgriezu vienu no četrvietīgajiem blokiem uz pusēm un sakārtoju tos kā divas rindas pa sešiem blokiem, kā parādīts maizes dēļa shēmā.
2. darbība: 3D drukātās detaļas
Lai noturētu abas displeja rindas un ievietotu tās pudelē, es izdrukāju displeja rāmim apaļus attāluma gredzenus. Es pievienoju failus, kurus izmantoju zemāk. Lai tos varētu izdrukāt bez atbalsta, tie ir sadalīti daļās. Ekrānuzņēmumā ir redzami divi gredzeni, kas pielīmēti pie displeja rāmja. Pudeles kakla vāciņā ir trīs pogas, lai pārslēgtos starp displeja režīmiem un iestatītu pašreizējo laiku un mērķa laiku. Pudeles kakla vāciņš, ko es iespiedu TPU, ļauj iebīdīt USB kabeli vāciņā, nenogriežot savienotājus un sasiet to ar dažiem stieples tinumiem. Aizmirsu pieminēt, ka izmantoju 1,5 L vīna pudeli, kuru sagriezu pašā apakšā. Visas drukājamās detaļas ir uzstādītas uz 20x20 cm (8x8 collu) printera gultas.
3. darbība: kods
Arduino kods izmanto dažas parasti izmantotās bibliotēkas.
MD_MAX72xx
SPI
Vads
RTClib
Laika zona
TimeLib
INO failā ir dažas rindiņas, kuras, iespējams, būs jāmaina:
38. rinda: #define HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- atkarīgs no 8x8 moduļa un tā orientācijas
FC16_HW vietā tas varētu būt viens no:
- MD_MAX72XX:: PAROLA_HW
- MD_MAX72XX:: GENERIC_HW
- MD_MAX72XX:: ICSTATION_HW
- MD_MAX72XX:: FC16_HW
Kods izmanto ASV centrālā laika iestatījumus, un tas ir jāpielāgo citām laika joslām.
53./54. Rinda:
TimeChangeRule myDST = {"CDT", Second, Sun, Mar, 2, -300}; // Vasaras laiks UTC -5TimeChangeRule mySTD = {"CST", First, Sun, Nov, 2, -360}; // Standarta laiks UTC -6
To ir viegli pielāgot. Nosaukumam CST/CDT ir tikai atsauce. Es nerāda trīs burtu saīsinājumu, tāpēc tam nav nozīmes. Nākamie parametri attiecas uz to, kurā mēneša dienā notiek pārslēgšanās. Pielāgošana notiek minūtēs, tāpēc darbosies arī vietas, kurās tiek izmantoti +/- 30 minūšu pielāgojumi.
RTC darbojas iekšēji UTC-Time, ļaujot laika joslas bibliotēkai darboties, kā paredzēts. Jums var rasties jautājums, kāpēc kods atsaucas uz vecāku DS1307 mikroshēmu pretēji manis izmantotajai pulksteņa mikroshēmai, taču tam nav nozīmes. Bibliotēka darbojas labi ar jebkuru mikroshēmu. DS1307 ir tendence nobīdīties vairāk nekā DS3132. vēlamais pulkstenis ir DS3132. Tiem, kas vēlas pievienot interneta laiku, ESP8266 darīs šo darbu diezgan viegli. Tas var padarīt RTC novecojušu. Ja veicat šīs izmaiņas, izmantojiet Arduino EEPROM, lai saglabātu mērķa laiku, es to izmantoju, izmantojot RTC EEPROM.
4. darbība: darbība un iestatījumi
Ir trīs pogas
1. Izvēlne / iestatījumi
2. Uz augšu
3. Uz leju
Izvēlnes poga ļauj pārvietoties pa trim displeja tipiem: pašreizējais laiks, mērķa laiks, delta laiks. Delta laiks parāda dienu skaitu, HH/MM/SS starp pašreizējo laiku un mērķa laiku. Tas parādīs t- un atpakaļskaitīšanu, ja mērķis ir nākotnē vai t+, un skaitīs augšup, ja mērķis ir pagātnē.
Lai pielāgotu pašreizējo vai mērķa laiku, atlasiet pašreizējā laika vai mērķa laika displeju. Lai mainītu laiku, 2 sekundes turiet nospiestu izvēlnes pogu un atlaidiet to, lai jūs nonāktu iestatīšanas režīmā. Blakus esošais "/" vai ":" pārvērtīsies par "", lai norādītu, kuru ciparu jūs pielāgojat. Izmantojiet augšup/lejup vērstās pogas, lai pielāgotu individuālos hh/mm/ss un mm/dd/yy. Es nepievienoju iestatījumu, lai pārslēgtos starp mm/dd/ggg un dd/mm/gg., Tas ir jāmaina kodā, vai varbūt kāds vēlas pievienot šo funkciju.
Jūs pamanīsit, ka, ja jūs pārsniegsit minūtes virs 59 vai zem 00, tiks pielāgots arī stundu displejs. tas pats attiecas uz sekundēm, stundām un dienām, mainot nākamo augstāko vērtību, ja šķērsojat zem 0 vai virs šī skaitļa maksimālās vērtības. Es to darīju, lai izvairītos no atsevišķu mēnešu ierobežojumu programmēšanas un ja februārim ir vajadzīgas 29 dienas lēciena gadā. Laika pielāgošana faktiski tiek veikta laikmeta laikā, sekundēs kopš 1.-1970. Gada janvāra.
Es pievienoju vienkāršu video, lai parādītu skaitīšanu. Es gribēju tos padarīt kā rotējošus riteņu displejus. Ja vēlaties pielāgot izmaiņu ilgumu, INO 69. rindā ir dažas iespējas, kā paātrināt vai palēnināt izmaiņas. 120 ms liktu cipariem ritināt pietiekami lēni, jo tas būtu nepārtraukti strādājošs ritenis.
Es ceru, ka jums patika šī pamācība.
Patriks Gesvindners
Ieteicams:
Skaitīšana no 0 līdz 9999 ar 8051, izmantojot 7 segmentu displeju: 5 soļi
Skaitīšana no 0 līdz 9999 ar 8051, izmantojot 7 segmentu displeju: Sveiki visiem! Šajā apmācībā mēs jums pastāstīsim, kā skaitīt no 0 līdz 9999, izmantojot četrus 7 segmentu displejus, izmantojot tikai vienu portu un 4 digitālās tapas
Automātiska punktu skaitīšana nelielai Skee-Ball spēlei: 10 soļi (ar attēliem)
Automātiska punktu skaitīšana nelielai Skee-Ball spēlei: mājās gatavotas Skee-Ball spēles var sagādāt lielu prieku visai ģimenei, taču to trūkums vienmēr ir bijis automātiskās punktu skaitīšanas trūkums. Iepriekš esmu izveidojis Skee-Ball mašīnu, kas spēles bumbiņas sadalīja atsevišķos kanālos, pamatojoties uz sc
4 bitu binārais skaitītājs uz augšu/uz leju: 11 soļi
4 bitu binārais skaitītājs uz augšu/uz leju: skaitītājs ir 4 bitu binārais skaitītājs uz augšu/uz leju. Tas ir, šis skaitītājs var skaitīt no 0 līdz 15 vai no 15 līdz 0, jo tas skaitās uz augšu vai uz leju. Projekts ir binārs skaitītājs, kas izgatavots ar 4029, 555 un 4-10 mm gaismas diodi, galvenokārt izmantojot dubultu iegremdēšanu
Raspberry Pi Objektu skaitīšana: 5 soļi
Raspberry Pi Objektu skaitīšana: datora redze, bez šaubām, ir fantastiska lieta! Izmantojot to, dators iegūst iespēju " skatīt " un labāk uztvert apkārtējo vidi, kas ļauj izstrādāt sarežģītas, noderīgas un foršas lietojumprogrammas. Lietojumprogrammas, piemēram, fa
HackerBox 0039: līmenis uz augšu: 16 soļi
HackerBox 0039: līmenis uz augšu: Izmantojot HackerBox 0039, HackerBox Hackers visā pasaulē izmanto ATX barošanas avotus, lai darbinātu savus projektus, apgūtu, kā tranzistori veido loģiskos vārtus, un pēta mobilo sakaru SIM karšu saturu. Šajā pamācībā ir informācija