Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Kocham zegary! Szukałem instrukcji do zegara wyświetlającego cyfry rzymskie na ekranie. Kiedy nie dostałem żadnych odpowiednich na bazie arduino, postanowiłem sam je zbudować. W połączeniu z kolorowym wyświetlaczem TFT zastanawiałem się, co jeszcze można wyświetlić i altówkę! myśli o różnych systemach liczbowych studiowanych podczas moich studiów licencjackich (ponad 2 dekady wstecz!) przyszły szybko w: binarny, cyfrowy, ósemkowy i szesnastkowy itp.
To jednak dało mi początek i po długim planowaniu i kodowaniu, oto implementacja!
Charakterystyczne cechy tego zegara:
Wyświetlacz multimodalny, na którym można wyświetlać czas w 5 różnych systemach liczbowych na jednym ekranie lub każdy format liczb wyświetlany na osobnych ekranach wybieranych przyciskiem
Orientacja tarczy zegara może być z 4 stron, a dane na wyświetlaczu można dopasować do orientacji za pomocą przycisku. Później zamierzam użyć czujnika żyroskopowego/przyspieszenia, aby zorientować wyświetlacz w oparciu o stronę, z której jest włączony
Dostępne tryby
Cyfrowy
rzymski
Szesnastkowy (podstawa 16)
ósemkowy (podstawa 8)
Binarny (podstawa 2)
Dla kogoś nowego w tych systemach numeracji oto linki z formatu netBinary:
Format ósemkowy:
Format szesnastkowy:
Format rzymski:
Krok 1: Wymagane części:
Potrzebne przedmioty:
- Arduino UNO/Nano lub odpowiednik
- Wyświetlacz TFT: wyświetlacz 1.44 cala 128*128 SPI oparty na IL9163 (zamówiony długi powrót przez aliexpress) (czerwona płytka drukowana)
- Moduł DS 3231 RTC
- Przełączniki przyciskowe 2
- Płytka prototypowa, PCB, przewody łączące
- Opcjonalnie: lutownica, przewody połączeniowe ogólnego przeznaczenia i odpowiednia obudowa (jeszcze nie zdecydowałem się na ten zegar)
Krok 2: Złóż obwody
Użyj tych połączeń między RTC i Arduino. W celach informacyjnych zapoznaj się z odręcznym rysunkiem schematycznym.
-
DS3231----Arduino
- SDAA4
- SCLA5
- Vcc 5V (z Arduino)
- GNDGND (z Arduino)
-
Arduino ---- Wyświetlacz TFT
- 9A0
- 10CS
- 11SDA
- 13SCK
-
Połączenia Arduino
- Vcc-5v
- GND-GND
- 2GND za pomocą przycisku (przycisk zmiany trybu wyświetlania - Bin/Hex/Dec/All)
- 3GND za pomocą przycisku (przycisk zmiany orientacji wyświetlacza)
- Wyświetl połączenia
- VCC3.3V (z Arduino)
- GND-GND
- RESET 3,3 V
- LED5V (z Arduino)
Krok 3: Prześlij kod
Użyj załączonego pliku.ino dla całego kodu z komentarzami, które nie wymagają wyjaśnień!
Krok 4: Ciesz się swoim dziełem i planuj przyszłe ulepszenia
Masz piękny zegar na biurku i jest dużo miejsca na nowe pomysły
- Zmień wyświetlacz lub odśwież tylko określone części ekranu, aby przyspieszyć odświeżanie wyświetlacza (ta obecna implementacja czasami nie wyświetla sekundy z powodu odświeżenia całego ekranu)
- Dodaj płytkę żyroskopu/akcelerometru i powiązany kod, aby dostosować obrót wyświetlacza do orientacji obudowy
- Puść wodze fantazji…
Wreszcie, jeśli podoba Ci się mój zegar, zagłosuj na niego w trwającym obecnie Konkursie Zegarów