İçindekiler:

Başucu MP3 Çalar Harfli Saat: 6 Adım (Resimli)
Başucu MP3 Çalar Harfli Saat: 6 Adım (Resimli)

Video: Başucu MP3 Çalar Harfli Saat: 6 Adım (Resimli)

Video: Başucu MP3 Çalar Harfli Saat: 6 Adım (Resimli)
Video: AKILLI SAAT Ten Brawl Stars Oynamak #shorts 2024, Temmuz
Anonim
Başucu MP3 Çalar Mektup Saati
Başucu MP3 Çalar Mektup Saati

Bu proje için kullanışlı ve tamamen işlevsel bir başucu çalar saat yapmak istedim.

Başucu çalar saat için kişisel ön koşullarım:

  1. Her ışıkta okunabilir, geceleri kör değil
  2. MP3 alarm melodileri
  3. Çekici ve küçük form faktörü
  4. Erteleme işlevi
  5. Hafıza fonksiyonu, böylece güç kesildiğinde zaman, alarm saati, zil sesi ve ses seviyesi kaybolmaz.
  6. Doğum günü işlevi: Doğum günümde (ve aile üyelerimin doğum günlerinde) standart zil sesi yerine "doğum günün kutlu olsun" sesiyle uyanmak istiyorum

Bunların hepsini birleştiren herhangi bir talimat bulamadım; bu nedenle bu öğretilebilir.

Saat, 8X8 WS2812B Matrix etrafında inşa edilmiştir. LED'lerin az sayıda olması nedeniyle, tüm kelimeler ardışık harflerden oluşamaz. Çoğu 8x8 kelime saati (bu güzel saat gibi), diğerlerinin daha yaratıcı çözümlere sahip olmasına rağmen, tek bir LED üzerinde daha fazla harf gruplayarak bunu çözer. Kelimelerin ardışık olmayan harflerden yapıldığı buna benzer bir çözüm bulmaya karar verdim. Bu, sözcükleri yanmadan önce görmediğiniz için ona sihirli bir dokunuş verir. Okunabilirliği artırmak için aynı kelimeden gelen harfler aynı rengi paylaşır. İlk başta okuması biraz kafa karıştırıcı olsa da bir süre sonra bir çırpıda okuyabiliyorsunuz. Bu yüzden ona kelime saati yerine harf saati diyorum. Saat beni her sabah uyandırıyor ve kelimelerin nasıl oluştuğuna hala şaşırıyorum!

Gereçler

Elektronik dışında, neredeyse tüm bileşenler evde zaten sahip olduğum yeniden kullanılmış veya geri kazanılmış ürünler. Saat yüzü için gerçekten ihtiyacınız olan ve muhtemelen elinizde olmayan tek alet bir lazer kesicidir. Neyse ki bu konuda size yardımcı olabilecek birçok fablab ve makerspace var. Makerspace De Prins'e teşekkürler!

Elektronik parçalar:

  • 8X8 WS2812B LED matrisi
  • Arduino nano
  • DS3231 gerçek zamanlı saat modülü
  • DFPlayer mini
  • DFPlayer mini'ye yerleştirmek için mikro SD kart (bulabileceğiniz en küçük/en ucuz işi iyi yapacaktır)
  • Bir foto diyot
  • Bir RGB LED
  • 1000 F kapasitör
  • mümkün olduğunca küçük bir hoparlör
  • genel teller, konektörler, dirençler, düğmeler
  • Kutu için biraz ahşap, MDF,..

Adım 1: Kutuyu Yapın

Kutuyu Yap
Kutuyu Yap
Kutuyu Yap
Kutuyu Yap

Kutunun kendisi için ahşap zeminden bazı kesimler kullandım. Bunlar 9 mm kalınlığında güzel meşe tahtalardır. Gönye testeresi kullanarak 4 adet 10,5 x 8,6 cm kestim (Aslında oluşabilecek hataları düzeltmek için biraz yedek kestim!). Kısa kenar boyunca, ön ve arka paneli gizlemek için 5 mm'lik bir oluk yapılmıştır. Uzun kenarlar, güzel bir kare kutu yapmak için 45°'lik bir açıyla kesilir. Bu, küçük uç tane tutkal alanı nedeniyle ortak bir ağaç işçisi değildir. Ama köşede gizlenmiş derzin görünümünü seviyorum ve uygulama için hala oldukça güçlü. Ama elimdeki malzemelerle bu sadece benim çözümüm. Matrisi tutan herhangi bir kutu işi iyi yapacak. Parçaları birbirine yapıştırmadan önce elektroniği yapıp takmamız gerekiyor. Yani bir sonraki adıma kadar.

2. Adım: Saat Yüzü

saat yüzü
saat yüzü
saat yüzü
saat yüzü

Saat yüzü olmayan saat olmaz. Bu, diğer tüm ışığı engellerken harfleri yarı saydam yapmanın daha akıllı, hızlı ve ucuz yollarından biridir. Sadece küçük bir parça (10 x 10 cm) akrilik cam (AKA pleksi), biraz sprey boya ve bir lazer kesiciye ihtiyacınız var. Geri kazanılmış şeffaf akrilik camla başladım; kutunuzun girintisine uyduğu sürece kalınlık önemsizdir. Bir tarafta bir köşeyi biraz zımpara kağıdı ile pürüzlendirdim ve biraz siyah sprey boya ile kapladım. Bu arka taraf olacağından, damlayan boya vb. konusunda endişelenmeyin. Öte yandan, mümkün olduğunca bozulmamış tutmak zorundasınız. Şimdi, harflerin sağlanan SVG'yi kullanarak gelmesi gereken akrilik camın boyasını ve bir kısmını çıkarmak için bir lazer kesiciye erişmeniz gerekiyor; harflerin yansıtılması gerektiğini unutmayın! Et voila: Neredeyse hiç ışık sızıntısı olmadan mükemmel görünümlü bir ön yüz oluşturmanın ucuz, hızlı ve kolay yolu! Muhtemelen harflerin sırasını değiştirmeniz gerekiyor, çünkü bunlar bir hollanda saati için tasarlandı.

Artık lazere erişiminiz var, ayrıca 6mm MDF'den bir matris (dosya ekli) kesin. Bu, ışığı dağıtmak ve komşu harflere ışık sızıntısını önlemek için LED matrisi ile yüz plakası arasına girer.

Adım 3: Elektroniği Lehimleme

Elektronik Lehimleme
Elektronik Lehimleme
Elektronik Lehimleme
Elektronik Lehimleme
Elektronik Lehimleme
Elektronik Lehimleme

Şimdi saatimizin çekirdeğine gelme zamanı; elektronik.

Projemizin kalbi arduino nano'dur. Atmega328P tabanlı bir tane kullandım. Bu işe yarar, ancak yazılım geliştirme sırasında sık sık bellek sorunlarıyla karşılaştım. Bu yüzden muhtemelen bir nano, hatta bir ESP32 daha uygun olabilir.

Her şeyi birlikte lehimlemeden önce, tüm bileşenleri ve bağlantıları bir devre tahtası üzerinde test etmek akıllıca olacaktır. Çok miktarda bileşen ve gerekli bağlantılar nedeniyle bu dağınık görünecektir. Ardından tüm bileşenleri tek tek delikli bir devre kartına aktarıyorum. Kutu nispeten küçük olduğundan lütfen bileşenleri birbirine yakın tutun ve SD kart, pil, … gibi şeylere arka kısım çıkarılarak erişilebilecek şekilde yönlendirin. Üstten bakıldığında her şey güzel ve düzenli görünüyor, arkası ise en iyi haliyle bir spagetti. Ancak tüm bağlantıları yapıp hemen test ederek bunu da yapabilirsiniz! Bu prototipleme panoları için bazı tavsiyeleri burada bulabilirsiniz.

Aşağıda farklı bileşenler için yapılacak tüm bağlantıları bulabilirsiniz:

RTC (gerçek zamanlı saat) DS3231: 4 pin doğrudan arduinoya bağlanır

  • VCC'den 5V'a
  • arduino'nun GND'den GND'sine
  • SDA'dan A4'e
  • SCL'den A5'e

DFPlayer Mini: Bu, çoğu örnekten biraz farklıdır. I2C veri yolu sorunlarından kaçınmak için, onu bir yazılım veri yolu kullanmak yerine arduino'nun seri bağlantı noktasına bağlıyorum. DFPlayer Mini'ye giren mikro SD kart, 12 MP3 zil sesi (0001.mp3, 0002.mp3, … olarak adlandırılır) ve 0014.mp3 adlı bir mutlu yıllar zil sesi (13'ü çalışmak istemedi!?!) içermelidir.

  • VCC'den 5V'a
  • GND'den GND'ye dönüştürücü
  • arduino üzerinde RX to TX, doğrudan değil, 1 kohm direnç üzerinden; DFPlayer mini'nin TX'ini bağlamayın, modülden gelen geri bildirimi kullanmıyoruz ve bu, saatin doğru işlevini bozacaktır!
  • hoparlöre spk1 & spk2

WS2812 led matrisi:

  • Pozitif ve negatif doğrudan güç jakına bağlanır
  • İlk LED / harfin Din'i, arduino'nun D6 pinine doğrudan değil, 330 ohm'luk bir direnç üzerinden bağlanır.

1000 µF kapasitör: Bu, LED'leri korumak içindir, muhtemelen onsuz da iyi çalışır.

Pozitif bacak, LED matrisinin (ve dolayısıyla DC jakının) pozitif tarafına bağlanır; negatif bacak, LED matrisinin eksi tarafına bağlanır

RGB LED: Kullandığım LED'in yerleşik dirençleri var, çoğu yok, bu yüzden gerekirse ekleyin.

  • En uzun bacak yere bağlanır
  • Diğer bacaklar arduino'nun D8, D9 ve D10 pinlerine bağlanır.

fotodiyot

  • Fotodiyotun bir ayağı 5V'a bağlanır,
  • diğer bacak arduino üzerindeki A0 pinine ve 4.7 kohm'luk bir direnç üzerinden toprağa bağlanır.

Düğmeler: 3 düğmeye ihtiyacınız var; Yukarı ve aşağı işlevi için 1 büyük alarm düğmesi ve 2 küçük alarm düğmesi. Butonlar arduino üzerindeki dijital pinlere bağlanmıştır. Ayrıca, bu talimatta güzel bir şekilde açıklandığı gibi 10kohm aşağı çekme dirençleri eklemelisiniz.

  • Alarm butonu D7 pinine bağlı
  • Yukarı, pin D12'ye bağlı
  • Aşağı düğmeleri D11 pinine bağlanır

Adım 4: Saati Birleştirme

Saatin Montajı
Saatin Montajı
Saatin Montajı
Saatin Montajı
Saatin Montajı
Saatin Montajı

Tüm bileşenler için sınırlı alan nedeniyle, tüm bileşenlerin uygunluğunu test etmek önemlidir. Bu nedenle, ana karttan kolayca çıkarmak için tüm bileşenleri konektörlerle bağladım. Kullandığım alarm düğmesi çok uzun ve çok garip bir şekilde taktım. Bunun nedeni kırmızı plastiğini beğenmedim. Şimdi, düğme görevi gören ve saatin görünümüne daha iyi uyan küçük bir ahşap diske yer açmak için saatin içinde çok daha derine yerleştirildi. Disk aslında eski bir boya fırçasının sapından kesilmiştir; eski şeyleri yeniden kullanmayı sevdiğimi görüyorsun! Arka plaka da yeniden kullanılmış bir parçadır: Mutfağımızda backsplash işlevi gören altın bir dibond plakadan kesilmiş bir parça. Sadece arka plakayı gönye testerenizle kesin ve DC jakı için bir delik açın. Daha sonra iç kısımlara erişim sağlamak için vidalarla monte edilir. Her şey yerine oturduğunda ve çalıştığında, kutuyu yapıştırmanın zamanı geldi. Yapıştırmak kolaydır, sadece 4 tarafını maskeleme bandıyla bantlayın, yapıştırıcıyı uygulayın ve sarın. LED matrisi, LED kapak matrisine bantlanmıştır ve bu sürtünme yerine oturur. Ön panel, çift taraflı bant ile üste monte edilmiştir. İlk geceler, her şey lastik bantlarla bir arada tutulduğunda bazı "test geceleri" yaptım ve en düşük ayarda bile LED'lerin çok parlak olduğunu hissettim! Bu, LED kapak matrisi ve ön yüz plakası arasına 2 kat kağıt eklenerek çözüldü.

Adım 5: Yazılım

Yazılım, bu saatin diğerlerinden farklı olmasıydı. Onu ana çalar saatim olarak kullanmayı planladığım için, sadece 3 düğme ile kontrol edilecek birçok fonksiyona ihtiyacım var! Ayrıca, zil sesini, saati vb. değiştirmek gibi basit şeyler için wifi, bluetooth, … ile bağlanmak zorunda kalmak yerine bağımsız bir cihazı tercih ediyorum.

Burada dahil ettiğim tüm fonksiyonlara genel bir bakış.

  • Alarm düğmesine kısa süreli basmak, alarm işlevini etkinleştirir / devre dışı bırakır. Alarm aktif olduğunda LED kırmızıdır.
  • Alarm devreye girdiğinde alarm saati gösterilir ve yukarı ve aşağı butonları ile alarm saati değiştirilebilir (kırmızı LED'in yanıp söndüğü saat, ardından mavi LED'in yanıp söndüğü dakika)
  • Zil sesini ve ses seviyesini değiştirmek için; alarm saatinin ayarlanması sırasında yukarı ve aşağı tuşlarına aynı anda basarak ayarlar menüsünü aktif hale getirmelisiniz.
  • Alarm çalarken alarm düğmesine kısaca basmak size 5 dakikalık erteleme süresi verecektir. Gerçekten kapatmak için: tekrar basın veya alarm ledi kapanana kadar uzun basın.
  • Saati değiştirmek için normal çalışma sırasında yukarı ve aşağı tuşlarına aynı anda basarak ayarlar menüsünü aktif hale getirmelisiniz.
  • Tarihi değiştirmek için (doğum günü işlevi için kullanılır), zaman ayarı sırasında yukarı ve aşağı düğmelerine aynı anda basarak ayarlar menüsünü etkinleştirmeniz gerekir.
  • Ve son olarak biraz paskalya yumurtası: alarm düğmesine uzun basmak gökkuşağı modunu etkinleştirir. Bu sadece havalı görünmekle kalmaz, aynı zamanda gece lambası olarak da kullanılabilir!

Gerekli arduino çizimi ektedir. Ancak, organik büyümesini çok fazla gösterdiği ve bu nedenle biraz mantıktan yoksun olduğu için sıfırdan yeniden yazmaktan yararlanabilir. Ama her şey çalıştığı için, zaten yaptığımdan daha fazla zaman harcamak istemiyorum.

Bu saati diğerlerinden ayıran en önemli işlev şudur:

String TextToLED(String InputText, int animasyon, int StartLed)

Sizin için aydınlanacak gerekli harfleri arayacak ve renkleri InputText'teki herhangi bir boşlukta değiştirecek bir algoritma içerir. Diğer saatlerin çoğunda tüm kelimeler sabit kodlanmıştır, yani saat yüzünü değiştirdiğinizde her şeyi yeniden kodlamanız gerekir. Burada sadece dizgede doğru harf sırasını koyma meselesi var.

ClockFace = String("HETMISDTKWARVIENTBIJFGNAVOORHALFDNTWZEVRPHIAGERNALJFCHTSDUURAPMY"). Ve özellikle doğum günü işlevinin adlarını değiştirirken kullanışlıdır.

Adım 6: Gelecekteki İyileştirmeler

Birkaç aylık kullanımdan sonra bile, yapıdan hala çok mutluyum. Projelerimin çoğu için şöyle düşünüyorum: "Bu geliştirilmeli, yoksa bu daha iyi olurdu…" Ama bu, hayır; Yapmak istediğim gibi hissediyor ve çalışıyor. Bir sorun güç tüketimi olabilir. Bu, satın aldığınız ortalama çalar saatten daha yüksek olabilir. Ancak LDR işini çok iyi yaptığı için gün içindeki ışık miktarına çok bağlıdır. Tamamen karanlık olduğunda saatim gece moduna geçer; bu, en loş ayarda kırmızı ve yeşil harfler anlamına gelir. Bu modda saat 0,08 amper alır ve bu nedenle yaklaşık 0,4 Watt tüketir. Tam gün ışığında bu, 0,3 amp veya yaklaşık 1,5 Watt'a çıkarken, gökkuşağı modu 5 watt tüketir.

Her neyse, sonuca baktığımda, harcadığım tüm enerjiye değdiğine ikna oldum!

Saat yarışmasında bana oy vermeyi unutmayın! Sonuna kadar okuduğunuz için teşekkür ederim.

Önerilen: