DIY 3 farebná LED matica. Urob si sám LED matica

Niekedy je potrebné k mikrokontroléru pripojiť niekoľko sedemsegmentových indikátorov alebo LED maticu, pričom na zobrazenie informácií slúži dynamická indikácia. Podstatou dynamickej indikácie je postupné zobrazovanie informácií na indikátoroch. Nižšie uvedený diagram ukazuje príklad pripojenia niekoľkých sedemsegmentových indikátorov (napríklad s spoločná katóda) na implementáciu dynamickej indikácie sa vo všeobecnosti, berúc do úvahy bod, získa 8 segmentov, ale staromódnym spôsobom sa nazývajú týmto spôsobom. Všetky závery (anódy) segmentov rovnakého mena sú spojené dohromady, celkovo 8 vedení, ktoré sú pripojené k mikrokontroléru cez odpory. Spoločná katóda každého indikátora je pripojená k mikrokontroléru cez tranzistor.


Algoritmus indikácie je nasledovný: najprv nastavíme požadované logické úrovne na riadkoch v závislosti od toho, ktoré segmenty musia byť zapnuté na prvom indikátore (indikácia zľava doprava), pričom vysoká logická úroveň sa má zapnúť, nízka až vypnúť segment. Ďalej aplikujeme vysokú logickú úroveň na základňu tranzistora VT1, čím je spoločná katóda prvého indikátora pripojená k spoločnému vodiču, v tomto okamihu sa rozsvietia tie segmenty, na ktorých anódach je logická jednotka. Po určitom čase (pauza) indikátor vypneme privedením nízkej logickej úrovne na bázu tranzistora, potom opäť zmeníme logické úrovne na linkách v súlade s výstupnou informáciou určenou pre druhý indikátor a odošleme signál zapnutia do tranzistora VT2. Teda v poradí v kruhovom cykle prepíname všetky ukazovatele, to je celá dynamická indikácia.

Aby ste získali solídny obraz bez blikania, prepínanie musí prebiehať vysokou rýchlosťou, aby sa zabránilo blikaniu LED diód, obnovovacia frekvencia musí byť nastavená od 70 Hz a viac, ja ju zvyčajne nastavujem na 100 Hz. Pre vyššie uvedenú konštrukciu je pauza vypočítaná nasledovne: pre frekvenciu 100 Hz je perióda 10 ms, sú len 4 indikátory, respektíve doba žiaru každého indikátora je nastavená na 10/4 = 2,5 ms. V jednom kryte sú viacmiestne sedemsegmentové indikátory, v ktorých sú rovnomenné segmenty spojené vo vnútri samotného krytu, samozrejme na ich použitie je potrebné použiť dynamickú indikáciu.

Pre implementáciu dynamickej indikácie je potrebné použiť prerušenia pri pretečení jedného z časovačov. Nižšie je uvedený kód pomocou časovača TMR0:

;Implementácia dynamickej indikácie pre 4 sedemsegmentové indikátory;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; swapf STATUS,W ; clrf STATUS ; movwf STATUS_TEMP ; ; bcf ind1 ;vypnúť 1. indikátor bcf ind2 ;vypnúť 2. indikátor bcf ind3 ;vypnúť 3. indikátor bcf ind4 ;vypnúť 4. indikátor; incf list,F ;prírastok registra list movlw .5 ;skontroluj obsah registra list xorwf list,W ;skontroluj, či sa rovná 5 btfss STATUS,Z ; goto met1 ;číslo v registri listov sa nerovná 5 movlw .1 ;číslo v registri listov je 5: zapíš číslo 1 movwf list ;do registra listov ; met1 movlw .1 ;skontroluj obsah registra list xorwf list,W , rovná sa číslu 1 btfss STATUS,Z ; goto met2 ;číslo v registri listov sa nerovná 1: skok na met2 movf datind1,W ;číslo v registri listov sa rovná 1: skopíruj movwf PORTB ;obsah registra datind1 do registra PORTB bsf ind1 ;zapni 1. indikátor met2 movlw .2 ;skontrolujte obsah registračného listu xorwf list,W , rovná sa 2 btfss STATUS,Z ; goto met3 ;číslo v registri listu sa nerovná 2: skok na met3 movf datind2,W ;číslo v registri listu je 2: skopíruj movwf PORTB ;obsah registra datind2 do registra PORTB bsf ind2 ;zapni 2. indikátor goto exxit ;skoč na štítok exxit met3 movlw .3 ;skontroluj obsah registra list xorwf list,W , rovná sa 3 btfss STATUS,Z ; goto met4 ;číslo v registri listu sa nerovná 3: skok na met4 movf datind3,W ;číslo v registri listu je 3: skopíruj movwf PORTB ;obsah registra datind3 do registra PORTB bsf ind3 ;zapni 3. indikátor goto exxit ;skoč na štítok exxit met4 movf datind4,W ;kopírovať obsah registra datind3 movwf PORTB ;do registra PORTB bsf ind4 ;zapnúť 4. indikátor; movlw .100 ;zapis 156 do casoveho registra TMR0 movwf TMR0 ; ; movwf STAV ; swapf W_TEMP,F ; swapf W_TEMP,W ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Hlavný program ................. movlw b"11010011" ; OPTION_REG, čím sa nastaví interný ; nastavenie pomeru preddeličky 1:16 ; clrf list ;vynulovanie listu registra pred spustením; prerušenia pri pretečení TMR0, vykonané; clrf datind1 ;vymazanie registrov pre výstup informácií na clrf datind2 ;indikátory, je to ekvivalentné vypnutiu clrf datind3 ;indikátory, ako indikátory so spoločnou clrf datind4 ;katódou; bcf INTCON,T0IF ;vymazať príznak prerušenia pri pretečení TMR0 bsf INTCON,T0IE ;povoliť prerušenia pri pretečení TMR0 bsf INTCON,GIE ;povoliť globálne prerušenia; movlw b"00000110" ; 13.52 príklad výstupu movwf datind1 ; movlw b"11001111" ; movwf zo dňa2 ; movlw b"01101101" ; movwf zo dňa3 ; movlwb"01011011" ; movwf zo dňa4 ; ; . ................; .................; .................; ; koniec, koniec celého programu;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Implementácia dynamickej indikácie pre 4 sedemsegmentové indikátory

;Príklad hodinovej frekvencie 4 MHz, strojový cyklus 1 µs

org 0000h ;spustenie vykonávania programu na adrese 0000h

goto Start ;prejdite na označenie Štart

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Prerušte rutinu

org 0004h ;spustenie vykonávania podprogramu na adrese 0004h

movwf W_TEMP ;uložiť hodnoty registra kľúčov

swapf STATUS,W ;

movwf STATUS_TEMP ;

bcf ind1 ;vypnite 1. indikátor

bcf ind2 ;vypnite 2. indikátor

bcf ind3 ;vypnite 3. indikátor

bcf ind4 ;vypnite 4. indikátor

incf list,F ;prírastkový list registra

movlw .5 , skontrolujte obsah registračného listu

xorwf list,W ; rovné 5

btfss STATUS,Z ;

goto met1 ;číslo v registrovom liste sa nerovná 5

movlw .1 ;číslo v registri listov je 5: napíšte číslo 1

movwf list ;zaregistrovať list

met1 movlw .1 , skontrolujte obsah registra listov

xorwf list,W ; rovná sa číslu 1

btfss STATUS,Z ;

goto met2 ;číslo v registri listov sa nerovná 1: skok na met2

movf datind1,W ;číslo v registri listov je 1: kópia

movwf PORTB ; obsah registra datind1 do registra PORTB

bsf ind1 ;zapnite 1. indikátor

goto exit ;prejdi na označenie exit

met2 movlw .2 , skontrolujte obsah registra listov

xorwf list,W ; rovná sa číslu 2

btfss STATUS,Z ;

goto met3 ;číslo v registri listov sa nerovná 2: skok na met3

movf datind2,W ;číslo v registri listov je 2: kópia

movwf PORTB ; obsah registra datind2 do registra PORTB

bsf ind2 ;zapnite 2. indikátor

goto exit ;prejdi na označenie exit

met3 movlw .3 , skontrolujte obsah registra listov

xorwf list,W ; rovná sa číslu 3

btfss STATUS,Z ;

goto met4 ;číslo v registri listov sa nerovná 3: skok na met4

movf datind3,W ;číslo v registri listov je 3: kópia

movwf PORTB ; obsah registra datind3 do registra PORTB

bsf ind3 ;zapnite 3. indikátor

goto exit ;prejdi na označenie exit

met4 movf datind4,W ; skopírujte obsah registra datind3

movwf PORTB ;do registra PORTB

bsf ind4 ;zapnite 4. indikátor

exit bcf INTCON,T0IF ;resetovať príznak prerušenia pretečenia TMR0

movlw .100 ;zapíšte číslo 156 do registra časovača TMR0

swapf STATUS_TEMP,W ; obnovenie obsahu kľúčových registrov

swapf W_TEMP,F ;

swapf W_TEMP,W ;

retfie ;ukončiť rutinu prerušenia

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Hlavný program

Štart ................. ;úvodné nastavenie registrov

................. ;špeciálny účel

.................

bsf STATUS,RP0 ;na registráciu napíšte binárne číslo 11010011

movlw b"11010011" ;OPTION_REG, čím sa nastaví interný

movwf OPTION_REG ; zdroj hodín pre TMR0

bcf STATUS,RP0 ;povoliť preddeličku pred TMR0

;Nastavte pomer preddeličky na 1:16

clrf Shet ; pred spustením resetujte register listov

;pretečenie prerušenia TMR0, vykonané

;raz po zapnutí

clrf datind1 ; vymazať registre pre výstup informácií

clrf datind2 ;indikátory, ekvivalentné vypnutiu

clrf datind3 ;ukazovatele, keďže ukazovatele so spoločným

clrf datind4 ;katóda

bcf INTCON,T0IF ;resetovať príznak prerušenia pretečenia TMR0

bsf INTCON,T0IE ;povoliť prerušenia pretečenia TMR0

bsf INTCON,GIE; povoliť globálne prerušenia

movlw b"00000110" ; Príklad výstupu 13.52

movlw b"11001111" ;

movlw b"01101101" ;

movlwb"01011011" ;

................. ;

................. ;

................. ;

koniec ; koniec celého programu

V hlavnom programe sme najskôr nastavili časovač pomocou registra OPTION_REG, predtým som hovoril o používaní časovačov pre . Ďalej vymažeme register listov určený na zadávanie počtu od 1 do 4 pre každý ukazovateľ. Tento register sa inkrementuje v rutine služby prerušenia a tam sa upraví (bude počítať od 1 do 4), takže toto vymazanie sa vykoná raz po zapnutí. Na základe tohto registra určíme, ktorý ukazovateľ zaradiť a vydáme mu zodpovedajúce údaje. Ďalším krokom je vymazanie registrov ukladania informácií, pričom štyri registre dataind1,2,3,4 zodpovedajú štyrom indikátorom. Vymazanie je ekvivalentné vypnutiu indikátorov, keďže pri obsluhe prerušenia sa obsah týchto registrov prenesie do registra PORTB, ku ktorému sú pripojené anódy indikátora. Je to potrebné, aby sa po povolení prerušení na indikátoroch nezobrazovali žiadne odpadky, v zásade to nie je možné, ak sa na výstup okamžite zapíšu správne informácie. Ďalej resetujte príznak prerušenia pretečenia časovača, povoľte prerušenia pretečenia TMR0 a nakoniec povoľte globálne prerušenia.

V rutine prerušenia najskôr vypneme všetky indikátory (aplikovaním nízkych logických úrovní na bázy tranzistorov), pretože nie je známe, ktorý z nich je zapnutý. Zväčšíme register hárku, kontrolujeme zhodnosť s číslom 5, ak je taká zhoda, napíšeme do registra číslo 1, keďže je potrebné počítať od 1 do 4. Ďalej skontrolujeme, ktoré číslo je v hárku register, ktorým načítame dáta z PORTB do PORTB informačných registrov (dataind) pre príslušný indikátor a zapneme ho. Potom resetujeme príznak prerušenia pretečenia TMR0, zapíšeme číslo 100 do časovača (výpočet tejto hodnoty je uvedený nižšie) na časové oneskorenie a ukončíme obsluhu prerušenia. Pri prvom prerušení sa rozsvieti prvý indikátor, pri druhom prerušení druhý atď. v kruhovom cykle. V hlavnom programe zostáva len načítať údaje do registrov na ukladanie informácií pre každý indikátor. V podprograme prerušenia nezabudnite uložiť a obnoviť hodnoty kľúčových registrov, o tom som písal v článku o.

Na výstup čísel je lepšie použiť generátor znakov vo forme dátovej tabuľky. Napríklad, aby sa na indikátoroch zobrazilo číslo 3456, musí byť rozdelené na číslice, zatiaľ čo na uloženie čísel číslic je lepšie použiť samostatné registre (od 0 do 9), potom tieto registre spustiť cez generátor znakov, čím získanie správnych bajtov (načítaných do dataind registrov) na zapálenie príslušných segmentov.

Frekvenciu generátora hodín budeme brať ako 4 MHz, cyklus stroja je 1 μs. Nech je obnovovacia frekvencia každého indikátora 100 Hz (perióda T = 10 ms), požadované časové oneskorenie je 10/4 = 2,5 ms. Faktor preddeličky pre TMR0 je nastavený na 1:16, pričom maximálne možné oneskorenie je 256x16 = 4096 µs a potrebujeme pauzu 2,5 ms. Vypočítajme číslo na zápis do TMR0: 256-((256x2,5)/4,096) = 256-156,25 = 99,75. Po zaokrúhlení dostaneme číslo 100.

Nižšie si môžete stiahnuť model programu Proteus, firmware a zdrojový kód s implementáciou dynamickej indikácie na 4-miestnom indikátore so spoločnou katódou pomocou mikrokontroléra PIC16F628A. Napríklad čísla 0000 sú zobrazené na indikátore; 0001; 0002; 13,52; 9764.

Teraz zvážte pripojenie matice s rozlíšením 8x8 pixelov (LED). Štruktúra matice sa zvyčajne uvažuje z hľadiska riadkov a stĺpcov. Na obrázku nižšie sú v každom stĺpci pripojené katódy všetkých LED a v každom rade anódy. Reťazce (8 riadkov, LED anódy) sú pripojené cez odpory k mikrokontroléru. Každý stĺpec (LED katódy) je pripojený k mikrokontroléru cez 8 tranzistorov. Algoritmus indikácie je rovnaký, najskôr nastavíme potrebné logické úrovne na riadkoch, podľa ktorých majú svietiť LED v stĺpci, potom pripojíme prvý stĺpec (indikácia zľava doprava). Po určitej pauze stĺpec vypneme a zmeníme logické úrovne na riadkoch, aby sa zobrazil druhý stĺpec, potom pripojíme druhý stĺpec. A tak striedavo pendlovať všetky kolóny. Nižšie je schéma pripojenia matice k mikrokontroléru.


Celkovo je na pripojenie takejto matice potrebných 16 kolíkov mikrokontroléra, čo je dosť veľa, preto je na zníženie riadiacich vedení lepšie použiť sériové posuvné registre.

Najbežnejším sériovým registrom je mikroobvod 74HC595, ktorý obsahuje posuvný register na načítanie dát a prídržný register, cez ktorý sa dáta prenášajú na výstupné linky. Načítanie dát do neho je jednoduché, na hodinovom vstupe SH_CP nastavíme logickú 0, na dátovom vstupe DS potom nastavíme požadovanú logickú úroveň, po ktorej prepneme hodinový vstup na 1, pričom hodnotu úrovne uložíme (na vstupe DS) vnútri posuvného registra. Zároveň sú dáta posunuté o jeden bit. Znova nastavte výstup SH_CP na 0, nastavte požadovanú úroveň na vstupe DS a zvýšte SH_CP na 1. Po úplnom načítaní posuvného registra (8 bitov) nastavte výstup ST_CP na 1, v tomto momente sa dáta prenesú do úložný register a privádzaný do výstupných vedení Q0 ... Q7, po ktorých resetujeme výstup ST_CP. Počas sekvenčného načítavania sa údaje posúvajú z Q0 na Q7. Pin Q7' je pripojený k poslednému bitu posuvného registra, tento pin je možné pripojiť na vstup druhého mikroobvodu, takže môžete načítať dáta do dvoch alebo viacerých mikroobvodov naraz. Pin OE prepne výstupné vedenia do tretieho (vysokoodporového) stavu, keď je naň privedená logická 1. Pin MR je určený na resetovanie posuvného registra, teda nastavenie nízkych logických úrovní na výstupoch spúšťačov registra. , čo je ekvivalentné načítaniu ôsmich núl. Nižšie je uvedený diagram načítania údajov do mikroobvodu 74NS595 s nastavením hodnoty 11010001 na výstupných vedeniach Q0 ... Q7 za predpokladu, že na začiatku boli nuly:


Zvážte pripojenie matice 8×8 k mikrokontroléru PIC16F628A pomocou dvoch posuvných registrov 74HC595, schéma je znázornená nižšie:


Dáta sa načítajú do čipu DD2 (regulácia logickej úrovne na riadkoch, LED anódy), potom sa prenesú cez pin Q7 na DD3 (riadenie stĺpcov), najskôr načítame bajt, aby sme povolili stĺpec, potom bajt s logickými úrovňami v riadkoch. Stĺpce spínacej matice tranzistorov (LED katódy) sú pripojené k výstupným vedeniam DD3. Nižšie je uvedený programový kód na zobrazenie obrázka na matici:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Implementácia dynamickej indikácie pre maticu s rozlíšením 8x8 ;Frekvencia generátora hodín napr. 4 MHz, takt stroja 1 µs org 0000h ;spustenie vykonávania programu od adresy 0000h goto Start ;skok na štítok Štart ;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Prerušenie rutiny org 0004h ;spustenie vykonávania podprogramu od adresy 0004h movwf W_TEMP ;uloženie hodnôt kľúčového registra ​​swapf STATUS,W ; clrf STATUS ; movwf STATUS_TEMP ; ; movwf FSR_osn ;do registra FSR_osn movf FSR_prer,W ;obnovenie predtým uloženej hodnoty movwf FSR ;registra FSR z registra FSR_prer ;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;načítať obsah registra stolb do čipu movf stolb,W ;skopírovať obsah registra stolb movwf var ;do registra var met2 btfsc var,0 ;nastaviť výstup ds v súlade s btfss var,0 ; bcf ds; bcf sh_cp ; rrf var,F ;Posuvný register var právo pripraviť;ďalší bit goto met2 ;scetbit sa nerovná nule: skok na označenie met2 ;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;nahrať obsah registra INDF do čipu;74HC595 (sériový posuvný register) movf INDF,W ;kopírovať obsah registra INDF movwf var ;do registra var movlw .8 ;zapísať číslo 8 do registra scetbit, pre počítanie movwf scetbit ;prenesené bity met1 btfsc var ,7 ;nastav výstup ds podľa bsf ds ;hodnota 7. bitu registra var btfss var,7 ; bcf ds; bsf sh_cp ;hodinový výstup sh_cp na zachytenie údajov bcf sh_cp ; rlf var,F ;Posuňte register var doľava na prípravu;ďalší bit decfsz scetbit,F ;Zníženie s podmienkou registra scetbit goto met1 ;scetbit sa nerovná nule: Skok na označenie met1 ; bsf st_cp, hodiny výstupu st_cp na prenos načítaného bcf st_cp, bajtov na výstupné riadky čipov 74HC595; bcf STATUS,C ;vynulovanie bitu C stavu registra pred posunom rrf stolb,F ;ľavý posuvný register stolb ; incf FSR,F ;Zvýšte register FSR, pripravte ďalej ;Zaregistrujte sa na odoslanie údajov na 74HC595 decfsz list,F ;Znížte s podmienkou registra shet goto exxit ;Registr listu sa nerovná 0: Skok na ukončenie movlw data1 ;Registr listu sa rovná 0: Najprv zapíšte adresu movwf FSR ;Registrácia na ukladanie informácií do registra FSR movlw .8 ;Zápis čísla 8 do registra listov, na udržiavanie listu movwf ;Počítanie stĺpcov ; exit bcf INTCON,T0IF ;reset príznak prerušenia pretečenia TMR0 movlw . 124 ;zapis cislo 124 do casoveho registra TMR0 movwf TMR0 ; ; movf FSR,W ;Uložiť aktuálnu hodnotu FSR movwf FSR_prer ;Do FSR_prer movf FSR_osn ,W ;Obnoviť predtým uloženú hodnotu movwf FSR ;FSR z FSR_osn ; swapf STATUS_TEMP,W ;obnovenie obsahu kľúčových registrov movwf STATUS ; swapf W_TEMP,F ; swapf W_TEMP,W ; ; retfie ;opustenie podprogramu prerušenia;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Spustenie hlavného programu ................ ;Počiatočné nastavenie registrov ................. ;Špeciálny účel..... ............ bsf STATUS,RP0 ;zapíšte binárne číslo 11010011 do registra movlw b"11010010" ;OPTION_REG, čím sa nastaví interný movwf OPTION_REG ;zdroj hodín pre TMR0 bcf STATUS,RP0 ;predvoľba preddeličky TMR0, nastavte pomer preddeličky 1:8; movlw .8 ;zapis cislo 8 do registra listov, pred spustenim movwf shet ;tmr0 prerusenia pretecenia, spustene;raz, po zapnuti movlw b"10000000" ;zapis binarne cislo 10000000 do movwf stolb ;registr stolb, povoli sa 1.stlpec vykonaná raz, po zapnutí napájania; movlw data1 ;Zapíšte adresu prvého registra (úložné registre movwf FSR_prer ;informácie) do registra FSR_prer, vykoná sa;jedenkrát po zapnutí; movlw .8 ;vymazanie 8 registrov výstupu informácií do movwf tmp ;matica, ekvivalentná vypnutiu movlw data1 ;matica movwf FSR ; met3 clrf INDF ; incf FSR,F ; decfsz tmp,F ; goto met3 ; ; bcf INTCON,T0IF ;vymazať príznak prerušenia pri pretečení TMR0 bsf INTCON,T0IE ;povoliť prerušenia pri pretečení TMR0 bsf INTCON,GIE ;povoliť globálne prerušenia; m1 movlw data1 ; Príklad výstupu R movwf FSR ; movlw b"00000000" ; movwf INDF ; incf FSR,F ; movlw b"01111111" ; movwf INDF ; incf FSR,F ; movlwb"00001001" ; movwf INDF ; incf FSR,F ; movlwb"00011001" ; movwf INDF ; incf FSR,F ; movlwb"00101001" ; movwf INDF ; incf FSR,F ; movlw b"01000110" ; movwf INDF ; incf FSR,F ; movlw b"00000000" ; movwf INDF ; incf FSR,F ; movlw b"00000000" ; movwf INDF ; ; .................; .................; .................; ; koniec, koniec celého programu;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Implementácia dynamickej indikácie pre maticu s rozlíšením 8x8

;Príklad hodinovej frekvencie 4 MHz, strojový cyklus 1 µs

org 0000h ;spustenie vykonávania programu na adrese 0000h

goto Start ;prejdite na označenie Štart

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Prerušte rutinu

org 0004h ;spustenie vykonávania podprogramu na adrese 0004h

movwf W_TEMP ;uložiť hodnoty registra kľúčov

swapf STATUS,W ;

movwf STATUS_TEMP ;

movf FSR,W ;uložiť aktuálnu hodnotu registra FSR

movwf FSR_osn ;do registra FSR_osn

movf FSR_prer,W ; obnoví predtým uloženú hodnotu

movwf FSR ;FSR z FSR_prer

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;74HC595 (sériový posuvný register)

movf stolb,W ; skopírujte obsah registra stolb

movwf var ;zaregistrovať var

movlw .8 ;zapíšte číslo 8 do registra scetbit, pre počítanie

movwf scetbit ;prenesené bity

met2 btfsc var,0 ;nastav ds vystup podla

bsf ds ; 7. bitová hodnota registra var

bsf sh_cp; výstup hodín sh_cp na zachytenie údajov

rrf var,F ; posun registra var právo pripraviť

; ďalší kúsok

decfsz scetbit,F ;zníženie s podmienkou registra scetbit

goto met2 ;scetbit sa nerovná nule: skok na označenie met2

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;74HC595 (sériový posuvný register)

movf INDF,W ; skopírujte obsah registra INDF

movwf var ;zaregistrovať var

movlw .8 ;zapíšte číslo 8 do registra scetbit, pre počítanie

movwf scetbit ;prenesené bity

met1 btfsc var,7 ;nastav ds vystup podla

bsf ds ; 7. bitová hodnota registra var

bsf sh_cp; výstup hodín sh_cp na zachytenie údajov

rlf var,F ;posun doľava var na prípravu

; ďalší kúsok

decfsz scetbit,F ;zníženie s podmienkou registra scetbit

goto met1 ;scetbit sa nerovná nule: skok na označenie met1

bsf st_cp ;hodiny výstupu st_cp na prenos načítané

bcf st_cp ;bajtov na 74HC595 výstupných riadkov

bcf STATUS,C ; pred posunom vymažte bit C stavového registra

rrf stolb,F ;ľavý posuvný register stolb

incf FSR,F ;prírastok registra FSR, pripraviť ďalšie

Zaregistrujte sa na odosielanie údajov na 74HC595

decfsz list,F ;zmenšenie pomocou listu stavu registra

goto exit ;listový register sa nerovná 0: skok na výstup

movlw data1 ;listový register je 0: napíšte adresu prvého

movwf FSR ;Zaregistrujte sa na ukladanie informácií do FSR

movlw .8 ;zapíšte číslo 8 do registra listov, pre referenciu

movwf list ;stĺpec počíta

movlw b"10000000" ;zapíšte binárne číslo 10000000 do

movwf stolb ;registrujte stolb, aby ste zahrnuli 1. stĺpec

exit bcf INTCON,T0IF ;resetovať príznak prerušenia pretečenia TMR0

movlw .124 ;zapíšte číslo 124 do registra časovača TMR0

movf FSR,W ;uložiť aktuálnu hodnotu registra FSR

movwf FSR_prer ;do registra FSR_prer

movf FSR_osn ,W ; obnoví predtým uloženú hodnotu

movwf FSR ;FSR od FSR_osn

swapf STATUS_TEMP,W ; obnovenie obsahu kľúčových registrov

swapf W_TEMP,F ;

swapf W_TEMP,W ;

retfie ;ukončiť rutinu prerušenia

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Hlavný program

Štart ................. ;úvodné nastavenie registrov

................. ;špeciálny účel

.................

bsf STATUS,RP0 ;na registráciu napíšte binárne číslo 11010011

movlw b"11010010" ;OPTION_REG, čím sa nastaví interný

movwf OPTION_REG ; zdroj hodín pre TMR0

bcf STATUS,RP0 ;povoliť preddeličku pred TMR0

;Nastavte pomer preddeličky na 1:8

movlw .8 ;pred spustením zapíšte číslo 8 do registra listov

movwf Shet ; Pretečenie TMR0 prerušuje, beží

;raz po zapnutí

movlw b"10000000" ;zapíšte binárne číslo 10000000 do

movwf stolb ;registrujte stolb, aby ste zahrnuli 1. stĺpec

Informácie s logickými úrovňami pre riadky každého stĺpca sú uložené v 8 registroch na ukladanie informácií, ku ktorým sa pristupuje. Adresa prvého registra sa nazýva data1. Okrem prvotného zápisu registrov shet a stolb je potrebné do registra FSR_prer zapísať adresu prvého registra ukladania informácií (register je data1, zápis do FSR_prer sa vykoná raz, potom sa upraví v handler), až potom povoľte prerušenia pretečenia TMR0.

Pred povolením prerušení je žiaduce vyčistiť registre ukladania informácií, táto operácia sa vykonáva pomocou dodatočného registra tmp (ako počítadla) a nepriameho adresovania, vymazanie je ekvivalentné vypnutiu matice.

V rutine obsluhy prerušení načítame obsah registra stolb do čipu DD2 (pri prvom vstupe do handlera po povolení prerušení register obsahuje číslo 10000000, ako je uvedené vyššie). Načítanie začína od nízkeho bitu registra stolb, ktorý sa pri načítavaní posúva v smere z Q0 na Q7 (vo vnútri čipu DD2), algoritmus načítania bol diskutovaný vyššie, takže si myslím, že nebude ťažké pochopiť kód . Ďalej načítame obsah registra INDF do DD2, ide o jeden z registrov na ukladanie informácií, ktorého adresa je v FSR (pri prvom vstupe do handlera po povolení prerušení FSR obsahuje adresu prvého register ukladania informácií nazývaný dáta1). Načítanie začína od najvyššieho bitu registra INDF. Po načítaní uvažovaných 2 bajtov nataktujeme výstup st_cp, čím sa stiahnuté dáta prenesú na výstupné linky mikroobvodov DD2, DD3. Pri prvom vstupe do handlera sa teda prepne prvý stĺpec matice, v ktorom sa rozsvietia LED diódy, na anódach ktorých je vysoká logická úroveň, v súlade s obsahom registra data1 (tzv. prvý register uchovávania informácií).

Ďalej posunieme register stolb o jeden bit doprava, aby sme pripravili druhý stĺpec matice na prepnutie pri ďalšom vstupe do obsluhy prerušení. Príznak C registra STATUS musí byť pred posunom vymazaný, pretože k posunu dochádza cez tento príznak a jeho stav nie je v čase posunu známy. Po posune inkrementujeme register FSR a pripravíme ďalší úložný register (po registri data1) s úrovňami logických riadkov pre druhý stĺpec. Ďalej dekrementujeme listový register s podmienkou a ak sa nerovná nule, resetujeme príznak prerušenia pretečenia TMR0, zapíšeme číslo do časovača a ukončíme obsluhu prerušenia.

Keď nabudúce zadáte obslužný program, aktivuje sa druhý stĺpec matice atď. Pri vynulovaní listového registra (po prepnutí 8. stĺpca) sa do neho zapíše číslo 8 pre ďalší cyklus prepínania stĺpcov, navyše sa opraví hodnota registra stolb, adresa prvého registra ukladania informácií ( údaje1) sa zapisujú do registra FSR.

Vypočítajme časové oneskorenie pre časovač TMR0, hodinová frekvencia je 4 MHz, cyklus stroja je 1 µs. Aby sme sa vyhli blikaniu LED, vezmime obnovovaciu frekvenciu každého stĺpca ako 100 Hz (perióda T = 10 ms), časové oneskorenie je 10/8 = 1,25 ms. Pomer preddeličky TMR0 sme nastavili na 1:8, pričom maximálne možné oneskorenie je 256x8 = 2048 µs. Pre pauzu 1,25 ms by mal časovač počítať (256x1,25) / 2,048 = 156,25-krát, zaokrúhlením nahor dostaneme 156 impulzov. V súlade s tým je potrebné do časovača zapísať číslo 256-156 = 100. Nie je to však celkom správna hodnota, pretože vykonanie rutiny prerušenia trvá nejaký čas, v tomto prípade to trvá asi 190 µs, prepočítané so zohľadnením pri zohľadnení koeficientu preddeličky dostaneme 190/8 = 23,75 alebo 24 počtov. Správna hodnota na zápis do TMR0 je: 100+24=124.

V hlavnom programe napíšeme 8 registrov na ukladanie informácií v súlade s tým, čo chceme zobraziť na matici. Nižšie je uvedený diagram vysvetľujúci výstup informácií do matice pre vyššie uvedený kód.


Okrem posuvných registrov existujú špecializované ovládače na zobrazovanie informácií na sedemsegmentových indikátoroch a LED matice, v tomto prípade samotný ovládač implementuje dynamickú indikáciu, zostáva doňho posielať údaje na zobrazenie. Skontroloval som jeden z týchto populárnych ovládačov v článku o.

Pod odkazom si môžete stiahnuť firmvér a zdrojový kód pre mikrokontrolér PIC16F628A s implementáciou dynamickej indikácie na matici 8x8 pomocou dvoch posuvných registrov 74HC595, schéma zapojenia bola diskutovaná vyššie. Na matrici sa striedavo zobrazujú písmená R, L, číslo 46, smajlík a len vzor v podobe kríža, táto animácia je znázornená na videu nižšie.

so značkami, . Čítať .

LED diódy čoraz viac zaujímajú svoje miesto medzi svetelnými zdrojmi.
Nízka spotreba energie, jas umožnili LED nahradiť tradičné žiarovky a celkom s istotou konkurovať energeticky úsporným.
Podľa všeobecného trendu som sa rozhodol cítiť vlastnými rukami a pozrieť sa na maticu LED vlastnými očami, ktorá nevyžaduje žiadne samostatné ovládače, ale pripája sa priamo k 220 voltovej sieti. Koho táto téma zaujíma, prosím pod kat.
V dôsledku toho som sa rozhodol pre nasledujúci príklad:

Z popisu na stránke to vyplýva daný zdroj Sveta:
- vyrobené technológiou LED COB;
- napájacie napätie 220 voltov;
- spotreba energie 30 wattov;
- farebná teplota 2500-3200K;
- materiál substrátu (základňa) hliník;
- celkové rozmery 40*60mm;

Kým balík cestoval, študoval som teóriu.
Čo je technológia LED COB?

Približne do roku 2009 mali LED produkty len jeden smer vývoja – zvyšovanie výkonu LED alebo Power LED. Vylepšenie tejto technológie umožnilo dosiahnuť výkon jednej LED na úrovni 10 wattov.
Ako sa ukázalo, ďalšie zvyšovanie výkonu nemá zmysel kvôli vysokým nákladom na výrobu samostatnej vysokovýkonnej LED. Dôležitú úlohu pri hľadaní iného spôsobu vývoja zohralo aj to, že LED je bodový zdroj svetla a ukázalo sa ako neľahké a nie príliš lacné osvetliť veľkú plochu pomocou vysokého výkonu. LED diódy. Na získanie viac-menej prijateľných výsledkov bolo potrebné použiť optické systémy, aby sa svetlo rozptýlilo.
Ďalším krokom bolo použitie SMD LED na vytvorenie prijateľných zdrojov difúzneho svetla – na jednu dosku bolo prispájkované veľké množstvo LED. Nevýhodou je celková prácnosť procesu – výroba jednotlivých LED diód (každá na vlastnom keramickom substráte + osobná fosforová vrstva a pod.). Okrem toho, nevýhodou metódy bola nízka spoľahlivosť jednotlivých LED a nutnosť opravy, ak by aspoň jedna z nich zlyhala.
Výsledkom bolo, že inžinieri prišli s myšlienkou, že je potrebné vyrábať LED diódy bez osobných atribútov a umiestniť ich na rovnakú dosku. krátka vzdialenosť od seba pod spoločnú fosforovú vrstvu, t.j. LED COB technológia. V konečnom dôsledku to umožnilo znížiť náklady na svetelný zdroj ako celok a v prípade výpadku jednotlivých LED zmeniť celý modul (maticu).

Balíček prišiel v žltej obálke s bublinkovou fóliou vo vnútri. Samotná matrica je uzavretá v zodpovedajúcom plastovom vrecku.





Ako vidíte, LED diódy sú skutočne umiestnené blízko seba, pokryté spoločnou vrstvou fosforu a chránené hmotou pripomínajúcou plastové lepidlo.
Biela hmota po obvode matrice a ochranného obvodu vodiča vyzerá ako guma alebo horúce lepidlo - nie pevná, elastická hmota. To umožnilo odstrániť ho z najvýznamnejších prípadov a určiť, že jedným z nich je diódový mostík MB10S s maximálnym konštantným spätným napätím 1000 voltov a maximálnym dopredným prúdom 0,5 ampéra.
Dátový hárok:

Rozmery zodpovedajú tým, ktoré sú uvedené v popise.



Hrúbka substrátu je 1 mm a hmotnosť matrice je až 8 gramov.

Je samozrejmé, že ako pre vysokovýkonné LED, aj matrice potrebujú chladič. Ako taký bol zvolený chladič z procesora.


Pomocou samorezných skrutiek pomocou tepelnej pasty KPT-8 bola matrica pripevnená k radiátoru.
V tomto slede akcií sa stala chyba - drôt mal byť spájkovaný pred pripojením matrice k radiátoru - teplo zo spájkovačky išlo do chladiča. Výsledok spájkovania je viditeľný na fotografii. Drôty však držali bezpečne a matricu som nezačal odstraňovať.


Prvé zaradenie urobilo nezmazateľný dojem - povedať „jasne“, nepovedať nič. Dokonca aj pri pohľade z diaľky v miernom uhle k rovine matrice sú poskytnuté "zajace". V porovnaní s dostupnými úspornými žiarivkami 2800K je svetlo biele a je ho veľa.

Izba s rozlohou 14 m2. metrov osvetlené viac než dobre.







Po 20 minútach sa teplota zvýšila na 85 stupňov. Ďalej som netestoval silu matrice, aj keď riadiace čipy môžu riadiť prúd cez LED diódy so silným ohrevom.

Ďalšie testy boli vykonané s použitím núteného chladenia so štandardným chladičom z tohto chladiča a doskou ovládania rýchlosti ventilátora. Zo starého zdroja PC som odstránil posledný.





Teplota sa hodinu a pol nezvýšila nad 31,5 stupňa a ventilátor pracoval na nízkych otáčkach bez zrýchľovania.



Potom bola z návrhu vylúčená doska riadenia rýchlosti ventilátora a napájanie bolo nahradené 9-voltovým.

Zvýšenie napätia v sieti umožnilo uistiť sa, že deklarovaná spotreba energie je pravdivá.



Kamera podľa očakávania reagovala na blikanie matice s frekvenciou 100 Hertzov. Neurobil som video, ale podarilo sa mi zachytiť nasledovné

Zvlnenie by bolo možné prekonať prispájkovaním kondenzátora na diódový mostík. To by spôsobilo zvýšenie napätia na 220 * 1,41 = 310,2 voltov a bolo by potrebné pohrať sa s obmedzovacími odpormi BP5132H, ale keďže som si bol spočiatku vedomý, že tento svetelný zdroj nie je pre obytné priestory, nezačal som tento boj.
Rozsah matice je všeobecné pouličné osvetlenie, technické miestnosti atď., a preto možno pulzácie zanedbať.
Pomocou LATR bolo možné zistiť (experiment sa uskutočnil v práci a nefotografoval, aby sa nezodpovedalo na otázky: „Prečo?“), že spodná hranica, pri ktorej matrica stále vyžaruje svetlo je 130 voltov. Nenapájal som viac ako 250 voltov, ale v takom prípade nebude maska ​​zvárača prekážať).
Vzhľadom na to, že tento svetelný zdroj má vysoký výkon a takpovediac zvýšenú hustotu svetla, nebude difúzna clona pred matricou vôbec zbytočná.

V dôsledku toho medzi nevýhody patria:
- zvýšený odvod tepla (náklady na technológiu, ale nie dizajn) a nutnosť použiť chladič (najlepšie aktívne chladenie);
- pomerne vysoké náklady.

Tieto nevýhody však viac ako kompenzuje jas tejto matrice, schopnosť osvetliť veľkú plochu a súlad s deklarovanými charakteristikami.
Blikanie nemožno pripísať negatívnym vlastnostiam, pretože oblasť použitia matrice NIE JE OBYTNÝMI priestormi.
Samostatne sa chcem obrátiť na prívržencov rádu „Haters bodu 18“). Priatelia, žiadam vás, aby ste boli objektívni pri posudzovaní informácií prezentovaných v recenzii, najmä preto, že ich zozbieranie, systematizácia a prezentovanie si vyžiadalo pomerne veľa úsilia a času.

Tovar bol poskytnutý na napísanie recenzie obchodom. Recenzia je zverejnená v súlade s bodom 18 Pravidiel stránky.

Plánujem kúpiť +44 Pridať k obľúbeným Páčila sa recenzia +60 +111

Čas plynie nepozorovane a zdalo by sa, že nedávno zakúpené vybavenie je už mimo prevádzky. Takže po odpracovaní svojich 10 000 hodín si lampy môjho monitora (AOC 2216Sa) objednali dlhú životnosť. Najprv sa podsvietenie nezaplo na prvý krát (po zapnutí monitora sa podsvietenie po pár sekundách vypol), čo sa vyriešilo opätovným zapnutím/vypnutím monitora, časom bolo treba monitor vypnúť vypnuté / vypnuté už 3-krát, potom 5, potom 10 a v určitom okamihu nebolo možné zapnúť podsvietenie bez ohľadu na počet pokusov o jeho zapnutie. Lampy vytiahnuté na svetlo Božie sa ukázali byť s čiernymi okrajmi a legálne putovali do šrotu. Pokus o nasadenie náhradných lámp (boli zakúpené nové žiarovky vhodnej veľkosti) bol neúspešný (monitor dokázal niekoľkokrát zapnúť podsvietenie, ale rýchlo sa vrátil do režimu zapnutia-vypnutia) a zisťovanie príčin toho, čo by mohlo byť problém už v elektronike monitora ma priviedol k myšlienke, že bude jednoduchšie zostaviť si vlastné podsvietenie monitora na LED, ako opraviť existujúci invertorový obvod pre CCFL výbojky, najmä preto, že na sieti už boli články ukazujúce zásadnú možnosť takejto náhrady.

Monitor rozoberáme

Na tému rozoberania monitora už bolo napísaných veľa článkov, všetky monitory sú si navzájom veľmi podobné, takže v skratke:
1. Odskrutkujeme uchytenie zdroja monitora a jedinú skrutku v spodnej časti, ktorá drží zadnú stenu puzdra


2. V spodnej časti puzdra sú medzi prednou a zadnou stranou puzdra dva štrbiny, do jedného vložíme plochý skrutkovač a začneme snímať kryt zo západiek po celom obvode monitora (jednoducho jemným otočením skrutkovača okolo jeho osi a zdvihnutím krytu puzdra). Nie je potrebné vynakladať nadmerné úsilie, ale je ťažké vybrať puzdro zo západiek iba prvýkrát (počas opravy som ho mnohokrát otvoril, takže západky sa časom začali odstraňovať oveľa jednoduchšie).
3. Máme pohľad na inštaláciu vnútorného kovového rámu pred puzdrom:


Vyberieme dosku s tlačidlami zo západiek, vyberieme (v mojom prípade) konektor reproduktora a po odklopení dvoch západiek v spodnej časti vyberieme vnútorné kovové puzdro.
4. Vľavo vidíte 4 vodiče na pripojenie podsvietenia. Vyberieme ich miernym stláčaním, lebo. aby sa zabránilo vypadnutiu, konektor je vyrobený vo forme malého clothespin. Vytiahneme tiež široký kábel smerujúci k matrici (v hornej časti monitora) a stlačíme jeho konektor po stranách (pretože v konektore sú bočné západky, hoci to na prvý pohľad na konektor nie je zrejmé):


5. Teraz musíte rozobrať "sendvič" obsahujúci samotnú matricu a podsvietenie:


Po obvode sú západky, ktoré sa otvárajú miernym páčením pomocou rovnakého plochého skrutkovača. Najprv sa odstráni kovový rám, ktorý drží matricu, potom môžete odskrutkovať tri malé skrutky (bežný krížový skrutkovač nebude fungovať kvôli ich miniatúrnej veľkosti, budete potrebovať obzvlášť malý), ktoré držia maticovú riadiacu dosku a maticu je možné vybrať (najlepšie je položiť monitor na tvrdý povrch, napríklad na stôl pokrytý látkovou maticou, odskrutkovať riadiacu dosku, položiť ju na stôl a rozložiť cez koniec monitor a stačí zdvihnúť podsvietené puzdro zvislým zdvihnutím a matrica zostane ležať na stole. opačné poradie- t.j. maticu ležiacu na stole prikryte zmontovaným podsvieteným puzdrom, koniec kábla omotajte k riadiacej doske a priskrutkovaním riadiacej dosky opatrne zdvihnite zostavenú jednotku).
Ukazuje sa matica samostatne:


A podsvietený blok samostatne:


Podsvietený blok sa demontuje podobným spôsobom, len namiesto kovového rámu drží podsvietenie plastový rám, ktorý súčasne polohuje plexisklo slúžiace na rozptýlenie svetla podsvietenia. Väčšina západiek je po stranách a je podobná tým, ktoré držali kovový rám matrice (otvorte ich vypáčením pomocou plochého skrutkovača), ale po stranách je niekoľko západiek, ktoré sa otvárajú „do vnútra“ (treba stlačiť skrutkovačom tak, aby sa západky dostali do puzdra).
Najprv som si zapamätal polohu všetkých častí, ktoré sa majú odstrániť, ale potom sa ukázalo, že ich nebude možné zložiť „nesprávne“ a aj keď diely vyzerajú absolútne symetricky, vzdialenosti medzi západkami na rôznych stranách kovového rámu a upevňovacie výstupky po stranách plastového rámu, ktoré držia podsvietenie, neumožnia ich „nesprávnu montáž“.
To je vlastne všetko – demontovali sme monitor.

LED pásové osvetlenie

Najprv bolo rozhodnuté vyrobiť podsvietenie z LED pásu s bielymi LED 3528 - 120 LED na meter. Prvá vec, ktorá sa ukázala, bola, že šírka pásky bola 9 mm a šírka podsvietenia (a sedadla pre pásku) bola 7 mm (v skutočnosti existujú podsvietenia dvoch štandardov - 9 mm a 7 mm , ale v mojom prípade boli 7 mm). Preto sa po preskúmaní pásky rozhodlo odrezať 1 mm z každého okraja pásky, pretože. toto sa nedotklo vodivých dráh na prednej strane pásky (a na zadnej strane pozdĺž celej pásky sú dva široké napájacie vodiče, ktoré nestratia svoje vlastnosti znížením svojich vlastností o 1 mm pri podsvietení dĺžka 475 mm, pretože prúd bude malý). Len čo sa povie, tak urobí:


Rovnako úhľadné LED pásové svetlo orezané po celej dĺžke (na fotografii je príklad toho, čo sa stalo predtým a čo sa stalo po orezaní).
Budeme potrebovať dva pásy 475 mm pásky (19 segmentov po 3 LED na pás).
Chcel som, aby podsvietenie monitora fungovalo rovnako ako bežné (t. j. zapínalo a vypínalo sa ovládačom monitora), ale jas som chcel nastaviť „ručne“, ako na starých CRT monitoroch, pretože toto je často používaná funkcia a unavilo ma preliezať ponuku na obrazovke zakaždým, keď som stlačil niekoľko kláves (na mojom monitore klávesy vpravo a vľavo nenastavujú režim monitora, ale hlasitosť vstavaných reproduktorov , takže režimy bolo potrebné zakaždým zmeniť prostredníctvom ponuky). K tomu bol na sieti nájdený manuál k môjmu monitoru (pre koho je užitočný - priložený na konci článku) a na stránke s Power Board sa našli + 12V, On, Dim a GND podľa schémy , o ktoré máme záujem.


On - signál z riadiacej dosky na zapnutie podsvietenia (+ 5V)
Dim - ovládanie jasu podsvietenia PWM
+ 12V sa ukázalo byť ďaleko od 12, ale niekde okolo 16V bez zaťaženia podsvietenia a niekde okolo 13,67V pri zaťažení
Taktiež bolo rozhodnuté nerobiť žiadne úpravy jasu PWM podsvietenia, ale napájať podsvietenie jednosmerným prúdom (súčasne sa rieši problém s tým, že pri niektorých monitoroch PWM podsvietenia veľmi nefunguje). vysoká frekvencia a niektorí ľudia sú z toho trochu unavení.) V mojom monitore bola frekvencia "natívneho" PWM 240 Hz.
Ďalej na doske boli nájdené kontakty, na ktoré je privedený signál On (označené červenou farbou) a + 12V na invertorovú jednotku (prepojka, ktorú treba odspájkovať, aby sa invertorová jednotka odpojila je označená zelenou farbou). (fotku je možné zväčšiť a zobraziť poznámky):


Lineárny regulátor LM2941 bol vzatý ako základ riadiaceho obvodu najmä preto, že pri prúde do 1A mal samostatný ovládací kolík On / Off, ktorý mal slúžiť na ovládanie zapnutia / vypnutia podsvietenia signálom On. z riadiacej dosky monitora. Je pravda, že v LM2941 je tento signál invertovaný (to znamená, že na výstupe je napätie, keď má vstup zapnutia / vypnutia nulový potenciál), takže som musel zostaviť invertor na jeden tranzistor, aby zodpovedal priamemu signálu zapnutia z riadiacej dosky. a invertovaný vstup LM2941. Schéma neobsahuje žiadne ďalšie excesy:


Výpočet výstupného napätia pre LM2941 sa vykonáva podľa vzorca:

Vout = Vref* (R1+R2)/R1

Kde Vref = 1,275 V, R1 vo vzorci zodpovedá R1 v obvode a R2 vo vzorci zodpovedá páru rezistorov RV1 + RV2 v obvode (zavedené sú dva odpory pre hladšiu reguláciu jasu a zníženie rozsahu regulovaných napätí premenlivým odporom RV1).
Ako R1 som vzal 1 kOhm a výber R2 sa vykonáva podľa vzorca:

R2=R1*(Vout/Vref-1)

Maximálne napätie, ktoré na pásku potrebujeme, je 13V (bral som o pár viac ako nominálnych 12V, aby som nestratil jas a páska prežije aj také mierne prepätie). Tie. maximálna hodnota R2 = 1000*(13/1,275-1) = 9,91kΩ. Minimálne napätie, pri ktorom páska ešte ako-tak svieti, je asi 7 voltov, t.j. minimálna hodnota R2 = 1000*(7/1,275-1) = 4,49kΩ. Náš R2 sa skladá z variabilného odporu RV1 a viacotáčkového trimra RV2. Získame odpor RV1 9,91 kOhm - 4,49 kOhm = 5,42 kOhm (vyberieme najbližšiu hodnotu RV1 - 5,1 kOhm) a nastavíme RV2 na približne 9,91 - 5,1 = 4,81 kOhm (v skutočnosti je najlepšie najprv zostaviť obvod, nastavte maximálny odpor RV1 a zmerajte napätie na výstupe LM2941 nastavte odpor RV2 tak, aby výstup mal požadovanú hodnotu maximálne napätie(v našom prípade asi 13V).

Inštalácia LED pásika

Keďže po prestrihnutí pásky o 1 mm boli na koncoch pásky odkryté napájacie vodiče, nalepil som na puzdro elektrickú pásku v mieste, kde bude páska nalepená (bohužiaľ nie modrá, ale čierna). Zhora je nalepená páska (je dobré povrch zohriať fénom, pretože lepiaca páska oveľa lepšie drží na teplom povrchu):


Ďalej sa namontuje zadná fólia, plexisklo a svetelné filtre, ktoré ležia na vrchu plexiskla. Pozdĺž okrajov som pásku podoprel kúskami gumy (aby sa okraje pásky neodlepili):


Potom sa jednotka podsvietenia zostaví v opačnom poradí, nainštaluje sa matrica, vytiahnu sa vodiče podsvietenia.
Obvod bol zostavený na doske na krájanie (kvôli jednoduchosti som sa rozhodol, že dosku nebudem pestovať), bol priskrutkovaný cez otvory v zadnej stene kovovej skrinky monitora:




Napájanie a riadiaci signál On boli spustené z dosky napájacieho zdroja:


Odhadovaný výkon pridelený LM2941 sa vypočíta podľa vzorca:

Pd = (Vin-Vout)*Iout +Vin*Ignd

V mojom prípade je to Pd = (13,6-13) * 0,7 + 13,6 * 0,006 = 0,5 wattu, takže bolo rozhodnuté vystačiť si s najmenším radiátorom pre LM2941 (zasadený cez dielektrické tesnenie, pretože nie je izolovaný od zem v LM2941).
Konečná montáž ukázala celkom dobrý výkon dizajnu:


Z výhod:

  • Používa štandardný LED pásik
  • Jednoduchá riadiaca doska
Z nedostatkov:
  • Nedostatočný jas podsvietenia pri jasnom dennom svetle (monitor pred oknom)
  • LED diódy v páse nie sú dostatočne často rozmiestnené, aby zobrazovali malé kužele svetla z každej jednotlivej LED v blízkosti horného a spodného okraja monitora
  • Vyváženie bielej je trochu mimo a je mierne nazelenalé (s najväčšou pravdepodobnosťou je to vyriešené úpravou vyváženia bielej buď na samotnom monitore alebo grafickej karte)
Celkom dobrá, jednoduchá a rozpočtová možnosť na opravu podsvietenia. Pozeranie filmov alebo používanie monitora ako kuchynského televízora je celkom pohodlné, no na každodennú prácu sa asi nehodí.

Ovládanie jasu pomocou PWM

Pre tých hackerov, ktorí si na rozdiel odo mňa s nostalgiou nespomínajú na analógové ovládanie jasu a kontrastu na starých CRT monitoroch, môžete ovládať pomocou štandardného PWM generovaného riadiacou doskou monitora bez odstránenia akýchkoľvek dodatočných ovládacích prvkov smerom von (bez vŕtania puzdro na monitor). Na to stačí zostaviť obvod AND-NOT na dvoch tranzistoroch na vstupe regulátora zapnutia / vypnutia a odstrániť ovládanie jasu na výstupe (výstupné napätie nastaviť na konštantnú hodnotu 12-13V). Upravená schéma:


Odpor trimra rezistora RV2 pre napätie 13V by mal byť okolo 9,9kOhm (lepšie je však nastaviť ho presne pri zapnutom regulátore)

Hustejšie LED podsvietenie

Na vyriešenie problému nedostatočného jasu (a zároveň rovnomernosti) podsvietenia sa rozhodlo inštalovať viac LED diód a častejšie. Keďže sa ukázalo, že kúpiť LED jednotlivo je drahšie ako kúpiť 1,5 metra pásky a odtiaľ ich spájkovať, zvolila sa ekonomickejšia možnosť (spájkovanie LED z pásky).
Samotných 3528 LED diód bolo umiestnených na 4 pásikoch širokých 6 mm a dlhých 238 mm, 3 LED v sérii v 15 paralelných zostavách na každom zo 4 pásikov (kabeláž pre LED je pripojená). Po spájkovaní LED a vodičov sa získa nasledovné:




Pásy sú položené po dvoch hore a dole s drôtmi k okraju monitora v kĺbe v strede:




Menovité napätie na LED diódach je 3,5 V (rozsah 3,2 až 3,8 V), takže zostava 3 LED diód v sérii by mala byť napájaná približne 10,5 V. Preto je potrebné prepočítať parametre regulátora:


Maximálne napätie, ktoré na pásku potrebujeme, je 10,5V. Tie. maximálna hodnota R2 = 1000*(10,5/1,275-1) = 7,23kΩ. Minimálne napätie, pri ktorom zostava LED ešte ako-tak svieti, je cca 4,5 voltu, t.j. minimálna hodnota R2 = 1000*(4,5/1,275-1) = 2,53kΩ. Náš R2 sa skladá z variabilného odporu RV1 a viacotáčkového trimra RV2. Získame odpor RV1 7,23 kOhm - 2,53 kOhm = 4,7 kOhm a nastavíme RV2 na približne 7,23-4,7 = 2,53 kOhm a upravíme ho v zostavenom obvode, aby sme získali 10,5 V na výstupe LM2941 pri maximálnom odpore RV1.
Jeden a pol krát viac LED spotrebuje 1,2 A prúdu (nominálne), takže strata energie na LM2941 sa bude rovnať Pd = (13,6-10,5) * 1,2 + 13,6 * 0,006 = 3,8 wattov, čo už vyžaduje pevnejšie chladič na odvádzanie tepla:


Zbierame, spájame, zlepšujeme sa:


Výhody:
  • Dostatočne vysoký jas (možno porovnateľný a možno dokonca lepší ako jas starého podsvietenia CCTL)
  • Nedostatok svetelných kužeľov na okrajoch monitora od jednotlivých LED diód (LED sa nachádzajú pomerne často a podsvietenie je rovnomerné)
  • Stále jednoduchý a lacný ovládací panel
nedostatky:
  • Problém s vyvážením bielej, ponechaním v zelenkavých tónoch, nebol nijako vyriešený
  • LM2941, aj keď s veľkým chladičom, je vyhrievaný a ohrieva všetko vo vnútri skrinky

Riadiaca doska založená na zostupnom regulátore

Na odstránenie problému s vykurovaním bolo rozhodnuté zostaviť stmievač založený na regulátore napätia Step-down (v mojom prípade bol vybraný LM2576 s prúdom do 3A). Má tiež invertovaný riadiaci vstup zapnutia / vypnutia, takže rovnaký invertor na jednom tranzistore je prítomný na prispôsobenie:


Cievka L1 ovplyvňuje účinnosť meniča a mala by byť 100-220 μH pre záťažový prúd asi 1,2-3A. Výstupné napätie sa vypočíta podľa vzorca:

Vout=Vref*(1+R2/R1)

Kde Vref = 1,23 V. Vzhľadom na R1 môžete získať R2 pomocou vzorca:

R2=R1*(Vout/Vref-1)

Vo výpočtoch je R1 ekvivalentné R4 v obvode a R2 je ekvivalentné RV1+RV2 v obvode. V našom prípade na úpravu napätia v rozsahu od 7,25 V do 10,5 V berieme R4 = 1,8 kOhm, premenný odpor RV1 = 4,7 kOhm a 10 kOhm orezávací odpor RV2 s počiatočnou aproximáciou 8,8 kOhm (po zostavení obvodu, jeho presnú hodnotu je najlepšie nastaviť meraním napätia na výstupe LM2576 pri maximálnom odpore RV1).
Pre tento ovládač som sa rozhodol vyrobiť dosku (na rozmeroch nezáležalo, pretože v monitore je dosť miesta na montáž aj veľkej dosky):


Zostava riadiacej dosky:


Po montáži do monitora:


Všetci sú tu:


Po montáži sa zdá, že všetko funguje:


Finálny variant:


Výhody:

  • Dostatočný jas
  • Znižovací ovládač sa nezahrieva a nezohrieva monitor
  • Žiadne PWM, čo znamená, že pri žiadnej frekvencii nič nebliká
  • Analógové (manuálne) ovládanie jasu
  • Žiadny minimálny limit jasu (pre tých, ktorí radi pracujú v noci)
nedostatky:
  • Mierne posunuté vyváženie bielej smerom k zeleným tónom (ale nie veľa)
  • Pri nízkom jase (veľmi nízkom) je viditeľná nerovnomernosť v žiare LED rôznych zostáv v dôsledku šírenia parametrov

Možnosti inovácie:

  • Vyváženie bielej je nastaviteľné v nastaveniach monitora aj v nastaveniach takmer akejkoľvek grafickej karty
  • Môžete skúsiť umiestniť iné LED diódy, ktoré výrazne neznížia vyváženie bielej
  • Aby ste sa vyhli nerovnomernému osvetleniu LED diód pri nízkom jase, môžete použiť: a) PWM (upravte jas pomocou PWM vždy dodávajúceho menovité napätie) alebo b) zapojte všetky LED do série a napájajte ich nastaviteľným zdrojom prúdu (ak zapojte všetkých 180 LED do série, budete potrebovať 630V a 20mA), potom musí cez všetky LED prechádzať rovnaký prúd a každá bude mať svoj úbytok napätia, jas sa reguluje zmenou prúdu a nie napätia.
  • Ak chcete vytvoriť obvod na báze PWM pre LM2576, môžete použiť obvod NAND na vstupe zapnutia / vypnutia tohto regulátora Step-down (podobne ako vyššie uvedený obvod pre LM2941), ale je lepšie dať stmievač v medzere záporného vodiča LED cez mosfet na logickej úrovni

Stiahnuť si môžete z odkazu:

  • Servisná príručka AOC2216Sa
  • Technické listy LM2941 a LM2576
  • Schéma regulátora LM2941 vo formáte Proteus 7 a PDF
  • Rozloženie dosky pre LED vo formáte Sprint Layout 5.0
  • Schéma a zapojenie dosky regulátora na LM2576 vo formáte Proteus 7 a PDF

Začnime typmi maticového pripojenia, existujú iba dva z nich: sériové a paralelné, + možnosť kombinovaného napájania. Výhody a nevýhody sú znázornené na obrázku, pre veľké matice je vhodnejšie použiť paralelný typ, takže napájanie je oveľa lepšie organizované. Ale s vetvami napájacích káblov sa musíte pohrať. Ak vytvoríte matricu z girlandy modulov, potom je prirodzene jednoduchšie urobiť ju cikcak. Nezabudnite však skontrolovať pri rôznych jasoch a uistite sa, že je dostatočný prúd pre vzdialené LED (pri poklese napätia sa nastavená biela farba zmení na žltú (malý pokles) alebo červenú (silný pokles napätia). bude potrebné duplikovať pomocou hrubých drôtov na každý kus pásky (pre každý riadok matrice).

Matrica je pripojená k Arduinu podľa, potom je z nej vytlačená. Dôležité body:

  • Logický pin Arduina pripojený k pinu DIN pásky (matice) cez odpor s nominálnou hodnotou 220 Ohm (môžete si vziať akýkoľvek v rozsahu 100 Ohm - 1 kOhm). Potrebné na ochranu Arduino pinu pred preťažením, t.j. obmedziť prúd v obvode (pozri Ohmov zákon);

  • GND (zem, mínus) páska Nevyhnutne pripája sa na pin GND Arduina, aj keď je napájaný samostatne;

  • Na napájanie Arduina je potrebný elektrolytický kondenzátor, ktorý odfiltruje náhle poklesy napätia, ktoré páska vytvára pri zmene farieb. Napätie kondenzátora je od 6,3V (čím viac, tým väčší a drahší konder), kapacita okolo 470 uF, viac je možné, menej sa neodporúča. Bez toho sa to vôbec dá, ale hrozí porušenie stability diela!

  • Na uľahčenie prevádzky napájacieho zdroja pri náhlych zmenách jasu matrice je potrebný páskový výkonový kondenzátor. Ešte raz zaobídete sa bez neho, ale hrozí narušenie stability diela!

  • Výkon (a maximálny výstupný prúd) napájacieho zdroja sa vyberá na základe veľkosti matice a režimov, v ktorých bude pracovať. Pozrite sa na znamenie a zapamätajte si Čínske zosilňovače, t.j. napájanie treba odoberať s prúdovou rezervou 10-20%! V tabuľke sú uvedené hodnoty prúdová spotreba pásky.

  • Vo firmvéri GyverMatrixOS verzie 1.2 a vyššej, je nakonfigurovaný limit prúdu systému. Ako to funguje: v nastaveniach náčrtu je parameter CURRENT_LIMIT, ktorý nastavuje maximálny prúd spotreba matrice v miliampéroch. Arduino vykoná výpočet na základe farieb a jasu LED diód a automaticky zníži jas celej matice, aby zabránil prekročeniu nastaveného prúdového limitu najmä v „stravovacích“ režimoch. Toto je veľmi skvelá funkcia!

MONTÁŽ TELA A DIFUZÉRU

FIRMWARE A NASTAVENIA

Prvým krokom je nastavenie v náčrte rozmery matrice, bod pripojenia A smer prvého segmentu stuhy. Tip nižšie.

Tento typ inicializácie matice umožňuje pripojiť maticu ľubovoľnej konfigurácie s ľubovoľnou pozíciou začiatku matice. To je vhodné pre zakúpené matrice, ktoré sa dajú iba „krútiť“, ako aj pre domáce, keď existujú nejaké vlastnosti puzdra alebo kladenia drôtov. To znamená, že bez ohľadu na to, ako urobíte a umiestnite maticu, bude stále fungovať so správnou polohou začiatku. Mimochodom, maticu môžete veľmi ľahko „zrkadliť“ horizontálne alebo vertikálne, ak ju z nejakého dôvodu náhle potrebujete: stačí zmeniť pripojenie na „opačnú“ pozdĺž požadovanej osi. Napríklad chceme zrkadliť typ pripojenia (1, 0) vertikálne. Nastavíme ako (2, 2) - viď obrázok vyššie. Chceme zrkadliť typ (3, 1) vertikálne - nastavíme ako (2, 3). Napíšte (3, 2) vodorovne? Uveďte to ako (2, 2). Dúfam, že logika je jasná.

Ak pracujete s Arduinom prvýkrát, zastavte sa a študujte. Po nainštalovaní ovládačov a knižníc môžete prejsť k firmvéru platformy. Mám hotový projekt s hrami a efektmi, prejdite na detaily a firmvér. Ďalej tu budú informácie pre vývojárov, teda pre tých, ktorí chcú niečo do matrixu napísať sami!

Na samom začiatku firmvéru sú nastavenia typu matice a jej pripojenia, typ pripojenia sa určuje postavením čelom k matici. Na zjednodušenie nastavení maticového pripojenia (uhol a smer) použite vyššie uvedený tip =)

// **************** MATRIX SETTINGS **************** #define LED_PIN 6 // kolík pásky #define BRIGHTNESS 60 // predvolený maximálny jas (0-255) #define WIDTH 16 // šírka matrice #define HEIGHT 16 // výška matrice #define MATRIX_TYPE 0 // typ matrice: 0 - cikcak, 1 - sekvenčný #define CONNECTION_ANGLE 0 // uhol pripojenia: 0 - vľavo dole, 1 - vľavo hore, 2 - vpravo hore, 3 - vpravo dole #define STRIP_DIRECTION 0 // smer pásu z rohu: 0 - vpravo, 1 - hore, 2 - vľavo, 3 - dole

Firmvér obsahuje aj záložku utility_funx, v ktorom sedia všetky funkcie pre prácu s maticou:

Void loadImage(názov bitmapového poľa); // zobrazí obrázok z poľa "názov poľa". Z obrázkov nižšie void drawDigit3x5(byte digit, byte X, byte Y, uint32_t color); // nakreslíme číslo (číslica, súradnica X, súradnica Y, farba) void drawDots(byte X, byte Y, uint32_t color); // kreslenie bodiek hodín (súradnica x, súradnica y, farba) void drawClock(bajt hod, byte min, booleovské bodky, byte X, byte Y, uint32_t farba1, uint32_t farba2); // kreslenie hodín (hodiny, minúty, bodky zapnuté/vypnuté, súradnica x, súradnica y, farba1, farba2) static uint32_t expandColor(uint16_t farba); // prevod farby zo 16 bitov na 24 uint32_t gammaCorrection(uint32_t color); // gama korekcia (transformuje farbu na prirodzenejsiu farbu) void fillAll(uint32_t color); // vyplňte celú maticu farbou void drawPixelXY(byte x, byte y, uint32_t color); // funkcia na kreslenie bodu pomocou X Y suradnic (suradnica X, suradnica Y, farba) uint32_t getPixColor(int thisPixel); // funkcia na získanie farby pixelu podľa jeho čísla uint32_t getPixColorXY(byte x, byte y); // funkcia na získanie farby pixelu v matici podľa jeho súradníc (súradnica x, súradnica y) uint16_t getPixelNumber(byte x, byte y); // získajte počet pixelov v informačnom kanáli podľa súradníc (súradnica x, súradnica y, farba)

Počiatok súradníc matice je ľavý dolný roh, má nulové súradnice!

Pomocou týchto funkcií môžete vytvárať rôzne efekty rôzneho stupňa zložitosti, ako aj klasické hry!

Výhody LED diód sú nepopierateľné, dnes sú všade, vrátane hodiniek. Aké sú hodinky na LED matriciach, klady a zápory rozoberieme v článku. Na konci článku je uvedený podrobný podrobný návod na výrobu zariadenia vlastnými rukami.

Čo to je

Maticové hodiny LED sú elektronické hodiny, ktoré na zobrazenie využívajú maticu viacerých LED diód. Použitie indikátorov iného typu je ich jediným rozdielom.

Matica je sada LED diód zostavených dohromady v mriežke s jednou anódou alebo katódou. Spravidla je rozlíšenie takýchto indikátorov - počet bodov vertikálne a horizontálne - 8×8.

Prečo si takéto hodinky získavajú na popularite, výhody:

  1. Cena. LED matice sú lacnejšie ako sedemsegmentové indikátory podobných veľkostí.
  2. Jas. LED diódy sú jasnejšie ako 7-segmentové displeje a sú lepšie viditeľné na slnečných miestach. Mnoho výrobcov tiež poskytuje konštruktívnu ochranu diódy pred vystavením slnku.
  3. Funkčnosť. Pomocou matice LED diód môžete zobraziť nielen čísla, ale aj rôzne písmená, interpunkčné znamienka, symboly. Pomocou sady LED matíc môžete zobraziť niektoré informácie vo forme plíživej čiary.

LED matrice majú tiež nevýhody:

  • Zvýšená zložitosť ovládania. Vďaka veľkému počtu prvkov (v štandardnej matici je ich 64) je jednoduchšie ovládať maticové ukazovatele ako sedemsegmentové. Na to slúžia mikrokontroléry, dynamická indikácia a posuvné registre.
  • Pozorovací uhol. Zvláštnosťou LED diód je, že sústreďujú svetlo jedným smerom. To vedie k tomu, že obraz na LED matrici je dobre vidieť len pod určitým uhlom.
  • Neznášanlivosť na vysoké teploty. Teplo znižuje účinnosť LED diód a skracuje ich životnosť.
  • Vyhorenie jednotlivých LED diód povedie k efektu „rozbitého pixelu“ a zhoršeniu kvality obrazu.

Domáce hodiny na LED matriciach

Napriek veľkej popularite hodiniek na LED matriciach nie je v Runete toľko schém na ich nezávislú výrobu. Uvažujme o najpopulárnejších.

Požadované zručnosti na zostavenie zariadenia:

  • výroba dosiek plošných spojov;
  • spájkovacie prvky: schéma predpokladá prevedenie SMD, čo znamená, že prvky budú inštalované priamo na povrch dosky;
  • firmware mikrokontrolérov: v obvode je použitý MK ATMega16A;
  • Programovanie MK: nie je potrebné, pretože firmvér ovládača je už pre toto zariadenie k dispozícii. Táto zručnosť sa vám bude hodiť, ak chcete zmeniť režim chodu hodiniek alebo rozšíriť ich funkcionalitu, napríklad pridaním ďalších prvkov, ako sú snímače teploty alebo vlhkosti.

Z nástrojov, ktoré budete potrebovať:

  • súprava na výrobu dosiek;
  • programátor MK;
  • spájkovačka.

Pozrime sa bližšie na schému zariadenia. Hlavným ovládacím prvkom je MK ATMega16A, poskytuje nasledujúce funkcie zariadenia:

  1. Odpočítavanie a kalendár. Beží, aj keď je napájanie vypnuté.
  2. Alarm. Je ich tu 9, môžete si ich naprogramovať tak, aby fungovali v dňoch v týždni.
  3. Meranie teploty. Konštrukcia hodín umožňuje inštaláciu dvoch snímačov teploty na meranie v miestnosti a na ulici.
  4. Režim bežiacej linky. Poskytuje nasledujúce informácie: deň v týždni, mesiac, rok, teplota.
  5. Korekcia hodín.

Väčšina funkcií je priradená mikrokontroléru, čo vám umožňuje čo najviac vyložiť obvod a použiť minimálny počet prvkov.

Zariadenie využíva iba dva mikroobvody: mikrokontrolér a posuvný register TPIC6B595, pripojiť môžete aj dva snímače teploty DS18B20 - jeden vonkajší a druhý vnútorný.

Na indikáciu sa používajú tri matice LED 8×8. Ako diódu D1 je lepšie použiť Schottkyho diódu. Dióda v obvode zabezpečuje prechod na núdzové napájanie a Schottkyho dióda má najmenší pokles napätia a vysokú rýchlosť spínania.

Výrobný proces:


Niektoré funkcie pri montáži hodiniek na LED matricu s ATMega 16A sú dostupné v nasledujúcom videu.

Hodinky na LED matriciach majú oproti zariadeniam s iným typom indikácie mnoho výhod: sú lacnejšie, nie sú osvetlené slnkom, dajú sa použiť na zobrazenie viacerých informácií. Na led matriciach je veľké množstvo modelov hodiniek a každý si nájde zariadenie pre seba s požadovanou funkčnosťou. Také hodinky sa dajú ľahko vyrobiť sami, ako ste videli návod vyššie, nevyžaduje špeciálne nástroje ani špeciálne zručnosti.