Mündəricat:
- Təchizat
- Addım 1: Arduino IDE -ni ESP32 -ni dəstəkləmək üçün qurun
- Addım 2: LED Matrisini ESP32 -ə qoşun
- Addım 3: Bir yerə qoyun
- Addım 4: Arduino IDE və INO Fayl
- Addım 5: Kod
Video: LED Matrisində ESP32 Kaydırma WordClock: 5 Addım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Bu layihədə ESP32, LED Matrix və siqar qutusu olan Scrolling WordClock yaradıram.
WordClock, yalnız ekranda çap etmək və ya oxuya biləcəyiniz əllərə sahib olmaqdan daha çox vaxtı yazan bir saatdır. Bu saat sizə günorta saat 3 -dən 10 dəqiqə sonra və ya günorta olduğunu söyləyəcək. Hətta gündüz və axşam arasındakı qeyri -müəyyən müddət üçün Prevening (Big Bang Theory -dən) adını istifadə etmək üçün proqramlaşdırdım. 16:00 başlayır.
ESP32 zəhmlidir, çox əyləncəli və ucuzdur, Arduino proqramlaşdırmağı sevirsinizsə, ESP32 -nin 10 dollardan aşağı nə edə biləcəyinə heyran qalacaqsınız. Arduino IDE -dən istifadə edirlər və proqramlaşdırmaq asandır. Bunun necə ediləcəyini bu təlimatda göstərəcəyəm.
Təchizat
- ESP32 - Amazonda təxminən 10 dollar
- LED Matrix (max7219) (və tellər) - 9 dollar Amazon
- Siqar qutusu
- USB güc kabeli
- Esp32 stendi üçün isteğe bağlı 3d printer
Addım 1: Arduino IDE -ni ESP32 -ni dəstəkləmək üçün qurun
Arduino IDE əldə edin:
- Brauzerdə https://www.arduino.cc/ ünvanına daxil olun.
- ARDUINO 1.8.12 almaq üçün Proqramı, sonra Yükləmələri vurun
Arduino IDE -yə ESP32 dəstəyi əlavə edin:
- Arduino IDE -ni işə salın
- Fayl Menyusunu, sonra Tercihləri vurun.
"Tercihlər" bölməsinə daxil olduqda, "Əlavə İdarəetmə Meneceri" nə aşağıdakı sətri əlavə edərək istehsalçı dəstəyini əlavə edin.
dl.espressif.com/dl/package_esp32_index.js
Bu, lövhəni IDE -yə əlavə etmək imkanı verir
Alətlər menyusuna, sonra lövhələrə gedin və idarə heyətinə gedin
Sonra "ESP" axtarın və paketi Expressif tərəfindən əlavə edin.
Nəhayət, "Alətlər" Menyusuna, sonra yenidən "İdarə Heyətinə" qayıtmaq və ESP32 cihazınızı tapmaq üçün aşağıya fırlamaq istəyirik.
Mənimki "ESP32 Wrover Modulu"
Addım 2: LED Matrisini ESP32 -ə qoşun
LED matrisi 4 ədəd 8x8 LED -lərdən ibarətdir və MAX7219 çipini istifadə edir. Bu bizə Matrixdə 8x32 LED və ya 256 LED verir !!!.
Esp32, TinkerCad -da yaratdığım bir dayaqda oturur. Tutucum sancaqları yuxarıya doğru tutur ki, tellər bağlaya biləsiniz.
LED Matrix, SPI (Serial Periferik İnterfeys) istifadə edərək ESP32 -ə qoşulur.
Dişi/Dişi Telləri və Bağlama pinlərini aşağıdakı kimi istifadə edin:
- Matrisdə ESP32 - 5V -dən VCC -ə
- ESP32 - Matrisdə GND -dən GND -ə
- ESP32 - Matrix üzrə CS5 -ə PIN5 (G5)
- Matrisdə Din üçün ESP32 - PIN23 (G23)
- ESP32 - Matrix -də CLK -ə 18 pin (G18) vurun
Digər sancaqlar istifadə etmək mümkündür və ya ESP32 -də fərqli bir pinout varsa.
Addım 3: Bir yerə qoyun
Sonra LED displeyi qoymağa yer vermək üçün siqar qutusunu kəsdim. Qutusu yumşaqdır və ülgücdən istifadə edə bildim. Sonra hamarlaşdırmaq üçün zımpara etdim.
Elektrik kabeli üçün də arxadan bir parça kəsdim. Sadəcə USB gücündən istifadə etdim. Kabelsiz olmasını istəsəydim siqar qutusuna USB telefon şarj cihazı batareyası da əlavə edə bilərdim.
Addım 4: Arduino IDE və INO Fayl
Ən yaxşı tərəf koddur. Ancaq əvvəlcə proqramın ekrandan daha sadə bir şəkildə istifadə etməsinə icazə vermək üçün bir kitabxana əlavə etməliyik. MD_MAX72xx kitabxanasını əlavə etdim.
Kitabxananı əlavə etmək üçün "Eskiz" menyusuna vurun, sonra "Kitabxana daxil et" və "Kitabxanaları İdarə et" bu yüklənəcək və MD_MAX72xx kitabxanasını axtarmağa imkan verəcəkdir. Yalnız quraşdırma düyməsini basın və sizdə var.
Sonra Arduino INO faylımı əldə edin:
github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino
İno faylını Arduino IDE -yə yükləyin, USB -ni ESP32 -dən kompüterinizə qoşun.
"Eskiz" düyməsini basın, sonra Yükləyin
Bu zaman saat işləməyəcək, ESP32 heç nə göstərməyəcək. Niyə? WIFI kodunuzu koda əlavə etməliyik, çünki WordClock vaxt almaq üçün internetə qoşulur. Doğru … növbəti addım ->.
Addım 5: Kod
Nəhayət ki, ən sevdiyim hissəyə çatdıq. Proqram. Əgər maraqlanırsınızsa yuxarıdan aşağıya qədər əhatə edəcəyəm, Proqramın ev internetinizlə işləməsini təmin etmək üçün sadəcə bu sətirləri dəyişdirməlisiniz.
// Şəbəkə məlumatlarınızı əlavə edin
const char *ssid = "xxxxxx";
const char *parol = "xxxxxx";
Proqram çox mürəkkəbdir, amma çox əyləncəlidir.
"Prevening" i deaktiv etmək üçün dəyəri false olaraq dəyişdirin:
const boolean PREVENING = doğru; // Big Bang nəzəriyyəsi.
Kaydırıldıktan sonra rəqəmsal vaxtın göstərilməsini söndürmək üçün bunu yalana dəyişin.
const boolean DISPLAY_DIGITAL = doğru; // sürüşdürdükdən sonra rəqəmsal vaxtın göstərilməsini yandırın.
Zamanı sürüşdürün:
NTP (Şəbəkə Saatı Protokolu) istifadə edərək İnternetdəki vaxt serverindən vaxt alıram. Zaman, timeinfo adlı bir dəyişkəndə tutulur və ondan saat və dəqiqəni alırıq
int saat = timeinfo.tm_hour; /// 0-23
int dəqiqə = timeinfo.tm_min; // 0-59
Sonra yoxlayın AM və ya PM
Saat <12 olarsa AM
"TheTime" adlı bir simli yaradıram və başlayıram:
theTime = "Bu";
Nömrəni söz olaraq almaq üçün 30 -a qədər ədədlər üçün bir sıra sözlər yaratdım
const char *ədədləri = {
"0", "Bir", "İki", "Üç", "Dörd", "Beş", "Altı", "Yeddi", "Səkkiz", "Doqquz", "On", "On Bir", "On iki" "," On üç "," On dörd "," Dörddə "," On altı "," On yeddi "," On səkkiz "," On doqquz "," İyirmi "," İyirmi Bir "," İyirmi İki "," İyirmi Üç " "," İyirmi Dörd "," İyirmi Beş "," İyirmi Altı "," İyirmi Yeddi "," İyirmi Səkkiz "," İyirmi Doqquz "," Yarım Keçmiş "};
Saat 12: 05 -də və ya 5 dəqiqədə on ikini keçəndə həqiqətən Arduino -ya
nömrələr [5] nömrələrdən keçən dəqiqə [12]
"Keçmiş Dəqiqələr" və ya "Dəqiqələr" olub olmadığını müəyyən etmək üçün sadəcə dəqiqələrə baxırıq. Dəqiqələr <31-dirsə, "Keçmiş Dəqiqələr" dir, əgər dəqiqələr 31-dən çoxdursa, "Dəqiqələr Üçün" istifadə edirik, ancaq rəqəmləri [60 dəqiqə] istifadə edirik, belə ki, 12:50 60-50 dəqiqə və ya [10] olardı bizə 10 dəqiqədən 12 -ə qədər.
Əlbəttə ki, 15, 30, 45 kimi digər qaydalar da var, yalnız yarım yarı və ya dörddəbir dəqiqələri istifadə etmirik və əgər dəqiqə 0 olarsa, vaxt yalnız "Saat 10" və ya Günortadır.
Beləliklə, bir araya gətirmək üçün bütün elementləri String theTime -a əlavə edirəm və sonra onu LED Matrisində göstərirəm. If ifadələrindən istifadə edirəm. Yəqin ki, kassadan istifadə etməliydim, amma onları əlavə etməyə davam etmək daha asan idi.
Bizim nümunə üçün 12:05
theTime = "Bu"
əgər <31 dəqiqədə "Keçmiş Dəqiqələr" istifadə olunursa, əksinə "Dəqiqə"
theTime + = rəqəmlər [5] + "Keçmiş Dəqiqələr" + nömrə [12] + "Saat" // Qeyd: + = işarəsi əlavə olunur.
Daha sonra səhər, günorta və ya axşam olub olmadığını müəyyən etmək üçün saata baxırıq.
theTime+= "Axşam saatlarında"
Matrisə gedən son String:
"Axşam saat on ikidən beş dəqiqə keçdi"
Bu layihəni yazmaq çox əyləncəli idi. Əgər xoşunuza gəlirsə "Ürək" düyməsini vurun və mənə səs verin.
Tövsiyə:
Kaydırma Mətn Ekranı (A -dan Z -yə Kılavuz): 25 addım (şəkillərlə)
Mətn Göstəricisi (A -dan Z -yə Kılavuz): Bu təlimatlı / videoda Arduino ilə mətn ekranını necə sürüşdürmək barədə addım -addım təlimatlar verəcəyəm. Arduino üçün kod hazırlamağı izah etməyəcəyəm, sizə mövcud kodu necə istifadə edəcəyinizi göstərəcəyəm. Nə və harada əməkdaşlıq etmək lazımdır
Arduino istifadə edərək DIY LED Dot Matrix Kaydırma Ekranı: 6 addım
Arduino istifadə edərək DIY LED Dot Matrix Kaydırma Ekranı: Salam TəlimatBu mənim ilk təlimatımdır. Bu Təlimat kitabında, Arduino -nu MCU olaraq istifadə edərək, DIY LED Dot Matrix Scrolling Display -ni necə edəcəyimi göstərəcəyəm. Bu cür ekranlar Dəmiryol Stansiyasında, Avtovağzalda, Küçələrdə və daha bir çox yerdə nümayiş olunur. Orada
Arduino Kaydırma Mətn Saatı: 3 addım
Arduino Kaydırmalı Mətn Saatı: Bu layihənin məqsədi, vaxtın danışıldığı vaxtını göstərən (məsələn, "gecə yarısıdır") bir diyirlənən mətn saatı qurmaqdır. Bu sürətli bir layihədir. aparat və eskiz, sonra götürə bilərsiniz
Siçan Kaydırma düymələri: 5 addım
Mouse Scroll üçün düymələr: İllər ərzində bir neçə kompüter siçanım olub və sürüşmə təkəri ardıcıl olaraq ya işləmir, ya da nizamsız işləyir. Qrafik paketini verməyə qərar verdiyim vaxta qədər əsasən sürüşmə seçimindən istifadə etməmişəm
Masaüstü Kaydırma Təkər və Səs Nəzarəti!: 8 Addım (Şəkillərlə birlikdə)
Masaüstü Kaydırma Təkər və Səs Nəzarəti !: Jurnalın həftə sonu layihəsini hazırlayın, 3/4/09 Bəzi MəlumatlarSon zamanlar çoxlu fərqli bloglar oxuyuram. Hər gün engadget, lifehacker, hackaday, BBG və MAKE: blogdakı ən son yazıları oxuyacağam. Mənim üçün problem o anladığım zaman gəldi ki