Yedi segmentli 4 bitlik bir Arduino'yu bağlama şeması. Yedi bölümlü gösterge. Yedi bölümlü gösterge nasıl kontrol edilir

Semigmenti SVITLODIDIDIRIA DUZHENI PREAST SERSE STARISTY DUARITIVENE OFFIROVIKH, mIROVILOVICH, GOLLED MACHINGS, DIGNICH, LICHILNIKS, TIMEMECH TAMI'nin ön panellerindeki LISTENT'İN BAŞKA BİR ETKİSİDİR. Etrafa bir göz atacağım. Yedi segmentli 4 haneli bir göstergeyi mikrodenetleyiciye bağlamak için 12 giriş/çıkış hattı gereklidir. Bu nedenle, örneğin bir dizi şirkette, az sayıda pinli mikro denetleyicilere sahip göstergelere ilişkin verileri kullanmak neredeyse imkansızdır. Elbette farklı çoğullama yöntemleri kullanmak mümkündür (bunların açıklamaları web sitesinde "Şemalar" bölümünde bulunabilir) ve bu durumda cilt yöntemi için de kombinasyonlar vardır ve sıklıkla karmaşık yazılım algoritmaları kullanılır.

Mikrodenetleyicinin 3. giriş/çıkış hattına bağlanan SPI arayüzüne indikatör bağlama yöntemine bakacağız. Bu, göstergenin tüm bölümlerinin hasar görmemesini sağlayacaktır.

4 basamaklı bir göstergeyi SPI veri yolu mikro denetleyicisine bağlamak için şirket tarafından özel bir sürücü mikro devresi üretilmektedir. Mikro devre, bir karbon katottan gelen yedi bölümlü göstergelerle donatılmıştır ve deposunda bir BCD kod çözücü, bölüm sürücüleri, bir çoğullama devresi ve sayıların değerini kaydetmek için statik RAM bulunur.

Gösterge segmentleri arasındaki akış yalnızca bir harici direnç yardımıyla kurulur. Ek olarak mikro devre, yerleşik bir PWM biçiminde göstergelerin parlaklığının (16 parlaklık seviyesi) kontrolünü destekler.

Aşağıdaki şema amatör radyo tasarımlarında kullanılabilecek SPI arayüzlü bir ekran modülünün şemasıdır. Ve bizi en çok rahatsız eden şey devrenin kendisi değil, SPI arayüzünün arkasında mikro devre bulunan robottur. +5 modülünün ömrü Vcc pinine beslenir, MOSI, CLK ve CS sinyal hatları kontrol altındaki ana cihazla (mikrodenetleyici) (mikro devre MAX7219) iletişim için tasarlanmıştır.

Mikro devre standart olarak açıktır ve gerekli olan tek harici bileşenler, bölümler arasındaki akışı ayarlayan bir direnç, yaşamdan gelen sıvı voltajı ve yaşamı filtreleyen bir kapasitördür.

Veriler, cildin ön tarafındaki 16 bitlik kaydın girişine yerleştirilen ve CLK sinyalini artıran 16 bitlik paketler (iki bayt) halinde mikro devreye iletilir. 16 bitlik paket D0-D15 anlamlıdır, D0-D7 bitleri veridir, D8-D11 kayıt adresidir, D12-D15 bitleri anlamlı değildir. Bit D15 en yüksek bittir ve ilk alınan bittir. Mikro devre her türlü göstergeyle tasarlanmışsa robota uzaktan bakacağız. Sağdan sola sırayla düzenlenmiş DIG0 - DIG3 çıkışlarında kontrol edilirler, 4 bitlik adresler (D8-D11), 0×01, 0×02, 0×03 ve 0×04'ü belirtirler ( on altı biçimi). Sayıların kaydı, 8×8 organizasyona sahip yerleşik bir RAM temelinde uygulanır ve doğrudan adreslenir, böylece ekrandaki her rakam herhangi bir zamanda güncellenebilir. Aşağıdaki tablo MAX7219 mikro devrelerinin sayılarını ve kontrol kayıtlarını göstermektedir.

Kayıt

Adresler

HEX değerleri

İşlem yok

Kod çözme modu

Gösterge sayısı

Vimknennya

Gösterge testi

Yönetim kaydı

MAX1792 yongasında 5 kontrol kaydı bulunur: kod çözme modu (Kod Çözme Modu), gösterge parlaklık kontrolü (Yoğunluk), gösterge bağlantı sayısı kaydı (Tarama Limiti), açılış kontrolü ve kapatma m (Kapatma), test modu (Ekran Testi) ).

Mikro devrelerin iyileştirilmesi ve azaltılması

Mikro devreye güç uygulandığında, tüm kayıtlar sıfırlanır ve Kapatma moduna geçer. Bu modda ekran karartılır. Normal çalışma moduna geçmek için Kapatma kaydındaki (adres 0Сh) D0 bitini ayarlamanız gerekir. Keşke sürücüyü kapatmak ve tüm kayıtların değişmeden kalması için bu kaldırılabilseydi. Bu mod, enerji tasarrufu yapmak için veya alarm modunda göstergenin yanıp sönmesi için kullanılabilir (Kapatma modunda sıralı etkinleştirme ve devre dışı bırakma).

Mikro devrelerin Kapatma moduna geçirilmesi, adresin (0Сh) ve verilerin (00h) sırayla iletilmesi ve normal çalışma moduna dönmek için 0Ch (adres) ve ardından 01h'nin (veri) aktarılmasıyla gerçekleştirilir.

Kod çözme modu

Ek kayıt seçimi ve kod çözme modu için (09h adresleri), her rakam için BCD kod B kod çözmeyi (0-9, E, H, L, P, - sembolleri) veya kod çözmeden seçebilirsiniz. Kayıt biti bir rakamı gösterir, mantıksal bir rakamın ayarlanması kod çözücünün bu rakam için açık olduğunu gösterir, 0 ayarı kod çözücünün kapalı olduğu anlamına gelir. BCD kod çözücü kullanılırsa, rakam kayıtlarındaki (D3-D0) en küçük veri dikkate alınır, D4-D6 bitleri göz ardı edilir, D7 biti BCD kod çözücüye dahil edilmez ve onuncunun dahil edildiğini gösterir. gösterge üzerinde D 7=1 gibi bir noktaya gelin. Örneğin 02h ve 05h baytları art arda gönderildiğinde DIG1 göstergesinde (bir diğer sağ rakam) 5 rakamı, 01h ve 89h tuşlarına basıldığında ise onlar da dahil 9 rakamı ekranda görüntülenir. Noktalı DIG0 göstergesi. Aşağıdaki tablo, BCD çip kod çözücü seçildiğinde görüntülenen simgelerin tam listesini içerir.

Sembol

Kayıtlardaki veriler

Etkinleştirilen segmentler = 1

Boş

*Onun noktası D7=1 biti tarafından ayarlanır

BCD kod çözücü açıldığında, D7-D0 bit verileri göstergenin segment çizgilerine (A-G ve DP) karşılık gelir.

Göstergelerin parlaklığını kontrol etme

Mikro devre, göstergelerin parlaklığını enjekte edilmiş bir PWM biçiminde programlı olarak azaltmanıza olanak tanır. PWM çıkışı, 16 parlaklık seviyesinden birini ayarlamanıza olanak tanıyan Yoğunluk kaydına (0Ah adresi) küçük bir giriş (D3-D0) tarafından kontrol edilir. Bayt 1'in tüm bitleri ayarlandığında göstergenin maksimum parlaklığı seçilir.

Bağlı göstergelerin sayısı

Tarama Limiti kaydı (adres 0Bh), mikro devrenin (1...8) hizmet vereceği deşarj sayısını ayarlar. 4 haneli versiyonumuz için kayıt defteri 03h değerini içerir.

Gösterge testi

Bu modu gösteren kayıt 0Fh adresinde bulunur. Kayıttaki D0 bitini ayarlayarak sistem tüm gösterge bölümlerini açar, ancak kontrol kayıtları ve veriler yerine veriler değişmez. Ekran Testi modunu etkinleştirmek için bit D0, 0'a ayarlanmalıdır.

Mikrodenetleyici ile arayüz

Gösterge modülü, üç giriş/çıkış hattına sahip herhangi bir mikro denetleyiciye bağlanabilir. Mikrodenetleyici bir donanım SPI modülü kullandığından gösterge modülü veri yolu üzerindeki ana cihazlara bağlanabilir. Bu sayede mikrodenetleyicinin sinyal hattı SPI arayüzü SDO (seri veri çıkışı), SCLK (seri saat) ve SS (slave seçimi) MAX7219 yongalarının (modül) MOSI, CLK ve CS pinlerine doğrudan bağlanabilir, CS sinyali є aktif düşük ravent.

Mikrodenetleyicinin donanımsal SPI'sı bulunmadığından arayüz yazılımsal olarak düzenlenebilmektedir. MAX7219 yongasıyla birleştirme, CS hattının düşük seviyesinin ayarlanması ve kesilmesiyle başlar, ardından CLK sinyalinin yükselen kenarındaki MOSI hattı tarafından art arda 16 bit veri gönderilir (en önemli bit ilk önce iletilir). CS hattı iletimi tamamlandığında yüksek seviye geri yüklenir.

Edinme bölümünde kullanıcılar, SPI arayüzü ile gösterge modülü üzerinde görüntülenen değerlerden orijinal 4 haneli şifacıyı uygulayan test programının çıktı metnini ve HEX firmware dosyasını içe aktarabilirler. Vikoristovaya mikrodenetleyici - yazılım uygulama arayüzü, bağlantı gösterge modülünün CS, MOSI ve CLK sinyal hatları GP0, GP1 ve GP2 bağlantı noktalarına paralel olarak. PIC mikrodenetleyicileri için MicroC derleyicisi geliştirilmektedir (mikroElektronika

Sitedeki materyaller hakkında yorum yapmak ve forumumuza tam erişim sağlamak için şunları yapmanız gerekir: kayıt olmak .

İyi günler! Uzun ve sancılı bir aradan sonra “Arduino Programlama” kursuna hakim olmaya devam ettim. Daha önceki derslerimizden birinde LED'lerin sırası üzerinde zaten çalışmıştık, şimdi bir sonraki başlangıç ​​aşamasına geçme zamanı. Bugünkü yazımızın konusu 7 segmentli gösterge olacak.

7 bölümlü göstergeye aşinalık iki bölümden oluşur. İlk bölümde teorik depoyu inceleyeceğiz, "tırmanma" üzerinde çalışacağız ve basit programlar yazacağız.

En son 8 LED dizisiyle çalıştığımızda bugün de 8 (7 LED ve 1 nokta) olacak. Öncelikle bu kümenin elemanları bir sıraya (birbiri ardına) yerleştirilmemiş, sırayla düzenlenmiştir. Bazı nedenlerden dolayı yalnızca bir bileşene ihtiyacınız varsa 10 rakam (0'dan 9'a kadar) girebilirsiniz.

Basit LED'ler bazında bu göstergede bir diğer önemli fark görülüyor. Bir karbon katodu vardır (katot olan iki eşit bacak 3 ve 8). Katotlardan birini toprağa bağlamak yeterlidir ( GND). Tüm gösterge elemanlarının anotları bireyseldir.

Küçük erişim. Giderek artan bir şekilde, bir karbon katottan 7 segmentli göstergelere uygulandığı söyleniyor. Göstergeleri sıcak anottan çıkarmaya devam edin. Bu tür göstergelerin bağlantısı temel öneme sahiptir, bu nedenle sizden “günahkârı doğru olanla” karıştırmamanızı rica ediyorum. Elinizde ne tür bir yedi segmentli cihaza sahip olduğunuzu açıkça anlamalısınız!

Basit LED'ler ile 7 segmentli göstergeler arasında farklılıklar olduğu gibi çoklu rakamlar da bulunmaktadır. Örneğin: LED'ler gibi göstergeler, iki-üç basamaklı sayıları (rakamlar) görüntülemek için bir sıraya (sıraya) monte edilebilir. Ancak segment setlerinin kendi kendine bir araya getirilmesi konusunda çok fazla endişelenmek istemiyorum. Satışta çok sayıda tek haneli gösterge var ve çok sayıda gösterge de satışta.

Eminim LED'ler bağlandığında akış kesme dirençlerini değiştirme ihtiyacını unutmamışsındır. Aynı durum göstergeler için de geçerlidir: göstergenin dış yüzeyi kendi direncine bağlanır. 8 eleman (7+1) – 8 direnç.

Elimin altında 5161AS (solar katot) işaretli yedi bölümlü bir hücre vardı. Kişilerin sabitlenmesi:



Prensip diyagramı

Daha önce de söylediğim gibi “A” segmentini açmak için herhangi bir kontağa (3 veya 8) “toprak” bağlıyoruz ve 7 numaralı pine 5V güç veriyoruz. Göstergenin filamanlı bir anodu varsa, anoda ve “toprak” segmentine 5V beslenir!

Hadi bir test standına çıkalım. İlk ayaktan başlayıp bir sonraki Arduino kartına geçerek parçaları sırayla bir araya getirelim. Toprak, göstergenin 8 numaralı pimine bağlanır.

Bundan sonra koleksiyon standı olarak ürün yazılımını yazmaya başlayabilirsiniz.

Göstergeyi doğrulamak için, başlatılacak bir program yazılmıştır. “A” öğesini seçin ve yanıp sönün.


Şimdi 2 rakamı yanıp sönüyor.Bunun için birkaç unsuru daha açıyoruz.

Bir rakam girmek için koddaki n sayıdaki satırı yazmanız gerekir. Çok zor, bilmiyorsun.

Diğer yol. Göstergede herhangi bir sayının görüntülenmesi için öncelikle bu sayının görsel bir bit dizisiyle temsil edilmesi gerekir.

Madde tablosu.

Ekranda sıcak anot varsa, 1'in 0 ile ve 0'ın da 1 ile değiştirilmesi gerekir!

Stovpet hex - bir rakamın bayt biçiminde temsili (bunun hakkında başka bir bölümde daha ayrıntılı olarak konuşacağız).

Çift sayı sisteminde bir sayı şu şekilde yazılır: 0b00000000. 0b- İkiz sistem. Sıfırlar tüm LED'lerin karartıldığı anlamına gelir.

Bağlanınca 2'den 9'a kadar olan satırlara girdik. 2 eklemek için satır yeni bir birime yazılır = 0b00000001. Dördüncü bit sağ eldir. Göstergenin ortasındaki nokta kalan biti gösterir.

0 sayısının örneğini yazalım.

Toplanan satır sayısını değiştirmek için 8 bitin tamamında geçiş yapmanızı sağlayan hızlı bir döngü kullanın. Zminnaya Segmenti etkinleştir Okunan bitin değeri dikkate alınır. Bu akış güncellemesinden sonra son mod ayarlanır ( sinyalin görünürlüğü veya görünürlüğü).

Not: bitRead() işlevi belirtilen bitin durumunu okur ve değeri (0 veya 1) döndürür.bitRead(x, n)de, x - Dikkate alınması gereken sayı; n - numarasının güvence altına alınması gereken bit sayısı. Numaralandırma, 0 numaralı en genç bitten (en sağda) başlar.

Ve ilk bölümü tamamlamak için kısa bir şifa notu yazalım.

O zamandan beri radyo teknolojisi ve elektronik ortaya çıktı, elektronik cihazın kapılarına ve insanlara çeşitli sinyal ışıkları, düğmeler, geçiş anahtarları, kadranlar (mikro fiber fırın için hazırlık sinyali - ding!) eşlik ediyor. Bazı elektronik cihazlar, daha fazla bilgi mevcut olacağından minimum miktarda bilgi sağlar. Örneğin Çin telefonunuzun şarj cihazında yanan LED, şarjın açık olduğu ve içinde voltaj olduğu anlamına gelir. Objektif bilgi sağlamanın daha uygun olacağı parametreler de vardır. Örneğin, alarm saatinde sokaktaki sıcaklık bir saat boyunca değişiyor. Yani her şey ampuller veya ışık yayan diyotlar kullanılarak da yapılabilir. Bir derece - diyotun veya ampulün bir kez ateşlenmesi. Kaç derece - kaç gösterge yanacak. Ateşböceklerini hesaba katın; sağdakiler önemli olabilir, ancak sıcaklığı derecenin onda biri kadar bir doğrulukla göstermek için bu tür ışıklara ne ölçüde ihtiyaç duyulacak? Peki neden bu LED'leri ve ampulleri elektronik cihazımda kullanacağım?

Annenin görüntüsünün en az sekiz harici terminali olan pratik yedi bölümlü cihazları; Bunlardan yedisi çeşitli fotovoltaik bölümlere erişim sağlayacak ve sekizincisi tüm bölümlerle kesintisiz bağlantı sağlayacak. Cihazın ilk versiyonu, anotun yedi bölümlü bir ekranına sahiptir; Geri kalan cihaz, karbon katotlu yedi bölümlü bir ekran olarak tasarlandı.

Ekranı sıcak anottan korumak için sürücü, segmenti sıkıştırmak üzere segment sürücüsünün düşük yerine yüksek olarak ayarlandığı aktif-düşük çıkıştan sorumludur. Ekranı karbon katottan ayırmak için sürücü aktif aktif çıkıştan sorumludur.

Yirminci yüzyılın başlarında elektronik lambaların ortaya çıkışıyla birlikte ilk gaz deşarj göstergeleri ortaya çıktı.

Bu tür göstergelerin yardımıyla dijital bilgileri Arap rakamlarıyla görüntüleyebilirsiniz. Daha önce bu lambalar, donanımlar ve diğer elektronik cihazlar için çeşitli göstergeler sağlıyordu. Gaz tahliye elemanlarının hiçbiri herhangi bir yere sıkışamaz. Ale retro her zaman modadır, bu nedenle kendileri ve sevdikleri için gaz deşarjlı güzel olanları seçen çok sayıda radyo amatör vardır.

Açıklama bu şekilde biraz daha karmaşıktır. Voltaj sıfırsa segment neredeyse görünmezdir. Bununla birlikte, giriş voltajı pozitif veya negatifse, segment etkili bir şekilde görünür hale gelir, ancak sürücüye birkaç yüz milisaniyeden daha uzun bir süre boyunca voltaj uygulanırsa, segment kalıcı olarak görünür hale gelebilir ve başka bir değere sahip olmayabilir.

Aklımızda segment açılıyor. Böylece halkın zihninde bir kısım kapanımlar meydana gelir. Bu tahrik biçimine gerilim alt dalgalarına sahip “köprü tahrik” sistemi denir. Devrelerin işlem sırası verilmiştir. Daha önce açıklanan basit kademeli sistem ciddi bir kusura sahiptir, çünkü ekran fiili kuruma süresi boyunca duyarlı kalır, yalnızca cilt tedavisi tamamlandığında ve giriş kapağı kapatıldığında sabit ve okunabilir kalır. Bu "rozmitiy" tipi gösteriye hayret etmek daha da zordur.

Gaz deşarjlı lambaların dezavantajları oldukça fazladır. Dayanıklılık hakkında konuşabilirsiniz. Üniversitemizde laboratuvar ofislerimizde gaz deşarj cihazları üzerinde frekans sayaçları çalıştırmaktayız.

Işık yayan diyotların ortaya çıkışıyla durum çarpıcı biçimde değişti. LED'lerin kendisi küçük bir akışı yakar. Bunları duruma göre sıraladığınızda her türlü bilgiyi elde edebilirsiniz. Tüm Arap rakamlarını vurgulamak için her şey yeterliydi s_m (yıldızlar ve isimler yedi bölümlü gösterge) şarkı söyleme sırasına göre düzenlenmiş, parıldayan açık renkli çiçekler:

Şekil 13, bilinen bir kusuru düzeltmek için ekranı bloke eden frekans kontrol cihazının ayrıntılı devresini göstermektedir. Bu şema bu şekilde çalışır. Aynı zamanda giriş kapısı açılır ve doktorlar giriş sinyaline impulslar sağlamaya başlar. Bu doktor tam olarak her saniye kapanıyor ve bu süre zarfında mandallar doktorun çıkış sinyallerinin ekran sürücülerine ulaşmasını engelliyor; Bu süre boyunca ekran kalıcı olarak boş hale gelir.

Birkaç saniye sonra dizi tekrarlanır, bu sırada terapistler yeniden devreye girer ve ardından bir saniye boyunca giriş frekansı darbelerini yeniler; bu sırada ekran önceki adımın vb. sonuçlarının sürekli okunmasını sağlar. d.

Tüm bu yedi bölümlü göstergelere ek olarak, bazı parametrelerin tam ve kesirli değerini gösterebilmek için aynı sekizinci bölüm eklenir - bir nokta

Böylece devre 13 saniyede bir güncellenen kararlı bir görüntü oluşturur; Uygulamada, Bebek 12 için bu devrenin gerçek periyodu, çıkış ekranının uygun şekilde ölçeklendirilmesinden dolayı birçok veya birçok saniye ile on yıl kadar uzun olabilir.

Üç basamaklı bir frekans ölçerin, 1 saniyelik taban ile 999 Hz, 100 ms zaman tabanı ile 99 kHz, 10 ms zaman tabanı ile 9 kHz ve 1 saniye tabanı ile 999 kHz maksimum frekanslarını gösterebileceğini unutmayın. ms zaman tabanı.

Buradaki fikir sekiz bölümlü bir gösterge kullanmaktır veya eski günlerde buna yedi bölümlü gösterge de denir ve bunun hiçbir zararı yoktur.

Kısacası, yedi bölümlü göstergenin tamamı ışık yayan diyotlardan oluşur, tek bir sırayla birbiri ardına düzenlenir ve tek bir mahfaza içine alınır.

Bu yöntem, 14 ve 15 numaralı küçük ünitelerin yardımıyla anlaşılabilir. Bu jumper'lar birbirine bağlanır ve çoklayıcının çalışmasını sağlar ve muhtemelen yük hücrelerini 1, 2 ve konumları arasında değiştiren yüksek hızlı elektronik jumper'lar olarak kabul edilir. devre işlemlerinin sırası meydana gelir. Anahtarın konumunda olması kabul edilebilir.

Bir dizi bobin aracılığıyla anahtar 3 konumuna gider, ekran 3'ü hareket ettirerek sayı bobin boyunca görüntülenir, tüm döngü yeniden tekrarlanmaya başlar ve bu şekilde tutarsızlığa eklenir. Uygulamada, bu döngülerden yaklaşık 50'si her saniyede aktiftir, bu nedenle ekranların ıslak ve kuru olması konusunda endişelenmemek, bunun yerine onları 327 sayısını veya başka herhangi bir sayıda dikteyi gösteren, net bir şekilde sabit bir ekran olarak almak önemlidir. veri segmentine göre.

Yedi bölümlü tek bir göstergenin şemasına bakarsanız eksen şöyle görünür:

Nitekim yedi bölümlü gösterge de kullanılabilir. tavlama anotu (OA) yani öyle karbon katot (tamam). Kabaca konuşursak, eğer ateşlenmiş bir anoda (OA) sahip yedi bölümümüz varsa, o zaman devrenin bu devrede bir "artı"sı vardır ve eğer ateşlenmiş bir katodu (OK) varsa, o zaman bir "eksi" ve toprak vardır. Gerilim uyguladığımızda LED yanacaktır. Bunu pratikte gösterelim.

Pratik çoklayıcılarda, ekranın yeterli parlaklığını sağlamak için ekranın tepe seviyesi yüksek tutulmalıdır. İncirde. Üç basamaklı bir frekans ölçere ayarlanabilen gelişmiş çoğullama yöntemi kullanılarak 15 okuma. Bu yöntemin iki temel avantajı vardır.

Terminaller oldukça aktifse bu tür özelliklerden muzdariptirler. İncir. Şekil 18 ve 19. Küçük 18, kalınlığı gösteren dört karakterli ekranda koçan sıfırının bastırılmasını sağlamak için kullanılan titreşimi söndürme tekniğini göstermektedir.

Aşağıdaki LED göstergelere sahibiz:

Aslına bakılırsa yedi segmentli üniteler tek gövdede tek veya çoklu olabileceği gibi iki, üç, hatta yedi segmentli üniteler de olabiliyor. Mevcut yedi bölümlü birimi kontrol etmek için yalnızca diyot arama işlevine sahip bir multimetreye ihtiyacımız var. Onay yöntemini kullanarak gizli bir sonuç ararız - OA veya OK olabilir - ve ardından göstergenin tüm bölümlerinin kullanışlılığı zaten şaşırtıcıdır. Üç bitlik yedi segmentli cihazı kontrol ediyoruz:

Bu şekilde ekran görüntülenir. Aslında vikoristanna'da koku basittir, onları harekete yönlendirin ve kokuyu koklayın. Kokular keskin olabilir çünkü bazı kutuplara sahiptirler, bu da kokuların yalnızca onları doğru şekilde bağlarsanız işe yarayacağı anlamına gelir. Pozitif ve negatif gerilimi eklediğinizde koku alevlenmez.

Dratuya, durum böyle, daha da kötü. Diğer tel ise katottur. Katot toprağa bağlanır. Prensip olarak bu noktaya gelecek. Bölünmüş katot için, basmak istediğiniz kontaklara basınç uygularsınız. Multipleks banyo. Yazılımınıza müdahale konusunda endişelenmek istemiyorsanız neden ekran denetleyicilerine ihtiyacınız var?

Kusura bakmayın, bir segmenti yaktıktan sonra diğer segmentleri de aynı şekilde kontrol ediyoruz.

Bazen çarpanda voltaj olmayabilir, bu nedenle gösterge bölümlerini kontrol edin. Böylece Life Block'u alıyoruz, 5 Volt'a ayarlıyoruz, Life Block'un bir terminaline 1-2 kiloOhm'luk bir direnç ekliyoruz ve yedi bölümlü üniteyi kontrol etmeye başlıyoruz.

7 bölümlü ekran kontrolü

Bu nedenle 4 haneli çoğullama segmentiniz varsa 7, ateşleme anotu. Her şeyden önce, ne tür bir ekrana sahip olduğumuzu bilmemiz gerekiyor çünkü iki olası form var: bir karbon katot ve bir karbon anot. Bu ders için ihtiyacınız olan konuşmalar. Sol: Dahili kablolama ve kontak düzeni için tek yönlü düzeni gösteren 7 bölümlü ekranın grafiksel görünümü.

Bu aşamada, daha sonra programlarla ilgilendiğinizde ihtiyacınız olacağından son taslağa dikkat edin. Yakbi, buv zvichaynym katodu, mi b skasuvali yogo'yu gösteriyor. Makalenin alt kısmında prototip kartımdaki devrelerin bir fotoğrafı var. Ayrıca birden fazla ekranın görüntülenmesi için bir kütüphane de sağlıyoruz.

Bir dirence ne için ihtiyacımız var? LED'e voltaj uygulandığında, açıldığında ışık keskin bir şekilde akmaya başlar. Yani bu noktada yanabilirsiniz. Dizeleri çevrelemek için LED'e seri olarak bir direnç bağlanır. Raporu bu makaleden okuyabilirsiniz.

7 segmentli bir ekranda 66 piksellik görünüm

Kaynak yoğun olan pek fazla şey yok. Bu özel ekranda birkaç numara ve iki adet çift taraflı ekran bulunur. Ancak cihaz aynı zamanda dahili bir geniş açı modülatörü aracılığıyla ekran parlaklığının dijital kontrolünü de sağlıyor. Bu tür ekranlar, birden fazla 7 segmentli ekranda çıktı üretebilir.

Bu, gövde üzerindeki ve ardından kontrol üzerindeki temas noktalarını korur. Görünüşe göre, karbon anotlu veya karbon katotlu ekranları tahmin edebilirsiniz. Bir segmenti veya onuncu noktayı temsil eden şekil, görselleştirme için veri kemerine en iyi şekilde uyar. Başlangıçta 10-20 mA olarak derecelendirilen 7 segmentli ekran, zayıf olmasına rağmen hala yanıyor. Ancak kimin için kişi atamaya gerek yok. Bu segmentin daha fazla bölünmesi temel alınmıştır.

Böylece dört bitlik yedi segmentli cihazı Çin radyo alıcısından doğrulayabiliriz

Özel zorlukları suçlamanın bizim hatamız olmadığını düşünüyorum. Devrelerde, yedi bölümlü elemanlar cilt devresindeki dirençlerle birleştirilir. Bunun nedeni, ışık yayan diyotların, üzerlerine voltaj uygulandığında çiğneme ve yanma eğiliminde olmalarıdır.

Başka amaçlar varsa programlama sırasında doğru olmaktan ziyade prensipte mümkündür. Belirli bir şablonda bir dizi numarayı yeniden oluşturarak yardım için sözde kişiyle iletişime geçebilirsiniz. Diğer tüm bölümler karanlık görünüyor. Tüm sayıların tanım sırası bu olduğundan bir tablo oluşturulmuştur.

Test programı, 7 bölümlü bir ekranda sürekli olarak 0'dan 9'a kadar sayıları görüntüler. Çıkış numarası tıbbi kayıtlara kaydedilir ve döngüler arasında 1 artar. Kayıt 10 değerine ulaştığında tekrar 0'a sıfırlanır.İlerleme sonrasında, bir sonraki saatin mevcut sürümden geçmiş olmasını sağlayan bir temizleme döngüsü başlar. Lütfen bu kadar uzun temizleme döngüleri konusunda endişelenmeyin, ancak mesele temizlikle ilgili değil, 7 bölümlü ekranın kontrol edilmesiyle ilgili. Tsyogo için Vikoristovvati zamanlayıcı - tse nadto zengin zusil.

Günümüz dünyasında, yedi segmentli birimlerin yerini, tamamen farklı bilgileri görüntüleyebilen LCD göstergeler almaya başlamıştır.

Üstelik bunları vikorize etmek için bu tür cihazların devre tasarımcısının biraz eğitim alması gerekiyor. Işık yayan diyot yedi bölümlü göstergeler için hala daha basit ve daha ucuz.

p align="justify"> Ancak bu makalenin bir parçası olan asıl sorun, markalama döngüsünün hemen ardından ortaya çıkıyor. Lütfen bir doktorun öneminin bir ast olabileceğini unutmayın. Bu doğrudan flash belleğin bayt bilgeliği değil, sözel nitelikte olmasıyla ilgilidir. Bu taraftaki başka bir uygulamada farklı bir deneyim yaşanabilir. Başka bir tablo girişine ek olarak bayt tamamlamalarının oluşturulmasının birleştirici tarafından nasıl yapılabileceğini gösterir. Genişletmenin bir kayıt gerektirmesi de önemlidir, dolayısıyla değer 0 olmalıdır.

Ancak bu sabitin başlangıçta kayıt defterine dahil edilmesi gerekir ve ancak bundan sonra kayıt defterine eklenebilir. İyi olan şey, bu gerçeğin birçok programda ortaya çıkması ve çoğu durumda sabitin sabit 0 olmasıdır. Bu nedenle, birçok program en başından itibaren bir kayıt defteri ayırır ve buna sıfır kayıt adını verir.

Bu yazımızda dijital ekrandan bahsedeceğiz.
Yedi bölümlü LED göstergeler, 0'dan 9'a kadar Arap rakamlarını görüntülemek için kullanılır (Şekil 1).

Bu tür göstergeler tek hanelidir, yalnızca bir sayıyı gösterir, ancak yedi bölümlü gruplar tek bir gövdede birleştirilir, belki daha fazlası (çoklu basamaklar). Bu tipte sayılar ondalık sayıya bölünür (Şekil 2).

Ne yazık ki bu bir sorundur çünkü görüntüleme için tüm bağlantı noktalarına ihtiyaç vardır - ancak 32 bağlantı noktası da gereklidir. Sadece birkaç soylu var. Mevcut kayıtlar zaten başka bir kılavuzda açıklanmıştır. Bu, gerekli 32 çıkış hattının yalnızca üç pimle oluşturulmasını basitleştirirdi. Kontrol prensibi, 7 segmentli bir ekranın kontrolünden farklı değildir; yalnızca “çıkış ayarları” değerlerine yaklaştığında artar ve ilgili mevcut kayıtlara atanır. Ancak şu anda başka bir kontrol seçeneği belirtilmiş olabilir.



İncir. 2.

Gösterge yedi bölümlü olarak adlandırılır çünkü görüntülenen sembol yedi bölümün yanında olacaktır. Böyle bir göstergenin gövdesinin ortasında, segmentinin aydınlatıldığı ışık yayan diyotlar bulunmaktadır.
Bu tür göstergelerde harf ve diğer sembollerin görüntülenmesi sorunlu olduğundan 16 segmentli göstergeler kullanılmaktadır.

Aşağıda multipleks'e bir kez daha bakacağız. Çoğullama, tüm ekranların aynı anda açılmaması, yalnızca kısa bir saat için açılması anlamına gelir. Ekranlar arasındaki geçişler daha hızlı gerçekleştiğinden, insanlar tüm göstergelerin aynı anda çalıştığını ve yalnızca birinin kısa bir süre için yandığını algılayabilirler. Böylece ekranlar segmentin farklı bölümlerine bölünebilir ve ekran açıldığında tek gereken 4 ekran için 4 ek kontrol satırıdır.

Bu kontrolün bir yönü, bir ekrandan diğerine geçiş döngüsü olan çoğullama frekansıdır. Ekranın çok ince olmasını önlemek için yüksek bir rakımda oturmalısınız. İnsan gözü saniyede 24 kare, TV ile sinemada olduğundan emin olun, kesintisiz görüntüler sakin olsun, cilt segmentinin en az 100 Hz kontrol edilmesi gerekir, böylece aynı cilt elde edilir. 10 ms bağlanır. Ancak Vyatkov'un 100 Hz'deki flaşlarında, örneğin ekranın hızlı bir şekilde çökmesi veya değiştirilebilir bir hoparlörle çalışan ışık düğmelerinin kesilmesi durumunda hala parazit olabiliyor.

İki tür LED gösterge vardır.
O halde ilkinde tüm katotlar var. Tüm LED'lerin negatif işaretleri aynı anda birleştirilir ve gövde üzerinde buna karşılık gelen bir resim görülür.
Diğer gösterge bağlantıları cilt LED'inin anotuna bağlanır (Şekil 3, a). Bu devreye “filament katotlu şema” denir.
Ayrıca cilt segmentlerinin ışık yayan diyotlarının bir karbon anotlu bir devrenin arkasına bağlandığı göstergeler de vardır (Şekil 3, b).



Şek. 3.

Anlamların cilt bölümü uygun harftedir. 4. bebek için tam bir rötuş vardır.

Şekil 4.

Örnek olarak kırmızı ışığın yedi segmentli göstergesi GND-5622As-21'e bakalım. Konuşmadan önce modele bağlı olarak başka renkler de vardır.
Ek bir trivoltaj pil yardımıyla segmentleri açabilir ve satın aldığınız bir grup bileşeni birleştirip bunlara hayat verirseniz sayıları görüntüleyebilirsiniz. Bu yöntem manuel değilse, yedi bölümlü göstergeleri yönetmek için kayıtları ve şifre çözücüleri kullanın. Ayrıca, düşük akış hızlarına sahip göstergeler kullanılmadığı sürece gösterge pinleri genellikle mikro denetleyici çıkışlarından hemen önce bağlanır. Küçük olan için PIC16F876A wiki'sinde devrenin bir parçasının 5 görünümü bulunmaktadır.



Şekil 5.

Yedi bölümlü göstergeyi kontrol etmek için genellikle K176ID2 kod çözücü kullanılır.
Bu mikro devre, onuncu basamaktaki sıfır ve birlerden oluşan çift kodu 0'dan 9'a dönüştürmek için tasarlanmıştır.

Bunun nasıl çalıştığını anlamak için basit bir diyagram almanız gerekir (Şekil 6). DIP16 mahfazadaki K176ID2 viconik kod çözücü. Şarkı söyleme bölümü için farklı amaçlara yönelik 7 çıkış pini (pin 9 - 15) vardır. Nokta kontrolü buraya aktarılmaz. Mikro devrede ayrıca çift kod göndermek için 4 giriş (pim 2 - 5) bulunur. 16. ve 8. basamaklarda artı ve eksi yiyecekler sürekli olarak verilir. Diğer üç kavram ise ilavedir, onlara biraz sonra değineceğim.



Şekil 6.

DD1 - K176ID2
R1 - R4 (10 - 100 kOhm)
HG1 - GND-5622As-21

Devrede 4 geçiş anahtarı bulunur (herhangi bir düğme olabilir), üzerlerine basıldığında kod çözücünün girişlerine mantıksal bir anahtar verilir. Konuşmadan önce mikro devrenin kendisi 3 ila 15 Volt voltajla çalışır. Bu durumda tüm devre 9 voltluk bir “taca” dayanmaktadır.

Devrede ayrıca 4 adet direnç bulunmaktadır. Bunlara yukarı çeken dirençler denir. Bunlar, lojik girişin sinyal üzerinde düşük bir yüke sahip olmasını sağlamak için gereklidir. Bunlar olmadan göstergeler doğru şekilde görüntülenmeyebilir. Ancak vikoryst kullanılması tavsiye edilir10 kOhm'dan 100 kOhm'a kadar destek.

Kurulum şeması 2 ve 7'de HG1 göstergesi bağlı değil. DP sinyalini eksiye bağlarsanız ondalık nokta yanacaktır. Ve eğer Dig.2'ye bir eksi uygularsanız, başka bir segment grubu yanacaktır (aynı sembol gösterilecektir).

Kod çözücü girişleri, göstergede 1, 2, 4 ve 8 rakamlarını görüntülemek için yalnızca bir düğmeye basmanız yeterli olacak şekilde kontrol edilir (düzende D0, D1, D2 girişlerine karşılık gelen geçiş anahtarları vardır) ve D3). Bir sinyal olduğunda sıfır sayısı görüntülenir. D0 girişine bir sinyal uygulandığında 1 sayısı görünür ve bu şekilde devam eder. Diğer sayıları görüntülemek için geçiş anahtarlarının bir kombinasyonuna basmanız gerekir. Tablo 1 bize bir sonraki adımın ne olduğunu gösteriyor.


Tablo 1.

"3" sayısını görüntülemek için D0 ve D1 mantıksal giriş birimlerine sahip olmanız gerekir. D0 ve D2'ye sinyal uygularsanız “5” rakamı görünecektir(Şekil 6).



Şekil 6.

Burada hangi sayının hesaplandığını ve bu sayıyı toplamak için kullanılan segmentleri (a - g) gösteren genişletilmiş bir tablo bulunmaktadır.



Tablo 2.

Ek olanlar arasında 1, 6 ve 7 mikro devre yükseltmeleri (S, M, K terminali) bulunur.

Diyagramda (Şekil 6), topraklamanın 6. pimi “M” (eksi ömre kadar) vardır ve mikro devrenin çıkışında, ateşlenen katottan gelen göstergeyle çalışmak için pozitif bir voltaj vardır. Göstergenin bir filaman anodu varsa, izin 6. ters çevrilmesinde bir tane uygulanır.

7. sembol “Önce”ye mantıksal bir uygulanırsa gösterge sembolü söner, sıfır göstergeye izin verir. Devrenin toprak bağlantıları vardır (eksi ömür için).

Kod çözücünün ilk kısmı, kodun dönüşümünün göstergede görüntülenmesini sağlayan mantıksal bir birim (artı ömür) ile birlikte verilir. Bu sinyale (S) mantıksal sıfır uygularsanız, giriş sinyali almayı bırakacak ve göstergede mevcut işaret görünecektir.

Varto bir şeyi unutmamalı: D0 geçiş anahtarının “1” sayısını, D1 geçiş anahtarının ise “2” sayısını gösterdiğini biliyoruz. Geçiş tuşlarına bastığınızda 3 rakamı görünecektir (1+2=3). Diğer durumlarda gösterge, kombinasyonu oluşturacak sayıların toplamını görüntüler. Kod çözücünün girişlerinin düşünceli bir şekilde düzenlendiği ve mantıksal kombinasyonlar oluşturabildiği sonucuna varıyoruz.

Ayrıca bu yazıya kadar olan videoyu da izleyebilirsiniz.

İşçilerin yararına 7 segmentli LED gösterge adı verilen mucizevi ürünün varlığından haberdar oldum. Koçan için bu nedir? Eksen böyle bir şeydir. Bir derece varsa, o zaman iki derece, üç ve hatta daha fazla derece vardır. Altı taburcu daha ekledim. Cilt akıntısından sonra on nokta var. Deşarjları okuyorsanız, çoğu zaman başka bir deşarjdan sonra saatin görüntülendiği saniyeleri belirtmek için çift kutuya tıklayabilirsiniz. Kırışıklıkları çözdükten sonra şemaların geliştirilmesine geçelim. Bu dinamik gösterge nedir ve neden gereklidir? Gösterge 7 bölümlü olduğundan sayıyı görüntülemek için toplam 7 bölüm kullanılır. Latin yazarlar tarafından ilk isimlendirilen A, B, C, D, E, F, G ve DP Resme hayranım. Cilt segmentinin altında ışık yayan bir diyot vardır. Tüm LED'ler bir uca bağlanır. Hem anot hem de katot ve karşıt uçlar denir. Bir sayıyı görüntülemek için 8 pin kullanmanız gerektiğini not etmek kolaydır. Segmentler için gizli bir şey. Tek kategori olduğu için fazla düşünmeye gerek kalmıyor, her şeyi tek porta bağlıyoruz. Tahliyeler ne olacak? Her şeyi otuz ikiyle çarpalım. Ah... Yani böyle bir 32 mega gösterge üzerinde çok iş olacak. Yani öyle değil. Ve iki karar. Göstergemiz dinamik ve statiktir. Daha iyi anlamak için göstergenin anahtarlama devresine bakalım.

Bu devre dinamik göstergeyi iletir. Ama hâlâ dinamik ve statikim. Fark ne? Statik gösterge - cilt deşarjını numarasına göre ayarlarsak ve sürekli yanacaktır ve dinamik - ilk deşarjda sayıyı görüntülersek, ardından söndürür ve başka bir deşarjda gösterirsek, ardından söndürür ve üçüncü deşarjda gösterirsek deşarj ve benzeri deşarjlar sona erecektir. Kalan deşarjın ardından ilk ve kazığa geçiyoruz. Tamamen çalışırsanız dijital sırayı çalışacak şekilde değiştirebilirsiniz ve hızı örneğin 50 Hz'e kadar artırırsanız o zaman çok fazla göz alamazsınız. Bu şekilde eksen dinamik bir gösterge sağlar. Diyagrama bakalım. Livoruch MK ATmega8'in arkasında D portunda 74ALS373 mikro devresi var. Bir şeye ihtiyacın var mı? Sağdaki gösterge, bir matriste toplanmış 8 LED'dir. Bu gösterge 8 LED'li bir çizgi olarak görülebilir. Ve bildiğiniz gibi ışık yayan diyot MK'ye kadar çıkıyor. Elbette orta bir yol olmadan bağlantı kurmak mümkün değil, bunun yerine MK ile gösterge arasına bir tür tekrarlayıcı koymak mümkün. Bu amaçlar için 8 bitlik tamponu tampon olarak kullanmaya karar verdim. Neden yoga? Göstergenin sıcak bir anotla kullanıldığını varsayarsak, rakamı ayarlamak için aktif seviye 0 olur, o zaman ULN2003A mikro devresini (Darlington devresinin arkasında 7 transistör düzeneği) güvenle kullanabilir ve bir tamponla endişelenmenize gerek kalmaz. ULN2003A'da yalnızca NPN transistörleri var ve göstergeyi yalnızca bir karbon anotla kurabiliyorum, ancak bir karbon katotla neyin kurulması gerekiyor? Eksen burada ve tampon yardımcı olacak, yani oraya yazdıklarım çıktıda olacak. 0 mı istiyorsunuz, 1 mi istiyorsunuz. Kontrol ayakları çevirmen modunda bağlanır. Daha sonra tampon çıkışı girişle aynıdır. Aya sözde galvanik izolasyon. Tamponu akış değişim dirençleri takip eder. LED'ler ve dirençler olmadan yanacakları hatırlanıyor. Dirençlerin değeri mümkün olduğu kadar küçük seçilmelidir. Sağ tarafta, sembolleri herhangi bir frekansta ve aynı PWM'den görüntülemek için dinamik bir gösterge vardır, dolayısıyla frekans ne kadar yüksek olursa kontrast da o kadar yüksek olur. І En rahat kontrastla sayılar biraz daha koyu renkte yanar. Bu nedenle dirençlerin daha küçük nominal değerde olması gerekir. Ben bu tür şeylerin farkında olduğum için 360'a inanıyorum. Sırada dirençlerden sonra göstergemiz var. Diğer tarafta anotta ilk iki deşarjı C portuna bağladım. Böylece devreyi anlamış olduk. Şimdi programın algoritmasını tartışalım. Gösterge hanelerini açmak için programın ana gövdesinde yandaki fonksiyonu yazıp sürekli tıklayacağız. Daha spesifik olarak, işlev 0'dan 9999'a kadar bir sayı seçer, bunu akıntılara göre sıralar ve ardından cilt akıntısını yerinde görüntüler. Sayının 4'ten az rakamı varsa, boş kabuklar sıfırlarla doldurulacaktır. Sağ kenarla aynı hizadayız. Kötü akıntılar boyunca sağa doğru koşun. Tüm eylemlerin görünür olması için o zaman vikoristik olarak doktora müdahale ediyoruz ve sayıyı her saniye bir artırıyoruz. Yani emir savaştan önce belirlendi. #define F_CPU 7372800UL // Kuvars frekansı #katmak #katmak #katmak uçucu imzasız int testi = 9980; // Göstergede görüntülenmeyi değiştirin ISR(TIMER1_COMPA_vect) // Zamanlayıcı 1'in süresi dolduğunda kesinti kaydedici (test++; //Görüntülenecek sayıyı arttır if(test > 9999) test = 0; // Birkaç deşarj arasında değerler varsa bunları sıfırlayın TCNT1H = 0x00; // Kaydı bırak TCNT1L=0x00; // Rahunki ) void dig_out(int sayı); // Göstergede görüntülenen şaşkın işlevler int main(void) (DDRC = 0x0F; // Bağlantı noktalarını ayarlama DDRD = 0xFF; // göstergeyle çalışmak için C Portu deşarjlar için, Port D sayılar için TCCR1A = 0x00; // Zamanlayıcıyı ayarla TCCR1B = 0x04; TCNT1H = 0x00; TCNT1L=0x00; OCR1AH=0x70; OCR1AL=0x80; TİMSK = 0x10; sei(); // Kesmeye izin verildi while(1) (dig_out(test); //Satır numarasını gösteren fonksiyonu sürekli çağırıyoruz )) void dig_out(int sayı) // Göstergede 4 haneyi gösterme fonksiyonu (imzasız karakter i = 0; // Sağlık hizmeti sağlayıcısı imzasız charraz = 1; // Deşarj numarası işaretsiz karakter dig_num = (0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10); // Karbon anotlu göstergenin sayı kodları imzasız karakter dig = (0, 0, 0, 0); // Deşarjın değeri için dizi eğer(sayı ( kaz =0; kaz =0; kaz =0; ) if(sayı // Soldaki rakamları sıfırlarla doldurmak için ( dig =0; dig =0; ) if(sayı // Soldaki rakamları sıfırlarla doldurmak için ( dig =0; ) while(num > 999) // Birkaç bin tane çıkar ( dig++; num -= 1000; ) while(num > 99) // Birkaç yüz tane çıkar ( dig++; num -= 100; ) while(num > 9) //Onların sayısını bulma ( dig++; sayı -= 10; ) dig = sayı; // Birim sayısını kaldır süre(raz // 4 deşarjın tümünü hatırlayana kadar döndür (PORTC = raz; // Deşarjı seç PORTD = dig_num]; // Sayıyı göster raz = raz// Saldırı nedeniyle uzaklaştırma i++; // Giderek yaklaşan rakamın endeksi _delay_ms(1); // 1 ms'yi kırp } } Eksen ve tüm kod. Bunu tarif etmeyeceğim, yorumların parçaları cilt sırasına kadar iniyor. Aşağıdan AtmelStudio6.2 altında projeye ait arşivleri indirebilirsiniz. Eğer hala dikkat etmeniz gerekiyorsa foruma gitmenizi rica ederiz. En çok ilgilenenler için aşağıda tüm bu balalaykaların bir videosu var))).

Bugünkü yazımızda 7 segmentli göstergelerden ve Arduino ile nasıl çalıştıklarından bahsedeceğiz. Çok fazla seçenek var. Yapılacak en basit, en çılgın şey, Ve entegre kalkanlı hazır bir gösterge satın alın (buna denir) ve eğer kolay adımlar aramıyorsanız, o zaman birkaç basit adım atacağız. Yeni gelenler - ağlama, bu da önceki makalelerim gibi makale (і ) kendisi sizin için. Guruların, bu kadar çok şey öğrenmiş olan aynı gurular için yazmasını engelleyin, ama ben bir acemiyim - yeni başlayanlar için yazıyorum.

Neden 7 bölümlü bir gösterge? Ayrıca birkaç dolar karşılığında çok sayıda sembol, satır, farklı köşegen ve çözünürlük, siyah beyaz ve renkli içeren birkaç ekran da var. segmental gösterge, ancak yine de "eski" olanın avantajı var. Sağ tarafta buraya eskizler çizerek sadece rakam yüksekliği 14 mm olan bir göstergeyi değil, ciddi (gerçek, müstakil) projeleri de canlandırabilirsiniz ve bu durumda sayaç sayıları limitten uzaktır. Başkentin sakinleri bu kadar perişan olmayabilir, ancak Novokatsapetivka ve Nizhnyaya Kedrivka'nın nüfus ekseni, kulüpte veya köyde tarihi, sıcaklığı ve hava durumunu da görüntüleyebilen bir yıl dönümü ortaya çıkarsa çok mutlu olacak. bu yılın yaratıcısı uzun süre konuşacaklar. Ale, böyle bir yıldönümü bu makalenin konusu: liderler mutlu olacak - Yazacağım. Yazılan her şey girişe girilebilir. Geçtiğim gibi yazım iki bölümden oluşuyor. İlk bölümde göstergeyle basitçe “keruyemo” yapıyoruz, diğerinde ise onu istediğimiz şey için, biraz tarçın için kullanmaya çalışıyoruz. İyi hadi gidelim:

Persha'nın bir parçası. Deneysel - bilişsel

Bu proje tanınmış ARDUINO UNO'ya dayanmaktadır. Burada en kolay neyi bulabileceğinizi tahmin edeyim: Veya burada: Ayrıca 4 haneli, 7 segmentli bir göstergeye ihtiyacınız olacak. Zocrem'im var, GNQ-5641BG-11. Neden yalnız? Sadece ayın 5'inde biraz süt aldıktan sonra tüylerini ve dingilini değiştirmeye gitti ve tüm bu saat boyunca orada yatıp zamanını bekledi. Ateşlenmiş anot kullanmanın daha iyi olacağını düşünüyorum (ve ateşlenmiş katodu kullanın, ancak bu diziyi ve diğer önemli bağlantı noktalarını da ters çevirebilirsiniz - böylece kapıda değiştirilebilirler), aksi takdirde koymak zorunda kalmayacaksınız Arduya.nku'yu yakmamak için üzerinde çok fazla baskı var. Ek olarak, yaklaşık 100 ohm'luk 4 adet akış değişim direnci vardır ve yaptığım geniş olandan 12 pin (çekirdek) üzerinde bir kablo uzunluğu (10 cm'den az) çıkarılabilir. Veya telleri birbirine lehimleyebilirsiniz ve herhangi bir sorun yaşanmaz. Eğer onlarsız yapabiliyorsanız, tahtada dikişlere de (11 adet) ihtiyacınız olacak. Göstergenin taslağı küçük 1'e ve aynı devre küçük 2'ye uygulanabilir. Bu göstergenin cilt segmentine (100 ohm dirençlerle çevrili) 2,1V'den fazla uygulamamak da önemlidir ve içinde durumda 20 mA'den fazla dayanamayacaksınız. Eğer “8” rakamı yanıyorsa 7x20=140 mA değerini aşmayacaktır ki bu da Arduino çıkışları için tamamen kabul edilebilir bir değerdir. Ek okuyucu şunu sorar: "Her biri 140 mA'lik 4 deşarj olmasına rağmen, bu zaten 4x140 = 560 mA'dır, ancak bu yine de çok fazla!" Vіdpovіm – 140 kaybetmek. Hangi rütbe? Okumaya devam etmek! Pimler gevşetildiğinde göstergede küçük 3 görünür ve bağlantılar Tablo 1'de gösterilmiştir.


Pirinç. 1 - Gösterge taslağı


Pirinç. 2 - Gösterge devresi


Pirinç. 3 - Döner pimler

tablo 1

Arduino Uno'yu sabitle

Gösterge pimi

Not

Segment G

Segment F

Segment E

Segment D

Segment C

Segment B

Segment A

1 numaralı segmentin anodu 100 Ohm'luk bir direnç aracılığıyla bağlanır.

2 numaralı segmentin anotunu 100 Ohm'luk bir dirençle bağlayın.

3 numaralı segmentin anotunu 100 Ohm'luk bir dirençle bağlayın.

6 numaralı segmentin anotunu 100 Ohm'luk bir dirençle bağlayın.



0'dan 9'a kadar basit bir "tedavi" olan basit bir taslağı dolduruyoruz:


Şimdi biraz açıklayayım. DDRD, D bağlantı noktası için bir kayıttır (DDRB – B bağlantı noktasına benzer) “korkunç” “register” kelimesinin arkasında, bağlantı noktasının piniyle herhangi bir şeyi okuyacağını (bilgi alacağını) belirten bir işlev vardır veya oraya da yazabilirsiniz ati (bilgi verin). DDRD'yi boşaltın=B11111111; o zaman hafta sonları D limanında ne olduğunu gösterir. Bilgi onlardan geliyor. “B” harfi, kayıt defterine çift (ikili) bir sayının yazıldığı anlamına gelir. Sabırsız okuyucu hemen şunu sorar: "Bir düzine mümkün!?!" Sakinleşmek için acele ediyorum - bu mümkün, ancak birkaç kez sonra. Portun yarısını girişe, yarısını da çıkışa ayırmak isteseydik şu şekilde girebilirdik: DDRD = B11110000; Birler bilgi verecek pinleri, sıfırlar ise bu bilgiyi alacak pinleri göstermektedir. Kayıt cihazının ana avantajı, tüm pinlerin 8 kez kaydedilmesini gerektirmesidir. Programın 7 satırdan oluşmasını bekliyoruz. Şimdi hücum sırasına bakalım:

PORTB = B001000; // portta 11 pinlik yüksek bir seviye belirledik

PORTB, port verilerinin bir kaydıdır, yani. Numarayı her yere yazdıktan sonra, her pin portunda bir, her portta sıfır olacağını belirtiyoruz. Yoruma ek olarak, Arduino Uno'yu denetleyici ve dijital pinler canavarın içinde olacak şekilde alırsanız, kayıt defterine makul bir giriş yapacağımızı söyleyeceğim. O halde hangi “sıfır” (veya “bir”) hangi pini gösterir. Bağlantı noktasının en sağdaki sıfırı 8. pini, en soldaki sıfır ise 13. pini (hangi LED takılıysa) temsil eder. D bağlantı noktası için sağdaki pin 0, soldaki ise pin 7 içindir.
Bu kadar hararetli açıklamalardan sonra her şeyin daha da netleşeceğine ve netleştikten sonra aşina olduğumuz onuncu sayı sistemine döneceğimize eminim. Ve ayrıca - 25 sıralık taslak küçük ama yine de yeni başlayanlar için oldukça hantal. Zmenshuvatimemo.

Aynı “ilaç”ın daha da basit bir taslağını yükleyelim:


Video 1.
Ushogo 11 satır! Bize göre “yeni bir şekilde”! Onlarca hanedeki iki rakamın yerine koymanızı saygılarımla rica ediyorum. Elbette onlarca rakam için ön harfe gerek yok. Sanırım tablodaki tüm sayıları listeliyormuş gibi davranmayacağız.

Tablo 2. Bu bağlantı noktası tarafından görüntülenen simge türü

Zagalny anot

Zahalny katot

İkiz sistem

Desyatkova sistemi

İkiz sistem

Desyatkova sistemi

Tablo 3. Görüntülenen bağlantı noktası için veri türü türü.

Zagalny anot

Zahalny katot

İkiz sistem

Desyatkova sistemi

İkiz sistem

Desyatkova sistemi



Saygı! Bu 2 ve 3 numaralı tablolar yalnızca tablo 1'e bölünme için geçerlidir.
Şimdi “ilaç” taslağını 0'dan 9999'a kadar dolduralım:




Pirinç. 4 - Tedavi

Robot taslağına hayran kalacaksınızVideo 2.

Hangi çizimlerin daha fazla yorumu var, kodun altında. Suçluluk istemek senin hatan değil. Ayrıca, oraya uçmaya gerek kalmayacak kadar "hareket döngüsü" nedir ve ne için? Başkası için ne fark eder...
Ve sağdaki asıl nokta, dört kategorinin tamamının aynı bölümlerinin bir noktada birbirine bağlı olmasıdır. A1, A2, A3 ve A4 ateşleme katotunu oluşturur; A1, B1, ..... G1 ateşleyici anot. Yani 4 haneli göstergeye aynı anda “1234” uyguladıktan sonra “8888”i seçip bu sürücüden ilerliyoruz. Bunun olmasını önlemek için, önce taburcu olduğunuzda “1” yakmanız, ardından kapatmanız, sizinkinde “2” yakmanız vb. Çalışır çalışmaz düzinelerce sayı, sinemadaki kareler gibi yeşile dönüyor ve işaretlemek neredeyse imkansız. Değiştirilebilir ölçünün maksimum değeri ise göstergedeki sayıların değişme hızını kontrol eder. Konuşmadan önce, aynı "merechten" ve maksimum akış hızı sadece 140 mA, yer değiştirme 560. Şimdi en kısa olana geçeceğim.

Bir arkadaşın parçası. Biraz korisna istiyorum

Bu bölümde ARDUINO MEGA'yı kullanarak PC'den gelen sembolleri 7 segmentli bir göstergeye görüntülüyoruz. “Geçişte at değiştirme” fikri neden popüler oldu? Bunun iki nedeni var: birincisi - daha önce makalelerimde ARDUINO MEGA'ya hiç bakmamıştım; Ve başka bir şey - COM portunu ve D portunu dinamik olarak değiştirmek dışında henüz ARDUINO UNO'ya geçmedim. Eğer yeni başlayan biriysem, bunu test edemem. Lütfen bu denetleyiciyle iletişime geçin, bunu kesinlikle burada yapabilirsiniz: . Planı uygulamak için bir havya alıp Arduino kablosunu yeniden lehimlemem ve ayrıca yeni bir taslak yazmam gerekiyordu. Kablonun nasıl yeniden lehimlendiği Şekil 5'te görülebilir. Sağdaki her şey, ARDUINO MEGA ve ARDUINO UNO'nun farklı pin çıkışı portlarına sahip olduğu ve Mezi'nin çok daha fazla porta sahip olduğu görülmektedir. Kazanan lobutların tipi Tablo 4'te görülebilir.



Pirinç. 5 - Kablonun yeniden lehimlenmesi

Tablo 4

Liman Mega


Saygı! Bu tablo sadece bu proje için geçerlidir!

Arduino Mega'nın C portunun 37 pinden ve batıdakinin çok gerisinde "başladığını" ve A portunun 22 pinden ve yükselen pinin çok gerisinde "başladığını" da hatırlamakta fayda var.



Pirinç. 6 - Zagalny Viglyad



Küçük uygulama özellikleri: 4 karakter görüntülenir. Semboller sayılarla doludur. "1234" ve büyük olasılıkla "1234" girdiyseniz, "123456" girdiyseniz, "1234" dışında tümü, "ytsuk", "fiva1234", "otiog485909oapom" girdiyseniz - ne olursa olsun. Yakshcho o zaman “pp2345mm” veya “23” girdi. küçük, "aptaldan korunma" ruhuyla.

Vlasna'nın taslağı:



Ve bu programın nasıl çalıştığına hayran kalacaksınızVideo 3.



Pavlo Sergeev tarafından hazırlanan inceleme