Mündəricat:

LED Matrix Zəngli Saat (MP3 Çalar ilə): 6 Addım (Şəkillərlə)
LED Matrix Zəngli Saat (MP3 Çalar ilə): 6 Addım (Şəkillərlə)

Video: LED Matrix Zəngli Saat (MP3 Çalar ilə): 6 Addım (Şəkillərlə)

Video: LED Matrix Zəngli Saat (MP3 Çalar ilə): 6 Addım (Şəkillərlə)
Video: Arduino Touch Screen MP3 Music Player and Alarm Clock Project 2024, Iyul
Anonim
LED Matrix Zəngli Saat (MP3 Pleyerlə)
LED Matrix Zəngli Saat (MP3 Pleyerlə)
LED Matrix Zəngli Saat (MP3 Pleyerlə)
LED Matrix Zəngli Saat (MP3 Pleyerlə)

Bu Arduino əsaslı zəngli saat, zəngli saatınızdan gözlədiyiniz hər şeyə malikdir - bəyəndiyiniz hər mahnı ilə oyatmaq imkanı, mürgüləmə düyməsi və üç düymədən idarə etmək asandır. Üç əsas blok var - LED matris, RTC modulu və dinamik ilə MP3 qalxanı.

Addım 1: Material və Alətlər

  • LED Matrix
  • Arduino Uno
  • MP3 qoruyucu DHF pleyer Mini
  • RTC modulu DS1307
  • İstənilən Dinamik
  • 3 düymə (çəkmə/açma müqavimətləri ilə 10k)
  • Tellər
  • Plexi (və ya qutunuzu istədiyiniz hər hansı bir material)
  • 3D printer (matris qutularını çap etmək üçün)
  • DC enerji təchizatı konnektoru
  • USB B qadın konnektoru.

İmkanlarınıza əsaslanaraq bu material siyahısını dəyişdirə biləcəyinizə inanıram (mütləq fərqli MP3 Qalxanlarından, fərqli RTC modullarından istifadə edə bilərsiniz və hər şey yaxşı işləməlidir:)

Addım 2: LED Matrix

LED Matrix
LED Matrix
LED Matrix
LED Matrix
LED Matrix
LED Matrix

Bir ilham olaraq, bu təlimatları LED matrisi qurmaq üçün istifadə etdim, yalnız prototip lövhəsini istifadə etməmək və öz PCB -ni dizayn etmək qərarına gəldim. Layihəmi dövrə istehsalçısından burada tapa bilərsiniz. Sxemlərdən də istifadə edə bilərsiniz və gerber məlumatlarını göndərmək istəyirsinizsə (daha sonra özümüz tərəfindən dövrə istehsalçısı layihəsindən yaratmaq) bunu sizə verəcəyimi bildirin:). Bir neçə ipucu - əvvəlcə çox ucuz LED istifadə etdim, amma bütün diodları lehimlədikdən və arduino kodunu işlədikdən sonra LED diod rəngi dəyişikliyinin qəbuledilməz olduğu ortaya çıxdı, buna görə də fərqli olanları sifariş etməli və başqa bir LED matris etməliyəm. İş prinsipini Part arduinoda izah edəcəyəm. Hər halda, yaxşı bir iş gördüyünüzü və ekranın işlədiyini öyrənmək üçün əsas arduino döngəsindəki DisplayChar funksiyasındakı sabitləri əvəz edin (məsələn, DisplayChar (1, letA) yerinə; 9 nömrəsini yazacaq DisplayChar (0, 9) istifadə edin). 1 -ci sütundan başlayaraq), başqa bir şey şərh etməyinizə ehtiyac yoxdur.

Addım 3: Digər HW

Digər HW
Digər HW
Digər HW
Digər HW
Digər HW
Digər HW

Zəngli saat qurmaq üçün digər HW komponentləri bunlardır: RTC modulu, MP3 qalxanı, Düymələr və arduino UNO.

RTC modulu üçün DS1307 modulundan və MD_DS1307.h kitabxanasından istifadə etdim, hər şey qaydasında işləyir, amma yəqin ki, 3231 və ya digər kimi daha dəqiq RTC modulundan istifadə etməyi məsləhət görərdim - təxminən bir neçə gün ərzində enerjisiz buraxsam bir neçə saniyə itirməyə başladı..

MP3 qalxan DHF pleyeri Mini - Bu MP3 qalxanı həqiqətən çox asandır, SD karta bir mp3 yükləyə, tapdığınız hər hansı bir dinamikə qoşa bilərsiniz və ya ardıcıl ünsiyyət vasitəsi ilə və ya G/Ç pinləri ilə iki şəkildə işlədilə bilər. Düzünü deyim ki, nədənsə serial ünsiyyətdə uğur qazana bilmədim (digər komponentlər üçün istifadə olunan SPI və I2C ünsiyyəti ilə birlikdə işləmədi), amma IO sancaqlarından istifadə etmək üçün yaxşı bir iş idim (arduino Digital çıxışına bağlı ADKEY1 istifadə etdim. Mahnını çalmaq və musiqini dayandırmaq üçün USB+ düyməsini bağlamaq üçün bir tətik).

Şəkildə gördüyünüz kimi, arduinonun Rəqəmsal Girişlərinə qoşulmuş prototipləşdirmə lövhəsində 10kOhm aşağı düşən rezistorlar olan üç sadə düymədən istifadə etdim.

Arduino üçün naqilləri Arduino kodunda aydın görmək olar:)

Addım 4: Mexaniki hissələr

Mexaniki hissələr
Mexaniki hissələr
Mexaniki hissələr
Mexaniki hissələr
Mexaniki hissələr
Mexaniki hissələr
Mexaniki hissələr
Mexaniki hissələr

Gözəl müntəzəm ekranın görünüşünü yaratmaq üçün hər bir LED üçün dəqiq şəkli müəyyən etmək üçün bir şəbəkə istifadə etməlisiniz. Çox yaxşı işləyən sadə 3D çaplı bir şəbəkədən istifadə etdim - İki hissədən, sol və sağdan hazırlanmışdır, STL məlumatlarını əlavə olaraq tapa bilərsiniz.

Qutu CNC maşınında süd pleksisindən üyüdülür. Hansı materialdan hazırlayacağınız tamamilə sizə bağlıdır, yalnız bir tövsiyə, əgər mənim kimi oxşar materialdan istifadə edəcəksinizsə, LED -lərin bir işıq mənbəyi kimi görünməməsi üçün birbaşa LED -lərdə olan bir hissəyə yarımkeçirici bir təbəqə qoyun.. Yan divarda daha yaxşı kod fikirlərini yükləmək üçün DC enerji təchizatı konnektoru və USB üçün bir boşluq olduğunu görə bilərsiniz:) Plastiklərin standart pleksi hissələrini bir -birinə yapışdırmaq üçün istifadə etdim. Əlavə olaraq bütün hissələr üçün STL faylları var (bu super sərin qutunu hazırladığınız üçün dostum Peşiyə təşəkkür edirəm:))

Addım 5: Arduino hissəsi

Arduino hissəsi
Arduino hissəsi

Arduino ilə əlaqəli olaraq, əsas döngə alqoritmini və sonra SPI və Siqnal qurğusu vasitəsilə Shift qeydlərini idarə etmək üçün bir neçə kəlmə qısaca təsvir etmək istərdim.

Əsas döngədə, yalnız bir düymənin basıldığını yoxlayırsınız, RTC -nin sizə yeni dəqiqələr dəyərlərini göndərdiyini və bəzi çəhrayı floyd mahnısını çalmağın vaxtının olub olmadığını yoxlayırsınız:) və yoxsa, LEDləri vaxtaşırı yandırıb söndürürsünüz. nömrələri təyin edin.

LED matrisini idarə etmək - Daha yaxşı başa düşmək üçün əvvəlcə qeyd etdiyim LED matrisinin təlimatlarına riayət etmək yaxşıdır, ancaq qısaca - bu Matrisdə rəqəmləri və ya hərfləri göstərmək üçün vaxtaşırı dəstdən hansı LED -in seçilməli olduğunu başa düşmək vacibdir. sıra açılmalı və sonra bütün LEDləri bir müddət sıradan çevirməlisiniz. Növbəti addımda bu sıranı söndürüb ikinci sıranı hazırlayacaqsınız. Bu nə deməkdir? - heç bir gecikmədən istifadə etməyin! - əks halda sizə rəqəm göstərməyəcək, ancaq yanıb -sönür:)

Kifayət qədər fərqli istifadə edirəm və shift qeydlərini idarə etmək üçün daha asan bir yol deyərdim (bu hamar funksiyanı yazan dostum Krystof sayəsində). Beləliklə, ilk addım (növbənin qeydiyyatı üçün məlumatların hazırlanması DisplayChar funksiyasında baş verir, burada daimi aralığından istədiyiniz simvolu tapırsınız və qeydlər üçün məlumat hazırlayırsınız. Və UpdateDisplay funksiyası çağırıldıqda məlumatlar çıxışlara köçürülür (daha çox məlumat üçün) arduino IDE -dən ekrana baxın)

Siqnal Ayarı. Üç düymə var, sol, orta və sağ. Sağ və ortada ikiqat basdığınız zaman siqnalizasiya menyusuna daxil olacaqsınız. Siqnal menyusunda aşağıdakı funksiyalar mövcuddur - sol düymə (Siqnalı saatlar üçün qur) orta düymə (Siqnalı dəqiqələr üçün təyin et) Sağ düyməyə uzun basma (həyəcanı təsdiq edən), orta və sağ düyməyə uzun basma (mövcud siqnalı silmə).

Zəngli saat qurulduqda (bunu həyəcan siqnalının sağ altdakı LED işarəsinin açılması ilə görə bilərsiniz) və Saat ən çox sevdiyiniz səhər mahnısını çalmağa başlayacaq:) aşağıdakı funksiyalar mövcuddur - sol düymə (Başqa 5 dəqiqə ara ver), orta düymə (həyəcanı ləğv et).

Addım 6: Siqnalın tamamlanması

Image
Image
Siqnalın tamamlanması
Siqnalın tamamlanması

Sonda içindəki hər şeyi yapışdırıram:) və siqnalizasiyanın arxa hissəsini yapışdırıram. Əlavə edilmiş videoda bu həyəcanın idarəetmə mexanizmini görə bilərsiniz. Videoya diqqət yetirin, videoda yanıb -sönən kimi görünür, LED -lərin açılması və söndürülməsi prinsipindən və kamera başlığının çərçivə sürətindən qaynaqlanır - əslində gözləriniz bunu yanıb -sönmədən açıldığını görür:)

Gələcək üçün fərqli materialları sınamaq istərdim - ideal olaraq bir az qara:) və tarix, bəlkə də temperatur və s. Kimi bir neçə funksiya əlavə etmək:)

Ümid edirik ki, öz zəngli saatınızı qurmaqdan və fikirlərinizi gözləməkdən zövq alacaqsınız:)

Saat Müsabiqəsi
Saat Müsabiqəsi
Saat Müsabiqəsi
Saat Müsabiqəsi

Saat Yarışmasında İkinci Mükafat

Tövsiyə: