Innholdsfortegnelse:

The Not So Crap Clock: 4 trinn
The Not So Crap Clock: 4 trinn

Video: The Not So Crap Clock: 4 trinn

Video: The Not So Crap Clock: 4 trinn
Video: Умирающего волка оставили в канаве. Но вдруг произошло Немыслимое! 2024, November
Anonim
The Not So Crap Clock
The Not So Crap Clock
The Not So Crap Clock
The Not So Crap Clock
The Not So Crap Clock
The Not So Crap Clock

Av davidjwattsdavidjwatts.com Følg mer av forfatteren:

PiBot: Beregning av Pi med en Arduino Uno
PiBot: Beregning av Pi med en Arduino Uno
PiBot: Beregning av Pi med en Arduino Uno
PiBot: Beregning av Pi med en Arduino Uno

Først, hvorfor kalle det Crap Clock? Vel, det senker forventningene med håp om å overgå dem:-) Jeg tuller selvfølgelig, klokken representerer mange av mine fiaskoer og suksesser i like stor grad. Den fysiske representasjonen av underdog i elektronikk.

For det andre er dette egentlig ikke en måte å gjøre 'tingen' mer til en refleksjon over designvalg og alt materialet du trenger for å bygge ditt eget.

The Crap Clock er en klokke som går fra en ATMEGA328 som driver 82 lysdioder via en 74HC595 som driver radene og en TLC5940 synker strømmen over kolonnene. Siden DS3231 holder tiden og kan fortsette å kjøre med batteriinngangsterminalene. Klokken har flere "moduser" for å vise tid, dato, år, temperatur og deretter moduser for å stille inn tid og dato med de to knappene. Lysdiodene kan dimmes med TLC5940, og sekundvisningen (rosa lysdioder ovenfor) kan brukes til å vise en kontekstuell bokstav ved siden av modusen klokken er i.

Det er et par funksjoner jeg ikke har brukt eller har tatt ut av kretskortet som Li-ion-batterilading, jeg gjorde det i denne versjonen for å redusere kostnadene for delene og fordi DS3231 egentlig bare nipper til en liten mengde strøm. Det er fortsatt pinner for den innebygde DS3231 alarmen INT/SQW -pinnen og en summerpinne fra ATMEGA. Pin 10 er brutt ut for generell bruk, og det er også en analog pin tilgjengelig for en funksjon som en LDR for å endre lysstyrken basert på det omgivende lyset.

Jeg satte sammen en spilleliste med alle videoene der jeg kan huske å ha snakket om eller designet Crap Clock.

Trinn 1: Trinn 1: PCB og skjematisk

Trinn 1: PCB og skjematisk
Trinn 1: PCB og skjematisk
Trinn 1: PCB og skjematisk
Trinn 1: PCB og skjematisk

PCB-oppsettet og skjematisk ble designet i Eagle, det tok lang tid;-) men det var også mye moro og lærte meg virkelig mye om design. Ikke bekymre deg, det er fortsatt mange feil hvis hvert annet prosjekt jeg har gjort, inkludert alle jeg ikke vet om i dette.

Jeg ville at klokken skulle ha en matriseskjerm og at alt skulle eksistere på ett brett, så jeg begynte å lage et rundt brett for å etterligne en analog klokke. Ja…. som ikke holdt seg, det var en forferdelig form å rute rundt og krevde millioner (kanskje hundrevis) lysdioder. Deretter bestemte jeg meg for å lage en matrisestil -skjerm ved hjelp av lysdiodene, opprinnelig alle drevet med skiftregistre (Den ærverdige 74HC595), men jeg bestemte meg til slutt at den kjente TLC5940 LED -driveren ville være flott å senke strømmen fra disse lysdiodene og gir fantastisk funksjonen ved PWM -dimming.

Her er materialforslaget:

1 x 16 MHz krystall SM49

82 x 0603 lysdioder (stort sett alle farger du liker)

1 x Mini USB Type B (ikke nødvendig, det er bare for strøm som brytes ut til pinnene uansett)

7 x 100nf 0805 kondensatorer

9 x 10k 0805 motstander

2 x 10uf 0805 kondensatorer (trengs egentlig ikke for å være ærlig, og 0805 er dyre)

5 x 1k 0805 motstander

1 x 2k 0805 motstander

5 x 2n3906 SOT23

2 x 22pf 1206 motstander

16 x 470 ohm 0805 motstander

1 x 74HC595D SO16

1 x ATMEGA328P-AU

1 x DS3231 SO16W

2 x SMD taktil bryter DTSM-3

1 x TLC5940PWP

Trinn 2: Trinn 2: Crap -koden

Trinn 2: Crap -koden
Trinn 2: Crap -koden

Koden var litt av et mareritt, det viste seg at koding av en klokke med en hjemmebrygget matriseskjerm ikke er så lett selv når du bruker et par biblioteker.

Det er selvfølgelig ikke en god kode, det er skitkode. Men det fungerer og er lett å endre, jeg aner ikke hvordan jeg lager et bibliotek, så dette er litt av et togvrak. Ha ha, men ærlig talt jobber jeg med å gjøre koden min bedre og lære å lage mine egne biblioteker.

Den ble skrevet i Arduino IDE og bruker noen biblioteker (Shifter.h, MD_DS3231.h og Tlc5940.h) laget av folk som er langt mer kloke enn I. Du må laste opp dette med en programmerer, jeg brukte en Arduino som ISP og koblet den til tilbakestillingen, 11, 12, 13 pinner på brettet.

Knappene:

Det er to knapper, de har flere funksjoner avhengig av modus klokken er i. Du kan bruke dem til å endre visningsmodus forover og bakover, gjennom tid, dato, år, temperatur og deretter til å stille klokken.

Trinn 3: Trinn 3: The Crap Case

"loading =" lat "kan jeg si, det er litt dritt, men jeg er ganske forelsket i det. Den nye versjonen av PCB-designet har ikke de attraktive bodge-ledningene;-) De ferdige jeg har er basert på prototypebrettene mine.

Riv den gjerne fra hverandre, remikser den og bruk delene du synes er nyttige. Jeg har blitt hjulpet masse av mennesker fra YouTube -fellesskapet for hele prosjektet, så det er alles slutt.

Anbefalt: