2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
By davidjwattsdavidjwatts.comObserwuj Więcej autora:
Po pierwsze, dlaczego nazywać to Crap Clock? No cóż, obniża to oczekiwania z nadzieją na ich przekroczenie:-) Żartuję oczywiście, zegar reprezentuje w równym stopniu wiele moich porażek, jak i sukcesów. Fizyczna reprezentacja słabszego w elektronice.
Po drugie, tak naprawdę nie jest to sposób na uczynienie „rzeczy” bardziej refleksją na temat wyborów projektowych i wszystkich materiałów potrzebnych do budowania własnego.
Crap Clock to zegar pracujący z ATMEGA328, który steruje 82 diodami LED za pośrednictwem 74HC595 napędzającego rzędy i TLC5940 zatapiającego prąd przez kolumny. Ponieważ DS3231 utrzymuje czas i może działać dzięki zaciskom wejściowym akumulatora. Zegar ma kilka „trybów” wyświetlania godziny, daty, roku, temperatury, a następnie tryby ustawiania godziny i daty za pomocą dwóch przycisków. Diody LED można przyciemnić za pomocą TLC5940, a wyświetlacz sekund (różowe diody LED powyżej) może być używany do wyświetlania litery kontekstowej obok trybu, w którym znajduje się zegar.
Jest kilka funkcji, których nie użyłem lub wyjąłem z płytki drukowanej, takich jak ładowanie akumulatora litowo-jonowego, zrobiłem to w tej wersji, aby zmniejszyć koszt części i ponieważ DS3231 tak naprawdę pobiera tylko niewielką ilość prądu. Są jeszcze piny dla wbudowanego pinu INT/SQW alarmu DS3231 oraz pin brzęczyka z ATMEGA. Pin 10 jest wyłamany do ogólnego użytku, a także dostępny jest pin analogowy dla funkcji takiej jak LDR, która zmienia jasność w zależności od oświetlenia otoczenia.
Stworzyłem playlistę wszystkich filmów, o których pamiętam, o których rozmawiałem lub projektowałem Crap Clock.
Krok 1: Krok 1: PCB i schemat
Układ i schemat PCB został zaprojektowany w Eagle, zajęło to dłuuuuugo czasu;-), ale było też dużo zabawy i naprawdę wiele nauczyło mnie o projektowaniu. Nie martw się, wciąż jest mnóstwo błędów, jeśli w każdym innym projekcie, który wykonałem, w tym w tych wszystkich, o których nie wiem w tym.
Chciałem, aby zegar miał wyświetlacz matrycowy i aby wszystko istniało na jednej płytce, więc postanowiłem stworzyć okrągłą płytkę do emulacji zegara analogowego. Tak…. to się nie przyklejało, to był okropny kształt do trasowania i wymagał milionów (może setek) diod LED. Następnie zdecydowałem się zrobić wyświetlacz w stylu matrycy za pomocą diod LED, pierwotnie wszystkie napędzane rejestrami przesuwnymi (czcigodny 74HC595), ale ostatecznie zdecydowałem, że znajomy sterownik LED TLC5940 byłby świetny do pochłaniania prądu z tych diod LED i daje niesamowite funkcja ściemniania PWM.
Oto zestawienie materiałów:
1 x 16 MHz kryształ SM49
82 x 0603 diody LED (w prawie dowolnym kolorze)
1 x Mini USB typu B (nie jest potrzebny, służy tylko do zasilania, które i tak jest odłączone od pinów)
Kondensatory 7 x 100nf 0805
9 x 10 k rezystorów 0805
Kondensatory 2 x 10uf 0805 (nie trzeba być szczerym, a 0805 są drogie)
Rezystory 5 x 1k 0805
1 x rezystory 2k 0805
5 x 2n3906 SOT23
2x22pf 1206 rezystory
Rezystory 16 x 470 omów 0805
1x74HC595D SO16
1 x ATMEGA328P-AU
1 x DS3231 SO16W
2 x przełącznik dotykowy SMD DTSM-3
1 x TLC5940PWP
Krok 2: Krok 2: Crap Code
Kod był trochę koszmarny, okazało się, że kodowanie zegara z wyświetlaczem homebrew nie jest takie proste nawet przy korzystaniu z kilku bibliotek.
Oczywiście nie jest to świetny kod, to bzdura. Ale działa i łatwo je modyfikować, nie mam pojęcia, jak zrobić bibliotekę, więc to wszystko jest trochę wrakiem pociągu. Ha ha, ale szczerze pracuję nad ulepszaniem swojego kodu i uczeniem się tworzenia własnych bibliotek.
Został napisany w Arduino IDE i korzysta z kilku bibliotek (Shifter.h, MD_DS3231.h i Tlc5940.h) stworzonych przez ludzi znacznie sprytniejszych niż ja. Będziesz musiał to wgrać za pomocą programisty, użyłem Arduino jako ISP i podpiąłem go do resetu, 11, 12, 13 pinów na płytce.
Przyciski:
Są dwa przyciski, które mają wiele funkcji w zależności od trybu, w którym znajduje się zegar. Możesz ich użyć do zmiany trybu wyświetlania do przodu i do tyłu, poprzez czas, datę, rok, temperaturę, a następnie ustawianie czasu.
Krok 3: Krok 3: Crap Case
"loading="leniwe" mogę powiedzieć, że to trochę bzdura, ale jestem w tym trochę zakochany. Nowa wersja projektu PCB nie ma tych atrakcyjnych drutów;-) Gotowe, które mam są oparte na moje płytki prototypowe.
Możesz go rozerwać, zremiksować i użyć dowolnych części, które uznasz za przydatne. Przez cały czas trwania tego projektu pomagali mi ludzie ze społeczności YouTube, więc w końcu wszyscy.