Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Liitä komponentit
- Vaihe 2: 3D -tulostetut osat
- Vaihe 3: Koodi
- Vaihe 4: Käyttö ja asetukset
Video: Eläke kello / Count Up / Dn Clock: 4 vaihetta (kuvien kanssa)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Minulla oli muutama näistä 8x8 LED-pistematriisinäytöistä laatikossa ja mietin, mitä tehdä niille. Muiden ohjeiden innoittamana sain idean rakentaa laskuri alas/ylös -näyttö, joka laskee alas tulevaan päivämäärään/aikaan, ja jos tavoiteaika kuluu, laske siitä. Tein tämän nyt eläkkeelleni kellonaikana.
Ajatus laittaa se pulloon oli enemmän onnettomuus, kun ajateltiin koteloa. Toiset laittavat aluksia pulloon, miksi ei kelloa?
Halusin myös saada kellon noudattamaan kesäaikaa ja tietysti muistaa asetukset ja ajan, kun se irrotetaan pistorasiasta. Käytän kelloa USB: n kautta, mikä tekee siitä ohjelmoitavan uudelleen, jos haluat tehdä jotain erilaista tai vain lisätä ominaisuuksia koodiin. Koodi on melko yksinkertainen ja voi myös käyttää paljon optimointia. En pitänyt hyvää huolta RAM -muistin kulutuksesta. Jos minulla on aikaa ja motivaatiota, palaan asiaan.
Tarvikkeet
1. Arduino Nano
2. RTC (käytin yleistä DS3231: tä, jossa on myös EEPROM)
3. 12x 8x8 pistematriisimoduuli. (Minulla oli quad -moduulit, jotka on helpompi järjestää)
4. LDR näytön kirkkauden säätämiseksi
5. Vastus 10 kOhm
6. Kondensaattori 5x 100 uF vaimentavat piikkejä näytöstä
7. 8x8 moduulin kontrastin lisäämiseksi käytin tummaa sävytettyä "Window Film" -kalvoa. Näyttö näyttää LEDit valkoisina pisteinä, jos ne eivät pala. Ikkunakalvo tekee siitä kiiltävän mustan.
Vaihe 1: Liitä komponentit
Käytin kolmea nelinäyttöä näytön kokoamiseen. Tarvitsemme tilaa kahdeksalle merkille, jotta voimme näyttää päivämäärän, jossa on kauttaviivat ja aika kaksoispisteillä. Käyttämällä tyypillistä 5x7 -fonttia tarvitsemme kuusi 8x8 -lohkoa per rivi. Leikkasin yhden nelosista lohkoista puoliksi ja järjestin ne kahdeksi riviksi kuusi lohkoa leipälaudan kaavion mukaisesti.
Vaihe 2: 3D -tulostetut osat
Pidäkseni kiinni näytön kahdesta rivistä ja sijoittaaksesi ne pulloon tulostin pyöreitä etäisyysrenkaita näytön kehykseen. Lisäsin alla käyttämäni tiedostot. Jotta nämä voidaan tulostaa ilman tukea, ne on jaettu osiin. Kuvakaappaus näyttää kaksi rengasta, jotka on liimattu näytön kehykseen. Pullon kaulan kannessa on kolme painiketta, joilla vaihdetaan näyttötilojen välillä sekä asetetaan nykyinen aika ja tavoiteaika. Pullon kaulan kansi, jonka painoin TPU -painikkeella, mahdollistaa USB -kaapelin liu'uttamisen suojukseen katkaisematta liittimiä ja sitomalla sen muutamalla langan käämityksellä. Unohdin mainita, että käytin 1,5 litran viinipulloa, jonka leikkasin aivan pohjasta. Kaikki tulostettavat osat sopivat 20x20 cm: n (8x8 tuuman) tulostusalustalle.
Vaihe 3: Koodi
Arduino -koodi käyttää muutamia yleisesti käytettyjä kirjastoja.
MD_MAX72xx
SPI
Johto
RTClib
Aikavyöhyke
TimeLib
INO -tiedostossa on muutama rivi, jotka on ehkä muutettava:
Rivi 38: #define HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- riippuu 8x8-moduulista ja sen suunnasta
FC16_HW: n sijaan se voisi olla jokin seuraavista:
- MD_MAX72XX:: PAROLA_HW
- MD_MAX72XX:: GENERIC_HW
- MD_MAX72XX:: ICSTATION_HW
- MD_MAX72XX:: FC16_HW
Koodi käyttää Yhdysvaltain keskisen ajan asetuksia ja sitä on muutettava muille aikavyöhykkeille:
Rivi 53/54:
TimeChangeRule myDST = {"CDT", toinen, su, maalis, 2, -300}; // Kesäaika UTC -5TimeChangeRule mySTD = {"CST", First, Sun, Nov, 2, -360}; // Vakioaika UTC -6
Tämä on helppo säätää. Nimi CST/CDT on vain viittaus. En näytä kolmikirjaimista lyhennettä, joten sillä ei ole väliä. Seuraavat parametrit viittaavat siihen, minkä kuukauden päivänä vaihto tapahtuu. Säätö tapahtuu minuuteissa, joten myös +/- 30 minuutin säätöjä käyttävät sijainnit toimivat.
RTC toimii sisäisesti UTC-aikana, jolloin aikavyöhykekirjasto toimii suunnitellusti. Saatat ihmetellä, miksi koodi viittaa vanhempaan DS1307 -siruun käyttämäni kellosirun vastaisesti, mutta tällä ei ole väliä. Kirjasto toimii hyvin molemmilla siruilla. DS1307: llä on taipumus ajautua pois enemmän kuin DS3132. DS3132 on paras kello. Niille, jotka haluavat lisätä Internet -aikaa, ESP8266 tekee työn melko helposti. Tämä voi tehdä RTC: n vanhentuneeksi. Jos teet näitä muutoksia, tallenna tavoiteaika Arduino EEPROM -laitteella, minä käytin siihen RTC EEPROMia.
Vaihe 4: Käyttö ja asetukset
Painikkeita on kolme
1. Valikko / asetukset
2. Ylös
3. Alas
Valikkopainikkeella voit selata kolmea näyttötyyppiä: nykyinen aika, tavoiteaika, delta -aika. Delta -aika näyttää päivien määrän, HH/MM/SS nykyisen ajan ja tavoiteajan välillä. Se näyttää t- ja laskee alas, jos tavoite on tulevaisuudessa tai t+, ja laskee ylöspäin, jos tavoite on menneisyydessä.
Voit säätää nykyistä tai tavoiteaikaa valitsemalla nykyisen ajan tai tavoiteajan näytön. Jos haluat muuttaa aikaa, pidä valikkopainiketta painettuna 2 sekuntia ja vapauta se, jolloin pääset asetustilaan. Viereinen "/" tai ":" muuttuu "" osoittamaan, mitä numeroa säädät. Käytä ylös/alas -painikkeita säätääksesi yksittäisiä hh/mm/ss ja mm/dd/yy. En lisännyt asetusta vaihtaaksesi kk/pp/vv ja pp/kk/vv välillä, tätä on muutettava koodissa tai ehkä joku on valmis lisäämään tämän ominaisuuden.
Huomaat, että jos asetat minuutit yli 59 tai alle 00, myös tuntinäyttö muuttuu. sama pätee sekunteihin, tunteihin ja päiviin, jotka muuttavat seuraavan korkeamman arvon, jos ylität tämän numeron alle tai yli maksimin. Tein tämän välttääkseni yksittäisten kuukausien eri rajojen ohjelmoimista ja jos helmikuu tarvitsee 29 päivää karkausvuonna. Ajan säätö tapahtuu itse asiassa aikakaudella, sekunneissa 1.1.-1970.
Lisäsin yksinkertaisen videon laskemisen osoittamiseksi. Halusin tehdä niistä kuin pyörivän näytön. Jos haluat säätää muutoksen kestoa, INO -rivillä 69 on muutamia vaihtoehtoja nopeuttaa tai hidastaa muutosta. 120 ms saisi numerot vierittämään tarpeeksi hitaasti, koska se olisi jatkuvasti pyörivä pyörä.
Toivottavasti pidit tästä opettavaisesta.
Patrick Geschwindner
Suositeltava:
LED -kello käyttämällä neopikseleitä: 4 vaihetta (kuvien kanssa)
LED -kello, jossa käytetään neopikseleitä: Tervetuloa opastamaan LED -kellon valmistamista 60 neopikseliä käyttäen. Löydät 3 PDF -tiedostoa, joista toinen on kellon segmenttejä, toinen pohjaa ja lopuksi yksi malli liimaamista varten osiot yhdessä. Niin com
LED -kello 555 ja 4017 (ohjelmointia ei tarvita): 8 vaihetta (kuvien kanssa)
LED -kello 555: n ja 4017: n avulla (ei tarvitse ohjelmointia): Tässä esitän projektin, jonka suunnittelin ja tein noin 7 vuotta sitten. analogisen kellon kädet
LASKEMUSKELLON KELLO: 5 vaihetta (kuvien kanssa)
LASKEMUSKELLON KELLO: Olin suunnitellut ostavani Neopixel Ring 60 Ledin kellon valmistamiseksi, mutta valitettavasti en voinut ostaa sitä. Lopuksi ostin Neopixel Ring 35 Led & keksi yksinkertaisen tavan tehdä Internet -kello, joka voi näyttää tunnit, minuutit ja amp; toinen sen kanssa
Kaikki yhdessä digitaalinen kronometri (kello, ajastin, hälytys, lämpötila): 10 vaihetta (kuvien kanssa)
Kaikki yhdessä digitaalinen kronometri (kello, ajastin, hälytys, lämpötila): Suunnittelimme tehdä ajastimen jollekin toiselle kilpailulle, mutta myöhemmin otimme käyttöön myös kellon (ilman RTC: tä). Kun aloitimme ohjelmoinnin, kiinnostuimme lisäämään toimintoja laitteeseen ja lisäsimme DS3231 RTC: n, kuten
Toistosäätimen kello: 7 vaihetta (kuvien kanssa)
Jäljentämisen säätimen kello: Tämä opettavainen Tämä opas näyttää, kuinka voit luoda kopiointisäätimen kellon käyttämällä vanhaa kellokoteloa ja kolmea kvartsiliikettä. Olen käyttänyt vanhaa englanninkielistä 12 " (300 mm) Ebayn kellokotelo, mutta mitä tahansa koteloa voidaan käyttää niin kauan kuin kolme