Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Cześć!
Po prośbie użytkownika Instructables dotyczącej dostępności formatu 12h skorzystałem z wprowadzenia istotnych zmian w oryginalnym projekcie.
Podczas korzystania z wersji 1 poczułem potrzebę stworzenia samodzielnej wersji, więc umożliwiłem modyfikację wszystkich parametrów bezpośrednio z zegara, bez użycia komputera.
Dla każdego, kto nie czytał moich poprzednich instrukcji, jest to zwykły 7-segmentowy zegar led z kilkoma dodatkowymi funkcjami:
- 7 różnych przejść do zmiany minut
- 3 wstępnie ustawione kolory dla przedziałów czasowych
- natężenie światła otoczenia automatyczne przyciemnianie
- automatyczne wyłączanie/uruchamianie, gdy nie ma potrzeby pokazywania czasu;
- automatyczna regulacja czasu letniego
Wersja 2 pozwala również na:
- zmiana formatu czasu 12/24h
- łatwo modyfikowalne parametry
Parametry, które można modyfikować bezpośrednio z zegara to:
- czas budzenia/wyłączania
- kolory dla okien czasowych
- data/godzina
- format czasu 12/24h
Dane te są teraz przechowywane wewnątrz eepromu Arduino wraz z wybranym trybem przejścia. W kolejnym kroku przygotowałem również przewodnik szybkiego startu.
Ramka jest drukowana w 3D, zasilana diodami Arduino Nano, DS3231 i WS2812.
Kieszonkowe dzieci
- Arduino nano
- fotochell
- 2 x przycisk chwilowy
- Przełącznik włącz / wyłącz
- Wtyczka prądu stałego
- Transformator 5V
- 30 diod WS2812 (model 30 diod/metr)
- PCB
- Moduł DS3231
- cienkie kable do połączeń led
- rezystory 10K, 550
- lutować
- klej
- zworki
- nagłówki męskie/żeńskie
Krok 1: CO NOWEGO
Jak powiedziałem, nie chciałem podłączać zegara do komputera za każdym razem, gdy chciałem zmienić parametry, dodając chwilowy przycisk do projektu, łatwo osiągnąłem cel. Jednym przyciskiem mogę przewijać opcje, drugim potwierdzam dane i przechodzimy dalej w menu. Podłączyłem również fotokomórkę do pinu Arduino zamiast +5V, więc po przejściu zegara w tryb uśpienia obwód fotokomórki nie pobiera energii. W końcu uczyniłem to bardziej profesjonalnym trawieniem obwodu na miedzianej płytce.
Krok 2: Montaż PCB
Dla wygody zmieniłem niektóre połączenia, patrz schemat. Przełącznik ON/OFF jest opcjonalny, aby wejść do menu bez tego wystarczy podłączyć +5V przytrzymując przycisk 1.
Rezystancja pomiędzy ledami a D5 to 550Ohm, pozostałe 10Kohm.
Obwód jest bardzo prosty i nie wymaga wytrawiania.
W moim projekcie każdy segment na każdą cyfrę potrzebuje jednej diody led. W przypadku większych projektów można dodać więcej ledów dla segmentu po modyfikacji biblioteki "segment_display.cpp"
Aby uzyskać inne informacje dotyczące sekwencji diod LED i innych, sprawdź wersję 1
Krok 3: Drukowanie 3D
Zaczynając od oryginalnej wersji (dzięki użytkownikowi Thingverse random1101), przeprojektowałem obsługę, dostosowując ją do kodu kreskowego (oznacza to ACMECORPORATION, ale czytnik kodów kreskowych go nie rozpozna….sob).
Zaleca się przyklejenie każdej cyfry po umieszczeniu w jej szczelinie.
Krok 4: Szkic
Biblioteki pozostają niezmienione i przy pierwszym przesłaniu i uruchomieniu szkicu nic się nie stanie, ponieważ odczytuje dane z eepromu i prawdopodobnie w twoim eepromie mogą znajdować się losowe wartości. Następnie przy pierwszym uruchomieniu musisz ustawić dane.
Tryb przejścia jest teraz przechowywany w eepromie.
Podczas wprowadzania danych należy skrupulatnie przestrzegać formatu czasu (aktualnego lub zimowego formatu 24-godzinnego).
Sprawdź poprzednią wersję, aby uzyskać informacje o bibliotece i jej użyciu.