Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Koble til komponentene
- Trinn 2: 3D -trykte deler
- Trinn 3: Koden
- Trinn 4: Drift og innstillinger
Video: Pensjonsklokke / Count Up / Dn Clock: 4 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Jeg hadde noen av disse 8x8 LED-dotmatriseskjermene i skuffen og tenkte på hva jeg skulle gjøre med dem. Inspirert av andre instruktører, fikk jeg ideen om å bygge en nedtelling/oppvisning for å telle ned til en fremtidig dato/tid, og hvis måletiden gikk, kan du telle opp fra den. Jeg gjorde dette nå til pensjonsklokken min på hyllen.
Ideen om å putte den i en flaske var mer en ulykke mens du tenkte på et foringsrør. Andre legger skip i en flaske, hvorfor ikke en klokke?
Jeg ønsket også å få klokken til å lyde sommertid og selvfølgelig huske innstillingene og klokkeslettet når den ble koblet fra. Jeg driver klokken via USB, noe som gjør den omprogrammerbar hvis du vil gjøre noe annerledes eller bare legge til funksjoner i koden. Koden er ganske enkel og kan også bruke mye optimalisering. Jeg tok ikke godt vare på RAM -forbruket må jeg innrømme. Hvis jeg får tid og motivasjon, kommer jeg tilbake til det.
Rekvisita
1. Arduino Nano
2. RTC (jeg brukte den vanlige DS3231 som også har en EEPROM)
3. 12x 8x8 dot matrisemodul. (Jeg hadde firemodulene som er lettere å stille opp)
4. LDR for å justere displayets lysstyrke
5. Motstand 10 kOhm
6. Kondensator 5x 100 uF undertrykker pigger fra displayet
7. For å øke kontrasten til 8x8 modulene, brukte jeg den mørkfargede "Window Film". Displayet viser lysdiodene som hvite prikker hvis de ikke lyser. Vindusfilmen gir et skinnende svart utseende.
Trinn 1: Koble til komponentene
Jeg brukte tre av fire -skjermer for å montere skjermen. For å vise en dato med skråstreker og tid med kolon, trenger vi plass til åtte tegn. Ved å bruke den typiske 5x7 -skriften trenger vi seks 8x8 blokker per rad. Jeg kuttet en av firblokkene i to og ordnet disse som to rader med seks blokker som vist i brødbrettskjemaet.
Trinn 2: 3D -trykte deler
For å holde de to radene på displayet og plassere disse i flasken, skrev jeg ut runde avstandsringer for skjermrammen. Jeg la til filene jeg brukte nedenfor. For å kunne skrive ut disse uten støtte, er de delt i deler. Skjermbildet viser de to ringene limt til skjermrammen. Flaskehalsdekselet inneholder de tre knappene for å bytte mellom visningsmoduser og innstilling av nåværende tid og måltid. Flaskehalsdekselet jeg trykte i TPU, slik at du kan skyve USB -kabelen inn i dekselet uten å kutte av kontaktene og feste det med et par viklinger av ledning. Jeg glemte å nevne at jeg brukte en 1,5 L vinflaske som jeg kuttet helt nederst. Alle delene som skal skrives ut passer på en 20x20 cm (8x8 in) skriverseng.
Trinn 3: Koden
Arduino -koden bruker noen få brukte biblioteker.
MD_MAX72xx
SPI
Metalltråd
RTClib
Tidssone
TimeLib
Det er noen få linjer i INO -filen som må endres:
Linje 38: #define HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- avhenger av 8x8-modulen og dens retning
i stedet for FC16_HW kan det være en av:
- MD_MAX72XX:: PAROLA_HW
- MD_MAX72XX:: GENERIC_HW
- MD_MAX72XX:: ICSTATION_HW
- MD_MAX72XX:: FC16_HW
Koden bruker innstillingene for amerikansk sentral tid og må justeres for andre tidssoner:
Linje 53/54:
TimeChangeRule myDST = {"CDT", Second, Sun, Mar, 2, -300}; // Dagslys UTC -5TimeChangeRule mySTD = {"CST", First, Sun, Nov, 2, -360}; // Standard tid UTC -6
Dette er enkelt å justere. Navnet CST/CDT er bare for å ha en referanse. Jeg viser ikke forkortelsen på tre bokstaver, så det spiller ingen rolle. De neste parametrene refererer til hvilken dag i måneden byttet skjer. Justeringen er i minutter, så steder som bruker justeringer på +/- 30 minutter vil også fungere.
RTC kjører internt på UTC-tid slik at tidssonebiblioteket kan fungere etter hensikten. Du lurer kanskje på hvorfor koden refererer til den eldre DS1307 -brikken i motsetning til klokkebrikken jeg brukte, men dette spiller ingen rolle. Biblioteket fungerer fint med begge brikkene. DS1307 har en tendens til å drive av mer enn DS3132. DS3132 er den foretrukne klokken. For de som ønsker å legge til internettid, vil en ESP8266 gjøre jobben ganske enkelt. Dette kan gjøre RTC foreldet. Hvis du gjør disse endringene, bruker du Arduino EEPROM til å lagre måltiden. Jeg brukte RTC EEPROM til å gjøre det.
Trinn 4: Drift og innstillinger
Det er tre knapper
1. Meny / innstillinger
2. Opp
3. Ned
Menyknappen lar deg sykle gjennom de tre displaytypene: Nåværende tid, Måltid, Delta -tid. Delta -tiden viser antall dager, HH/MM/SS mellom gjeldende tid og måltid. Det vil vise t- og telle ned hvis målet er i fremtiden eller t+ og telle opp hvis målet er i fortiden.
For å justere gjeldende eller måltid, velg gjeldende klokkeslett eller måltidsvisning. For å endre klokkeslettet, hold inne menyknappen i 2 sekunder og slipp som vil bringe deg til innstillingsmodus. Naboen "/" eller ":" blir til "" for å indikere hvilket siffer du justerer. Bruk opp/ned -knappene for å justere de individuelle tt/mm/ss og mm/dd/åå. Jeg la ikke til en innstilling for å bytte mellom mm/dd/åå og dd/mm/åå, dette må endres i koden eller kanskje noen er villige til å legge til denne funksjonen.
Du vil legge merke til at hvis du går minuttene over 59 eller under 00, vil timevisningen også justeres. det samme gjelder for sekunder, timer og dager som endrer neste høyere verdi hvis du krysser under 0 eller over maks for dette sifferet. Jeg gjorde dette for å unngå å programmere de forskjellige grensene for individuelle måneder, og hvis februar trenger 29 dager i et skuddår. Justering av klokkeslettet er faktisk gjort i epok-tid, sekunder siden 1-1-1970.
Jeg la til en enkel video for å vise tellingen. Jeg ønsket å lage disse som et svinghjul. Hvis du liker å justere varigheten av endringen, gir linje 69 i INO deg noen alternativer for å øke eller bremse endringen. 120 ms ville få sifrene til å rulle sakte nok, da det ville være et hjul som løper kontinuerlig.
Jeg håper du likte dette lærerikt.
Patrick Geschwindner
Anbefalt:
LED Matrix Alarm Clock (med MP3 -spiller): 6 trinn (med bilder)
LED Matrix Alarm Clock (med MP3 -spiller): Denne Arduino -baserte vekkerklokken har alt du kan forvente av alarmen din - muligheten til å vekke deg med hver sang du liker, slumre -knappen og er enkel å kontrollere via tre knapper. Det er tre hovedblokker - LED -matrise, RTC -modul og
DIY Smart Scale With Alarm Clock (med Wi-Fi, ESP8266, Arduino IDE og Adafruit.io): 10 trinn (med bilder)
DIY Smart Scale With Alarm Clock (med Wi-Fi, ESP8266, Arduino IDE og Adafruit.io): I mitt forrige prosjekt utviklet jeg en smart badevekt med Wi-Fi. Den kan måle brukerens vekt, vise den lokalt og sende den til nettskyen. Du kan få mer informasjon om dette på lenken nedenfor: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Rainbow Word Clock med full Rainbow -effekt og mer: 13 trinn (med bilder)
Rainbow Word Clock Med Full Rainbow Effect og mer: Mål1) Enkel2) Ikke dyrt3) Så energieffektiv som mulig Rainbow Word Clock med full regnbueeffekt. En Smilefjes på Word Clock. Enkel IR-fjernkontroll Oppdater 03-nov-18 LDR for Brightness Control of the NeopixelsUpdate 01-jan
DIY Sesam Street Alarm Clock (med brannalarm!): 6 trinn (med bilder)
DIY Sesam Street Alarm Clock (med brannalarm!): Hei alle sammen! Dette prosjektet er mitt første. Siden fetterne min første bursdag kom, ville jeg lage en spesiell gave til henne. Jeg hørte fra onkel og tante at hun var i Sesam Street, så jeg bestemte meg med søsknene mine for å lage en vekkerklokke
Sesame Street - Pinball Number Count Clock: 8 trinn (med bilder)
Sesam Street - Pinball Number Count Clock: Denne instruksen vil skissere konstruksjonen av en tilpasset klokke. Selv om dette er spesielt konstruksjonen av klokken på Sesam Street; Pinball Number Counting -animasjonen, de generelle prosedyrene er de samme og instruksjonene