Mündəricat:
Video: KS-Batman-Watch: 4 addım
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
(Saat burada 7:11 göstərir)
Vəziyyət Batman-Pəncərənizin böyük dairəsi ilə tez-tez Batmana zəng etmədiyiniz üçün, saatın nə vaxt olduğunu göstərmək üçün də istifadə etmək istəyirsiniz. Bunu etmək üçün WS2801 tipli bir Led-Strip istifadə edirsiniz. (şəkilə bax).
Saat 1, 2, 3, 4, 5 və 7, 8, 9, 10 və 11 saatlarını göstərən saat üzündən ibarətdir - 12 və 6 üçün yer yoxdur. Saat, işığı əvvəl və sonra bir ledin aktivləşdirilməsi ilə göstərilir. saat üz saatına görə. (saat göstəricisi)
Hər dəqiqə iki LEDdən ibarətdir - 59 (1), 60 (0), 1 (1) və 29 (1), 30 (0) və 31 (1) istisna olmaqla. fərqli bir rəng sonra saat göstəricisi. Son iki led (saat istiqamətində) həqiqi dəqiqəni göstərir.
Saniyələr üçün bir göstərici etmədim - bu narahatlıq doğuracaq.
Addım 1: Adım 1: Avadanlıq
Aliexpress -də aşağıdakı avadanlıq sifariş etdim: DS3231 Zaman Modulu
LIR2032 şarj edilə bilən LiIo Batareyası (şarj edilə bilər - R -nin mənası budur)
Hello Fish WS2801 led şeridi
Elektron qutu
Enerji təchizatı 5V 10A (olduqca böyük)
Arduino UNO idarə heyəti
Hamısı üçün təxminən 60 ABŞ dolları. (Ən bahalısı LED şeridi ~ 40 USD idi. İndi daha ucuzlarını tapa bilərsiniz.)
Adım 2: Adım 2: Xüsusiyyətlər
(saat burada 6:39 göstərir)
Əsasən şey vaxtı göstərir. Yalnız bilmək lazımdır ki, dəqiqə göstəricisi saat göstəricisi ilə üst -üstə düşəndə bu ledlərin rəngi başqa konfiqurasiya edilə bilən rəngə dəyişir.
Saat, yaz saatı (DST) vaxtının avtomatik dəyişdirilməsi ilə proqramlaşdırılmışdır. Alarm2 true/false funksiyasını aktiv DST saxlamaq üçün istifadə etdiyim üçün-güc itkisindən sonra da DST-Biti yenidən qurmaq lazım deyil. Vaxt LIR2032 sayəsində saxlanılır və Alarm2 doğru/yalan üçün bitdir.
Konfiqurasiya bölməsində saat üzü, iki göstərici və üst -üstə düşmək üçün istifadə etmək istədiyiniz bütün rəngləri təyin edə bilərsiniz. (saat göstəricisi üzərində dəqiqə göstəricisi).
Addım 3: Adım 3: Kablolama və Şematik Diaqram
Enerji təchizatının (V0ADJ) sağ tərəfindəki tənzimləmə vidası ilə çıxış gərginliyini dəyişə bilərsiniz. 5.5V -ə qaldırdım - çünki "saatım" enerji təchizatından çox uzaqdır və kabel uzunluğuna görə kifayət qədər gərginlik itkisinə məruz qalmışam.
Addım 4: Adım 4: Kod və Kitabxanalar
Kodda DoW = 1 bazar ertəsi, DoW = 7 isə bazar günü deməkdir. Ümumi enerji itkisindən sonra vaxtı təyin etdiyinizi xatırlayın.
Arduinuo mühiti ilə DS3231 üçün standart olan Andrew Wickert kitabxanasından istifadə edirəm. Əlbəttə ki, WS2801 LED şeridi üçün FastLED kitabxanasına ehtiyacınız var.
DST-kod hissəsi üçün TedF23-dən şərh ilə diy_bloke kodunu izlədim. (bax: