LED ekranlı DIY saat. DS1307 DIY saat şemasına sahip bir AVR mikro denetleyicisindeki saat

Elektronik dijital saatlerin pek çok farklı model ve seçeneğini satışta bulabilirsiniz ancak sayıları az olduğundan çoğu iç mekan kullanımı için tasarlanmıştır. Ancak bazen sokağa, örneğin bir evin duvarına veya bir stadyuma, meydana, yani birçok insanın çok uzaklardan görülebileceği bir yere bir saat yerleştirmek gerekir. Bu amaçla, her boyuttaki LED göstergelerini (dahili transistör anahtarları aracılığıyla) bağlayabileceğiniz büyük bir LED saat devresi geliştirildi ve başarıyla monte edildi. Şematik diyagramı üzerine tıklayarak büyütebilirsiniz:

Saatin açıklaması

  1. Kol saati. Bu modda standart tipte bir zaman göstergesi vardır. Saat doğruluğunun dijital düzeltmesi var.
  2. Termometre. Bu durumda cihaz, odanın veya dışarıdaki havanın sıcaklığını tek bir sensörden ölçer. -55 ile +125 derece arası.
  3. Güç kaynağı kontrolü sağlanır.
  4. Göstergedeki bilgileri dönüşümlü olarak görüntüler - bir saat ve bir termometre.
  5. 220V kesildiğinde ayarları ve ayarları kaydetmek için kalıcı hafıza kullanılır.


Cihazın temeli, sigortaların tabloya göre ayarlanmasıyla yanıp sönen ATMega8 MK'dir:

Operasyon ve saat yönetimi

Saatinizi ilk açtığınızda ekranda bir reklam açılış ekranı belirecek ve ardından saat gösterimine geçilecektir. Bir düğmeye basmak AYARLANAN ZAMAN gösterge ana moddan bir daire şeklinde gidecektir:

  • dakika ve saniye görüntüleme modu. Bu modda aynı anda düğmeye basarsanız ARTI Ve EKSİ, ardından saniyeler sıfırlanacaktır;
  • geçerli saatin dakikalarının ayarlanması;
  • geçerli saatin ayarlanması;
  • sembol T. Saat ekranının süresini ayarlama;
  • sembol Ö. Harici sıcaklık gösterge sembollerinin görüntülenme süresi (çıkış);
  • saat doğruluğunun günlük düzeltme miktarı. Sembol C ve düzeltme değeri. Sınırları -25 ila 25 saniye arasında ayarlama. Seçilen değer her gün 0 saat 0 dakika 30 saniyede geçerli saate eklenecek veya çıkarılacaktır. Daha fazla ayrıntı için ürün yazılımı ve baskılı devre kartı dosyalarının bulunduğu arşivdeki talimatları okuyun.

Saatin ayarlanması

Düğmeleri basılı tutarken ARTI/EKSİ Hızlandırılmış değer ayarlamaları yapıyoruz. Herhangi bir ayar değiştirildikten 10 saniye sonra yeni değerler kalıcı belleğe yazılacak ve güç tekrar açıldığında oradan okunacaktır. Yeni ayarlar kurulum sırasında geçerli olur. Mikrodenetleyici ana gücün varlığını izler. Kapatıldığında cihaza dahili bir kaynaktan güç sağlanır. Yedekli güç modülü şeması aşağıda gösterilmektedir:


Akım tüketimini azaltmak için gösterge, sensörler ve düğmeler kapatılır ancak saatin kendisi zamanı saymaya devam eder. 220V şebeke voltajı belirir belirmez tüm gösterge fonksiyonları geri yüklenir.


Cihaz büyük bir LED saat olarak tasarlandığından iki ekrana sahiptir: cadde için büyük bir LED ve ana ekranın kolay kurulumu için küçük bir LCD. Büyük ekran, kontrol ünitesinden birkaç metre uzakta bulunur ve 8 telli iki kabloyla bağlanır. Harici gösterge göstergesinin anotlarını kontrol etmek için arşivde verilen şemaya göre transistör anahtarları kullanılır. Proje yazarları: Alexandrovich & SOIR.

Fotoğraf, tüm tesisi yönetecek programın hatalarını ayıklamak için oluşturduğum bir prototipi gösteriyor. Breadboard'un sağ üst köşesindeki ikinci arduino nano projeye ait değil ve orada öylece duruyor, ona dikkat etmenize gerek yok.

Çalışma prensibi hakkında biraz bilgi: Arduino, DS323 zamanlayıcısından veri alır, işler, bir foto direnç kullanarak ışık seviyesini belirler, ardından her şeyi MAX7219'a gönderir ve o da gerekli bölümleri gerekli parlaklıkla yakar. Ayrıca üç düğmeyi kullanarak yılı, ayı, günü ve saati istediğiniz gibi ayarlayabilirsiniz. Fotoğrafta göstergeler dijital sıcaklık sensöründen alınan zamanı ve sıcaklığı gösteriyor

Benim durumumdaki asıl zorluk, 2,7 inçlik göstergelerin ortak bir anoda sahip olması ve öncelikle ortak katotlu göstergeler için tasarlanmış max7219 ile bir şekilde arkadaş olmaları ve ikinci olarak sorunu kendileriyle çözmeleri gerektiğidir. güç kaynağı, çünkü max7219'un tek başına sağlayamayacağı parlaklık için 7,2 volta ihtiyaçları var. Bir forumda yardım istediğimde bir cevap aldım.

Ekran görüntüsündeki çözüm:


Max7219'dan gelen segmentlerin çıkışlarına, sinyali tersine çeviren bir mikro devre takılır ve her çıkışa, ekranın ortak katoduna bağlanması gereken, aynı zamanda sinyalini ters çeviren ve arttıran üç transistörden oluşan bir devre bağlanır. Gerilim. Böylece ortak anotlu ve 5 volttan fazla besleme voltajına sahip ekranları max7219'a bağlama fırsatını yakalıyoruz.

Test için bir gösterge bağladım, her şey çalışıyor, hiçbir şey sigara içmiyor

Haydi toplamaya başlayalım.

Her şeyin tek bir tahtada olduğu, çarpık pençelerimle ayrılan versiyondaki çok sayıda jumper nedeniyle devreyi 2 parçaya ayırmaya karar verdim. Saat, bir görüntüleme ünitesi ve bir güç ve kontrol ünitesinden oluşacaktır. İlk önce ikincisinin toplanmasına karar verildi. Estetiklerden ve deneyimli radyo amatörlerinden, parçalara yapılan zalimce muameleden dolayı bayılmamalarını rica ediyorum. LUT uğruna bir yazıcı satın alma arzum yok, bu yüzden bunu eski usul yapıyorum - bir kağıt parçası üzerinde pratik yapıyorum, bir şablona göre delikler açıyorum, bir işaretleyiciyle yollar çiziyorum ve sonra gravür yapıyorum.

Göstergelerin eklenmesi ilkesi öncekiyle aynı kaldı.

Kolaylık sağlamak için yapılmış bir pleksiglas şablon kullanarak göstergelerin ve bileşenlerin konumunu işaretliyoruz.

İşaretleme süreci







Daha sonra bir şablon kullanarak doğru yerlere delikler açıp tüm bileşenleri deniyoruz. Her şey mükemmel uyum sağladı.

Yollar çiziyoruz ve aşındırıyoruz.




demir klorürde banyo yapmak

Hazır!
kontrol Paneli:


gösterge panosu:


Kontrol panosu harika çıktı, ekran panosundaki parça kritik bir şekilde yenilmedi, tamir edilebilir, lehimleme zamanı geldi. Bu sefer SMD bekaretimi kaybettim ve devreye 0805 bileşeni dahil ettim. En azından ilk dirençler ve kapasitörler yerlerine lehimlendi. Sanırım bu konuda daha iyi olacağım, daha kolay olacak.
Lehimleme için satın aldığım akı kullandım. Onunla lehim yapmak bir zevk; artık alkollü reçineyi sadece kalaylama için kullanıyorum.

İşte bitmiş tahtalar. Kontrol panosunda Arduino nano için bir yuva, bir saat, ayrıca ekran kartına ve sensörlere bağlantı için çıkışlar (otomatik parlaklık için bir foto direnç ve dijital bir termometre ds18s20) ve ayarlanabilir çıkış voltajına sahip bir güç kaynağı (büyük yedi segmentli cihazlar) ve saate ve Arduino'ya güç vermek için ekran kartında ekranlar için montaj soketleri, max2719 ve uln2003a için soketler, dört büyük yedi segmentli cihaza güç sağlamak için bir çözüm ve bir grup atlama kablosu vardır.




arka kontrol panosu

Arka ekran kartı:

Korkunç smd kurulumu:


Öğle yemeği

Tüm kabloları, düğmeleri ve sensörleri lehimledikten sonra hepsini açmanın zamanı geldi. İlk lansman birçok sorunu ortaya çıkardı. Son büyük gösterge yanmadı ve geri kalanı loş bir şekilde parlıyordu. İlk sorunu SMD transistörünün ayağını lehimleyerek, ikincisini ise lm317'nin ürettiği voltajı ayarlayarak çözdüm.
YAŞIYOR!

K145IK1911 çipinde yedi bölümlü LED göstergeli saat

Sitede görünen bu saatlerin geçmişi, sitedeki diğer diyagramlardan biraz farklıdır.

Normal bir izin günü, postaneye gidiyorum, ortalığı karıştırıyorum ve okuyucumuz karşıma çıkıyor Fedorenko Evgeniy, bir açıklama ve tüm fotoğraflarla birlikte saatin bir şemasını gönderdi.

Kısaca şema hakkında. elektronik saat devresi onların eller tamamlanmış K145IK1911 çipinde ve saat yedi segmentli LED göstergelerde gösteriliyor. Makalesi de öyle.

Saat diyagramı:


Bir resmi büyütmek için üzerine tıklayarak büyütün ve bilgisayarı kaydedin.

Kısa bir süre önce ya yeni bir saat satın alma ya da yeni bir saatin montajını kendim yapma göreviyle karşı karşıya kaldım. Saatin gereksinimleri basitti; ekranda saat ve dakika görüntülenmeli, bir alarm saati bulunmalı ve görüntüleme cihazı olarak yedi bölümlü LED göstergeler kullanılmalıdır. Bir sürü mantık çipini yığmak istemedim ve denetleyicilerin programlanmasıyla uğraşmak istemedim. Seçim Sovyet elektronik endüstrisinin gelişimi üzerine yapıldı - çip K145IK1901.

O zamanlar mağazada değildi ama 40 pinli pakette bir analog vardı - K145IK1911. Bu mikro devrenin pinlerinin adı öncekinden farklı değil, fark numaralandırmada.



Bu mikro devrelerin dezavantajı sadece vakumlu floresan göstergelerle çalışmalarıdır. LED göstergesine kenetlenmeyi sağlamak için yarı iletken anahtarlar kullanarak bir eşleştirme devresi oluşturmak gerekiyordu.

Dizi sürücüleri olarak – J1-J7 transistörler kullanılabilir I, A, B harf indeksli KT3107. D1-D4, KT3102I veya KT3117A, KT660A segmentlerinin yanı sıra maksimum kollektör-verici voltajı en az 35 V ve kollektör akımı olan diğerlerini seçmek için sürücüler için en az 100 mA kullanılacaktır. Gösterge bölümlerinin akımı, sıra sürücülerinin toplayıcı devrelerindeki dirençler tarafından düzenlenir.



Saat ve dakika rakamlarını ayırmak için 1 Hz frekansında yanıp sönen bir nokta kullanılır.

Bu frekans, zamanlama başladıktan sonra Y4 pininde mevcuttur. Bu şema aynı zamanda ekranda sırasıyla saat ve dakika - dakika ve saniye yerine görüntülenme olanağı sağlar. Bu moda geçiş “Sn.” butonuna basılarak gerçekleştirilir. “Geri Dön” butonuna basıldıktan sonra saat ve dakika göstergesine dönüş yapılır. Bu çip aynı anda iki alarm saatini ayarlama olanağı sağlar ancak bu şemada ikinci alarm saati gereksiz olarak kullanılmaz. Ses yayıcı olarak, 12V besleme voltajına sahip, yerleşik jeneratörlü bir piezo tweeter kullanılır. Çalar saat sinyali mikro devrenin Y5 pininden çıkarılır. Aralıklı ses sağlamak için sinyal, ikinci ritmi (nokta) belirtmek için kullanılan 1 Hz frekansında modüle edilir. K145IK1901(11) mikro devresinin işlevselliği hakkında daha ayrıntılı bir çalışma için, yakın zamanda internette kolayca bulunabilen belgelere başvurabilirsiniz. Mikro devre -27V±%10 negatif voltajla çalıştırılmalıdır. Yapılan deneylere göre mikro devre -19V voltajda bile çalışır durumda kalıyor ve saatin doğruluğu hiçbir şekilde etkilenmiyor.

Saat diyagramı yukarıdaki şekilde gösterilmiştir. Devrede standart 1206 boyutunda çip dirençleri kullanıldı, bu da cihazın boyutlarını önemli ölçüde azaltmayı mümkün kıldı. Ortak anotlu herhangi bir yedi bölümlü gösterge, yedi bölümlü göstergeler olarak uygundur.

Şimdilik hikayenin sonu bu. Daha da geliştirilecek ve yenilenecek. Tüm sorularım için yazarı Evgeniy Fedorenko'ya şükranlarımı sunuyorum ve ayrıca Write'a e-postasını veriyorum. Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'i etkinleştirmiş olmanız gerekir.

Dinamik ekranlı. Saatin çalışmasıyla ilgili herhangi bir şikayet yok: hassas hareket, uygun ayarlar. Ancak büyük bir dezavantaj, LED göstergelerin gündüzleri görülmesinin zor olmasıdır. Sorunu çözmek için statik ekrana ve daha parlak LED'lere geçtim. Yazılımda her zaman olduğu gibi Soir'a çok teşekkürler. Genel olarak, statik ekranlı büyük bir dış mekan saatini dikkatinize sunuyorum; ayar işlevleri önceki saatlerle aynı kalıyor.

Cihaz gövdesinde iki ekranı var - ana ekran (sokak dışında) ve göstergelerdeki yardımcı ekran - iç mekanda, cihaz gövdesinde. Yüksek parlaklık, 50 mA çalışma akımına sahip ultra parlak LED'ler ve sürücü çipleri kullanılarak elde edilir.

Parlak LED'li dış mekan elektronik saatinin devre şeması

Denetleyici donanım yazılımını dosyalarla güncellemek ve aşağıdaki sigorta ayarlarını kullanmak için:

LAY formatında saatin, kontrol ünitesinin ve harici modülün baskılı devre kartları.


Bu saat devresinin özellikleri:

- 24 saatlik zaman görüntüleme formatı.
- Strok doğruluğunun dijital düzeltilmesi.
- Ana güç kaynağının yerleşik kontrolü.
- Kalıcı mikrodenetleyici belleği.
- -55 - 125 derece aralığında sıcaklığı ölçen termometre bulunmaktadır.
- Göstergede zaman ve sıcaklıkla ilgili bilgilerin dönüşümlü olarak görüntülenmesi mümkündür.


SET_TIME düğmesine basmak, göstergeyi ana saat modundan bir daire şeklinde hareket ettirir (geçerli saati görüntüler). Tüm modlarda ARTI/EKSİ düğmelerini basılı tutmak hızlandırılmış kurulum gerçekleştirir. Son değer değişikliğinden 10 saniye sonra ayarlarda yapılan değişiklikler kalıcı belleğe (EEPROM) yazılacak ve enerji tekrar açıldığında oradan okunacaktır.


Önerilen seçeneğin bir diğer büyük artısı da parlaklığın değişmesidir, artık güneşli havalarda parlaklık mükemmel. Kablo sayısı 14'ten 5'e düşmüştür. Ana (dış mekan) ekrana giden kablonun uzunluğu 20 metredir. Elektronik saatin performansından memnunum; hem gündüz hem de gece tamamen işlevsel bir saat olduğu ortaya çıktı. Saygılarımla Soir-Alexandrovich.

Hatırlıyorum... Otuz yıl önce altı gösterge küçük bir hazineydi. Daha sonra bu tür göstergelere sahip TTL mantığını kullanarak bir saat yapabilen herkes, alanında gelişmiş bir uzman olarak görülüyordu.

Gaz deşarj göstergelerinin parıltısı daha sıcak görünüyordu. Birkaç dakika sonra bu eski lambaların çalışıp çalışmayacağını merak etmeye başladım ve onlarla bir şeyler yapmak istedim. Artık böyle bir saat yapmak çok kolay. İhtiyacınız olan tek şey bir mikrodenetleyici...

Aynı zamanda mikrodenetleyicileri üst düzey dillerde programlamaya da ilgi duyduğum için biraz oynamaya karar verdim. Dijital gaz deşarj göstergelerini kullanarak basit bir saat yapmaya çalıştım.

Tasarımın amacı

Saatin altı haneli olmasına ve saatin minimum sayıda tuşla ayarlanmasına karar verdim. Ek olarak, farklı üreticilerin en yaygın mikrodenetleyici ailelerinden birkaçını kullanmayı denemek istedim. Programı C dilinde yazmayı düşünüyordum.

Gaz deşarj göstergelerinin çalışması için yüksek voltaj gerekir. Ancak tehlikeli şebeke voltajıyla uğraşmak istemedim. Saatin zararsız 12 V voltajla çalıştırılması gerekiyordu.

Asıl amacım oyun olduğu için burada mekanik tasarıma veya gövde çizimlerine dair herhangi bir açıklama bulamazsınız. Dilerseniz saati zevkleriniz ve tecrübeleriniz doğrultusunda kendiniz değiştirebilirsiniz.

İşte elde ettiklerim:

  • Zaman göstergesi: HH MM SS
  • Alarm göstergesi: HH MM --
  • Zaman görüntüleme modu: 24 saat
  • Doğruluk Günde ±1 saniye (kuvars kristaline bağlı olarak)
  • Besleme gerilimi: 12 V
  • Akım tüketimi: 100 mA

Saat diyagramı

Altı haneli dijital ekrana sahip bir cihaz için multipleks mod doğal bir çözümdü.

Blok diyagramın çoğu öğesinin amacı (Şekil 1), yorum yapılmadan açıktır. Bir dereceye kadar standart dışı görev, TTL seviyelerini yüksek voltaj göstergesi kontrol sinyallerine dönüştüren bir dönüştürücü oluşturmaktı. Anot sürücüleri, yüksek voltajlı NPN ve PNP transistörleri kullanılarak yapılır. Diyagram Stefan Kneller'den (http://www.stefankneller.de) ödünç alınmıştır.

74141 TTL çipi, her rakam için bir BCD kod çözücü ve yüksek voltajlı bir sürücü içerir. Bir çip sipariş etmek zor olabilir. (Gerçi artık kimsenin bunları yapıp yapmadığını bilmiyorum). Ancak gaz deşarj göstergeleri bulursanız, 74141 yakınlarda bir yerde olabilir :-). TTL mantığı zamanında, 74141 yongasının neredeyse hiçbir alternatifi yoktu. Bu yüzden bir yerlerde bir tane bulmaya çalışın.

Göstergeler yaklaşık 170 V'luk bir voltaj gerektirir. Çok sayıda güçlendirme dönüştürücü yongası olduğundan, voltaj dönüştürücü için özel bir devre geliştirmenin bir anlamı yoktur. Ucuz ve yaygın olarak bulunabilen IC34063'ü seçtim. Dönüştürücü devresi neredeyse tamamen MC34063 veri sayfasından kopyalanmıştır. Bir T13 güç anahtarı yeni eklendi. Dahili anahtar bu kadar yüksek voltaja uygun değildir. Dönüştürücü için endüktans olarak bir bobin kullandım. Şekil 2'de gösterilmektedir; çapı 8 mm, uzunluğu 10 mm'dir.

Dönüştürücünün verimliliği oldukça iyidir ve çıkış voltajı nispeten güvenlidir. 5 mA yük akımıyla çıkış voltajı 60 V'a düşer. R32, akım ölçüm direnci görevi görür.

Mantığa güç vermek için U4 doğrusal regülatörü kullanılır. Yedek pil için devrede ve kartta yer vardır. (3,6 V - NiMH veya NiCd). D7 ve D8 Schottky diyotlardır ve R37 direnci akünün özelliklerine göre şarj akımını sınırlamak için tasarlanmıştır. Saatleri sadece eğlence için üretiyorsanız pil, D7, D8 ve R37'ye ihtiyacınız olmayacak.

Son devre Şekil 3'te gösterilmektedir.

Figür 3.

Zaman ayar düğmeleri diyotlar aracılığıyla bağlanır. Düğmelerin durumu, ilgili çıkışta mantıksal bir "1" ayarlanarak kontrol edilir. Bir bonus özellik olarak, mikro denetleyicinin çıkışına bir piezo yayıcı bağlanır. Bu iğrenç gıcırtıyı susturmak için küçük bir anahtar kullanın. Bunun için bir çekiç oldukça uygun olacaktır, ancak bu son çare :-).

Devre bileşenlerinin bir listesini, PCB çizimini ve yerleşim şemasını "İndirilenler" bölümünde bulabilirsiniz.

İşlemci

Gerekli minimum sayısı Tablo 1'de gösterilen yeterli sayıda pime sahip hemen hemen her mikro denetleyici, bu basit cihazı kontrol edebilir.

Tablo 1.
İşlev sonuçlar
Beslenme 2
Kuvars rezonatör 2
Anot yönetimi 6
Sürücü 74141 4
Düğme girişi 1
Piezo yayıcı 1
Toplam 16

Her üretici kendi mikrodenetleyici ailelerini ve türlerini geliştirir. Pimlerin konumu her tip için ayrıdır. Çeşitli mikrodenetleyici türleri için evrensel bir kart tasarlamaya çalıştım. Kartta 20 pinli bir soket bulunmaktadır. Birkaç jumper kablosuyla farklı mikrodenetleyicilere uyarlayabilirsiniz.

Bu devrede test edilen mikrodenetleyiciler aşağıda listelenmiştir. Diğer türleri de deneyebilirsiniz. Planın avantajı farklı işlemcileri kullanma yeteneğidir. Radyo amatörleri, kural olarak, bir mikrodenetleyici ailesini kullanır ve uygun programcı ve yazılım araçlarına sahiptir. Diğer üreticilerin mikrodenetleyicilerinde sorunlar yaşanabilir, bu yüzden size en sevdiğiniz aileden bir işlemci seçme fırsatı verdim.

Çeşitli mikrokontrolörleri açmanın tüm özellikleri Tablo 2...5 ve Şekil 4...7'de gösterilmektedir.

Tablo 2.
Serbest ölçek
Tip MC68HC908QY1
Kuvars rezonatör 12MHz
Kondansatörler C1, C2 22pF
programı freescale.zip
("İndirilenler" bölümüne bakın)
Ayarlar

Not: Quartz rezonatöre paralel olarak 10 MΩ'luk bir direnç bağlanır.

Tablo 3.
Mikroçip
Tip PIC16F628A
Kuvars rezonatör 32.768 kHz
Kondansatörler C1, C2 22pF
programı pic628.zip
("İndirilenler" bölümüne bakın)
Ayarlar Uluslararası 4 MHz jeneratör - G/Ç RA6,
MCLR KAPALI, WDT KAPALI, LVP KAPALI,
BROUT KAPALI, CP KAPALI, PWRUP KAPALI

Not: Mikro devre sokette 180° döndürülmelidir.

Tablo 4.
Atmel
Tip ATtiny2313
Kuvars rezonatör 12MHz
Kondansatörler C1, C2 15pF
programı attiny.zip
("İndirilenler" bölümüne bakın)
Ayarlar meydan 8 MHz osilatör, RESET AÇIK

Not: RESET pinine (10 kΩ ve 100 nF) SMD bileşenleri R ve C ekleyin.

Tablo 5.
Atmel
Tip AT89C2051
Kuvars rezonatör 12MHz
Kondansatörler C1, C2 22pF
programı at2051.zip
("İndirilenler" bölümüne bakın)
Ayarlar --

Not: RESET pinine (10 kΩ ve 100 nF) SMD bileşenleri R ve C ekleyin; Yıldız işaretleriyle işaretlenmiş pinleri 3,3 kOhm SMD dirençleri aracılığıyla +Ub güç veriyoluna bağlayın.

Farklı mikrodenetleyicilerin kodlarını karşılaştırdığınızda oldukça benzer olduklarını göreceksiniz. Bağlantı noktalarına erişim ve kesme işlevlerinin tanımının yanı sıra donanım bileşenlerine bağlı olarak da farklılıklar vardır.

Kaynak kodu iki bölümden oluşmaktadır. İşlev ana() bağlantı noktalarını yapılandırır ve kesme sinyalleri üreten bir zamanlayıcıyı başlatır. Bundan sonra program basılan butonları tarayarak uygun zaman ve alarm değerlerini ayarlar. Orada, ana döngüde mevcut zaman alarm saati ile karşılaştırılır ve piezo yayıcı açılır.

İkinci kısım, zamanlayıcı kesintilerini işlemek için bir alt programdır. Her milisaniyede bir çağrılan bir alt program (zamanlayıcının kapasitesine bağlı olarak) zaman değişkenlerini artırır ve ekran rakamlarını kontrol eder. Ayrıca butonların durumu da kontrol edilir.

Devreyi çalıştırmak

Bileşenleri kurarken ve ayarlarken güç kaynağıyla başlayın. U4 regülatörünü ve çevresindeki bileşenleri lehimleyin. U2 için 5 V ve U1 için 4,6 V voltajı kontrol edin. Bir sonraki adım, yüksek voltaj dönüştürücünün montajıdır. Voltajı 170 V'a ayarlamak için trimer direnci R36'yı kullanın. Trim aralığı yeterli değilse, R33 direncinin direncini biraz değiştirin. Şimdi anot ve dijital sürücü devresinin U2 yongasını, transistörlerini ve dirençlerini takın. U2 girişlerini GND veriyoluna bağlayın ve R25 - R30 dirençlerinden birini seri olarak +Ub güç veriyoluna bağlayın. Gösterge numaraları ilgili konumlarda yanmalıdır. Devreyi kontrol etmenin son aşamasında, U1 mikro devresinin 19 numaralı pimini toprağa bağlayın - piezo yayıcı bip sesi çıkarmalıdır.

Kaynak kodlarını ve derlenmiş programları “İndirilenler” bölümündeki ilgili ZIP dosyasında bulacaksınız. Programı mikro denetleyiciye yükledikten sonra, U1 konumundaki her bir pimi dikkatlice kontrol edin ve gerekli kablo ve lehim bağlantı tellerini takın. Yukarıdaki mikrodenetleyici görsellerine bakın. Mikrodenetleyici doğru programlanmış ve bağlanmışsa jeneratörü çalışmaya başlamalıdır. Saati ve alarmı ayarlayabilirsiniz. Dikkat! Anakartta bir düğme için daha yer var - bu gelecekteki genişletmeler için yedek bir düğme :-).

Jeneratör frekans doğruluğunu kontrol edin. Beklenen aralıkta değilse C1 ve C2 kapasitörlerinin değerlerini biraz değiştirin. (Küçük kapasitörleri paralel olarak lehimleyin veya başkalarıyla değiştirin). Saatin doğruluğu artmalı.

Çözüm

Küçük 8 bit işlemciler yüksek seviyeli diller için oldukça uygundur. C başlangıçta küçük mikrodenetleyiciler için tasarlanmamıştı, ancak basit uygulamalar için onu gayet iyi kullanabilirsiniz. Montaj dili, kritik zamanlar veya maksimum CPU yükü gerektiren karmaşık görevler için daha uygundur. Çoğu radyo amatörleri için C derleyicisinin hem ücretsiz hem de paylaşımlı sınırlı sürümleri uygundur.

C programlama tüm mikrodenetleyiciler için aynıdır. Seçilen mikro denetleyici tipinin donanım fonksiyonlarını (kayıtlar ve çevre birimleri) bilmelisiniz. Bit işlemlerinde dikkatli olun - ATtiny için orijinal örnekte görülebileceği gibi, C dili bireysel bitleri işlemek için uygun değildir.

Tamam mısın? Daha sonra vakum tüplerini düşünmeye başlayın ve izleyin...

...eski günler geri döndü... :-)

Editörün Notu

SN74141'in tam bir analogu, Minsk Integral yazılımı tarafından üretilen K155ID1 mikro devresidir.
Mikro devre internette kolayca bulunabilir.