Tartalomjegyzék:
- Kellékek
- 1. lépés: Csatlakoztassa az alkatrészeket
- 2. lépés: 3D nyomtatott alkatrészek
- 3. lépés: A kód
- 4. lépés: Működés és beállítások
Videó: Nyugdíjas óra / számlálás / Dn óra: 4 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Volt néhány ilyen 8x8 LED-es pontmátrixos kijelző a fiókban, és azon gondolkodtam, mit kezdjek velük. Más utasítások által inspirálva merült fel bennem az ötlet, hogy készítsek egy visszaszámláló/felfelé mutató kijelzőt, amely visszaszámol egy jövőbeli dátumra/időre, és ha a célidő eltelt, akkor számoljon belőle. Ezt most a nyugdíjas órámnak készítettem a polcon.
Az ötlet, hogy egy üvegbe tegyük, inkább baleset volt, amikor a burkolatra gondoltam. Mások hajókat tesznek egy üvegbe, miért nem egy órát?
Azt is szerettem volna, hogy az óra engedelmeskedjen a nyári időszámításnak, és természetesen ne felejtse el a beállításokat és az időt, amikor kihúzzák a konnektorból. Az órát USB -n keresztül táplálom, ami újraprogramozhatóvá teszi, ha mást szeretne csinálni, vagy csak funkciókat szeretne hozzáadni a kódhoz. A kód meglehetősen egyszerű, és sok optimalizálást is igénybe vehet. Nem törődtem jól a RAM fogyasztásával, be kell vallanom. Ha lesz időm és motivációm, visszatérek rá.
Kellékek
1. Arduino Nano
2. RTC (a közös DS3231 -et használtam, amely EEPROM -ot is tartalmaz)
3. 12x 8x8 pontmátrix modul. (Nekem a négy modulom volt, amelyek könnyebben beállíthatók)
4. LDR a kijelző fényerejének beállításához
5. Ellenállás 10 kOhm
6. Kondenzátor 5x 100 uF elnyomó tüskék a kijelzőről
7. A 8x8 modulok kontrasztjának növelése érdekében a sötét színezett "Window Film" -t használtam. A kijelző fehér pöttyként mutatja a LED -eket, ha nem világít. Az ablakfilm fényes fekete megjelenést kölcsönöz.
1. lépés: Csatlakoztassa az alkatrészeket
A négyes kijelzőből hármat használtam a kijelző összeállításához. Ahhoz, hogy a dátumot perjelekkel, az időt kettősponttal jelenítsük meg, 8 karakterre van szükségünk. A tipikus 5x7 betűtípust használva soronként hat 8x8 blokkra van szükségünk. Az egyik quad blokkot félbevágtam, és ezeket két sorban, hat blokkban rendeztem el, ahogyan a kenyeretábla sematikája mutatja.
2. lépés: 3D nyomtatott alkatrészek
A kijelző két sorának megtartásához és a palackba helyezéséhez kerek távolságú gyűrűket nyomtam a kijelző keretéhez. Az alábbiakban hozzáadtam a használt fájlokat. Ahhoz, hogy ezeket támogatás nélkül kinyomtathassa, részekre van osztva. A képernyőképen a két keret látható a kerethez ragasztva. A palacknyak fedelében található a három gomb a kijelző módok közötti váltáshoz, valamint az aktuális és célidő beállításához. A palacknyak fedelét TPU -ban kinyomtattam, amely lehetővé teszi az USB -kábel behelyezését a fedélbe anélkül, hogy levágná a csatlakozókat, és néhány huzal tekercselésével lekötné. Elfelejtettem megemlíteni, hogy 1,5 literes borosüveget használtam, amelyet az alján vágtam. Minden nyomtatandó alkatrész 20x20 cm -es (8x8 hüvelykes) nyomtatóágyra illeszkedik.
3. lépés: A kód
Az Arduino kód néhány általánosan használt könyvtárat használ.
MD_MAX72xx
SPI
Huzal
RTClib
Időzóna
TimeLib
Az INO fájlban van néhány sor, amelyeket módosítani kell:
38. sor: #define HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- függ a 8x8-as modultól és annak tájolásától
az FC16_HW helyett a következők egyikét teheti:
- MD_MAX72XX:: PAROLA_HW
- MD_MAX72XX:: GENERIC_HW
- MD_MAX72XX:: ICSTATION_HW
- MD_MAX72XX:: FC16_HW
A kód az amerikai középidő beállításait használja, és módosítani kell más időzónákhoz:
53/54. Sor:
TimeChangeRule myDST = {"CDT", Second, Sun, Mar, 2, -300}; // Nyári időszámítás UTC -5TimeChangeRule mySTD = {"CST", First, Sun, Nov, 2, -360}; // Normál idő UTC -6
Ezt könnyű beállítani. A CST/CDT név csak hivatkozásként szolgál. A hárombetűs rövidítést nem jelenítem meg, tehát mindegy. A következő paraméterek arra vonatkoznak, hogy a hónap melyik napján történik a váltás. A beállítás percben történik, így a +/- 30 perces beállításokat használó helyek is működni fognak.
Az RTC belsőleg fut UTC-Time-on, lehetővé téve az időzóna-könyvtár rendeltetésszerű működését. Felmerülhet a kérdés, hogy a kód miért hivatkozik a régebbi DS1307 chipre, ellentétben az általam használt órachippel, de ez nem számít. A könyvtár bármelyik chippel jól működik. A DS1307 hajlamosabb a sodródásra, mint a DS3132. a DS3132 az előnyben részesített óra. Azok számára, akik szeretnék hozzáadni az internethez szükséges időt, az ESP8266 elég könnyen elvégzi a munkát. Ez elavulttá teheti az RTC -t. Ha ezeket a módosításokat végzi, használja az Arduino EEPROM -ot a célidő tárolásához, én az RTC EEPROM -ot használtam ehhez.
4. lépés: Működés és beállítások
Három gomb van
1. Menü / beállítások
2. Fel
3. Le
A menügomb lehetővé teszi a három kijelzőtípus közötti váltást: aktuális idő, célidő, delta idő. A delta idő a napok számát mutatja ÓÓ/HH/SS az aktuális idő és a célidő között. Megjelenik a t- és visszaszámlálás, ha a cél a jövőben van, vagy a t+, és felfelé számol, ha a cél a múltban van.
Az aktuális vagy célidő beállításához válassza ki az aktuális időt vagy a célidőt. Az idő módosításához tartsa lenyomva a menügombot 2 másodpercig, majd engedje el, és a beállítási módba kerül. A szomszédos "/" vagy ":" "" -ra változik, jelezve, hogy melyik számjegyet állítja be. A fel/le gombokkal állítsa be az egyes óó/pp/é és mm/dd/yy értékeket. Nem adtam hozzá beállítást a mm/dd/yy és dd/mm/yy közötti váltáshoz, ezt meg kell változtatni a kódban, vagy esetleg valaki hajlandó hozzáadni ezt a funkciót.
Észre fogja venni, hogy ha a percet 59 fölé vagy 00 alá állítja, akkor az óra kijelzése is módosul. ugyanez vonatkozik a másodpercekre, órákra és napokra, amelyek megváltoztatják a következő magasabb értéket, ha ennek a számjegynek a 0 alatt vagy a maximális érték felett lépnek át. Ezt azért tettem, hogy elkerüljem az egyes hónapok különböző határainak programozását, és ha februárnak szökőévben 29 napra van szüksége. Az idő beállítása valójában korszakidő, másodperc, január 1-1970 óta történik.
Hozzáadtam egy egyszerű videót a számolás bemutatásához. Ezeket úgy akartam csinálni, mint egy forgó kerék kijelzőt. Ha módosítani szeretné a változtatás időtartamát, az INO 69. sora néhány lehetőséget kínál a változás gyorsítására vagy lassítására. 120 ms a számjegyek elég lassú görgetését eredményezné, mivel folyamatosan futó kerékről lenne szó.
Remélem tetszett ez az oktatható.
Patrick Geschwindner
Ajánlott:
Analóg óra és digitális óra készítése LED csíkkal az Arduino használatával: 3 lépés
Hogyan készítsünk analóg órát és digitális órát LED csíkkal az Arduino használatával: Ma analóg órát készítünk & Digitális óra LED szalaggal és MAX7219 Dot modul Arduino -val. Ez korrigálja az időt a helyi időzónával. Az analóg óra hosszabb LED csíkot használhat, így a falra akasztva műalkotássá válhat
ESP8266 Hálózati óra RTC nélkül - Nodemcu NTP óra Nem RTC - INTERNET ÓRA PROJEKT: 4 lépés
ESP8266 Hálózati óra RTC nélkül | Nodemcu NTP óra Nem RTC | INTERNET ÓRA PROJEKT: A projektben óra projektet készítenek RTC nélkül, időbe telik az internet az wifi használatával, és megjeleníti az st7735 kijelzőn
Arduino alapú óra a DS1307 valós idejű óra (RTC) modul használatával és 0.96: 5 lépés
Arduino alapú óra a DS1307 valós idejű óra (RTC) modul használatával és 0.96: Sziasztok, srácok, ebben az oktatóanyagban látni fogjuk, hogyan lehet működő órát készíteni egy DS1307 valós idejű óramodul segítségével. OLED kijelzők. Tehát kiolvassuk az időt a DS1307 óra modulból. És nyomtassa ki az OLED képernyőn
Óra készítése az M5stick C segítségével Arduino IDE - használatával RTC valós idejű óra az M5stack M5stick-C-vel: 4 lépés
Óra készítése az M5stick C segítségével Arduino IDE | használatával RTC valós idejű óra az M5stack M5stick-C-vel: Sziasztok srácok, ebben az utasításban megtanuljuk, hogyan készítsünk órát az m5stick m5stick fejlesztőpaneljével az Arduino IDE segítségével. Így az m5stick megjeleníti a dátumot, az időt és az amp; a hónap hete a kijelzőn
C51 4 bites elektronikus óra - fából készült óra: 15 lépés (képekkel)
C51 4 bites elektronikus óra - fából készült óra: Volt egy kis szabadideje ezen a hétvégén, így összeszereltem ezt a 2,40 USD értékű 4 bites DIY elektronikus digitális órát, amelyet egy ideje vásároltam az AliExpress -től