Innehållsförteckning:
- Tillbehör
- Steg 1: Anslut komponenterna
- Steg 2: 3D -tryckta delar
- Steg 3: Koden
- Steg 4: Användning och inställningar
Video: Pensionsklocka / räkna upp / Dn -klocka: 4 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:39
Jag hade några av dessa 8x8 LED-punktmatrisdisplayer i lådan och funderade på vad jag skulle göra med dem. Inspirerad av andra instruktioner fick jag idén att bygga en nedräkning/upp display för att räkna ner till ett framtida datum/tid och om måltiden passerade, räkna upp från den. Jag gjorde detta nu till min pensionsklocka som satt på hyllan.
Tanken att lägga den i en flaska var mer en olycka när man tänkte på ett hölje. Andra lägger fartyg i en flaska, varför inte en klocka?
Jag ville också få klockan att lyda sommartid och naturligtvis komma ihåg inställningarna och tiden när den kopplades bort. Jag driver klockan via USB vilket gör den omprogrammerbar om du vill göra något annorlunda eller bara lägga till funktioner i koden. Koden är ganska enkel och kan också använda mycket optimering. Jag tog inte väl hand om RAM -förbrukningen måste jag erkänna. Om jag har tid och motivation kommer jag tillbaka till det.
Tillbehör
1. Arduino Nano
2. RTC (jag använde den vanliga DS3231 som också har en EEPROM)
3. 12x 8x8 dot matrismodul. (Jag hade fyrmodulerna som är lättare att ställa upp)
4. LDR för att justera skärmens ljusstyrka
5. Motstånd 10 kOhm
6. Kondensator 5x 100 uF undertrycker spikar från displayen
7. För att öka kontrasten mellan 8x8 -modulerna använde jag den mörkfärgade "Window Film". Displayen visar lysdioderna som vita prickar om de inte lyser. Fönsterfilmen ger en blank svart look.
Steg 1: Anslut komponenterna
Jag använde tre av fyrskärmarna för att montera bildskärmen. För att visa ett datum med snedstreck och tid med kolon behöver vi plats för 8 tecken. Med det typiska 5x7 -teckensnittet skulle vi behöva sex 8x8 block per rad. Jag skar ett av fyrhjulingsblocken på mitten och ordnade dessa som två rader med sex block som visas i panelen.
Steg 2: 3D -tryckta delar
För att hålla de två raderna på displayen och placera dessa i flaskan skrev jag ut runda distansringar för displayramen. Jag lade till filerna jag använde nedan. För att kunna skriva ut dessa utan stöd är de delade i delar. Skärmdumpen visar de två ringarna limmade på bildskärmsramen. Flaskhalsskyddet innehåller de tre knapparna för att växla mellan visningslägen och ställa in aktuell tid och måltid. Flaskhalsskyddet skrev jag ut i TPU så att USB -kabeln kunde skjutas in i locket utan att klippa av kontakterna och binda fast det med några trådlindningar. Jag glömde nämna att jag använde en 1,5 L vinflaska som jag skär längst ner. Alla delar som ska skrivas ut passar på en 20x20 cm (8x8 tum) skrivarsäng.
Steg 3: Koden
Arduino -koden använder några få vanliga bibliotek.
MD_MAX72xx
SPI
Tråd
RTClib
Tidszon
TimeLib
Det finns några rader i INO -filen som kan behöva ändras:
Rad 38: #define HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- beror på 8x8-modulen och dess orientering
istället för FC16_HW kan det vara en av:
- MD_MAX72XX:: PAROLA_HW
- MD_MAX72XX:: GENERIC_HW
- MD_MAX72XX:: ICSTATION_HW
- MD_MAX72XX:: FC16_HW
Koden använder inställningarna för amerikansk central tid och behöver justeras för andra tidszoner:
Linje 53/54:
TimeChangeRule myDST = {"CDT", andra, sön, mar, 2, -300}; // Sommartid UTC -5TimeChangeRule mySTD = {"CST", First, Sun, Nov, 2, -360}; // Standardtid UTC -6
Detta är lätt att justera. Namnet CST/CDT är bara för att ha en referens. Jag visar inte förkortningen på tre bokstäver, så det spelar ingen roll. Nästa parametrar hänvisar till vilken dag i månaden växlingen sker. Justeringen sker i minuter, så platser som använder +/- 30 minuters justeringar fungerar också.
RTC körs internt på UTC-tid så att tidszonsbiblioteket fungerar som avsett. Du kanske undrar varför koden refererar till det äldre DS1307 -chipet i motsats till klockchippet jag använde, men det spelar ingen roll. Biblioteket fungerar bra med båda chippen. DS1307 har en tendens att glida av mer än DS3132. DS3132 är den föredragna klockan. För dem som vill lägga till internettid kommer en ESP8266 att göra jobbet ganska enkelt. Detta kan göra RTC föråldrad. Om du gör dessa ändringar, använd Arduino EEPROM för att lagra måltiden, jag använde RTC EEPROM för att göra det.
Steg 4: Användning och inställningar
Det finns tre knappar
1. Meny / inställningar
2. Upp
3. Ner
Menyknappen gör det möjligt att cykla genom de tre skärmtyperna: Aktuell tid, Måltid, Delta -tid. Delta -tiden visar antalet dagar, HH/MM/SS mellan aktuell tid och måltid. Det visar t- och nedräkning om målet är i framtiden eller t+ och räknar upp om målet är tidigare.
Om du vill justera aktuell eller måltid väljer du aktuell eller visad måltid. För att ändra tiden, håll menyknappen nedtryckt i 2 sekunder och släpp, vilket tar dig till inställningsläget. Den intilliggande "/" eller ":" kommer att förvandlas till "" för att indikera vilken siffra du justerar. Använd upp/ner -knapparna för att justera de individuella hh/mm/ss och mm/dd/åå. Jag lade inte till en inställning för att växla mellan mm/dd/åå och dd/mm/åå, detta måste ändras i koden eller kanske är någon villig att lägga till den här funktionen.
Du kommer att märka att om du kliver minuter över 59 eller under 00, kommer timvisningen också att justeras. samma sak gäller för sekunder, timmar och dagar som ändrar nästa högre värde om man passerar under 0 eller över maxvärdet för denna siffra. Jag gjorde detta för att undvika att programmera de olika gränserna för enskilda månader och om februari behöver 29 dagar under ett skottår. Justeringen av tiden görs faktiskt i epoktid, sekunder sedan 1-1-1970.
Jag lade till en enkel video för att visa räkningen. Jag ville göra dessa som en svänghjulsdisplay. Om du gillar att justera ändringens varaktighet ger rad 69 i INO dig några alternativ för att påskynda eller bromsa ändringen. 120 ms skulle få siffrorna att rulla tillräckligt långsamt eftersom det skulle vara ett hjul som löper kontinuerligt.
Jag hoppas att du njöt av detta instruerbara.
Patrick Geschwindner
Rekommenderad:
Spela upp video med ESP32: 10 steg (med bilder)
Spela upp video med ESP32: Denna instruktion visar något om att spela upp video och ljud med ESP32
Fixa upp en gammal bärbar dator !: 6 steg (med bilder)
Fixa upp en gammal bärbar dator !: Hej! Idag kommer jag att visa er hur man fixar en gammal bärbar dator. Varför skulle du vilja göra det här? Datorer har verkligen inte blivit så mycket bättre (åtminstone CPU -kloka) under det senaste decenniet så gamla bärbara datorer kan vara förvånansvärt användbara. Även du ibland
Upp Cykling av ett Solar Garden Light till en RBG: 7 steg (med bilder)
Upp Cykling av ett Solar Garden Light till en RBG: Det finns många videor på Youtube om reparation av solar garden lights; att förlänga batteritiden för ett solträdgårdsbelysning så att de går längre på natten och en myriad av andra hack.Denna instruerbara är lite annorlunda än de du hittar på Y
Få din kost att räkna: 7 steg
Få din kost att räkna: Numera är ämnet " hälsa " hade blivit välkänd och diskuterat. Att gå på en diet är en svår uppgift för de flesta, många av dem bestämmer sig för att ge upp på grund av matens frestelse. Syftet med att göra denna maskin är att öka framgången
Räkna och jämföra i binärt: 6 steg
Räkna och jämföra i binärt: Ge en allmän beskrivning av instruktionen, detta är min andra binära instruerbara. Detta går in i matematiska ekvationer som görs i binär. avsnitt 1 visar hur man räknar binärt med händerna, medan avsnitt 2 visar dig i skriftlig form. Bara en sidoanteckning