Mündəricat:

Başqa bir Saat: 4 addım
Başqa bir Saat: 4 addım

Video: Başqa bir Saat: 4 addım

Video: Başqa bir Saat: 4 addım
Video: Qurban Nezerov ft Elnur Valeh - QARA ZİNDAN 2013 2024, Iyul
Anonim
Yenə Başqa Bir Saat
Yenə Başqa Bir Saat

Əvvəlki yükləmələrimdən də göründüyü kimi, bəzi köhnə çəki avadanlıqlarından 7 Segment Display lövhəsi aldım.

Əvvəlki səyim Real Time Clock modulu olan bir Arduino istifadə etdi.

Bu Təlimat, NTP serverinə bağlı bir ESP8266 D1 Mini istifadə edir!

Kod, ESP8266WiFi kitabxanasından bir nümunəyə əsaslanır.

7 Segment ekran telləri ilə bağlı ətraflı məlumat verməyəcəyəm, çünki şəbəkədə onlarla nümunə var. Sahib olduğum 2 lövhədə MAX7219 dekoder sürücü çipi istifadə olunur, bunlar 8 x 7 Segment Ekranı idarə etmək üçün yalnız 3 pin tələb edir.

Tarixi də göstərmək istədim, buna görə başqa 3 sancağa ehtiyac vardı!

Günü göstərmək üçün başqa 7 çıxışa ehtiyacım var! Çıxış sancaqlarının olmamasını aradan qaldırmaq üçün Neo Pixel ekran, 1 pin, 7 çıxış seçdim!

Addım 1: Hardware

Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq

Ehtiyac duyulan hissələr

12 x 7 seqmentli displeylər (mənim vəziyyətimdə çoxlu naqilləri xilas edən bir neçə köhnə çəkmə maşını lövhəsinə sahib olduğum üçün çox şanslı oldum.

1 x ESP8266 D1 Mini və ya 7 və ya daha çox rəqəmsal çıxışı olan hər hansı bir ESP8266

2 x MAX7129 (Yenə də çəki maşınının ekran lövhələrinə sahib olduğum üçün şanslıyam)

1 x Düz 8 NeoPixel ekran

2 x səviyyəli keçid

1 x 5v enerji təchizatı

Addım 2: GÜN Ekranı

GÜN Ekranı
GÜN Ekranı
GÜN Ekranı
GÜN Ekranı

Bunun üçün baza üçün köhnə bir kredit kartının bir hissəsini, bir az qalın kartı (mənim vəziyyətimdə 300gsm foto kağızı) və bir cüt tərəfli montaj lentini istifadə etdim.

Bir sənətkarlıq bıçağı ilə kəsilmiş yivli lentin yalnız 2 zolağıdır. Aralıq, NeoPixel lövhəsindəki LEDlər arasındakı məsafədir.

Kartın incə zolaqları hər gün üçün kanal yaratmaq üçün istifadə olunur.

Gün adları, Dymo etiket istehsalçısı ilə şəffaf bir lent üzərində yazılmışdır.

Addım 3: Proqramı bağlayın

ESP8266 məhsul çeşidi sayəsində əla qiymətə malikdir

a) Ucuz kirdirlər

b) Çox az xarici komponentə ehtiyacları var

Ekranlar üçün 5v və ESP üçün 3v lazım idi, buna görə 5v enerji təchizatı ilə bir neçə səviyyəli keçid istifadə etdim.

MAX7219 -un 8 ekrana qədər idarə etmək üçün yalnız 3 sancağa ehtiyacı var, bunlar pinlər 1 (Din), 12 (Yük / CS) və 13 (Saat).

Bunlar bir səviyyə dəyişdiricisi ilə bağlanır.

Kod aşağıdakı kimidir:

// girişlər: DIN pin, CLK pin, LOAD pin. çiplərin sayıLedControl mydisplay = LedControl (3, 2, 1, 1)

LedControl tarixiisp = LedControl (7, 6, 5, 1);

Çiplərin sayı 1 olaraq təyin olunur, çünki 2 ekranı DOUT istifadə etməkdən və onları kaskad etməkdən fərqli olaraq ayrı maddələr kimi qiymətləndirirəm.

NeoPixel rəqəmsal çıxış 4 -ə qoşulub

#PIN kodunu təyin edin 4

#define NUMPIXELS 7 (8 LED -dən 1 -i nəzərə almadan)

GitHub -da tapa biləcəyiniz bir neçə #var.

Router SSID və PASSWORD daxil edilməli və bir NTP Server seçilməlidir, (Pulsuz Google NTP Serverlərini araşdırdım).

Addım 4: Yandırın

Güc açıldıqda, NeoPixel LED -ləri dalğalanır, sonra 7 seqmentli displeylər marşrutlaşdırıcı ilə əlaqə qurulana qədər alternativ 'c' və '8' göstərir.

Bütün seqmentlərdə bir c8 kontenti varsa, bu, NTP server bağlantısının qurulmadığını bildirir, sıfırlama bunu həll etməlidir.

Bir əlaqə qurulduqdan sonra Saat və Tarix göstərilir, Gün mavi LED ilə göstərilir.

Tövsiyə: