Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Ikonekta ang Mga Sangkap
- Hakbang 2: Mga Naka-print na Bahaging 3D
- Hakbang 3: Ang Code
- Hakbang 4: Pagpapatakbo at Mga Setting
Video: Retire Clock / Count Up / Dn Clock: 4 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Mayroon akong ilan sa mga 8x8 LED dot-matrix na ipinapakita sa drawer at iniisip kung ano ang gagawin sa kanila. May inspirasyon ng iba pang mga itinuturo, nakuha ko ang ideya na bumuo ng isang count down / up na display upang mabilang sa isang hinaharap na petsa / oras at kung lumipas ang target na oras, bilangin mula rito. Ginawa ko ito ngayon ang aking relo sa pagreretiro na nakaupo sa istante.
Ang ideya na ilagay ito sa isang bote ay higit pa sa isang aksidente habang iniisip ang tungkol sa isang pambalot. Ang iba ay naglalagay ng mga barko sa isang bote, bakit hindi isang orasan?
Nais ko ring gawin ang orasan na sumunod sa oras ng pag-save ng daylight at syempre alalahanin ang mga setting at oras kapag na-unplug. Pinapagana ko ang orasan sa pamamagitan ng USB na ginagawang muli itong ma-program kung nais mong gumawa ng ibang bagay o magdagdag lamang ng mga tampok sa code. Ang code ay medyo simple at maaari ring gumamit ng maraming pag-optimize. Hindi ko alagang-alaga ang tungkol sa pagkonsumo ng RAM na dapat kong aminin. Kung nakuha ko ang oras at pagganyak, babalik ako rito.
Mga gamit
1. Arduino Nano
2. RTC (Ginamit ko ang karaniwang DS3231 na mayroon ding EEPROM)
3. 12x 8x8 dot matrix module. (Nagkaroon ako ng mga quad module na mas madaling mag-line up)
4. LDR upang ayusin ang liwanag ng display
5. Resistor 10 kOhm
6. Capacitor 5x 100 uF suppressing spike mula sa display
7. Upang madagdagan ang kaibahan ng mga modyul na 8x8, ginamit ko ang madilim na makulay na "Window Film". Ipinapakita ng Display ang mga LED bilang puting tuldok kung hindi naiilawan. Ginawang isang makintab na itim na hitsura ng window film.
Hakbang 1: Ikonekta ang Mga Sangkap
Gumamit ako ng tatlo sa mga quad display upang tipunin ang display. Upang maipakita ang isang petsa na may mga slash at oras sa mga colon, kailangan namin ng puwang para sa 8 character. Gamit ang karaniwang 5x7 font, kakailanganin namin ng anim na 8x8 na mga bloke bawat hilera. Pinagputol ko ang isa sa mga quad block sa kalahati at inayos ang mga ito bilang dalawang mga hilera sa pamamagitan ng anim na mga bloke tulad ng ipinakita sa iskema ng breadboard.
Hakbang 2: Mga Naka-print na Bahaging 3D
Upang hawakan ang dalawang hilera ng display at iposisyon ang mga ito sa bote na naka-print ko ang mga bilog na singsing para sa display frame. Idinagdag ko ang mga file na ginamit ko sa ibaba. Upang mai-print ang mga ito nang walang suporta, nahahati sila sa mga bahagi. Ipinapakita ng screenshot ang dalawang singsing na nakadikit sa display frame. Ang takip ng leeg ng bote ay ang pabahay ng tatlong mga pindutan upang lumipat sa pagitan ng mga mode ng pagpapakita at pagtatakda ng kasalukuyang oras at target na oras. Ang takip ng leeg ng bote ay na-print ko sa TPU na nagpapahintulot na i-slide ang USB cable sa takip nang hindi pinuputol ang mga konektor at itali ito sa ilang mga paikot-ikot na kawad. Nakalimutan kong banggitin na gumamit ako ng isang 1.5 L na bote ng alak na pinutol ko sa pinakailalim. Ang lahat ng mga bahagi na mai-print ay umaangkop sa isang 20x20 cm (8x8 in) printer bed.
Hakbang 3: Ang Code
Ang Arduino code ay gumagamit ng ilang karaniwang ginagamit na mga aklatan.
MD_MAX72xx
SPI
Kawad
RTClib
Timezone
TimeLib
Mayroong ilang mga linya sa INO file na maaaring mangailangan ng pagbabago:
Linya 38: #define HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- nakasalalay sa 8x8 module at ang oryentasyon nito
sa halip na FC16_HW maaari itong isa sa:
- MD_MAX72XX:: PAROLA_HW
- MD_MAX72XX:: GENERIC_HW
- MD_MAX72XX:: ICSTATION_HW
- MD_MAX72XX:: FC16_HW
Gumagamit ang code ng mga setting para sa oras ng US Central at kailangan ng pagsasaayos para sa iba pang mga time zone:
Linya 53/54:
TimeChangeRule myDST = {"CDT", Pangalawa, Araw, Mar, 2, -300}; // Daylight Time UTC-5TimeChangeRule mySTD = {"CST", Una, Araw, Nob, 2, -360}; // Standard time UTC -6
Madali itong ayusin. Ang pangalang CST / CDT ay dapat lamang magkaroon ng isang sanggunian. Hindi ko ipinapakita ang pagdadaglat ng tatlong titik, kaya't hindi ito mahalaga. Ang mga susunod na parameter ay tumutukoy sa kung aling araw sa buwan ang switch ay nangyayari. Ilang minuto ang pagsasaayos, kaya gagana rin ang mga lokasyon na gumagamit ng +/- 30 minuto na mga pagsasaayos.
Ang RTC ay tumatakbo nang panloob sa UTC-Time na nagpapahintulot sa library ng timezone na gumana tulad ng nilalayon. Maaari kang magtaka kung bakit ang code ay tumutukoy sa mas matandang DS1307 chip salungat sa orasan na ginamit ko, ngunit hindi ito mahalaga. Ang library ay gumagana nang maayos sa alinman sa maliit na tilad. Ang DS1307 ay may kaugaliang naaanod ng higit sa DS3132. ang DS3132 ang ginustong orasan. Para sa mga nais magdagdag ng oras sa internet, isang ESP8266 ang gagawing madali ang trabaho. Maaari nitong gawing lipas ang RTC. Kung ginagawa mo ang mga pagbabagong ito, gamitin ang Arduino EEPROM upang maiimbak ang oras ng target, ginamit ko ang RTC EEPROM upang gawin ito.
Hakbang 4: Pagpapatakbo at Mga Setting
Mayroong tatlong mga pindutan
1. Menu / setting
2. Pataas
3. Pababa
Pinapayagan ng pindutan ng menu ang pagbibisikleta sa pamamagitan ng tatlong display typess: Kasalukuyang oras, Target na oras, Oras ng Delta. Ipinapakita ng oras ng Delta ang bilang ng mga araw, ang HH / MM / SS sa pagitan ng kasalukuyang oras at oras ng target. Ipapakita itong t- at pagbibilang kung ang target ay nasa hinaharap o t + at pagbibilang kung ang target ay nasa nakaraan.
Upang ayusin ang kasalukuyan o target na oras, piliin ang kasalukuyang oras o display ng target na oras. Upang baguhin ang oras, pindutin nang matagal ang pindutan ng menu ng 2 segundo at palabasin na magdadala sa iyo sa setting mode. Ang kalapit na "/" o ":" ay magiging "" upang ipahiwatig kung aling digit ang iyong inaayos. Gamitin ang mga pindutan ng pataas / pababa upang ayusin ang indibidwal na hh / mm / ss at mm / dd / yy. Hindi ako nagdagdag ng isang setting upang lumipat sa pagitan ng mm / dd / yy at dd / mm / yy, nangangailangan ito ng pagbabago sa code o baka may isang taong nais na idagdag ang tampok na ito.
Mapapansin mo na kung susundan mo ang mga minuto nang higit sa 59 o mas mababa sa 00, ang display ng oras ay aakma din. totoo ang pareho sa mga segundo, oras at araw na binabago ang susunod na mas mataas na halaga kung tumatawid sa ibaba 0 o mas mataas sa max para sa digit na ito. Ginawa ko ito upang maiwasan ang pag-program ng iba`t ibang mga limitasyon ng mga indibidwal na buwan at kung ang Pebrero ay nangangailangan ng 29 araw sa isang leap year. Ang pagsasaayos ng oras ay talagang tapos na sa epoch-time, segundo mula Enero-1-1970.
Nagdagdag ako ng isang simpleng video upang maipakita ang pagbibilang. Nais kong gawin ang mga ito tulad ng isang display ng pagulong ng gulong. Kung nais mong ayusin ang tagal ng pagbabago, ang linya 69 sa INO ay magbibigay sa iyo ng ilang mga pagpipilian upang mapabilis o mabagal ang pagbabago. 120ms ay gagawing mabagal ang mga digit na mag-scroll ng sapat dahil ito ay magiging isang tuloy-tuloy na gulong.
Inaasahan kong nasiyahan ka sa pagtuturo na ito.
Patrick Geschwindner
Inirerekumendang:
Paano Mag-disassemble ng isang Computer Na May Madaling Hakbang at Mga Larawan: 13 Hakbang (na may Mga Larawan)
Paano Mag-disassemble ng isang Computer Na May Madaling Mga Hakbang at Larawan: Ito ay isang tagubilin tungkol sa kung paano i-disassemble ang isang PC. Karamihan sa mga pangunahing sangkap ay modular at madaling matanggal. Gayunpaman mahalaga na maging maayos ka tungkol dito. Makakatulong ito upang maiwasan ka sa pagkawala ng mga bahagi, at sa paggawa din ng muling pagsasama
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Mga Kapansanan sa Locomotor: 9 Mga Hakbang (na may Mga Larawan)
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Kapansanan sa Locomotor: Ang mga taong may malubhang mga kapansanan sa lokomotor tulad ng mga sanhi ng cerebral palsy ay madalas na may mga kumplikadong pangangailangan sa komunikasyon. Maaaring kailanganin silang gumamit ng mga board na may alpabeto o karaniwang ginagamit na mga salitang nakalimbag sa kanila upang makatulong sa komunikasyon. Gayunpaman, marami
Ginagawang Mas Madali ang Pagsasanay sa Band; isang Nakasuot na Count-in na Device Na May Pressure Switch: 7 Mga Hakbang
Ginagawang Mas Madali ang Pagsasanay sa Band; isang Nakasuot na Count-in na Device Na May isang Pressure Switch: Paggamit ng isang simpleng presyon
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: 7 Mga Hakbang (na may Mga Larawan)
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: Mayroong maraming mga satellite sa itaas ng aming mga ulo. Alam mo ba, na ang paggamit lamang ng Iyong computer, TV Tuner at simpleng DIY antena Maaari mong matanggap ang mga pagpapadala mula sa kanila? Halimbawa ng mga real time na larawan ng mundo. Ipapakita ko sa iyo kung paano. Kakailanganin mo ang: - 2 w
Pasadyang Arduino upang Panatilihing MAAARI ang Mga Pindutan sa Mga Manibela na May Bagong Car Stereo: 9 Mga Hakbang (na may Mga Larawan)
Pasadyang Arduino upang Panatilihin ang CAN Steering Wheel Buttons Sa Bagong Car Stereo: Napagpasyahan kong palitan ang orihinal na stereo ng kotse sa aking Volvo V70 -02 ng isang bagong stereo upang masisiyahan ako sa mga bagay tulad ng mp3, bluetooth at handsfree. Ang aking kotse ay may ilang mga kontrol sa manibela para sa stereo na nais kong magamit pa rin.