Mündəricat:
- Təchizat
- Addım 1: Qutu hazırlayın
- Addım 2: Saat üzü
- Addım 3: Elektronikanın lehimlənməsi
- Addım 4: Saatı yığmaq
- Addım 5: Proqram təminatı
- Addım 6: Gələcək Təkmilləşdirmələr
Video: Yataq başında MP3 Alarmlı məktub saatı: 6 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Bu layihə üçün rahat və tam işlək bir yataq otağı zəngli saat etmək istədim.
Yataq zəngi üçün şəxsi ön şərtlərim bunlardır:
- İstənilən işıqda oxunur, gecələr isə kor olmaz
- MP3 siqnal melodiyalar
- Cəlbedici və kiçik forma faktoru
- Erteleme funksiyası
- Yaddaş funksiyası, belə ki, elektrik kəsildikdə vaxt, həyəcan vaxtı, zəng melodiyası və həcmi itmir.
- Ad günü funksiyası: Doğum günümdə (və ailə üzvlərim üçün) standart zəng melodiyasından daha çox "doğum günün mübarək" ilə oyanmaq istəyirəm.
Bütün bunları birləşdirən heç bir təlimat tapa bilmədim; buna görə də bu təlimatlıdır.
Saat 8X8 WS2812B Matrix ətrafında qurulub. LEDlərin az olması səbəbindən bütün sözlər ardıcıl hərflərdən ibarət ola bilməz. Əksər 8x8 söz saatı (bu gözəl saatda bənzər) bunu daha çox hərfləri bir LED üzərində qruplaşdıraraq həll edir, digərlərində isə daha yaradıcı həllər var. Sözlərin ardıcıl olmayan hərflərdən qurulduğu daha çox buna bənzər bir həll yolu axtarmağa qərar verdim. Sözləri yandırılmadan əvvəl görmədiyiniz üçün bu, bir az sehrli bir bükülmə verir. Oxunaqlılığı artırmaq üçün eyni sözdən gələn hərflər eyni rəngdədir. Əvvəlcə oxumaq bir az çətindir, amma bir müddətdən sonra onu partlayışla oxuya bilərsiniz. Buna görə də söz saatı deyil, məktub saatı adlandırıram. Saat hər səhər məni yuxudan oyadır və sözlərin necə qurulduğuna hələ də heyranam!
Təchizat
Elektronikadan başqa, demək olar ki, bütün komponentlər artıq evdə olduğum əşyalar yenidən istifadə olunur və ya geri qaytarılır. Həqiqətən ehtiyac duyduğunuz və ehtimal ki, saat üzü üçün əlinizdə olmayan yeganə alət lazer kəsicidir. Xoşbəxtlikdən, bu işdə sizə kömək edə biləcək bir çox fablabs və makerspace var. Təşəkkür edirik Makerspace De Prins!
Elektron komponentlər:
- 8X8 WS2812B LED matris
- Arduino nano
- DS3231 real vaxt saatı modulu
- Mini DFPlayer
- DFPlayer mini -yə taxmaq üçün micro SD kart (tapa biləcəyiniz ən kiçik/ən ucuz işi yaxşı edəcək)
- Foto diod
- Bir RGB LED
- 1000 F kondansatör
- mümkün qədər kiçik bir dinamik
- ümumi tellər, bağlayıcılar, rezistorlar, düymələr
- Bir az ağac, MDF,.. qutu üçün
Addım 1: Qutu hazırlayın
Qutunun özü üçün taxta döşəməmizdən bəzi kəsiklər istifadə etdim. Bunlar 9 mm qalınlığında gözəl palıd lövhələrdir. Miter mişardan istifadə edərək 4 ədəd 10,5 x 8,6 sm ölçüdə kəsdim (Əslində səhvlərin gəlməsi üçün düzəltmək üçün ehtiyat hissəsini kəsdim!). Qısa kənar boyunca, ön və arxa paneli gizlətmək üçün 5 mm -lik yiv hazırlanır. Uzun kənarları gözəl bir kvadrat qutu etmək üçün 45 ° bir açı ilə kəsilir. Kiçik son taxıl yapışqan sahəsi səbəbiylə ağac işçilərinin vəhşi olması ortaq bir şey deyil. Ancaq küncdə gizlənmiş oynağın görünüşünü bəyənirəm və hələ də tətbiq üçün kifayət qədər güclüdür. Ancaq bu, əlimdə olan materiallar ilə mənim həllimdir. Matris tutan hər hansı bir qutu işi yaxşı yerinə yetirəcəkdir. Parçaları yapışdırmadan əvvəl elektronikanı düzəltməliyik. Ona görə də növbəti addımı atacaq.
Addım 2: Saat üzü
Saat üzü olmayan saat yoxdur. Bu, bütün digər işığı maneə törətməklə hərfləri şəffaf etmək üçün ən ağıllı, sürətli və ucuz yollardan biridir. Yalnız kiçik bir parça (10 x 10 sm) akril şüşə (AKA pleksi), bir az sprey boyası və lazer kəsici lazımdır. Təmizlənmiş şəffaf akril şüşə ilə başladım; qalınlığınız qutunuzun boşluğuna uyğun olduğu müddətdə əhəmiyyətsizdir. Bir tərəfdən bir zımpara ilə bir künc kobudlaşdırdım və bir az qara sprey boya ilə örtdüm. Boya damlası və sairdən narahat olmayın, çünki bu arxa tərəf olacaq. Digər tərəfdən, mümkün qədər təmiz saxlamalısınız. İndi boya və akril şüşənin bir hissəsini çıxarmaq üçün lazer kəsiciyə girməlisiniz, burada məktublar təqdim olunan SVG istifadə edilməlidir; hərflərin yansıtılması lazım olduğunu unutmayın! Et voila: demək olar ki, heç bir işıq sızıntısı olmadan mükəmməl görünüşlü bir üzlük düzəltməyin ucuz, sürətli və asan bir yolu! Yəqin ki, məktubların sırasını dəyişdirməlisiniz, çünki bunlar Hollandiya saatı üçün hazırlanmışdır.
İndi lazerə daxil ola bilərsiniz, həmçinin 6 mm MDF -dən bir matris kəsin (Fayl da əlavə olunur). Bu, işığı yaymaq və qonşu hərflərə işıq sızmasının qarşısını almaq üçün LED matrislə üz lövhəsi arasında gedir.
Addım 3: Elektronikanın lehimlənməsi
İndi saatımızın nüvəsinin vaxtıdır; elektronika.
Layihəmizin ürəyi arduino nanodur. Atmega328P əsaslı birini istifadə etdim. Bu işləyir, amma proqramın inkişafı zamanı tez -tez yaddaş problemləri ilə üzləşirdim. Yəqin ki, hər bir ESP32 və ya hətta bir nano daha uyğun ola bilər.
Hər şeyi birlikdə lehimləmədən əvvəl, bütün komponentləri və əlaqələri bir çörək taxtasında sınamaq ağıllıdır. Çox miqdarda komponent və lazımlı əlaqələr səbəbindən bu qarışıq görünəcək. Sonra bütün komponentləri bir -bir delikli elektron lövhəyə köçürürəm. Zəhmət olmasa, qutu nisbətən kiçik olduğu üçün komponentləri bir -birinə yaxın tutun və arxa hissəni çıxarmaqla SD kart, batareya kimi şeylərə əlçatan olacaq şəkildə yönəldin. Yuxarıdan hər şey gözəl və səliqəli görünür, arxası isə ən yaxşı halda spagettidir. Ancaq bütün əlaqələri quraraq və dərhal sınayaraq bunu da edə bilərsiniz! Burada bu prototip lövhələri üçün bəzi tövsiyələr tapa bilərsiniz.
Aşağıda fərqli komponentlər üçün ediləcək bütün əlaqələri tapa bilərsiniz:
RTC (real vaxt saatı) DS3231: 4 pin birbaşa arduino -ya bağlıdır
- VCC -dən 5V -ə qədər
- GND - GND arduino
- SDA -dan A4 -ə qədər
- SCL -dən A5 -ə qədər
DFPlayer Mini: Bu, əksər nümunələrdən bir qədər fərqlidir. I2C avtobus problemlərinin qarşısını almaq üçün onu proqram avtobusu istifadə etmək əvəzinə arduino seriyalı portuna bağlayıram. DFPlayer Mini -yə daxil olan mikro SD kartda 12 MP3 zəng melodiyası (0001.mp3, 0002.mp3,… adlanır) və 0014.mp3 adında xoşbəxt bir zəng melodiyası (13 işləmək istəmirdi!?!) Olmalıdır.
- VCC -dən 5V -ə qədər
- GND - GND
- RX - TX arduino üzərində, birbaşa deyil, 1 kohm rezistor üzərində; DFPlayer mini -nin TX -ni bağlamayın, moduldan gələn rəydən istifadə etmirik və saatın düzgün işləməsini pozacaq!
- spk1 və spk2 dinamikə
WS2812 led matris:
- Müsbət və mənfi birbaşa elektrik cərəyanına bağlıdır
- İlk LED/məktubun din arduino D6 pininə birbaşa deyil, 330 ohm müqavimət üzərində bağlanır.
1000 µF kondansatör: Bu LED -ləri qorumaq üçündür, yəqin ki, onsuz da yaxşı işləyir.
Müsbət ayaq LED matrisinin müsbət tərəfinə (və buna görə də DC jakına) bağlıdır; mənfi ayaq LED matrisinin mənfi tərəfinə bağlıdır
RGB LED: İstifadə etdiyim LED-də daxili rezistorlar var, əksəriyyətində yoxdur, buna görə də lazım gələrsə onları da əlavə edin.
- Ən uzun ayağı yerə bağlıdır
- Digər ayaqları arduino D8, D9 və D10 pininə bağlanır.
Fotodiod
- Fotodiodun bir ayağı 5V -ə bağlıdır,
- digər ayaq arduino üzərindəki A0 pininə və 4.7 kohm rezitor üzərində yerə bağlıdır
Düymələr: 3 düyməyə ehtiyacınız var; Yuxarı və aşağı funksiyası üçün 1 böyük siqnal düyməsi və 2 kiçik düymə. Düymələr arduino üzərindəki rəqəmsal pinlərə bağlıdır. Bu təlimatda gözəl izah edildiyi kimi 10kohm açılan rezistorlar da əlavə etməlisiniz.
- Siqnal düyməsi D7 pininə bağlıdır
- Yuxarı D12 pininə bağlıdır
- Aşağı düymələr D11 pininə bağlıdır
Addım 4: Saatı yığmaq
Bütün komponentlər üçün yer məhdud olduğundan bütün komponentlərin uyğunluğunu yoxlamaq vacibdir. Buna görə bütün komponentləri ana lövhədən asanlıqla çıxarmaq üçün bağlayıcılara bağladım. İstifadə etdiyim siqnal düyməsi çox uzundur və çox qəribə bir şəkildə bağladım. Qırmızı plastikini bəyənmədiyim üçün. İndi düymənin rolunu yerinə yetirən və saatın görünüşünə daha yaxşı uyğun olan kiçik bir taxta disk üçün yer açmaq üçün saatın çox dərinliyindədir. Disk əslində köhnə bir boya fırçasının sapından kəsilir; görürsən ki, köhnə əşyaları təkrar istifadə etməyi sevirəm! Arxa plitə də təkrar istifadə olunan bir əşyadır: mətbəximizdə arxa sıçrayış kimi xidmət edən qızıl dibond lövhədən bir az kəsilmiş. Arxa plakanı ölçmə mişarınızla kəsin və DC yuvası üçün bir delik açın. Daha sonra daxili hissələrə girişi təmin etmək üçün vintlər ilə quraşdırılmışdır. Hər şey uyğun və işləyən kimi görünsə, qutunu yapışdırmağın vaxtı gəldi. Yapışqan asandır, yalnız 4 tərəfini maska lenti ilə yapışdırın, yapışqan tətbiq edin və bir -birinə sarın. LED matrisi LED qapaq matrisinə yapışdırılır və bu sürtünmə mövqeyinə uyğun gəlir. Üz lövhəsi üst tərəfə iki tərəfli bantla bərkidilmişdir. İlk gecələr hər şeyi rezin bantlarla bir araya gətirdikdə "sınaq gecələri" etdim və hiss etdim ki, hətta ən aşağı vəziyyətdə LED -lər çox parlaqdır! LED qapaq matrisi ilə üzlük lövhəsi arasına 2 qat kağız əlavə etməklə həll edildi.
Addım 5: Proqram təminatı
Proqram, bu saatın digərlərindən fərqli olmasıdır. Əsas zəngli saatım kimi istifadə etmək niyyətindəyəm, yalnız 3 düymə ilə idarə olunmaq üçün bir çox funksiyaya ehtiyacım var! Zəng tonunu, vaxtı,… və s.
Burada daxil etdiyim bütün funksiyaların icmalı.
- Siqnal düyməsinə qısa basmaq siqnalizasiya funksiyasını aktivləşdirir / söndürür. Siqnal aktiv olduqda LED qırmızıdır.
- Siqnalın aktivləşdirilməsindən sonra həyəcan vaxtı göstərilir və yuxarı və aşağı düymələri ilə həyəcan vaxtı dəyişdirilə bilər (qırmızı LED yanıb -sönən saatlar, mavi LED yanıb -sönən dəqiqələr)
- Zəng tonunu və səs səviyyəsini dəyişdirmək; Zəngli saatı təyin edərkən yuxarı və aşağı düyməsini eyni vaxtda basaraq parametrlər menyusunu aktivləşdirməlisiniz.
- Siqnal gedəndə, siqnalizasiya düyməsinə qısa basmaq 5 dəqiqə mürgüləmə vaxtı verəcək. Həqiqətən söndürmək üçün: yenidən basın və ya həyəcan siqnalı sönənə qədər uzun basın.
- Vaxtı dəyişdirmək üçün normal iş zamanı eyni vaxtda yuxarı və aşağı düyməsini basaraq parametrlər menyusunu aktivləşdirməlisiniz.
- Tarixi dəyişdirmək üçün (doğum günü funksiyası üçün istifadə olunur) vaxt ayarı zamanı yuxarı və aşağı düyməsini eyni vaxtda basaraq parametrlər menyusunu aktivləşdirməlisiniz.
- Və bir az da Pasxa yumurtası: həyəcan düyməsinə uzun basmaq göy qurşağı rejimini aktivləşdirir. Bu nəinki sərin görünür, hətta gecə işığı kimi də xidmət edə bilər!
Lazım olan arduino eskizi əlavə olunur. Ancaq sıfırdan yenidən yazmaqdan faydalana bilər, çünki üzvi böyüməsini çox göstərir və buna görə də bir az məntiqdən məhrumdur. Ancaq hər şey işlədiyi üçün əvvəldən etdiyimdən daha çox vaxt sərf etmək istəmirəm.
Bu saatı fərqləndirən ən vacib funksiya budur:
String TextToLED (String InputText, int animasiya, int StartLed)
Sizin üçün işıqlandırmaq üçün lazım olan hərfləri axtarıb tapan bir alqoritm var və InputText -in istənilən yerindəki rəngləri dəyişir. Əksər saatlarında bütün sözlər kodlaşdırılmışdır, yəni saat üzünü dəyişəndə hər şeyi yenidən kodlaşdırmalısan. Burada sıraya düzgün məktub sırasını qoymaq qalır
ClockFace = String ("HETMISDTKWARVIENTBIJFGNAVOORHALFDNTWZEVRPHIAGERNALJFCHTSDUURAPMY"). Doğum günü funksiyası üçün adların dəyişdirilməsi xüsusilə rahatdır.
Addım 6: Gələcək Təkmilləşdirmələr
Bir neçə aylıq istifadədən sonra da, quruluşdan hələ də çox məmnunam. Əksər layihələrim üçün düşünürəm: "Bu, təkmilləşdirilməli idi, yoxsa bu daha yaxşı olardı …" Amma bu, yox; istədiyim kimi hiss edir və işləyir. Bir problem enerji istehlakı ola bilər. Bu, aldığınız ortalama zəngli saatdan yüksək ola bilər. Günəş işığının miqdarından çox şey asılıdır, çünki LDR öz işini çox yaxşı yerinə yetirir. Tam qaranlıq olduqda, saatım gecə rejiminə keçir; ən qaranlıq vəziyyətdə qırmızı və yaşıl hərflər deməkdir. Bu rejimdə saat 0,08 amp alır və təxminən 0,4 Vt istehlak edir. Gündüz işığında bu, 0,3 amp və ya təxminən 1,5 Vt -a qədər yüksəlir, göy qurşağı rejimi hətta 5 vatt istehlak edir.
Hər halda son nəticəyə baxanda, qoyduğum bütün enerjiyə dəyər olduğuna əminəm!
Saat yarışmasında mənə səs verməyi unutmayın! Sona qədər oxuduğunuz üçün təşəkkür edirəm.
Tövsiyə:
Təqaüd Saatı / Sayma / Dn Saatı: 4 Adım (Şəkillərlə)
Təqaüd Saatı / Sayma / Dn Saatı: Çekmecede bu 8x8 LED nöqtə matrisli ekranlardan bir neçəsi vardı və onlarla nə edəcəyimi düşünürdüm. Digər təlimatlardan ilhamlanaraq, gələcək bir tarixə/saata qədər saymaq üçün geri sayma/yuxarı göstərici qurmaq fikrinə sahib oldum və əgər hədəf vaxt
Məktub Formatı Yazı Maşını: 5 addım
Məktub Formatı Yazı Maşını: Bu Məktub Formatı Yazı Maşını hər kəsə, xüsusən də tələbələrə, e -poçt formatının məlum olmaması ilə əlaqədar problemlərini həll etməyə kömək edə bilər. Bu maşınla istifadəçi asanlıqla " yaza " e -poçt formatında, etmələri lazım olan şey doldurmaqdır
Mors kodu tərcüməçisinə məktub: 5 addım
Mors Kodu Tərcüməçisinə Məktub: Mors Kodunun onlayn olaraq öyrənilməsini görmək faydalıdır, ancaq onu əsl yanıb sönən işıqlar/səslər ilə şəxsən görməklə müqayisə etmək olmaz. Bu tərcüməçi, Mors Kodunda öyrənmək istədiyiniz hərfi seçib tərcümə etməyə imkan verəcəkdir
Uşaqlar üçün Bağlı Yataq Saatı: 12 addım
Uşaqlar üçün Bağlı Yataq Saatı: Bu təlimatlara əməl edərək, hərəkəti aktivləşdirən və tarixi, vaxtı və günün müvafiq hadisəsini göstərən bir saat qura biləcəksiniz. Gecə rejimini yuxu vaxtı gəldikdə və uşaqlar oyandıqda nə olduğunu tez xatırlaya biləcəklər
Qaranlıq İşıqlandırıcı- Yataq Saatı Vb .: 4 Addım (Şəkillərlə)
Qaranlıq İşıqlandırıcı- Yataq Saatı Vb üçün: Bu vahid, həyat yoldaşımın yataq otağı qaranlıq olanda yataq otağının saatını görə bilməməsindən və məni oyatmaq üçün işığı yandırmaq istəməməsindən şikayət etməsi səbəbindən yaranmışdır. . Həyat yoldaşım saatda gözüaçıq bir işıq istəmirdi, kifayət qədər işıq