Matrislerdeki saatler. LED matrisler üzerinde ev yapımı saatler

İnternette, çeşitli elektronik saatlerin sıkıntısı yoktur. Saat, örneğin bir radyo kedisinden iyi bilinen şema gibi matris göstergelerinde sağlam görünüyor, ancak bunun sadece saat ve dakika değil, aynı zamanda saniye göstergesiyle de olmasını istedim. Başka işlevler ekleyerek böyle bir saat oluşturmaya karar verdim.

Burada sunulan elektronik saat ayrıca odadaki sıcaklığı ölçmenizi sağlar. Dört bağımsız alarmın yanı sıra yıl dönümü, doğum günü vb. olayların başlangıcını bildiren bir takvim etkinlikleri göstergesi vardır. Parlaklığı manuel ve otomatik modda değiştirmenize olanak tanır, bu da karanlıkta algılama konforunu önemli ölçüde artırır ve son olarak, sutyen veya yerel düğmelerden herhangi bir uzaktan kumanda ile kontrol edilirler.

Temel özellikleri:

  • Besleme gerilimi (V) ………… .…………………... 5
  • Akım tüketimi (mA) ……………………………………. 100 - 200
  • Toplam matris boyutu (piksel) …………………… 8 x 40
  • Ölçülen sıcaklığın sınırları (derece) …….…. -40 - +99,5
  • Sıcaklık ölçüm doğruluğu (derece) ……….. 0,5
  • Günlük rota düzeltme limitleri (saniye) …………. -9.9 - +9.9
  • Parlaklık değişim derecelerinin sayısı …………………… 31 + “otomatik” mod
  • Alarm sayısı ………………………………. dört
  • Her alarmın metin hacmi (karakterler) ……….. 11
  • Olay göstergelerinin sayısı …………………….. 14
  • Her olay için metin hacmi (karakterler) ....……. on beş
  • Mod kontrolü …………………………………. Düğmeler / herhangi bir uzaktan kumanda

Saatin devre şeması, aşağıdaki şekillerde gösterildiği gibi şartlı olarak gösterge ve "kontrolör" bölümlerine ayrılmıştır. Elemanların numaralandırılması aynıdır ve ayrıca açıklamada devreyi bir bütün olarak ele alacağız.

Ekran şeması

Kontrol şeması

Kayıtların gerçek kontrolü, TMR0 zamanlayıcısından 2 ms aralıklarla kesintilerde, mikro denetleyici (MK) DD7'nin üç portu aracılığıyla gerçekleştirilir ve bu da toplam 63 Hz'lik bir bilgi değişim frekansı sağlar. Ayrıca, göstergelerin parlaklığını değiştirmek için MK'den DD6'nın pin 9'una (açma-kapama çıkışları) bir PWM sinyali verilir. MK DD7, popüler PIC16F628A'dan bir ADC varlığı ve iki katı program bellek kapasitesi ile ayrılan PIC16F88 olarak seçildi. MK, dahili bir osilatörden 8 MHz frekansında çalışır (628A'dan başka bir fark).

Cihaz, saniye, dakika, saat, haftanın günü, tarih (0'dan 99'a kadar yıl dahil) sayımını ve depolanmasını sağlayan gerçek zamanlı bir saat çipi DS1307 kullanır. İlk başlatma sırasında, DS1307, MK'nin RB0 girişine beslenen pim 7'de 1 Hz frekanslı bir kare dalganın bulunduğu bir modda yapılandırılır. Bu girişte, saniyede bir özel bir bayrağın ayarlandığı bir kesme etkinleştirilir. Ana programda, bu bayrak kullanılarak, ana eylemler saniyede bir kez gerçekleştirilir: DS1307'den veri okuma, zamanı gösterme, alarmlar ve olay göstergeleri arasında bir eşleşme olup olmadığını kontrol etme, parlaklığı otomatik modda ayarlama. Ek pil BAT1, cihazın besleme voltajının olmadığı durumlarda neredeyse sınırsız bir süre boyunca verileri saklamanıza izin verir. MK, DS1307'yi RB1, RB2 bağlantı noktalarına sahip I2C veri yolu üzerinden kontrol eder. Sıcaklık sensörü ayrıca I2C - DS1621 mikro devresi tarafından da kontrol edilir.

Cihaz, sırasıyla MK RA4, RA2 bağlantı noktalarına bağlı S1 ve S2 düğmeleri kullanılarak kontrol edilir. S1 düğmesinin işlevleri, DA1 tipi TSOP48 alıcı üzerindeki devre ve DD8.1 D-tetikleyici üzerindeki tek bir vibratör ve C8, R47 ve D1 öğeleri kullanılarak ABR'den herhangi bir uzaktan kumanda kullanılarak gerçekleştirilebilir. Tek vibratör sinyalinin süresi 0,2 s olarak seçilmiştir, bu da DA1 çıkışından gelen kısa darbelerin patlamalarının kısa bir basışla bu sürenin darbelerine ve uzaktan kumandadaki herhangi bir düğmeyi basılı tutarken sürekli bir sinyale dönüştürülmesini sağlar. D2 diyotu aracılığıyla tetikleyicinin ters çıkışından gelen sinyal, S1 düğmesini kopyalar. R48, HL6 elemanlarının yardımıyla bu gerçeğin bir göstergesi düzenlenir.

DD8.2 çipinin ikinci tetikleyicisinde ve piezoseramik emitör LS1'de, bir alarm saati veya olay göstergesi tetiklendiğinde sesli bir alarm devresi kurulur. Tetikleyicinin sayma girişi, MK'nin çıkışından 8 kHz frekanslı bir PWM sinyali alır. Tetikleyicinin birleşik R ve S girişlerinde bir mantıksal 1 sinyali ile, her iki çıkışta da bir log.1 vardır ve ses yoktur. Bir gösterge olayı meydana geldiğinde, MC bu girişlerdeki seviyeyi 1 Hz frekans ile değiştirir ve bu frekans ile tetik çıkışlarında 4000 Hz frekanslı antifaz darbeleri belirir. Bu frekans bu radyatör için rezonans olduğundan, yüksek aralıklı bir sinyal üretilir. Aşırı parlaklık değerlerinde bile PWM darbesini kaydetmek için programlı önlemler alınmıştır.

FR1, R45 ve C6 elemanlarına bir ışık sensörü monte edilmiştir. Yerleşik ADC'yi kullanan MK, bu bölücüden aydınlatmaya bağlı voltajı okur ve PWM sinyalinin uygun görev döngüsünü ayarlar.

Cihaz, J1 konnektörüne ve ardından R41C3C4, R42C5, C7R46 filtre devreleri aracılığıyla devre elemanlarına sağlanan + 5V'luk bir voltajla beslenir. R49 D3 devresi, cihazı yanlışlıkla aşırı veya ters voltaj bağlanmasına karşı korur. IP olarak 5 voltluk akıllı telefon şarj cihazı kullanmak uygundur.

Cihaz, 60 mm x 170 mm boyutlarında tek taraflı metalizasyonlu fiberglastan yapılmış bir baskılı devre kartı üzerine monte edilmiştir.

DD1-DD5, SO16 paketinde, DD6 - SOIC20 paketinde kullanılır. DIP paketinde DD8 kullanılmaktadır. Yerli K561TM2 ile değiştirilebilir. DD9, DD10 - SO8 durumlarında. Hemen hemen tüm SMD dirençleri ve kapasitörleri 0805, C1,C7,C3,C5 - 1206 boyutundadır. Eski bir anakarttan bir kuvars rezonatörü lehimlemek daha iyidir - genellikle daha kararlıdırlar. Fotodirenç FR1, bir başkasıyla değiştirildiğinde, yaklaşık 1 - 2 MΩ'luk bir karanlık dirence sahip olmalıdır. BAT1 pil tipi CR2032, standart bir tutucuya monte edilmiştir. 3V'luk herhangi bir uygun boyuttaki voltaj ile değiştirilebilir. Piezo emitörü bir başkasıyla değiştirirken, rezonans frekansının 4000 Hz'e yakın olması oldukça arzu edilir. Fotodedektör eski bir TV'den lehimlenebilir. LED - herhangi bir parlak, kırmızı parıltı. Diyotlar KD521, KD522 ile değiştirilebilir. Zener diyot - 5.6V voltaj ve tercihen en az 1 watt gücünde. Uygulanan matris göstergeleri ortak anotlu olduğu için, kartın geliştirilmesi sırasında bunları 90 derecelik bir dönüşle takmak ve sıraları sütun olarak kullanmak ve bunun tersi gerekliydi. 1088AS gibi ortak bir katotlu göstergelerle değiştirirken, bağlantı şemasını tamamen değiştirmeniz gerekecektir. Düğmeler - herhangi bir saat, açısal. Öndeki göstergeler renkli pleksiglas ile kapatıldığında hatalı tepkiler gözlemlendiDA Göstergelerden 1 yansıyan parlaklık sinyali. Bu etki, gösterge ve fotodedektör arasına siyah bir kağıt ekran yapıştırılarak kolayca ortadan kaldırılır.

Düzgün bir şekilde monte edilmiş bir cihazın genellikle ayarlanması gerekmez. Bununla birlikte, aydınlatmanın mevcut bağımlılığı ve otomatik moddaki göstergenin karşılık gelen parlaklığı size uymuyorsa, direnç R45'in değerini seçmelisiniz. Bu durumda, daha düşük bir direnç, belirli bir aydınlatma için daha düşük bir parlaklığa karşılık gelir.

Monte edilmiş panonun görünümü fotoğraflarda gösterilmektedir.

Çok güzel lehimlenmemiş akım sınırlayıcı dirençlerin nedeni, kartın imalatından sonra bunların nominal değerinin 0805 değil 1206 olduğu ortaya çıktı. Bir şekilde lehimlemem gerekiyordu ...

Kontrolör kontrol programı C dilinde yazılmış ve MikroC for PIC ortamına çevrilmiştir. Konfigürasyon kelimesi bellenimde bulunur ve otomatik olarak girilir. Yazarın saatin yönü - matris üsttedir, bu da devrenin detaylarından DD9, DD10 mikro devrelerinin sıcaklığı üzerindeki olası etkiyi en aza indirir. Ancak, eğer birisi matrisler aşağıdayken saatin konumunu beğenirse, yoruma göre programı çevirmeden önce “watch.c” dosyasında ilk satırdaki parametrenin değerini 1'den 0'a değiştirmelisiniz. Firmware her iki durum için de eklenmiştir. Harflere benzer şekilde sayıların yazı tipini ince (varsayılan olarak kalın) olarak değiştirmek de mümkündür (bu, bu arada, ilk moddaki mevcut tüketimi biraz azaltacaktır). Bunu yapmak için “font.c” dosyasının ilk satırında “font_2” parametresinin değerini 1'den 0'a değiştirmeniz gerekiyor.

Şimdi saat modlarının açıklamasına geçelim ve onlarla çalışalım.

Açıldığında, saat ana moda geçer - zaman göstergesi. Aynı zamanda, saat ve dakika basamağı 8 piksel yüksekliğinde ve saniye - 7'dir (genel olarak, her basamak veya harf 5x8 piksel alanında görüntülenir, saniye basamakları - 5x7). S1 düğmesine veya uzaktan kumandadaki herhangi bir düğmeye bastığınızda (bu eylemler eşdeğerdir ve ayrıca S1 düğmesine basmaya gelince, aynı şeyin uzaktan kumandadan gelen bir sinyalle gerçekleştiğini aklımızda tutacağız), mevcut tam tarih ve haftanın günü, sürünen bir çizgi kullanılarak görüntülenir. 16 saniye sonra başka bir işlem yapılmazsa. cihaz orijinal durumuna geri döner - zaman göstergesi. Tarih gösterimi sırasında tekrar S1 tuşuna basarsanız, sıcaklık göstergesi de 16 saniye boyunca çalışan bir çizgi vasıtasıyla başlar. (düğmeye tekrar basarak - hemen başlangıç ​​durumuna dönün).

S1 düğmesine 9 saniye boyunca sürekli olarak basıldığında saat, ilgili yazıtla belirtildiği gibi "MENU" moduna geçer. Uzaktan kumandanın normal kullanımı sırasında (aslında ev aletlerini kontrol etmek için) yanlışlıkla menüye girme olasılığını azaltmak için böyle uzun bir basış seçildi.

Bunu küçük bir arasöz takip eder - çalışmayı genel olarak düğmelerle açıklayacağız. Saat, onlarla yapılan tüm işlemler yalnızca S1 düğmesi (veya uzaktan kumanda) kullanılarak gerçekleştirilebilecek şekilde kontrol edilir. Sonuçta, saat duvarda yüksekte asılı kalabilir ve erişim yalnızca S1 düğmesine (uzaktan kumanda aracılığıyla) olacaktır. Bu nedenle, menü öğelerinde sıralama ve alarmlar veya olaylar listesinde sıralama, kısa (3 saniyeye kadar) S1 tuşuna basılarak yapılır ve seçilen öğeye geçiş uzun (3 saniyeden fazla) yapılır. ) basarak. 15 - 30 saniye boyunca etki yok. (belirli moda bağlı olarak) – başlangıç ​​durumuna geri dönün. Bir parametrenin değerinin değiştiği yerde, kısa bir basış değeri 1 değil, 2 saniyeden fazla basılı tutarak artırır. - değer otomatik olarak saniyede yaklaşık 3 kat artar. Burada, bazı ayarlanabilir (5 ila 8 saniye arası) süre için etkinin olmaması, mevcut parametre korunurken bir sonraki parametreye geçişe yol açar. Bu, S2 düğmesini kullanabileceğiniz yerdir - parametreyi hemen beklemeden bir sonrakine geçişle birlikte kaydetmek için. Bu nedenle, saati elinizde tutmak bu tür manipülasyonları önemli ölçüde hızlandırabilir.

Menü maddesine geri dönelim. Burada beş öğe vardır: KURULUM, DÜZELTME, ÇALAR SAAT, OLAYLAR, AYARLAR. Her biri hakkında sırayla konuşalım.

KURULUM. Bu, geçerli tarih ve saati ayarladığınız yerdir. Değiştirilecek parametre, başlangıçta, değişikliklerin başlamasıyla kaybolan ters çevirme ile vurgulanır. Değerler, maksimum değerden (ulaşıldığında) minimuma ve daha sonra bir daire içinde geçişle sadece yukarı doğru değişir. En sonunda, tarih ve dakika ile saat ayarlandığında, saniye yerine ters sıfırlar olacaktır. Burada, referans saniyeleri sıfırlarken S1'e basın ve saat, değiştirilen tarih ve saat ile orijinal durumuna gidecektir.

DÜZELTME. Zamanla, kaçınılmaz olarak saatin akışında bir hata olur. Bu paragraf onu düzeltmeye yarar. Ön saatin “ayrılmasını” 10 gün boyunca ölçmek gerekir. Diyelim ki saat 58 saniye daha hızlı. Daha sonra “10 gün bakım” satırında belirtildiği gibi bu moda giriyoruz. S1'e bastığınızda, satırın yerine statik bir "XX sec" yazısı gelir, burada XX mevcut düzeltme değeridir, diyelim ki 31. Saatin acelesi olduğu için 58 saniyemizi bu değerden çıkarıyoruz. (geride kalırlarsa ekliyoruz). Kazanılan (-27) sn. Çıkıştan sonra bu değer EEPROM'a kaydedilecektir. Giriş değerlerinin aralığı -99 ila 99 arasındadır, işaret 0'dan geçerken değişir. Düzeltme her gün 00:00:19'da gerçekleşir, bunun için düzeltme değerinin onda birinin tamamı (bizim durumumuzda) (-2)) geçerli zamana eklenir ve kalan ((-7) var) EEPROM'da saklanır ve bir sonraki sefer işlenmeden önce katsayıya eklenir. Yani bir günde zamandan 3 saniye çıkarılacak ve (-4) (-27-7 \u003d -34) kalacaktır.

ALARM. Bu öğeyi girdiğinizde, ekranda aşağıdakilerden oluşan bir satır çalışır: sayı (1-4), dahil olma işareti (“+” veya “-“), yanıt süresi, çalar saatin adı (11 karakterlik metin) . Varsayılan olarak, örneğin ikinci alarm saatinde şu veriler olacaktır: “2. - 12:00 ÇALAR SAAT-2. Kısa basışlarla bir alarmdan diğerine geçebilir, uzun bir basışla verileri değiştirebileceğiniz, etkinleştirip devre dışı bırakabileceğiniz, haftanın her günü için etkinlik seçebileceğiniz, yanıt süresini ayarlayabileceğiniz mevcut alarma gidebilirsiniz, her konumun karakterlerini yazarak metin adını değiştirin. Dört alarm saati hakkındaki tüm bilgiler, DS1307 yongasının (56 bayt) boş belleğinde saklanır. Geçerli saat, haftanın bu gününde açık ve etkin olan bir çalar saatle çakışırsa, bir dakika boyunca aralıklı bir sesli sinyalle bu çalar saatle ilgili verileri içeren bir satır görüntülenir. Alarm sinyali, S1 düğmesine basılarak "erken" kesilebilir.

GELİŞMELER. Bu öğeye girdiğinizde, düğmeye kısa basışlarla göstergede, dönüşümlü olarak aktif olaylar artı “YENİ EKLE” öğesi geçer. Varsayılan olarak etkin etkinlik yoktur, bu nedenle yalnızca yeni bir etkinlik eklemek için bir davetiye olacaktır. Etkin etkinlik biçimi: "<дата> <текст из 16 знаков>". 14 etkinliğin tümü etkin olduğunda, "YENİ EKLE" öğesi görüntülenmez ve yalnızca mevcut olanlardan herhangi birinin yerine yeni bir etkinlik eklenebilir. Etkinlik düzenleme moduna geçmek için uzun basın. Burada etkinleştirebilir veya devre dışı bırakabilir, tarihi değiştirebilir ve bu olaya karşılık gelen kendi metninizi yazabilirsiniz. Tüm değişiklikler MK'nin kalıcı belleğinde (EEPROM) saklanır.

Geçerli tarih, etkinlik tarihleriyle her gün saat 8:00'de çakışma açısından kontrol edilir ve eşleşirse, bir dakika boyunca aralıklı bir ses sinyali ile geçerli tarihten ve etkinliğin metninden bir dize görüntülenir. Böyle bir sinyal, düğme ile kesilmediği sürece saat 19:00'a kadar her saat verilecektir. Düğme tarafından kesilen sinyal artık tekrarlanmaz.

AYARLAR. Bu moda girerken ekranda "BRIGHT.XX" gibi bir mesaj görüntülenir, burada "XX" mevcut parlaklıktır. S1 düğmesine basılarak bu değer 1 ile 31 arasında değiştirilebilir veya “otomatik” anlamına gelen “AB” olarak ayarlanabilir. Parlaklık değerini değiştirdiğinizde, göstergenin gerçek parlaklığı hemen görsel olarak değişir. Otomatik modu kaydederseniz, saat ekranının parlaklığı odadaki ışık seviyesine bağlı olarak müdahale olmaksızın değişir. Bu durumda, otomatik mod için minimum parlaklığı ayarlama maddesine ulaşırız (“MIN.XX” görüntülenir). Bu değer en iyi, beklenen minimum aydınlatma koşullarında ayarlanır. Önceki paragrafta belirli bir sayısal parlaklık değeri ayarlanmışsa bu paragraf atlanır.

Bir sonraki ayar öğesi, çeşitli değişken parametrelerin değerlerini 5 ila 8 saniye aralığında kaydetmeden önce bekleme süresini ayarlamaktır. Bu parametrenin minimum değeri ile, hatalı değerlerin saklanması tehlikesi vardır, maksimum değer ile, uzaktan kumandadan veri girmek için toplam süre artar. Kullanıcı kendisi için rahat olan bir değer seçer.

Tüm ayarlar MK'nin EEPROM belleğinde saklanır ve elektrik kesintisi durumunda kaybolmaz.

Uygulamada kaynak kodu ve firmware'e ek olarak bir Proteus modeli ve Lay6 formatında bir board bulunmaktadır.

radyo elemanlarının listesi

atama Bir çeşit mezhep Miktar NotPuannot defterim
DD7 MK PIC 8 bit

PIC16F88

1 Not defterine
DD1-DD5 vardiya kaydı74HC5955 SOP-16 Not defterine
DD8 Çift D parmak arası terlikCD40131 K561TM2 Not defterine
DD9 Gerçek zamanlı saat (RTC)

DS1307

1 Not defterine
DD10 Sıcaklık sensörü

DS1821

1 Not defterine
DA1 fotodedektörTSOP481 Not defterine
DD6 Güçlü shift registerTPIC6B5951 Not defterine
LS1 Piezo ziliXCFT-14A1 Not defterine
HL1-HL5 LED Matrisi1088BS5 Not defterine
HL6 Işık yayan diyotARL-35141 kırmızı Not defterine
X1 kuvars rezonatörü32768 Hz1 Not defterine
BAT1 lityum pilCR20321 3V Not defterine
D1-D2 Diyot1N47482 Not defterine
D3 zener diyot

1N4734A

1 Not defterine
S1, S2 Saat düğmesiaçısal2 Not defterine
FR1 fotodirençNCL-49521 Not defterine
R1-R40 direnç

220 ohm

40 0805

Ev yapımı saatler konusunda ve devam edeceğime söz verdim, lütfen dilerseniz. Ev yapımı LED matrisleri üzerinde saatler.
, ve

Bu, segment başına üç LED'e dayalı bir segment saati yapmaya çalışmak için yapıldı 7 * 4 * 3 = 84 + 2 = 86 adet

Kabaca şöyle:

Farklı renkler ve kesinlikle parlak denemek istedim (ama başka nasıl?)

Buna göre, 100 parçalık partiler bana oldukça uygun, özellikle fiyat oldukça kabul edilebilir olduğundan ve ben de aynı mağazada sipariş ettim - renkleri tek bir ekranda karşılaştırabilmeniz için çok renkli numaralar yapmak için - hangisi olacak? daha güzel ol, peki ve böyle - iyi eğlenceler… :)

Ürün sipariş edildi ve ücreti ödendi 20 Ağustos 2016, ve geldi 15 Eylül 2016, bizim standartlarımıza göre oldukça hızlı. ANCAK! Kırmızı LED'ler - gelmedi! Alıcının koruma süresinin sonunda bir anlaşmazlık açıldı ve satıcı parayı iade etti. Sadece zaman kaybıydı...

Ürün standart bir sarı ve sivilceli posta zarfı içinde geldi, LED'lerin kendileri ayrı bir plastik torba içinde paketlenmişti, mavi, yeşil parça sayısı 100'den biraz fazlaydı (tam olarak hatırlamıyorum, ama ben 4-5 parça daha olduğunu unutmayın)

Tüm çalışanlar (yani parlama)

Çok renkli olanlarda - üzerinde R G B W Y renginin bir işaretleyici ile işaretlendiği ayrı torbalarda paketlenmiştir - renk her yerde eşleşir ve ayrıca 2-3 ekstra - herkes muhtemelen öyle görünüyordu, ama daha sonra ben her zaman böyle olmadığına ikna oldum ve tam tersi...

Kırmızılı söve olmasaydı, satıcı açgözlülük için artı artı bir şişman beş koyabilirdi.

Öte yandan, para iade edildi - sorun zaman kaybı ve ayrıca paramı bana iade ettiğini yazdığı bir mektup gönderdi ve mallar gelirse bu tutarı kendisine iade etmemi istedi.

kelimesi kelimesine:

Merhaba arkadaşım, şimdi bir geri ödeme alıyorum, bir paket aldığınızda, lütfen paramı iade edin, Lütfen bana beş yıldızlı bir övgü verin.

Olmadığı bir mektubu yuvarlamak zorunda kaldığı ONUN para, ama o sadece bir anlaşmazlık sonucu beni iade ediyor BENİM para, çünkü Mallarını hiç almadım ve aynı zamanda mallarını beklerken çok zaman kaybettim

Bu arada, ondan diğer tüm siparişler geldiğinde, 10 gün sonra ona endişelendiğimi söylediklerini yazdım çünkü çünkü. garip - herkes geldi ama siparişlerden biri gelmedi

Herhangi bir “merhaba arkadaşım” olmadan kuru bir şekilde “60 gün geçmedi” diye yanıtladı.

Ve sonra aniden bir “arkadaş” oldu ve HIS parası ve tecavüze uğramış gibi görünüyor ...

Ancak genel olarak - satıcı yükümlülüklerini yerine getirir, gönderilen mallardan gelen mektuplara cevap verir - sadece olumlu duygular, gönderilmeyen para için iade - her şey KURALLAR'a uygundur

Peki, şimdi ne için edinildiği hakkında

Ev yapımı LED matrisler üzerinde ev yapımı saatler

Saat + radyo + hava durumu + uzaktan kumanda

Uzun zamandır RGB matrisleri üzerinde bir saat yapmak istiyordum. GMT2088 matrisleri bulundu ve sıralandı. Ama dedikleri gibi, iştah yemekle gelir. Sadece renkli bir saat bile sıkıcı olduğu için içlerine FM tuner, ekolayzer, nem, sıcaklık ve basınç sensörleri takılmasına karar verildi. Şebeke geriliminin kesilmesi durumunda da pillerden çalıştırılması mümkündür.

Sonuç bu saat:




Kırmızı LED'lerde 4 parlak nokta fark edebilirsiniz, gözünüzde dört katına çıkmıyor ve bu bir kamera arızası değil, monitörün LCD matrisinin önündeki matrislerin önüne sadece iki film yerleştirilmiş ve diyot parlaması bölünmüş 4 parçaya. Filmlerin birbirlerine göre konumları ile oynarsanız, birçok farklı görüntü elde edebilirsiniz. Fotoğrafın kalitesi kötü ama temeller görünüyor.

Saat ayarları seçenekleri:

1. Alınan radyo istasyonunun ekran rengi. İstasyonun tam ve kesirli değeri için kendi renginizi belirleyebilirsiniz.

2. Metnin rengini özelleştirin.

3. Koşu hattının hızını değiştirin.

4. Saat ekranı renk ayarı. Her karakter için kendi renginizi belirleyebilirsiniz.

5. Radyo aralığı 65MHz ila 108MHz. 20 adede kadar radyo istasyonunu hafızasında saklar.

6. Her istasyonun sesi ve ekolayzer ayarları ayrı ayrı kaydedilir.

7. Alarmlar 7. Yapılandırılabilir açılma zamanı, kapanma zamanı, ses seviyesi, açılma günleri, sesin artması veya olmaması ve radyo istasyonunun veya zilin açılması.

8. LF ve HF frekanslarının ayarlanması.

9. Saat ekranı yazı tipi seçimi 8 yazı tipine kadar, kendi yazı tiplerinizi yükleyebilirsiniz.

10. Matrisin parlaklığının otomatik veya manuel olarak ayarlanması.

A) Aydınlatmaya bağlı olarak tam otomatik

B) Uzaktan kumandadaki veya saatin üzerindeki manuel tuşlar

C) Belirlenen zamanda. Minimum ve maksimum parlaklık açma süresini ayarlar.

11. Saatlik bir yedek pilin şarjının kontrolü.

12. Uzaktan kumanda ile saat kontrolü. Uzaktan kumandayı öğrenmeyi mümkün kıldı (NEC, RC5, SAMSUNG formatları)

13. Zamanı değiştirirken karakterin değiştirilmesi için 6 seçenek yapıldı. (Daha fazla seçenek daha sonra eklenecektir)

14. Ana besleme geriliminin kontrolü. Başarısız olduğunda yedek pile geçer, göründüğünde pili kapatır.

15. Maksimum 99 dakikalık aralıklarla kapanma zamanlayıcısı. Radyo sesini kapatır.

16. Minimum ve maksimum parlaklık limitinin ayarlanması.

17. Odadaki ve sokaktaki sıcaklık hakkında bilgi içeren sürünen bir çizginin zorunlu gösterimi

Yazılım tamamen assembler ve AVR Studio'da yazılmıştır. Belki bir yerde program çok yetkin bir şekilde yazılmamıştır, çünkü bir yıldan biraz fazla bir süredir montajcıya başladım ve sonra sadece boş zamanlarımda, ama asıl mesele istikrarlı ve hızlı çalışması.

Cihazın kalbi, 16 MHz frekansında AVR Atmega32'dir. Saat iki panoda yapılır. Çemberleme ile bir matris üzerinde. İkincisinde diğer her şey.

TSSOP-24 paketindeki STP16CP05 yazmaçlarına sütun matris kontrolü verilir. Bu kaydediciler 16 çıkışa sahiptir ve her çıkışı 80mA'ya kadar yükler. Dizi kontrol kod çözücü 74HC138. Alan etkili transistörler IRF7314, kod çözücünün çıkışına monte edilmiştir.RGB modülleri karta lehimlenmedi, konektörlere yerleştirildi.

Bu saat, gerçek zamanlı bir saat yongası DS3231 kullanır. Harici bir kuvarsa ihtiyaç duymaması nedeniyle seçim ona düştü, çünkü içine sıcaklık kompanzasyonu olan oldukça hassas bir kuvars rezonatörü ve ayrıca bir sıcaklık sensörü de yerleştirildi.

FM radyo, RDA5807 çipinde uygulanmaktadır. Bu çip oldukça iyi bir hassasiyete sahip.

Nem sensörü olarak hazır bir AM2321 modülü kullanılır. Basınç sensörü olarak hazır BMP180 modülü. Bu sensörler ayrıca bir sıcaklık sensörüne sahiptir.

BMP180 sensörü:

AM2321 modülü:


TEA6330T çipi ekolayzır olarak kullanılır. Sesi ayarlamaktan ve bas ve tiz frekanslarını ayarlamaktan sorumludur.

Güç amplifikatörü PAM8403'te yapılmıştır. Küçük çip ama yeterli güç sağlar. Hoparlörler 8 ohm 2W çıkışa bağlanır. Ayrıca 4 ohm hoparlör bağlayabilirsiniz. 8 ohm'da çıkış gücü yaklaşık 1,6 watt'tır. 4 ohm hoparlörde 3 watt.

Saat pil gücüyle çalışacak şekilde tasarlanmıştır. Bir pil markası L12T1P31 3.7V 3700 mAh takıldı.

Şebeke gerilimi kesildiğinde matrislerin parlaklığı otomatik olarak minimuma ayarlanır. Otomatik parlaklık kontrol modu varsa, manuel olarak değiştirilir. Şebeke voltajının olmadığı durumlarda parlaklığı ayarlama yeteneği kalır. Otomatik modu da etkinleştirebilirsiniz. Şebeke voltajı geri yüklendiğinde, parlaklık elektrik kesintisinden önceki seviyeye geri dönecektir.

Parlaklığı azaltılmış saat modunda pil ömrü yaklaşık 15 saattir. Maksimum parlaklık, geniş yazı tipi, ortalama radyo ses seviyesi ile çalışma süresi yaklaşık 5 saattir.

Akü voltaj kontrolü uygulandı. Voltaj 2,5 V'un altına düştüğünde pilin dahili denetleyicisi onu kapattığından ve voltaj 3,2 V'un altına düştüğünde dönüştürücü yanlış çalışmaya başlar ve çıkışı sadece 5V'dir. Saat sonsuz bir sıfırlamaya girer. Bu nedenle, dönüştürücü için minimum voltaja düşürülmemesi için 3.2V'luk bir voltaj eşiği seçilmiştir. Voltaj 3,2V'nin altına düşerse, saatin enerjisi kesilecektir.

Kart, BU48xx tipi özel bir voltaj kontrol mikro devresi kurma imkanı sağlar. Bu devrede BU4832, 3,2 V'u kontrol eder.

Pil şarj kontrolü, ms TP4056'ya monte edilmiştir. 3,7v'den 12v'ye voltaj dönüştürücü, LM3488'e monte edilmiştir.

Hem 3 hem de 2 pimli pilleri takmak mümkündür. Pil sıcaklık kontrolüne ihtiyacınız yoksa, bazı elemanları kurmuyoruz (detaylar için şemaya bakın) Tüm devre kartları ve ürün yazılımı makalenin sonundadır.

Yedek pilin voltajını kontrol etmek için R13 R14 elemanlarına bir ayırıcı monte edilmiştir.

R1 R10 R11 R12 elemanlarında, aydınlatmayı otomatik modda kontrol etmek için bir bölücü monte edilmiştir.

Q1 Q2 R19-R22'nin elemanlarına bir seviye eşleştirici monte edilmiştir, çünkü bazı ms'ler 3V ve bazıları 5V ile güçlendirilmiştir.

Ana modül, RGB matris modülü ve dış sıcaklık sensör modülünün devresini başlatmak için

Bitmiş RGB matris kartının birkaç fotoğrafı. Çift taraflı fiberglastan yapılmış tahtalar. Hata ayıklama işlemi sırasında bazı iyileştirmeler yapıldı. Bu nedenle, bazı fotoğraflar arşivdeki panolardan biraz farklıdır. Arşivde, tüm değişiklikler dikkate alınır.

Tahtanın alt tarafı:


Alt tarafta, 2,4 kΩ dirençler pinlere basitçe lehimlenmiştir.

Yüklü matrisler olmadan üst taraf:


Yan görünüm:


Yukarıdan bak:


Değişen sayıların etkileri (videoda tüm efektler gösterilmemiştir)

Saat yönetimi


Saati ilk açtığınızda sadece butonlarla kontrol edebiliyorsunuz. Uzaktan kumandayı kontrol edebilmek için, uzaktan kumandadan saat sinyallerini öğretmeniz gerekir. Bunu yapmak için kontrol düğmelerinden herhangi birini basılı tutun ve "Sıfırla" düğmesine basın."Uzaktan kumandayı ayarlama" kaydırma satırı çalışacak ve uzaktan kumandanın ilk formatı olan NEC'nin ekranını göreceğiz. Varsayılan olarak, matrislerde ilk NEC protokolü görüntülenir. Saatin arkasındaki düğmelerden herhangi birine basarak protokoller arasında gezinin. Protokoller bir daire içinde değişir NEC - Samsung - RC5.




Yukarıda yazdığım gibi, NEC protokolü varsayılan olarak ayarlanmıştır. Uzaktan kumandayı alıp üzerindeki herhangi bir tuşa basıyoruz. Seçilen protokol ve uzaktan kumandanın protokolü eşleşirse yazı yeşile döner ve ardından cihaz uzaktan kumandanın öğrenme moduna geçer. Protokoller eşleşmezse, matrislerde herhangi bir değişiklik olmayacak ve yazıt mavi kalacaktır. Bir sonraki protokole göre yeniden düzenleriz ve uzaktan kumandadaki herhangi bir düğmeye tekrar basarız.
Protokolün tanımı, uzaktan kumanda düğmesine ilk basıştan itibaren çalışmalıdır. Uzaktan kumanda düğmesine ikinci kez veya daha fazla basıldığında çalışıyorsa, protokoller eşleşmez ve başka bir protokol seçmeniz gerekir.
NEC ve Samsung protokolleri biraz benzer olduğu için NEC formatındaki uzaktan kumanda Samsung protokol modunda eğitilebilir, ancak aynı düğmeye iki kez basmanız gerekecektir. Gelecekte, nabız ölçüm aralıklarını düzeltmeye çalışacağım ve belki bu kaldırılacak.

RC5 protokolü en basitidir. Bu modda herhangi bir uzaktan kumandayı çalıştırabilirsiniz, ancak normal çalışmayacaktır. Bu modda, yalnızca RC5 protokolünün uzaktan kumandası normal şekilde çalışacaktır.
Uzaktan kumanda protokolleri arasındaki fark hakkında bir çok makale yazıldı ve bunların hepsini burada anlatmayacağım.

Protokol tanımlandıktan sonra program uzaktan kumanda butonlarının öğrenme moduna geçecektir. Matrisler görüntülenecek hangi düğmeye basılacağı. Bekleme modunda sembolün rengi mavi olacaktır.


Uzaktan kumandadaki düğmeye basıyoruz. Veriler başarılı bir şekilde alınırsa sembolün rengi yeşile döner:


Hatalı veri alınırsa renk birkaç saniyeliğine kırmızıya döner ve ardından cihaz tekrar butona basılmasını bekleme moduna geçer.


Son istenen düğmeye basıldıktan sonra. Saat ana çalışma moduna girecektir. Herhangi bir sensör veya gerçek zamanlı çip takılı değilse, sürekli olarak "Sensör bulunamadı" satırı görüntülenecektir. DS3231'i kurmaz ve sensörlerden herhangi birini kurmazsanız, matrislerde yalnızca yanıp sönen noktalar görüntülenecektir.

Daha fazla açıklama uzaktan kumanda için olacaktır. Düğmeleri kontrol etmek için ayrı bir açıklama olacaktır, çünkü uzaktan kumandayı kullanarak doğrudan istediğiniz menüye gidebilirsiniz ve düğmeleri kullanarak yalnızca başlangıçtan bir menüye, ardından diğerine ve bir daire içinde sıralı bir geçiş yapabilirsiniz. .

Uzaktan kumandayı kurduktan sonra, görüntülenen zamanı göreceğiz. Bu moddan farklı menülere gidebilirsiniz. Program, kurulu TEA6330 ve RDA5807 yongalarının kontrolünü sağlar. Bir mikro devre kurulu değilse, ayarlar menüsüne gitmek mümkün olmayacak ve ilgili çalışma hattına "Ekolayzer bulunamadı" veya "Radyo bulunamadı" girilecektir.

Uzaktan kumanda düğmelerinin çalışmasının açıklaması:

Açma / Kapama düğmesi - aç - matrisi kapat

Yukarı ok ve aşağı ok düğmeleri - matrisin parlaklığını ayarlayın veya ayar modunda verileri değiştirin. Bu düğmelerin parlaklığı tüm menülerde ayarlanır.

Sol ok veya sağ ok düğmesi - zaman görüntüleme modunda yazı tipini değiştirin ve alarm ayar modunda alarm alt menüsünde ilerleyin

"1" düğmesi - "Saat" menüsü

"2" düğmesi - "Radyo" menüsü

"3" düğmesi - "Alarmlar" menüsü

"4" düğmesi - "Ekolayzer" menüsü

Düğme "5" - koşu hattının gösterimi

A) tüm sensörlerden gelen bilgilerin tek tıklamayla görüntülenmesi

B) 3 saniye içinde iki kez basıldığında yalnızca dış ortam sıcaklığı görüntülenir.

"6" düğmesi - "Kapatma zamanlayıcısı" menüsü

"8" düğmesi - minimum ve maksimum parlaklığı ayarlama / sıfırlama

"9" düğmesi - İnternet üzerinden saniyeleri ve zaman düzeltmesini sıfırlayın

"0" düğmesi - otomatik veya manuel parlaklık kontrolü

CH + ve CH düğmesi - FM modunda radyo istasyonları arasında gezinin

Düğme sesi + ve ses - ses kontrolü

Düğme Açma / Kapama sesi - aç sesi kapat

"MENU" düğmesi - saat modunda ana ayarlara gidin, radyo modunda radyo ayarlarına ve alarm modunda alarm ayarlarına gidin

"ESC" düğmesi - alt menüden çıkış

Cihazın hangi modda olduğuna bağlı olarak geçiş. "Zaman" modundaysa, geçiş ana ayarlarda olacaktır. "Radyo" modundaysa, radyo ayarlarına gidin. "Alarm Saatler" modundaysa, alarm ayarlarında

"Tamam" düğmesi - ayar modlarındaki değişikliklerin onayı

Saatin saati görüntülemek için 8 yazı tipi vardır. Uzaktan kumandadaki "Sol" veya "Sağ" düğmelerini veya saat panosundaki S6'yı kullanarak yazı tipleri arasında geçiş yapın.

Geniş yazı tipi örneği:


Dar yazı tipi örneği:


Kendi yazı tiplerinizi ekleme

Yazı tipleri EEprom'da saklanır. En fazla 8 yazı tipi yüklenebilir.

Yazı tipi PixelFontEdit-2.7 kullanılarak oluşturuldu
Atmel studuo6.2 için yazı tipinin kendisi ve Eprom kaynağı sayfanın sonundaki arşivdedir.
Yazı tipleri etiketten eklenir eeFront1:
8'den fazla olmayan yazı tipi sayısı artık sığmayacak. Programın kendisi indirilen yazı tipi sayısını belirleyecektir.
Yazı tipleri satırla bitmelidir .db "E", "N", "D" yazı tiplerinin sonunu belirten.
Edebiyat SON büyük veya küçük olabilir ama Latince olabilir.
EEprom dosyasını derleyin ve flashlayın. EEprom'daki tüm değerlerinizi hemen her satır için detaylı yorumlarla doldurabilirsiniz.
Ayrıca yazı tipinde saat ve dakikayı ayıran noktaların ne olacağı belirlenir.Her yazı tipinin sadece ilk karakterinde ayarlanır.
İlk karakterde, ilk baytın bit0'ı ayarlanırsa çift, sıfırlanırsa tek olur.

Ayarlar zaman görüntüleme modunda

Bu menüde "Yukarı" ve "Aşağı" butonları ile parametreleri değiştirin, "OK" butonu ile değişiklikleri onaylayın. "ESC" tuşuna basarak istediğiniz zaman kurulumdan çıkabilirsiniz.

"Menü" düğmesine basarız, "Temel ayarlar" çalışan satırı, ardından "Radyo rengi" satırı çalışır. FM aralığının tamamı yanıp sönecektir, istenen rengi ayarlamak için "Yukarı" veya "Aşağı" düğmelerini kullanın ve "Tamam" düğmesine basın. FM bandının kesirli kısmı yanıp sönecektir. Ayrıca istediğiniz rengi ayarlayın ve "Tamam" ı tıklayın.



Kuruluysa fotoğraftaki gibi koşu hattı için renk seçeneği:


Ardından, kaydırma çizgisi görüntülendiğinde, rengi her seferinde yeni olacaktır.

Ardından, "Saati ayarlama" satırı çalışacaktır. Saat değeri yanıp sönmeye başlayacaktır. Geçerli saati ayarlamak için "Yukarı" veya "Aşağı" düğmelerini kullanın ve "Tamam" a basın. Dakikalar yanıp sönmeye başlayacaktır. Mevcut dakikayı ayarlamak için "Yukarı" veya "Aşağı" düğmelerini kullanın ve "Tamam" a basın.


Ardından, "Saat rengi" satırı çalışacaktır. Bu menüde her saat sembolü için farklı bir renk ayarlayabilirsiniz. Yukarı veya Aşağı düğmelerini kullanarak bir renk seçin. Toplamda 7 renk seçeneği bulunmaktadır. Sekizinci seçenek, değişen renklere sahip çok renkli bir semboldür. İstediğiniz rengi seçtikten sonra "Tamam" düğmesine basın. Ardından, aşağıdaki karakterlerin rengini ayarlayın ve "Tamam" ı tıklayın.


Güncel tarihi ayarlamak için "Yukarı" veya "Aşağı" düğmelerini kullanın ve "Tamam" a basın.




Ardından, "Haftanın gününü ayarlama" satırı çalışacaktır. Haftanın günleri Pazar-Pazar, Cts-Cumartesi, Cuma-Cuma vb. kısaltmasıyla görüntülenir. Haftanın geçerli gününü ayarlamak için "Yukarı" veya "Aşağı" düğmelerini kullanın ve "Tamam" a basın. Bu, temel kurulumu tamamlar.


Ardından, haftanın geçerli günü, tarih, yıl, basınç, sıcaklık ve nem ile birlikte bir kaydırma çizgisi çalışacaktır. Cihaz, zaman görüntüleme moduna girecektir. Bu modda, yaklaşık 4 dakika sonra odadaki sıcaklık, basınç ve nem ile ilgili bilgileri gösteren bir ticker görüntülenecektir. Tüm sensörler düğmesi "5" RC'den bilgi çıkışı. Sokaktaki sıcaklık ve nem ile ilgili bir satır her 15 dakikada bir görüntülenir (istediğiniz aralığı kendiniz ayarlayabilirsiniz, daha fazlası aşağıdadır.) Herhangi bir nedenle bir sensör takılı değilse, bu sensörden gelen bilgiler görüntülenmez. koşu hattında. Her üç sensörde de sıcaklık sensörü bulunduğundan, veriler kurulu sensörden okunacaktır. Varsayılan olarak, sıcaklık DS3221'den okunur.

Radyo modu.

Bu moda geçiş, uzaktan kumandadaki "2" düğmesine basılarak gerçekleştirilir. Radyo aralığı 65MHz - 108MHz.

Bu modda, ticker yaklaşık 4 dakika sonra da çalışır.

Aşağıdaki menü görüntülenir:


İlk dört hane alınan istasyonun frekansıdır. "M" veya "C" harfi, alınan mono veya stereo sinyaldir. Kırmızı harfin altında alınan sinyalin seviyesi bulunur. Ses seviyesi en altta gösterilir."CH +" ve "CH-" tuşları ile ayarlanan istasyonlar arasında gezinin, "GR+" ve "GR-" tuşları ile ses seviyesini ayarlayın. Ses değeri her istasyon için ayrı ayrı kaydedilir. Ayrıca her istasyon için tiz ve bas ekolayzer ayarları ayrı ayrı kaydedilir. Ekolayzır moduna geçmek için uzaktan kumandadaki "4" düğmesine basın (ayarın açıklaması hemen aşağıdadır).

Radyo ayarları moduna geçmek için uzaktan kumandadaki "Menü" düğmesine basın. Çalışan satır "Radyo ayarları" görüntülenecektir.

Stereo veya Mono'yu belirten harf kırmızıya dönecektir. Oynatma modunda, mavidir. 15 saniye içerisinde herhangi bir tuşa basılmazsa cihaz radyo çalma moduna geçecektir.


İstasyonun frekansının değiştirilmesi, uzaktan kumanda üzerindeki "CH +" ve "CH-" butonları ile "Sol" "Sağ" butonları kullanılarak gerçekleştirilir.

76-108 MHz aralığında "Sol" ve "Sağ" tuşları aralığı 1 MHz, uzaktan kumandanın "CH-" ve "CH +" tuşları ise 0,1 MHz değiştirir.
65-76 MHz aralığında, "Sol" ve "Sağ" tuşları aralığı 0,1 MHz, uzaktan kumandanın "CH-" ve "CH +" tuşları ise 0,01 MHz değiştirir.

"Gr+" ve "Gr-" tuşları ile ses seviyesini ayarlayın. İstenen frekansı ve ses seviyesini seçtikten sonra "Tamam" düğmesine basın. Mevcut istasyon girişi için kutu görüntülenecektir. Hücrede zaten kayıtlı bir istasyon varsa, numarası kırmızı renkte olacaktır.



Hücre serbest ise, yeşil olacaktır.


"CH+" ve "CH-" düğmeleriyle istediğiniz hücreyi seçin. Kayıt için toplam 20 hücre mevcuttur. İstediğiniz hücreyi seçtikten sonra "Tamam" düğmesine basın. Hücre, istasyonun frekansını ve ses seviyesini kaydedecektir. Cihaz kurulum moduna dönecektir. Kurulum modundan çıkmak için "ESC" tuşuna basın veya 15 saniye boyunca hiçbir şeye basmayın. Cihaz radyo çalma moduna girecektir.

Alarmları ayarlama

Uzaktan kumandanın "3" düğmesiyle alarm ayarlama moduna geçiş. Çalışan satır "Çalar Saatler" görüntülenecektir. 15 saniye içerisinde herhangi bir tuşa basılmazsa cihaz saat görüntüleme moduna geçecektir.

Alarm menüsüne gittikten sonra aşağıdakileri göreceğiz:


B1 alarm numarası anlamına gelir. Toplamda yedi tane var. Numaradan sonra gelen tireler, alarmın etkinleştirilmediği anlamına gelir. Alarmın numarasını değiştirmek için "Sol" ve "Sağ" butonlarını kullanınız.Alarm kapalı ise ayarları görüntülenemeyecektir.Alarmı açmak için "OK" butonuna basınız. etkinleştirilmiş alarmlar olduğunu belirten yanar ve bir zil görünür.


Şimdi alarm ayarlarını görüntüleyebilirseniz. Her alarmın menüsü dört bölüme ayrılmıştır. İlk bölümde, açma süresi ve ses seviyesi ayarlanır. İkinci bölümde, kapanma süresi ayarlanır ve ses modu lineer veya yükselendir. Üçüncü bölümde ise açılacak olan istasyon ayarlanır veya buzzer seçilir. Dördüncü bölümde alarmın çalışacağı günler seçilir. Önümüze çıkan "Sağ" butonuna bastığımız ilk kısım olacak.


Alarm saati burada görüntülenir. Sağ alt köşede güç açık ses seviyesidir. Ayarları değiştirmek için "Tamam" düğmesine basın. Açılış saati yanıp sönmeye başlar. Değeri değiştirmek için "Sol" ve "Sağ" düğmelerini kullanın ve "Tamam" düğmesine basın. Böylece dört parametreyi de ayarladık.

Ses seviyesini ayarladıktan sonra "Tamam"a tıklayın. Bu, çalar saatin ilk bölümündeki ayarı tamamlar.

Bu bölümde, alarm kapandığında veya lineer olarak artan ses seviyesini ve kapanma süresini ayarlayabilirsiniz.

Doğrusal hacim sağda bir dikdörtgen olarak görüntülenir:


yükselen groKapasitans bir üçgen olarak görüntülenir:


Tüm yapılandırma adımları, ilk bölümdeki ile aynıdır.

Ses ayarları hakkında biraz. İlk menüde ses seviyesini ayarladık. İkinci bölümde lineer ses seviyesi ayarlanmışsa, alarm çaldığında, maksimum ses birinci bölümde ayarlanan ses olacaktır. Ses seviyesi artan olarak ayarlanmışsa, alarm çaldığında, minimum değerden gelen ses kademeli olarak ilk bölümde ayarlanan değere yükselecektir.

İkinci kısmı ayarladıktan sonra "Sağ" butonuna basın ve alarm ayarlarının üçüncü kısmına geçin.


Bu kısımda BEEP yazısına kaydırılarak açılacak radyo istasyonu konfigüre edilir veya buzzer seçilir.


Önceki bölümlerde olduğu gibi aynı düğmelerin ayarlanması. İstasyonlar yalnızca "Radyo" modunda ayarlanmış olanlardan seçilir.

Üçüncü bölümü ayarladıktan sonra "Sağ" butonuna basın ve alarm ayarlarının dördüncü bölümüne geçin.

Burada alarm günlerini ayarlıyoruz.


Haftanın günlerinin belirlenmesi sayılarla yapılır. 1-Pazartesi, 2-Salı, 3-Çarşamba vb.

"OK" tuşuna basın Uzaktan kumanda ilk karakteri yanıp sönmeye başlayacaktır. Haftanın gününü açmak veya kapatmak için uzaktan kumandadaki "Sol" veya "Sağ" düğmelerini kullanın. Yeşil renk aktif gün, kırmızı aktif değil. Aktif günün altındaki bir LED yanar. Haftanın hangi gününün aktif olduğunu görmek için sıradan LED'lerde saat toplayanlar için üretildi.

Ayar yaptıktan sonra uzaktan kumanda üzerindeki "Sağ" tuşuna basın ve bir sonraki alarma geçin veya "ESC" tuşuna basın ve zaman görüntüleme modundan çıkın.

Alarm çaldığında LED yanıp sönecektir. Alarm çalışırken "Off" tuşuna basarsanız uzaktan kumanda LED'inin yanıp sönmesi durur ve kapanma zamanı geldiğinde alarm kapanmaz yani alarm iptal olur.

ekolayzer ayarı

Uzaktan kumandadaki "4" düğmesine basarak ekolayzer ayarları menüsüne geçin. Koşu hattı "Equalizer" çalışacaktır.Bu modda bas ve tiz frekansları ayarlanır. Ekolayzer ayarları, her radyo kanalı için ayrı ayrı saklanır. 15 saniye içerisinde herhangi bir tuşa basılmazsa saat görüntüleme moduna geçecektir.

İstenilen frekansları ayarlamak için uzaktan kumandadaki "Sol" veya "Sağ" düğmesine basın.

LF ve HF maksimumunu ayarlama:



Alçak geçiren veya yüksek geçiren filtreyi değiştirmek için "Tamam" düğmesine basın. Soldaki çubuk yanıp sönmeye başlayacaktır. Değeri değiştirmek için "Sol" ve "Sağ" düğmelerini kullanın. Ayarlanan değeri kaydetmek için uzaktan kumandadaki "OK" tuşuna basın. Değerin büyüklüğüne bağlı olarak ibrelerin rengi ve seviyeyi gösteren sayılar da değişmektedir. Maksimum değere yaklaştıkça kırmızı olacaktır. Minimum değere daha yakın mavi ve orta aralıkta yeşil.

Bas ayarı minimum:


Bas ayarı ortalama değeri:


Minimum parlaklık eşiğini ayarlama-kaldırma

Varsayılan olarak, parlaklık, göstergelerin maksimumdan tamamen boş bırakılmasına ayarlanır. Ancak bu, otomatik modda çok uygun değildir. Tamamen karanlıkta göstergeler sönecek ve hiçbir şey görünmeyecektir. Bunun için bu mod, minimum parlaklığın ayarlanan değerin altına veya üstüne düşmemesi için yapılmıştır.

Parlaklık limitlerini ayarlamak için menüye girmek için uzaktan kumanda üzerindeki 8 tuşuna basıyoruz.

İlki, minimum parlaklık sınırını belirler.


İstenen parlaklığı ayarlamak için uzaktan kumandadaki "Yukarı" "Aşağı" düğmelerini kullanın ve uzaktan kumandadaki "Tamam" düğmesine basın. Uzun bir sinyal olacak zil ve minimum parlaklık eşiğini kaydetti.


İstenen parlaklığı ayarlamak için uzaktan kumandadaki "Yukarı" "Aşağı" düğmelerini kullanın ve uzaktan kumandadaki "Tamam" düğmesine basın.

Uzun bir zil sesi duyulacak ve minimum parlaklık eşiği kaydedilecektir.

Sonraki bölüm, minimum parlaklık açma süresini ve ardından maksimum parlaklık açma süresini ayarlar.

Kurulum menüsünden "ESC" uzaktan kumandadan çıkın. Artık parlaklığı ayarlarken, ayarlanan eşikten daha koyu veya daha açık yapmak mümkün olmayacak ve otomatik modda parlaklık ayarlanandan daha düşük veya daha yüksek olmayacak.

Uzaktan kumandada otomatik parlaklık kontrol modunu etkinleştirmek için otomatik moda geçmek için "0" tuşuna basın. Saatin önündeki LED yanacaktır.

Gerçek zamanlı parlaklık ayarının çalışması için, aydınlatma süresi, minimum ve maksimum parlaklık eşit olmalıdır. Aksi takdirde parlaklık seçilen zamana göre ayarlanacaktır. Minimum seviyeden maksimum seviyeye ve tam tersi parlaklıktaki değişim pürüzsüz.

Parlaklık eşiğini sıfırlamak için, parlaklık eşiği ayar menüsüne tekrar girin, tüm sınırlar sıfırlanacaktır.

Butonlardan eşiği ayarlamak için aşağıdaki 8. paragrafı okuyun.

Düğme kontrolü

S4-S9 düğmeleri saatin arkasında bulunur. Hangi menüde olduğumuza göre butonların işlevi değişir.

S8 düğmesi farklı menülere geçiş yapar. İstediğiniz menüye gitmek için S8'i basılı tutun. Gerekli sayıda sesli uyarı sinyalinden sonra, bırakın ve seçilen menüye girin. Zil sinyallerinin sayısı, uzaktan kumanda düğmesinin sayısına karşılık gelecektir. 4 sinyal varsa "Ekolayzer" menüsüne, 1 sinyal varsa zaman görüntüleme menüsüne vb. gireceğiz.

1. İzleme menüsündeki düğme işlevleri:

S6 yazı tipi değişikliği

S7 sıfırlama saniyesi ve internet üzerinden güncelleme süresi

S9 temel ayarlara gidin.

S9'a basarak kurulum menüsüne gidiyoruz. Bu menüde butonlar S4 ve S5 parametreyi değiştirir, S6 düğmesi sonraki ayar parametresine gider. Menüden çıkmak mümkün değildir, tüm ayarlanabilir parametreleri gözden geçirmeniz gerekecektir.

Son parametreyi ayarladıktan sonra bir kaydırma çizgisi çalışacak ve cihaz saat görüntüleme moduna dönecektir.

2. Radyo menüsündeki düğme işlevleri:

S4 ve S5 ses ayarı "+" ve "-"

"+" ve "-" yapılandırılmış kanallarında S6 ve S7 geçişi

S9 radyo ayar moduna girer

Ayarlar menüsünde, düğmelerin eylemi:

S4 ve S5 ses ayarı "+" ve "-"

S6 ve S7 radyo frekansı değişimi "+" ve "-"

S9, bir istasyonu belleğe kaydetmek için menüye gidin. S6 ve S7 butonları ile hafıza hücresinin numarasını değiştiriyoruz ve S9 butonu girişi onaylıyor.

Ayarlar menüsünden çıkın - herhangi bir düğmeye basmayın, çıkış 15-20 saniye sonra otomatik olacaktır.

3. Alarm ayarları menüsündeki düğme işlevleri:

S4 ve S5 kayan alarmlar "+" ve "-"

S6 ve S7 dahil değil

S9 Alarmı açın ve kapatın

Alarm açıksa, etkinleştirilmiş alarmın ana ayarlarına girmek için S4'e basın. S4 ve S5 alarm alt menülerinde gezinin. Parametreyi ayarlamak için S9'a basın ve S4 ve S5 parametreyi değiştirin. S9'a bir sonraki basış, bir sonraki ayar parametresine geçer. Cihaz 15 saniye içinde alarm ayarlarından otomatik olarak çıkacaktır. düğmelerden herhangi birine basılmayacak.

4. Ekolayzır menüsündeki düğme işlevleri:

S4 ve S5, ayarlanabilir parametreler arasında gezinir.

S6, seçilen parametreyi değiştirme moduna girin. Bu modda S4 ve S5 parametreyi değiştirir ve S6 değişikliği onaylar.

S7 dahil değildir.

Düğmelerden hiçbirine basılmazsa moddan çıkış 15 saniye sonra otomatik olarak gerçekleşir.

6. Kapanma zamanlayıcı menüsündeki düğme işlevleri:

5 dakikalık adımlarla kapanma zaman aralığının S4 ve S5 ayarı. 0 dakikalık bir aralık, zamanlayıcının kapalı olduğu anlamına gelir

S6 zaman görüntüleme menüsüne çıkar.

7. Ücretsiz. Gelecekte kullanılabilir.

8. Parlaklık sınırı ayar menüsündeki düğme işlevleri:

S4 ve S5 parlaklık değişimi.

Seçilen parlaklığın S6 onayı.

S7 çıkış ayarı.

9. Ücretsiz. Gelecekte kullanılabilir.

Kullanılan parçalar ve bunların değiştirilmesi ve ayarlanması hakkında biraz.

Tüm SMD elemanları 0805 boyutundadır. U1 LM317ADJ stabilizatörü, örneğin ASM1117-30 gibi 3 Volt stabilizasyon voltajına sahip herhangi bir stabilizatör ile değiştirilebilir. Bu durumda, R18'i bir jumper ile değiştirin ve R17'yi kurmayın. 5V sabitleyici U8 LM2576-5, LM2596-5 ile değiştirilebilir. LED'ler D6 D7 D11 D12 D13 boyut 2835. Direnç R24, sesli uyarının sesini ayarlar. R44 R45 dirençleri ile kullanılan pil için şarj akımını ayarlamayı unutmayın (şemadaki tabloya bakın). Yüksek şarj akımı ile TP4056'ya bir radyatör takmanızı öneririm. Dirençler R38 ve R49, maksimum ses seviyesini sınırlayabilir veya bunları jumperlarla değiştirebilir. TEA6330T borularındaki C28 C29 C42 C43 kapasitörleri şemada gösterilen şekilde takılmalıdır. Frekans ayar aralığını değiştirmek için kapasitanstan bir yönde veya başka bir yönde ayrılın. C28 ve C43 düşük frekanslardan ve C29 ve C42 yüksek frekanslardan sorumludur. 6.8nF ayarlamaya çalıştım C29 ve C42 HF frekansları pratikte değişmiyor. Dirençler R28 R33 R31, dönüştürücünün çıkışındaki voltajı değiştirebilir. Şemada belirtilen değerlerle voltaj 11.86V'dir.

Voltaj aşağıdaki formülle hesaplanır:

Uout=1.26*(1+((R33+R28)/R31))

Schottky diyotları D4 D5 D1 D8 D10, 2A'lık bir akım için herhangi biri ile değiştirilebilir. Zener diyot D3, 4.3V 4.7V veya 5V'luk herhangi bir stabilizasyon voltajı ile durdurulabilir.

Kuruluma, tüm voltaj stabilizatörlerinin kurulumuyla başlamak ve çalışabilirlik açısından kontrol etmek daha iyidir, böylece yanmış kontrolörler ve sensörler için bir utanç olmaz. Daha sonra dönüştürücüyü monte etmek ve LM3488'in 8. ayağına 3.2-5V aralığında voltaj uygulayarak kontrol etmek daha iyidir. Çıkış yaklaşık 12V olmalıdır.

Ardından, pili şarj etmek ve pil voltajını izlemek için elemanları monte ediyoruz ve çalışabilirliği kontrol ediyoruz. 2 telli bir pil için R39'u kurmuyoruz, ancak R43'ü bir jumper ile değiştiriyoruz. Akü sıcaklık kontrolü gerekmiyorsa 3 telli olarak da hareket ediyoruz. Pilin orta terminali takılmak için kalır. Sıcaklık kontrolü gerekiyorsa, tüm elemanları kurarız, ancak R43, akü termistörüne paralel bağlanacağı ve çalışmayı büyük ölçüde etkilemeyeceği için kurulamaz.

Akü voltaj kontrolörü TL431 ve LM358 üzerine monte edilmiştir. TL431'e 2,5 V'luk bir referans voltaj kaynağı monte edilmiştir.Bu voltaj, LM358'in 2 pinine verilir ve voltaj, batarya üzerindeki voltaj R58 R62 bölücü aracılığıyla aküden LM358'in 3 pinine verilir. pin 3'te 3,2'nin altındaysa voltaj da 2,5 voltun altına düşecek ve 1 çıkışında 0 olacak Q9 kapanacaktır. R56 R51 üzerinden pozitif voltaj, Q8'in tabanına gidecektir. Q8 bu şekilde kapanacak ve tüm kartın enerjisini keserek Q7.1 transistörünü kapatacaktır. Kapattıktan sonra, LM358'e harici bir güç kaynağı tarafından güç verildiğinden, saatin başlatılması yalnızca harici bir güç kaynağı bağlı olduğunda mümkün olacaktır.

BU4832 yongası varsa, TL431 LM358 borularını ve R56'yı takmayın. TL431 ve LM358 üzerine montaj yaparsak R53 kurmuyoruz ve R58 R62 bölücü ile tepki eşiğini ayarlamak gerekebilir. Ana güç kaynağı varsa akü şarj edilmeli ve dönüştürücünün çıkışında voltaj olmamalıdır. Akü voltajı 3,2 volttan yüksekse, transistör Q9'un tabanında yaklaşık 0,7-0,8V olmalıdır.

Şimdi yedek güç kaynağının çalışmasını kontrol ediyoruz. İlk olarak, devreyi ana kaynaktan besliyoruz. Sonra onu ağdan çekiyoruz ve dönüştürücünün çıkışında 12V görünmelidir. Dönüştürücü başlamazsa, Q9'a dayanana bakarız. Voltaj 0,7V'den düşükse ve pil şarjlıysa, LM358'in 2 pinindeki voltajın 2,5V ve pin 3'teki voltajın 2,5V'den fazla olması gerektiğini ölçeriz. Her şey normalse, LM358 arızalıdır veya güç ona bağlı değildir. Kesme eşiği ayarlanabilir R62. Değerinde bir artışla, kapatma eşiği artar, yani. pilin daha derin deşarj olmasıyla cihazın enerjisi tamamen kesilir. Değer azaldıkça eşik azalır.

Düşük ESR için C6 C11 C21 C20 C37 kapasitörleri önerilir.

Her şey işe yararsa, işlemciyi monte eder, yanıp söner ve diğer tüm elemanları monte ederiz .. Yanıp sönme kolaylığı için, kartta ISP konektörü için kontaklar bulunur. ISP için GND pinini uygun herhangi bir yere lehimliyoruz.

LED göstergesi

LED D11 yanıyor, bu da otomatik parlaklık kontrol modunun ayarlandığı anlamına geliyor. Manuel ayar çalışmıyor. Mod, uzaktan kumandanın "0" düğmesi ile değiştirilir.

LED D12 yanıyor, yani etkinleştirilmiş alarmlar var. Yanıp sönerse, alarm tetiklenmiştir.

LED D13 yanıyor, bu da saat yedek pilinin değiştirilmesi gerektiği anlamına geliyor. Pili çıkarsanız bile, zaman sıfırlanmayacaktır, çünkü kapasitörlerin şarjı nedeniyle DS3231'e bir süre güç verilecektir. Yani pili değiştirmek için 5 dakika var.

LED D6 yanıyor, yani pil şarj oluyor

LED D7 yanıyor, bu pilin şarj olduğu anlamına geliyor.

D6 ve D7 LED'lerinin her ikisi de yanmıyorsa, saat dahili pilden güç alır.

Baskılı devre kartları (PP) üretiyoruz

Hoparlörlerin sabitlenmesinde küçük yanlış hesaplamalar vardı, gereğinden fazla kesikler yapılmış ve tutturmalarında akıllı davranmam gerekiyordu. Arşiv, tahtada giyilen tüm değişiklikleri dikkate alır.

WI-FI'lı kart versiyonu.



Negatif fotorezist kullanarak baskılı devre kartları yapıyorum. Epson L800 mürekkep püskürtmeli yazıcıyla bir filme şablon yazdırıyorumolumsuz bir şekilde. İş parçasını Pemolux tozu ile temizliyorum. Islak iş parçasına bir film fotorezist uyguluyorum. Başına eksiklik Laminatörü 1. bölmeye ayarlanmış bir ütüyle ütülüyorum. Bir şablon uyguluyorum ve her biri 20W'lık üç UV lambasıyla 1 dakika 10 saniye aydınlatıyorum. Sonra tekrar ütünün altında, bronzlaşmamış alanları ve zehiri yıkarım. Uç pabuçlara birkaç delik açıyorum ve şablonda aynı yerlerde delikler açıyorum. Tahta ve şablon iğnelerle birleştirilir. İkinci taraf kazınmıştır. Birincisi bantla kapatılmıştır.

Delikler açıyoruz. Genellikle 0,4 mm çapında delikler açarım ve telleri bunlara lehimlerim. Elemanları lehimliyoruz.

WI-FI ile bitmiş tahtanın fotoğrafı



Kuruluma daha fazla özen gösteriyoruz, böylece daha sonra neden çalışmadığını aramıyoruz. Bazı çıkış elemanlarının her iki tarafa da lehimlenmesi gerekir. Bu elemanların pinleri vias gibidir. Tahtadaki kuvarsın altına, raylarla temas etmeyecek şekilde yapışkan bant veya elektrik bandı yapıştırmanız veya Atmega32 tarafına lehimlemeniz gerekir.

Kasa 4 mm yumuşak plastikten yapılmıştır. Bir maket bıçağıyla iyi keser. LED'ler derin olduğundan, ışık kılavuzlarına ihtiyaç vardır. Bir araba lamba kutusunun kapağı ışık kılavuzu olarak kullanıldı. Kasa CorelDRAW'da çizilmiş, düz kağıda basılmış ve çift taraflı bantla plastiğe sabitlenmiş ve kesilmiştir. Kasadaki her şeyi saklıyoruz, anteni sabitliyoruz:


Sensörler yukarıdan dışarı çıkıyor:


Sadece sensörlerin kasadan dışarı çıkmaması için normal bir görünüme sahip olmak için, bir araba mağazasından numara sabitleme seti satın alındı ​​ve kasanın üstüne yansıtıcı kapaklar yapıştırıldı.

Şu şekilde çıktı:


Hepsi böyle. RDS'den bilgi görüntüleme özelliğini eklemeyi planlıyoruz. Sadece kodlayıcılar için başka bir seçenek yapın.

ESP8266 modülü için bir program yazılmıştır. Atmega32'nin bellenimi de arşivde değiştirildi, her şey güncellendi. Şemada da değişiklikler yapıldı. Atmega'dan ESP8266'ya TX RX sinyalleri yanlış bağlanmış. Burada açıklanan tüm değişiklikler, arşivdeki şemada dikkate alınır.

Şemada küçük değişiklikler yapıldı. Birleşik Sıfırlama Atmega ve ESP8266 sinyalleri. Ancak bunun için voltaj sinyallerini eşleştirmeniz gerekir. Reset Atmega ve GND arasına 9.1 kΩ direnç eklendi. Reset ESP8266 ve 3V ray arasındaki 10k direnç kaldırıldı. Reset pinindeki voltaj 3V-3.3V aralığında olmalıdır.

TX RX seviye eşleştirmesi eklendi. Onsuz yapabilirsiniz, ancak kurallara göre olması gerektiği gibi yaptı.

ESP8266 modülünü flaş etmek için şunlara ihtiyacınız vardır:

1. Site dışından Arduino IDE'yi indirin (kurulu değilse) (https://www.arduino.cc/en/Main/Software), Yüklemek.

2.Arduino IDE'yi başlatın, ardındanDosya - Ayarlar- sahada Ek Panolar Yönetici URL'lerikararlı sürüme bağlantı eklehttp://arduino.esp8266.com/package_esp8266com_index.json

4.B Yönetim Kurulu Yöneticisifiltre alanına esp8266 girin veya listeyi manuel olarak kaydırın ve ESP8266 Topluluk Forumu tarafından ESP8266'ya tıklayın
Yükle'ye tıklayın ve indirme işleminin tamamlanmasını bekleyin (yaklaşık 130 MB).
İndirme çok hızlıysa, ESP8266 için Arduino IDE'yi zaten kurmuş olabilirsiniz ve Boards Manager önbelleğini temizlemeniz gerekebilir, aksi takdirde eski sürüm kurulu olur. Önce eski sürümü kaldırmanız, ardından önbellek dosyalarını silmeniz gerekir. Win7 x64 için, dosyaları C:UsersUserAppDataRoamingArduino15 klasöründen silin ve 2. adımdan itibaren her şeyi tekrarlayın.
Pano Yöneticisini kapatın ve Araçlar menüsünden Pano - Genel ESP8266'yı seçin

Kartın bağlı olduğu seri portu seçin. Donanım yazılımı dosyasını açın.

Modülü flaş etmek için PL2303 kullandım. Aşağıdaki arşivdeki sürücü Win 8.1'de çalışıyor. Sürücü manuel olarak yüklenir.

Herhangi bir USB-COM adaptörünü kullanabilirsiniz.

ESP 8266 modülünü karta lehimliyoruz. Modülü bir USB-COM adaptörüyle bağlarızsinyal bağlantıları TX RXgeçmek yani TX ESP8266'dan RX'e USB-COM ve RX ESP8266'dan TX USB-COM'a. Jumper'ı XP10'a takın ve jumper'ları XP11 ve XP12'den çıkarın. Sıfırla'yı tıklayın.

Saatte değiştirilmesi gereken modülün belleniminde.

Ürün yazılımında, WI-FI ağınızın adını ve bunun için şifreyi girin.

Modülün yanıp sönmesini başlatmak için "Sağ Ok" simgesine basın.

Ürün yazılımı tamamlandıktan sonra, XP10 atlama telini çıkarın ve XP11 ve XP12'yi geri yükleyin.

PC'nizde ve yönlendiricinizde 123 numaralı bağlantı noktalarının açık olup olmadığını kontrol etmenizi öneririm.
Bunu bir bilgisayarda, zaman ayarlarında, İnternet saati sekmesinde yapmak daha kolaydır - Ayarları değiştir. Tarlaya sürüyoruzzaman.nist.govve "Şimdi Güncelle"yi tıklayın. Saat başarıyla güncellendi diyorsa, bağlantı noktalarınız açıktır. Bir hata varsa, yönlendiricideki bağlantı noktalarını açın.
Evde, Tomato ürün yazılımına sahip bir ASUS RT16 yönlendiricide, varsayılan olarak her şey yolunda gitti.
İş yerinde, zaman yönlendiricinin kendisinde İnternet'ten güncellenmesine rağmen, yerel bellenime sahip bir Zuxel Keenetic Giga II yönlendiricide bağlantı noktaları açmak zorunda kaldım.

Uzaktan kumandadaki "9" düğmesine basılarak saat güncellenir. Zamanı güncellerken dikkate alınması gereken tek şey, internete erişim yoksa, o zaman saniyelerin hepsi tam olarak sıfırlanacaktır.
Saati açtıktan veya Reset butonuna bastıktan sonra internet üzerinden saati güncellemek için 30 saniye beklemeniz gerekmektedir.Bu süre modülün ağa bağlanması veya bağlantı yok ise hata vermesi için gereklidir. Daha önce uzaktan kumandadaki "9" düğmesine basarsanız hiçbir şey olmaz. Zaman senkronizasyonu sırasında 1-2 saniyelik matrisler sönecektir.
İnternet erişimi yoksa, hat görüntülenecektir."Oops Ağ Yok".
Ağa erişim varsa ancak tam zaman sunucusuna erişim yoksa, satır görüntülenecektir."Zaman sunucusuna erişilemiyor"

"Datchik" adında yeni bir ağ da görünecektir.Ayrıca adını Arduino'da herhangi biri olarak değiştirebilir ve bunun için şifreyi değiştirebilirsiniz. Dış sensörlü ikinci modül bu ağa bağlanacaktır.

not. Otomatik senkronizasyonu reddetmeye karar verdim, çünkü DS3231'de çok küçük bir zaman kayması var ve senkronizasyon ayda bir defadan fazla gerekli değil ve ardından sapma birkaç saniye. Bu yüzden manuel olarak yapmak daha kolaydır.

Matris test programı yazılmıştır. Ana bellenime göre sigorta.
Her şey görsel olarak kontrol edilir.

Yedek Pil Durumu, Alarm Açık ve Otomatik Parlaklık LED'leri yanmalıdır. Zil sessiz olmalıdır.

1. İlk test tüm matris LED'lerini açar. Test tüm renklerde çalışır. Görsel olarak, hangi LED'lerin parlamadığını veya renklerinin diğerlerinden farklı olduğunu belirleyebilirsiniz, bu yüzden bir yerde kaybolmayın. Test, tamamen iptal edilmiş matrislerle başlar.

2. Testin ikinci kısmı yalnızca bir LED'i yakar ve onu R G ve B üç renginin her birinde tüm sıralardan geçirir. Sadece bir LED yanmalıdır. İki LED yanıyorsa, matris kayıtlarının çıkışlarında bir yerde kısa devre vardır.

Güç kaynağı, parlaklık kontrolü olmadığından ve tüketim oldukça fazla olduğundan (özellikle renk beyaz olduğunda) test modunda en az 2A akım sağlamalıdır. Blok böyle bir akım sağlayamazsa, test başlamaz, yani başlama ve hemen sıfırlama girişimleri olacaktır.

Dış sıcaklık sensörü modülü.

Dış sıcaklık sensör modülü de ESP8266 üzerinde yapılmıştır ve sensör olarak AM2321 kullanılmıştır. Bu modüle ayrıca bir oda sıcaklık sensörü monte edilmiştir. Bu, birkaç özdeş saatin toplanması ve daha sonra bir modülden veri alabilmeleri için yapılır. Harici modül, pil için dahili USB şarjına ve ayrıca pil voltajı kontrolüne sahiptir. Akü voltajı 3,2 voltun altına düştüğünde LED yanacaktır.

Ayrıca görsel hata kontrolü eklendi.

1. Sensör yok AM2321 yeşil LED yanıyor

2. Sensör yok BME280 kırmızı LED yanıyor

3. WI-FI ağına başarısız bağlantı, mavi LED yanıyor



Bellenim, saatteki modülle aynı şekilde yapılır. Tek şey, programda bazı satırların değiştirilmesi gerektiğidir.

Sıcaklık sensörü için yoklama süresini ayarlayın. Varsayılan 900 sn = 15 dk
Satırdaki değerleri değiştirin:

ESP.deepSleep(900*1000000,WAKE_RFCAL);// zaman 900 saniye = 15 dakika
Değerinize göre değiştirin. Kaydedin ve flaşlayın.

Modülüm 1000mA pil ile çalışıyor.

Birçok acemi radyo amatörü ve sadece "tekerleği yeniden icat etmekten" hoşlanmaz - herkes kendi elektronik saatini oluşturmak ister. Bu kader de beni geçmedi. İnternette çok sayıda saat tasarımı var, ancak LED matrisler üzerinde sadece birkaç saat var. Rusça konuşulan İnternette, açıklaması olan yalnızca bir tane tamamen bitmiş tasarım buldum.
Aynı zamanda, LED dizilerinin fiyatları son zamanlarda düştü ve maliyetleri aynı boyuttaki yedi segmentli ekranlardan bile daha az olabilir. Örneğin, 60x60mm boyutunda kullanılan GNM23881AD benim tarafımdan bir buçuk dolara (üç gösterge dört buçuk dolara mal oldu) satın alındı, bu kadar para için aynı boyutta dört yedi segmentli gösterge satın almanız zor. Ancak bilgileri bir matris göstergesine yerleştirmek çok daha fazlasını ortaya çıkaracaktır. Dijital göstergeye ek olarak, LED matrisi üzerinde çeşitli harfler, işaretler ve metinler görüntülenebilir. Tüm bunları analiz ettikten sonra, devreyi yedi segmentli ekranlardan daha fazla karmaşıklaştırmama arzusu varken, LED matrisleri üzerinde çok işlevli bir saat oluşturmaya karar verildi. Ayrıca planın çok işlevli olmasını ve diğerleri gibi olmamasını istedim. Ve böylece bu plan doğdu.

İşlevselliği izle:
Zaman, takvim, haftanın günleri. (artık yıl dikkate alınır, ancak yaz / kış saatinde değişiklik yoktur). Harici güç kaynağı kapatıldığında saatin çalışır durumda tutulması (akım tüketimi sadece 15 μA'dır). Saat hızı düzeltmesi + - 59.9 sn \ gün, adım 0.1 sn. 9 alarm. Bunlardan üçü "tek kullanımlık" ve 6'sı "kalıcı" olup haftanın gününe göre özelleştirilebilir. Her alarm için sesli sinyalin süresi ayrı ayrı ayarlanabilir (1-15dk).

Düğmelere basıldığında sesli onay (devre dışı bırakılabilir). Her saat bip sesi (devre dışı bırakılabilir). 00-00'den 08-00 uyku moduna kadar sinyal verilmez. 1 veya 2 sıcaklık sensörü (Sokak ve ev). Tüm bilgileri (zaman hariç) görüntüleyebileceğiniz özelleştirilebilir bir sürünen hat Güzergah düzeltmesi ve "sürünen hat" ayarları - yedek güç kaynağı kapatıldığında bile bellekte saklanır.

Saatin "kalbi" olarak AtMega16A seçildi, kriter ucuzluğu ve satın alınabilirliğiydi. 40 ayağı tüm fikirlerinizi gerçekleştirmenizi sağlayacaktır. Devreyi mümkün olduğunca basitleştirme arzusu vardı ve bu nedenle tüm işlevsellik kontrolöre verildi. Sonuç olarak, sadece iki mikro devre, bir kontrolör ve bir TPIC6B595 kaydı olan bir devre elde ettik. TPIC6B595'i almak mümkün değilse, 74HC595 + ULN2803 ile değiştirmek oldukça mümkündür. Tüm seçenekler test edilmiştir. Ayrıca TPIC6С595 ile değiştirmeyi deneyebilirsiniz, ancak oldukça zayıf ve biraz ısındı, ancak oldukça kararlı çalıştı.

Geri sayım, eşzamansız bir zamanlayıcı - T2 kullanılarak gerçekleştirilir. Ana güç kesildiğinde saat kaydedilir.Bu durumda neredeyse tüm devrenin enerjisi kesilir ve kontrolör bir pil, pil veya süper kapasitör tarafından çalıştırılır. İyonistörle "oynama" arzusu vardı, bu yüzden uyguladım. Saat, bekleme modunda yaklaşık 15 μA tüketir. 1F'de bir iyonlaştırıcıdan gelen yedek güçle, kapasite dört gün için yeterliydi, bu da elektrik kesintileri sırasında saati korumak için oldukça yeterliydi. Bir CR2032 pil kullanırsanız, şarj bir buçuk yıl sürecektir.

Kontrolör, pin aracılığıyla ağın varlığını dinler. PB3 (karşılaştırıcı girişi ters çevirme). Besleme gerilimi pime R2-R3 bölücü üzerinden sağlanır. РВ3 ve yaklaşık 1,5 V'a eşittir. Besleme voltajı 4,1 volta düşerse, pimdeki voltaj. РВ3 1,2 V'tan daha az olacak, karşılaştırıcıdan bir kesinti oluşturulacak ve bu kesintinin işleyicisinde tüm “ekstra” denetleyici düğümleri kapatılacak ve denetleyicinin kendisi uyku moduna geçirilecektir. Bu modda sadece T2 zamanlayıcı çalışmaya devam eder. Harici bir güç kaynağı göründüğünde, PB3 üzerindeki voltaj tekrar 1,23V'nin üzerine çıkacak, kontrolör bunu "görerek" tüm düğümleri çalışma durumuna getirecektir. İyonistör yerine bir CR2032 pil kullanılıyorsa, bir diyot (tercihen bir Schottky diyot) aracılığıyla bağlanmalıdır. Diyotun anodu + pillere ve katot VD1 katoduna bağlanır.

Normal modda, ekran saati saat-dakika formatında görüntüler. Bir dakikalık aralıklarla koşu hattı başlatılır. Çalışan çizgi haftanın gününü, tarihi, yılı, sıcaklığı gösterir. evde ve sıcaklık. sokakta. Koşu hattı özelleştirilebilir, yani. Herhangi bir öğenin görüntüsünü açıp kapatabilirsiniz. (Örneğin, her zaman yılın ekranını kapatırım). Tüm öğeler kapatıldığında, sürünen çizgi başlamaz ve saat sürekli olarak geçerli saati görüntüler.

9 alarm 3 tek kullanımlık ve 6 tekrar kullanılabilir olarak ayrılmıştır. 1-3 alarmlarını açtığınızda, yalnızca bir kez çalışırlar. Tekrar çalışabilmeleri için manuel olarak yeniden etkinleştirilmeleri gerekir. Ve 4-9 arasındaki alarm saatleri yeniden kullanılabilir, yani. günlük olarak, belirlenen saatte çalışacaklar. Ayrıca bu alarmlar sadece haftanın belirli günlerinde çalacak şekilde ayarlanabilir. Bu, örneğin, çalar saatin hafta sonları sizi uyandırmasını istemiyorsanız uygundur. Veya örneğin hafta içi 7-00'de, Perşembe 8-00'de uyanmanız gerekiyor ve hafta sonları çalar saate ihtiyacınız yok. Sonra tekrar kullanılabilir birini Pazartesi-Çarşamba ve Cuma günü 7-00'e, ikincisini Perşembe günü 8-00'e ayarladık... uyanmak için 1 dakika sinyal verin, ardından 1 ila 15 dakika arasında bir süre artırabilirsiniz.

Rota düzeltmesi günde bir kez 00-00'da yapılır. Saat, örneğin günde 5 saniye daha hızlıysa, 00-00-00'de saat 23-59-55'e ayarlanır, saat geriyse, 00-00-00'de saat 00-00-05 olarak ayarlanmalıdır. Düzeltme adımı - 0.1 sn. Maksimum düzeltme 59.9 sn/gün'dür. Kullanılabilir kuvars ile daha fazlasına ihtiyaç duyulması olası değildir. Düzeltme, bir pille çalıştırıldığında bekleme modunda da gerçekleştirilir.

Herhangi bir LED matrix 8*8 LED'i ortak katot ile uygulayabilirsiniz. Daha önce de belirtildiği gibi, GNM23881AD kullandım. Ancak matrisi tek tek LED'lerden "arayabilirsiniz". AtMega16a mikrodenetleyici, L harfi ile "eski" AtMega16 ile değiştirilebilir. Bu durumda, teorik olarak, pilden gelen akım tüketimi biraz artmalıdır. Muhtemelen sadece AtMega16 çalışacaktır, ancak pillerle çalışırken sorunlar olabilir. Diyot D1 - tercihen herhangi bir Schottky diyotu. Aynı zamanda geleneksel bir doğrultucu ile çalışır, ancak kendinizi devrenin bir kısmının "diyottan önce" voltajla beslenmesi ve "diyottan sonra" kısmının Schottky'yi aramak daha iyi olmasıyla ilgili çeşitli aksaklıklardan korumak için . Transistör VT1 - herhangi bir n-p-n.

Saat iki düğme ile kontrol edilir. Düğmelerin kendileri dışında hiçbir bileşen eklemeden sayıları 8 parçaya çıkarılabilir, ancak sadece iki tane ile “çıkmayı” denemek istedim. Düğmeler geleneksel olarak "OK" ve "STEP" olarak adlandırılır. “STEP” düğmesi genellikle bir sonraki menü öğesine geçer ve “OK” düğmesi mevcut menünün parametrelerini değiştirir. Tetiklenen alarmın sinyali de "OK" veya "STEP" butonları ile kapatılır. Alarm sırasında herhangi bir düğmeye basmak alarmı kapatacaktır. Kontrol şeması böyle çıktı.

LED matrisler üzerinde basit saat. Birçok radyo amatörü, yeni başlayanlar ve sadece "tekerleği yeniden icat etmeyi" sevmezler - KENDİ elektronik saatlerini inşa etmek için. Bu kader beni de kurtarmadı. Elbette günümüzde internette pek çok saat tasarımı var ama nedense LED matrisler üzerinde sadece birkaç saat var. Rusça konuşulan İnternet'te yalnızca bir tane tamamen tamamlanmış ve tanımlanmış tasarım buldum. Aynı zamanda, LED matrisleri artık çok daha ucuz ve maliyetleri aynı boyuttaki yedi segmentli göstergelerden daha düşük olmasa da daha yüksek değil. Örneğin, 60x60mm boyutunda kullandığım GNM23881AD, 1.5u için satın alındı ​​(3 gösterge 4.5u'ya mal oldu), bu para için aynı boyutta dört yedi segmentli ünite satın almanız zor. Ancak bir matris göstergesine yerleştirilebilecek bilgiler çok daha fazla olabilir. Rakamlara ek olarak, herhangi bir harfi, işareti görüntüleyebilirler ve çalışan bir çizgi yardımıyla metin de görüntülenebilir.

Buna dayanarak, LED matrisleri üzerinde bir saat inşa etme arzusu vardı, ancak devrenin yedi segmentli olanlardan daha karmaşık olmadığı ortaya çıktı. Ayrıca yeterince işlevsel olmasını ve diğerleri gibi olmamasını istedim. Böylece aşağıdaki şema doğdu.

Saatin işlevselliği aşağıdaki gibidir:

  • Geri sayım, takvim, haftanın günü. (artık yıl dikkate alınır, yaz / kış saatine geçiş yapılmaz).
  • Harici güç kaynağının kesilmesi durumunda saatin korunması (tüketim 15mA'dır).
  • Hareket düzeltmesi + - 59,9 sn \ gün, 0,1 sn'lik artışlarla. 9 alarm. 3'ü "tek kullanımlık" ve 6'sı "kalıcı" olup, haftanın gününe göre ayrı ayrı ayarlanabilir.
  • Her alarm için ayrı ayrı ayarlanabilen sesli sinyal süresi (1-15dk).
  • Düğmeye basıldığında sesli onay (devre dışı bırakmak mümkündür).
  • Saatlik bip sesi (kapatılabilir).
  • 00-00 ile 08-00 arasında sinyal verilmez.
  • 1 veya 2 sıcaklık sensörü (Sokak ve ev).
  • Tüm bilgileri gösteren özelleştirilebilir ticker (zaman hariç)
  • Strok düzeltmenin değeri ve "sürünen çizgi" ayarları, yedek güç kaybolsa bile kaydedilir.

AtMega16A, bulunabilirliği, ucuzluğu ve "bacakları" nedeniyle saatin "kalbi" olarak seçildi. Devreyi olabildiğince basitleştirmek istedim, böylece mümkün olan her şey kontrolöre atandı. Sonuç olarak, sadece iki mikro devre, bir kontrolör ve bir TPIC6B595 kaydı ile idare etmeyi başardık. TPIC6B595 birisi tarafından kullanılamıyorsa, onu 74HC595 + ULN2803 ile değiştirebilirsiniz. Her iki seçenek de test edilmiştir. Ayrıca TPIC6C595'i kullanmayı deneyebilirsiniz, biraz zayıf ve biraz ısınıyor, ancak genel olarak stabil çalıştı. Zaman, asenkron bir zaman - T2 kullanılarak sayılır. Elektrik kesintisi durumunda bile saat tutulur. Bu sırada, devrenin çoğu enerjisi kesilir ve kontrolör bir pil, akümülatör veya bir iyonlaştırıcıdan güç alır. İyonistörle “oynamak” benim için ilginçti, bu yüzden uyguladım. Bekleme modunda saatin mevcut tüketimi 15mA'dır. 1F'de bir iyonlaştırıcı tarafından çalıştırıldığında, saat dört gün boyunca “sürdü”. Bu, elektrik kesintileri sırasında rotayı korumak için oldukça yeterlidir. Bir CR2032 pil kullanıyorsanız, teorik olarak, hesaplamalara göre, şarj 1,5 yıl boyunca yeterli olmalıdır. Şebeke gerilimi kontrolörünün varlığı, PB.3 pimi aracılığıyla "dinler". Bu pim, karşılaştırıcının evirici girişidir. Besleme voltajı, bölücü R2-R3 aracılığıyla PB.3 çıkışına sağlanır ve normal durumda yaklaşık 1,5V'dir. Harici voltaj 4,1 voltun altına düşerse, PB.3 pinindeki voltaj 1,23 volttan daha az olur ve karşılaştırıcıdan bir kesinti oluşturulur ve kesme işleyicisinde tüm "gereksiz" denetleyici düğümleri kapatılır ve denetleyicinin kendisi uyku moduna alınır. Bu modda sadece T2 zamanlayıcı çalışmaya devam eder. Harici bir güç kaynağı göründüğünde, PB.3 üzerindeki voltaj tekrar 1.23V'nin üzerine çıkacak, kontrolör bunu "görerek" tüm düğümleri çalışır duruma getirecektir. İyonistör yerine bir CR2032 pil kullanılıyorsa, bir diyot (tercihen bir Schottky diyot) aracılığıyla bağlanmalıdır. Diyotun anodu + pillere ve katot VD1 katoduna bağlanır. Normal modda, ekran saati saat-dakika formatında görüntüler. Bir dakikalık aralıklarla koşu hattı başlatılır. Çalışan çizgi haftanın gününü, tarihi, yılı, sıcaklığı gösterir. evde ve sıcaklık. sokakta. Koşu hattı özelleştirilebilir, yani. Herhangi bir öğenin görüntüsünü açıp kapatabilirsiniz. (Örneğin, her zaman yılın ekranını kapatırım). Tüm öğeler kapatıldığında, sürünen çizgi başlamaz ve saat sürekli olarak geçerli saati görüntüler. 9 alarm 3 tek kullanımlık ve 6 tekrar kullanılabilir olarak ayrılmıştır. 1-3 alarmlarını açtığınızda, yalnızca bir kez çalışırlar. Tekrar çalışabilmeleri için manuel olarak yeniden etkinleştirilmeleri gerekir. Ve 4-9 arasındaki alarm saatleri yeniden kullanılabilir, yani. günlük olarak, belirlenen saatte çalışacaklar. Ayrıca bu alarmlar sadece haftanın belirli günlerinde çalacak şekilde ayarlanabilir. Bu, örneğin, çalar saatin hafta sonları sizi uyandırmasını istemiyorsanız uygundur. Veya örneğin hafta içi 7-00'de, Perşembe 8-00'de uyanmanız gerekiyor ve hafta sonları çalar saate ihtiyacınız yok. Sonra tekrar kullanılabilir birini Pazartesi-Çarşamba ve Cuma günü 7-00'e, ikincisini Perşembe günü 8-00'e ayarladık... uyanmak için 1 dakika sinyal verin, ardından 1 ila 15 dakika arasında bir süre artırabilirsiniz. Rota düzeltmesi günde bir kez 00-00'da yapılır. Saat, örneğin günde 5 saniye daha hızlıysa, 00-00-00'de saat 23-59-55'e ayarlanır, saat geriyse, 00-00-00'de saat 00-00-05 olarak ayarlanmalıdır. Düzeltme adımı - 0.1 sn. Maksimum düzeltme 59.9 sn/gün'dür. Kullanılabilir kuvars ile daha fazlasına ihtiyaç duyulması olası değildir. Düzeltme, bir pille çalıştırıldığında bekleme modunda da gerçekleştirilir. LED dizileri, herhangi bir 8*8 ortak katot LED'ini kullanabilir. Daha önce belirtildiği gibi, GNM23881AD'yi kullandım. Prensip olarak, tek tek LED'lerden bir matrisi "çevirebilirsiniz". AtMega16a mikrodenetleyici, L harfi ile "eski" AtMega16 ile değiştirilebilir. Bu durumda, teorik olarak, pilden gelen akım tüketimi biraz artmalıdır. Muhtemelen sadece AtMega16 çalışacaktır, ancak pillerle çalışırken sorunlar olabilir. Diyot D1 - tercihen herhangi bir Schottky diyotu. Aynı zamanda geleneksel bir doğrultucu ile çalışır, ancak kendinizi devrenin bir kısmının "diyottan önce" voltajla beslenmesi ve "diyottan sonra" kısmının Schottky'yi aramak daha iyi olmasıyla ilgili çeşitli aksaklıklardan korumak için . Transistör VT1 - herhangi bir n-p-n. Saat iki düğme ile kontrol edilir. Düğmelerin kendileri dışında hiçbir bileşen eklemeden sayıları 8 parçaya çıkarılabilir, ancak sadece iki tane ile “çıkmayı” denemek istedim. Düğmeler geleneksel olarak "OK" ve "STEP" olarak adlandırılır. “STEP” düğmesi genellikle bir sonraki menü öğesine geçer ve “OK” düğmesi mevcut menünün parametrelerini değiştirir. Tetiklenen alarmın sinyali de "OK" veya "STEP" butonları ile kapatılır. Alarm sırasında herhangi bir düğmeye basmak alarmı kapatacaktır. Kontrol şeması şöyle ortaya çıktı:

Nasıl çalıştığını videosu!