Indholdsfortegnelse:

The Not So Crap Clock: 4 trin
The Not So Crap Clock: 4 trin

Video: The Not So Crap Clock: 4 trin

Video: The Not So Crap Clock: 4 trin
Video: Homer Simpson Swearing 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

Af davidjwattsdavidjwatts.comFølg mere af forfatteren:

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

For det første, hvorfor kalde det Crap Clock? Nå, det sænker forventningerne med håbet om at overskride dem:-) Jeg spøger selvfølgelig, uret repræsenterer mange af mine fiaskoer og succeser i lige stor grad. Den fysiske repræsentation af underdogen i elektronik.

For det andet er dette ikke virkelig en måde at gøre 'tingen' mere til en refleksion over designvalg og alle de materialer, du har brug for til at bygge dit eget.

Crap Clock er et ur, der kører fra en ATMEGA328, som driver 82 lysdioder via en 74HC595, der driver rækkerne, og en TLC5940, der synker strømmen hen over søjlerne. Da DS3231 holder tiden og kan blive ved med at køre med batteriindgangsterminalerne. Uret har flere 'tilstande' for at se tid, dato, år, temperatur og derefter tilstande til indstilling af tid og dato med de to knapper. Lysdioderne kan dæmpes med TLC5940, og sekundvisningen (lyserøde lysdioder ovenfor) kan bruges til at vise et kontekstuelt bogstav sammen med den tilstand, uret er i.

Der er et par funktioner, jeg ikke har brugt eller har taget ud af PCB som Li-ion batteriopladning, jeg gjorde det i denne version for at reducere omkostningerne ved delene, og fordi DS3231 virkelig kun nipper til en lille mængde strøm. Der er stadig ben til den indbyggede DS3231 alarm INT/SQW pin og en summernål fra ATMEGA. Pin 10 er brudt ud til generel brug, og der er også en analog pin tilgængelig for en funktion som en LDR til at ændre lysstyrken baseret på det omgivende lys.

Jeg sammensatte en afspilningsliste med alle de videoer, hvor jeg kan huske at have talt om eller designet Crap Clock.

Trin 1: Trin 1: PCB og skematisk

Trin 1: PCB og skematisk
Trin 1: PCB og skematisk
Trin 1: PCB og skematisk
Trin 1: PCB og skematisk

PCB-layoutet og skematisk blev designet i Eagle, det tog lang tid;-) men det var også meget sjovt og lærte mig virkelig meget om design. Bare rolig, der er stadig masser af fejl, hvis hvert andet projekt, jeg har lavet, inklusive alle dem, jeg ikke kender til i dette.

Jeg ville have, at uret skulle have et matrixdisplay, og at det hele skulle eksistere på et bord, så jeg gik i gang med at oprette et rundt bord til at efterligne et analogt ur. Ja…. det holdt ikke fast, det var en frygtelig form at rute rundt og krævede millioner (måske hundredvis) af lysdioder. Derefter besluttede jeg at lave en matrix -stil display ved hjælp af LED'erne, oprindeligt alle drevet med skiftregistre (Den ærværdige 74HC595), men jeg besluttede til sidst, at den velkendte TLC5940 LED -driver ville være fantastisk at sænke strømmen fra disse LED'er og giver den fantastiske funktion ved PWM -dæmpning.

Her er styklisten:

1 x 16 MHz krystal SM49

82 x 0603 lysdioder (stort set enhver farve du kan lide)

1 x Mini USB Type B (ikke nødvendigt, det er kun til strøm, der alligevel brydes ud til stifterne)

7 x 100nf 0805 kondensatorer

9 x 10k 0805 modstande

2 x 10uf 0805 kondensatorer (behøves ikke rigtig for at være ærlig, og 0805 er dyre)

5 x 1k 0805 modstande

1 x 2k 0805 modstande

5 x 2n3906 SOT23

2 x 22pf 1206 modstande

16 x 470 ohm 0805 modstande

1 x 74HC595D SO16

1 x ATMEGA328P-AU

1 x DS3231 SO16W

2 x SMD taktil switch DTSM-3

1 x TLC5940PWP

Trin 2: Trin 2: Crap -koden

Trin 2: Crap -koden
Trin 2: Crap -koden

Koden var lidt af et mareridt, det viste sig, at kodning af et ur med et hjemmebrygget matrixdisplay ikke er så let, selv når du bruger et par biblioteker.

Det er selvfølgelig ikke en god kode, det er lort kode. Men det virker og er let at ændre, jeg har ingen idé om, hvordan man laver et bibliotek, så det hele er lidt af et togvrag. Ha ha, men helt ærligt arbejder jeg på at gøre min kode bedre og lære at oprette mine egne biblioteker.

Det blev skrevet i Arduino IDE og bruger nogle biblioteker (Shifter.h, MD_DS3231.h og Tlc5940.h) skabt af folk langt mere kloge end I. Du skal uploade dette med en programmerer, jeg brugte en Arduino som internetudbyder og tilsluttede det til nulstillingen, 11, 12, 13 ben på brættet.

Knapperne:

Der er to knapper, de har flere funktioner afhængigt af den tilstand, uret er i. Du kan bruge dem til at ændre visningstilstanden frem og tilbage, gennem tid, dato, år, temperatur og derefter til indstilling af klokkeslæt.

Trin 3: Trin 3: Crap Case

"loading =" doven "kan jeg sige, det er lidt lort, men jeg er lidt forelsket i det. Den nye version af PCB-designet har ikke de attraktive bodgetråde;-) De færdige, jeg har, er baseret på mine prototype boards.

Riv den gerne fra hinanden, remix den og brug de dele, du finder nyttige. Jeg er blevet hjulpet masser af mennesker fra YouTube -fællesskabet i hele projektets længde, så det er alle i sidste ende.

Anbefalede: