İçindekiler:

O Kadar Berbat Değil Saat: 4 Adım
O Kadar Berbat Değil Saat: 4 Adım

Video: O Kadar Berbat Değil Saat: 4 Adım

Video: O Kadar Berbat Değil Saat: 4 Adım
Video: Feridun Duzagac - Beni Birakma (Video Version) 2024, Kasım
Anonim
O Kadar Berbat Değil Saat
O Kadar Berbat Değil Saat
O Kadar Berbat Değil Saat
O Kadar Berbat Değil Saat
O Kadar Berbat Değil Saat
O Kadar Berbat Değil Saat

Yazar davidjwattsdavidjwatts.comYazarın devamını izleyin:

PiBot: Arduino Uno ile Pi Hesaplama
PiBot: Arduino Uno ile Pi Hesaplama
PiBot: Arduino Uno ile Pi Hesaplama
PiBot: Arduino Uno ile Pi Hesaplama

İlk olarak, neden buna Crap Clock diyoruz? Eh, onları aşma umuduyla beklentileri düşürür:-) Şaka yapıyorum elbette, saat başarısızlıklarımın ve başarılarımın çoğunu eşit ölçüde temsil ediyor. Elektronikte mazlumun fiziksel temsili.

İkincisi, bu gerçekten 'şeyi' tasarım seçimleri ve kendinizinkini inşa etmek için ihtiyacınız olan tüm malzemeler üzerinde nasıl daha fazla yansıtacağınız değil.

Crap Clock, sıraları süren bir 74HC595 ve sütunlar boyunca akımı akıtan bir TLC5940 aracılığıyla 82 LED'i çalıştıran bir ATMEGA328'den çalışan bir saattir. DS3231 pil giriş terminalleri ile zamanı tutar ve çalışır durumda tutulabilir. Saatin, saati, tarihi, yılı, sıcaklığı ve ardından iki düğmeyle saat ve tarihi ayarlama modlarını görüntülemek için birkaç 'modu' vardır. LED'ler TLC5940 ile kısılabilir ve saniye ekranı (yukarıdaki Pembe LED'ler) saatin bulunduğu modun yanında bağlamsal bir harf görüntülemek için kullanılabilir.

Kullanmadığım veya PCB'den çıkardığım Li-ion pil şarjı gibi birkaç özellik var, bu sürümde parçaların maliyetini düşürmek için ve DS3231 gerçekten sadece az miktarda akım yuttuğu için yaptım. Dahili DS3231 alarm INT/SQW pini için hala pinler ve ATMEGA'dan bir buzzer pini vardır. Pin 10 genel kullanım için ayrılmıştır ve ayrıca ortam ışığına göre parlaklığı değiştirmek için LDR gibi bir özellik için bir analog pin de mevcuttur.

Crap Clock hakkında konuştuğumu veya tasarladığımı hatırladığım tüm videolardan oluşan bir oynatma listesi hazırladım.

Adım 1: Adım 1: PCB ve Şematik

Adım 1: PCB ve Şematik
Adım 1: PCB ve Şematik
Adım 1: PCB ve Şematik
Adım 1: PCB ve Şematik

PCB düzeni ve şeması Eagle'da tasarlandı, çok uzun zaman aldı;-) ama aynı zamanda çok eğlenceliydi ve bana tasarım hakkında gerçekten çok şey öğretti. Merak etmeyin, bu projede bilmediğim tüm projeler de dahil olmak üzere, yaptığım diğer tüm projelerde hala birçok hata var.

Saatin bir matris ekrana sahip olmasını ve hepsinin tek bir tahtada olmasını istedim, bu yüzden analog bir saati taklit etmek için yuvarlak bir tahta oluşturmaya başladım. Evet…. bu yapışmadı, etrafta dolanması korkunç bir şekildi ve milyonlarca (belki de yüzlerce) LED talep etti. Daha sonra LED'leri kullanarak matris tarzı bir ekran yapmaya karar verdim, orijinal olarak tümü kaydırma yazmaçlarıyla (Saygıdeğer 74HC595) tahrik edildi, ancak sonunda tanıdık TLC5940 LED sürücüsünün akımı bu LED'lerden boşaltmak için harika olacağına ve harika bir sonuç verdiğine karar verdim. PWM karartma özelliği.

İşte Malzeme Listesi:

1 x 16 MHz kristal SM49

82 x 0603 LED (Neredeyse istediğiniz herhangi bir renk)

1 x Mini USB Type B (Gerekli değil, sadece pinlere giden güç için zaten)

7 x 100nf 0805 kapasitör

9 x 10k 0805 direnç

2 x 10uf 0805 kapasitör (Dürüst olmak gerekirse gerçekten gerekli değil ve 0805 olanlar pahalı)

5 x 1k 0805 direnç

1 x 2k 0805 dirençler

5 x 2n3906 SOT23

2 x 22pf 1206 direnç

16 x 470 ohm 0805 direnç

1 x 74HC595D SO16

1 x ATMEGA328P-AU

1 x DS3231 SO16W

2 x SMD dokunmatik anahtar DTSM-3

1 x TLC5940PWP

2. Adım: 2. Adım: Saçmalık Kodu

2. Adım: Saçmalık Kodu
2. Adım: Saçmalık Kodu

Kod biraz kabus gibiydi, birkaç kitaplık kullanırken bile homebrew matris ekranlı bir saati kodlamanın o kadar kolay olmadığı ortaya çıktı.

Elbette harika bir kod değil, boktan bir kod. Ama çalışıyor ve değiştirmesi kolay, nasıl kitaplık yapılacağı hakkında hiçbir fikrim yok, bu yüzden bu biraz tren kazası. Ha ha, ama dürüst olmak gerekirse, kodumu daha iyi hale getirmek ve kendi kitaplıklarımı nasıl oluşturacağımı öğrenmek için çalışıyorum.

Arduino IDE'de yazılmış ve benden çok daha zeki insanlar tarafından oluşturulmuş bazı kütüphaneleri (Shifter.h, MD_DS3231.h ve Tlc5940.h) kullanıyor. Bunu bir programlayıcı ile yüklemeniz gerekecek, ISP olarak bir Arduino kullandım ve tahtadaki sıfırlama, 11, 12, 13 pinlerine bağladım.

Tuşlar:

İki düğme vardır, saatin bulunduğu moda bağlı olarak birden fazla işlevi vardır. Bunları, görüntüleme modunu Saat, Tarih, Yıl, Sıcaklık aracılığıyla ileri ve geri değiştirmek ve ardından saati ayarlamak için kullanabilirsiniz.

3. Adım: 3. Adım: Berbat Vaka

"loading="lazy" diyebilir miyim, biraz saçma ama ben buna biraz aşığım. PCB tasarımının yeni versiyonu o çekici bodge kablolara sahip değil;-) Elimdeki bitmiş olanlar üzerine kurulu prototip panolarım.

Parçalamaktan, yeniden karıştırmaktan ve yararlı bulduğunuz parçaları kullanmaktan çekinmeyin. Bu projenin tüm uzunluğu boyunca YouTube topluluğundan birçok kişi bana yardım etti, bu yüzden sonuçta herkesin oldu.

Önerilen: