ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA Display LED a matrice. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica Enciclopedia della radioelettronica e dell'elettrotecnica / illuminazione Quando si sviluppa un dispositivo basato su un microcontrollore, sorge quasi sempre il problema della scelta di un dispositivo di visualizzazione delle informazioni. Se è necessario visualizzare lettere, numeri e altri simboli ad alta luminosità e di grandi dimensioni sull'indicatore, spesso la soluzione migliore è un display LED a matrice. Questo articolo discute un modulo di tale visualizzazione sviluppato dall'autore per otto conoscenti. Può funzionare con varie fonti di informazioni, ricevendo da esse dati per la visualizzazione tramite l'interfaccia TWI (I2C). Il prototipo dell'unità di controllo della matrice LED era il chip MAX6953. Il modulo descritto è concepito come alternativa ai moduli LCD, il cui principale svantaggio è la scarsa leggibilità delle informazioni visualizzate a causa della piccola dimensione dei caratteri e dell'insufficiente contrasto dell'immagine. Oltre alla matrice LED, il modulo contiene un'unità di controllo microcontrollore che converte i codici carattere e le informazioni di controllo ricevute da un dispositivo esterno in segnali di controllo LED. Il generatore di caratteri del modulo contiene caratteri con codici $20-$7F, secondo la tabella dei codici ASCII (segni di punteggiatura, numeri, lettere latine e alcuni altri simboli) e con codici $A8, $B8, $00-$FF (lettere russe in secondo la tabella dei codici CP1251). Se lo si desidera, l'insieme di simboli visualizzati può essere integrato aggiungendo immagini di nuovi simboli alla tabella del generatore di caratteri situata nel programma del microcontrollore. Implementato il "lampeggio" del simbolo in uno qualsiasi degli otto luoghi familiari. Il numero di familiarità e la frequenza di lampeggiamento sono determinati dalla fonte dell'informazione. La luminosità dei LED può essere regolata automaticamente, a seconda della luce ambientale, oppure manualmente. Il modulo è collegato alla fonte di informazioni tramite l'interfaccia TWI (I2C). Se non è presente alcuna connessione, viene visualizzato il messaggio “No Data!”. L'indirizzo del modulo sul bus TWI è $A0. Se necessario (ad esempio se allo stesso bus sono collegati altri dispositivi con lo stesso indirizzo) è possibile modificarlo. Per fare ciò, nel programma del microcontrollore del modulo (file MATRIX_8D.asm) è necessario trovare la riga .equ AddrTWI = $A0 e sostituire l'indirizzo $A0 con un altro, quindi ritradurre il programma. L'unità di controllo LED è composta da due nodi, i cui schemi sono mostrati in Fig. 1 e fig. 2. Le schede dei nodi sono collegate tra loro collegando i connettori X3 a X12, X4 a X9 e X6 a X7. Il cavo della fonte di informazioni è collegato al connettore X2. Dopo che il modulo è stato prodotto, il microcontrollore DD1 (ATmega1-8PU) viene programmato tramite il connettore X16. I codici del file MATRIX_8D.hex devono essere caricati nella memoria FLASH del microcontrollore e la sua configurazione deve essere programmata secondo la Tabella. 1, dove sono evidenziati a colori i valori di bit che differiscono da quelli impostati dal produttore del microcontrollore.
Tabella 1
Nota.0 - cifra programmata, 1 - cifra non programmata. Le schede hanno otto (uno per ogni familiarità del display) nodi A1-A8 che, sotto il controllo del microcontrollore, generano segnali forniti ai catodi combinati di ciascuna fila di LED nella familiarità della matrice. Tutti questi nodi sono identici e sono assemblati secondo lo schema mostrato in Fig. 3. Ciascuno contiene un microcircuito MC74HC595AD, che converte il codice seriale emesso dal microcontrollore in parallelo, e un set di amplificatori di corrente a collettore aperto che utilizzano transistor compositi (microcircuito ULN2803ADW). I catodi delle file di LED della familiarità corrispondente sono collegati a ciascuno dei connettori X1 dei nodi A1-A8.
Il programma del microcontrollore seleziona alternativamente i nodi A1-A8 per caricare i codici al loro interno, inviando un codice da O a 0 (uno in meno del numero di familiarità) alle uscite del microcontrollore PC2-PC7 e all'uscita PC3 un segnale che consente il funzionamento del Decodificatore DD2 (vedi Fig. 1). Di conseguenza, all'uscita del decodificatore corrispondente al codice viene impostato un livello logico basso, che consente al microcircuito DD1 ad esso collegato (Fig. 3) di ricevere il codice seriale generato dal programma all'uscita PB3 del microcontrollore. I segnali generati alle uscite PD3-PD7 e amplificati dai transistor VT2-VT6 forniscono alternativamente la tensione di alimentazione a ciascuno dei cinque circuiti che collegano gli anodi delle colonne LED della matrice. Le colonne con gli stessi numeri di otto luoghi familiari sono collegate in parallelo e si accendono contemporaneamente, il che rende meno evidente lo sfarfallio del display. Il transistor VT1, controllato da un segnale proveniente dall'uscita PB0 del microcontrollore, consente di spegnere contemporaneamente tutti i LED del display. Per alimentare il modulo display, il connettore X8 viene alimentato con una tensione di 9 V, 50 Hz. Può essere ottenuto da qualsiasi trasformatore step-down idoneo. L'autore ha utilizzato un trasformatore TP-132-3 con una tensione sull'avvolgimento secondario di 9 V con una corrente di carico di 0,5 A. La tensione alternata raddrizza il ponte a diodi VD2. Lo stabilizzatore integrato DA1 fornisce una tensione di 5 V al chip del modulo. Uno stabilizzatore con tensione di uscita regolabile è costruito sul transistor ad effetto di campo VT8 e sullo stabilizzatore parallelo DA2. È stato utilizzato il circuito descritto da I. Nechaev nell'articolo "Stabilizzatore con una piccola caduta di tensione minima". Tensione U impostata utilizzando il resistore di regolazione R17luminosa attraverso i transistor VT1-VT6 va agli anodi dei LED e determina la luminosità del loro bagliore. Inoltre, il transistor ad effetto di campo VT7 controlla la luminosità. Il suo gate è alimentato con tensione dal partitore di tensione formato dal resistore variabile R11, dai resistori costanti R12, R13 e dal fotoresistore R16. La resistenza della fotoresistenza diminuisce all'aumentare dell'illuminazione del luogo in cui è installato il display. Di conseguenza, la tensione al gate del transistor VT7 aumenta e si apre, riducendo la tensione Uluminosa e la luminosità dei LED del display. Il resistore variabile R11 imposta i limiti ottimali per i cambiamenti automatici di luminosità. Rimuovendo il ponticello S1 è possibile disabilitare il controllo automatico della luminosità. La matrice LED è posizionata su due schede identiche assemblate come mostrato in Fig. 4 schema. Il connettore X1 della prima scheda LED è collegato al connettore X5 della scheda, il cui schema è mostrato in Fig. 1 e connettori X2-X5 - con i connettori X1 dei nodi A1-A4 sulla stessa scheda. Allo stesso modo collegare la seconda scheda LED a quella il cui circuito è mostrato in Fig. 2, utilizzando il connettore X11 ed i connettori Xl dei nodi A5-A8.
Invece di LED discreti, per costruire un display, è possibile utilizzare matrici di sintesi di segnali LED già pronte con un'organizzazione di elementi 5x8 o 5x7 con anodi collegati alle colonne della matrice. Tieni presente che le matrici 5x7 non ti consentiranno di visualizzare completamente tutte le lettere russe. Tutti i circuiti stampati del modulo sono a doppia faccia realizzati in un foglio di fibra di vetro con uno spessore di 1,5 mm. Un disegno dei conduttori del circuito stampato della scheda su cui si trovano il microcontrollore e i nodi A1-A4 è mostrato in Fig. 5, e la posizione delle parti su di esso è in Fig. 6.
La scheda con i nodi A5-A8 è realizzata secondo il disegno riportato in Fig. 7, e le parti sono posizionate su di esso secondo la Fig. 8. Su entrambe le schede, le designazioni di posizione delle parti relative ai nodi A1-A8 (inclusi i connettori) sono fornite con prefissi che corrispondono al numero del nodo, ad esempio 8DD1. I connettori X5, X11 e 1X1-8X1 si trovano sui lati delle schede opposti a dove sono installati il resto delle parti. Ciò è stato fatto per comodità del loro aggancio diretto ai connettori situati sulle schede matrice LED. Un disegno di queste schede (due di esse sono identiche) è mostrato in Fig. 9. I connettori su di essi sono installati sul lato opposto ai LED. Tutte le schede utilizzano connettori PBS (femmina) e PLS (pin) a fila singola.
L'eccezione è la doppia fila X1, X2 (PLD-6) e X10 (PBD-4) sulle schede di controllo. Il programma del microcontrollore DD1 memorizza i codici dei caratteri ricevuti dalla fonte di informazioni nella RAM, quindi analizza e cerca nella tabella del generatore di caratteri i codici corrispondenti all'immagine del carattere desiderato per la visualizzazione. Un frammento del generatore di caratteri, composto da dieci blocchi di 16 caratteri, è riportato in Tabella. 2. Ogni carattere è descritto da cinque (in base al numero di colonne della matrice) codici binari a otto bit (in base al numero di righe della matrice). Quelli in questi codici corrispondono ai LED accesi e gli zeri ai LED spenti. Tabella 2
Il programma riscrive i codici di visualizzazione dei simboli nelle celle della RAM, dove vengono temporaneamente memorizzati prima di essere visualizzati. Il modulo SPI hardware del microcontrollore inserisce questi codici uno per uno nei registri seriali dei chip 74HC595 dei nodi A1-A8 a cui sono destinati. Da qui vengono trasferiti ai rispettivi registri di memorizzazione tramite segnali generati all'uscita PB2 del microcontrollore. Il numero totale di colonne LED in un display a otto cifre è 5x8=40. È necessario aggiornare le informazioni su di esso con una frequenza di almeno 100 Hz, altrimenti è possibile lo sfarfallio. Pertanto, non è possibile spendere più di 1/100/40 = 0,00025 s per registrare le informazioni in una colonna: si tratta di 4000 periodi della frequenza di clock del microcontrollore di 16 MHz. Le richieste di interruzione del programma con approssimativamente questo periodo sono generate da un timer a otto bit del microcontrollore con un divisore di frequenza di clock preliminare per 64. Il fattore di conversione del timer è impostato su 62. La frequenza effettiva di aggiornamento delle informazioni è pari a 16000000/64/62/ 40=100,8 Hz. Ogni volta che è necessario modificare le informazioni visualizzate sul display, la sua sorgente deve trasmettere un pacchetto di indirizzi e dieci byte di informazioni al modulo tramite l'interfaccia TWI. Il byte dell'indirizzo deve contenere l'indirizzo del modulo con uno zero (segno di scrittura) nella cifra binaria meno significativa. I primi otto byte di informazione contengono i codici dei caratteri che devono essere visualizzati in ordine da sinistra a destra. I quattro bit superiori del nono byte devono contenere un numero maggiore di 7 unità rispetto al numero del segno lampeggiante sul display (i numeri si contano da 1 a 8 da sinistra a destra). Quando questo byte è impostato a zero, il lampeggio è disabilitato. Il periodo di lampeggio è determinato dal numero nel decimo byte, ciascuna unità del quale corrisponde a 50 ms. Il modulo display conferma alla fonte di aver ricevuto l'indirizzo corretto e i nove byte di informazione che lo seguono. La ricezione del decimo byte di informazione non viene confermata, il che serve come segnale che il pacchetto è stato ricevuto. Successivamente il modulo è nuovamente pronto a ricevere il pacchetto successivo. Prima di riceverlo, sul display vengono visualizzate le informazioni precedentemente ricevute. Gli errori di ricezione non vengono elaborati nel programma del microcontrollore. Se viene ricevuto il codice di un carattere che non è presente nel generatore di caratteri, nello spazio caratteri corrispondente verrà visualizzato un punto interrogativo in una cornice rettangolare. Non esiste un comando di visualizzazione chiaro. Dovrebbe invece essere trasmesso un pacchetto di informazioni con otto caratteri spaziali ($20). Per evitare il congelamento del modulo display, nel suo microcontrollore è attivato un timer watchdog.Se la subroutine di controllo del display non viene richiamata entro 32 ms, il microcontrollore viene forzato al suo stato iniziale e l'esecuzione del programma ricomincia, come quando si spegne l'alimentazione. SU. L'aspetto del modulo display senza alloggiamento dal lato LED è mostrato in Fig. 10, e dal lato di installazione dei microcircuiti - in Fig. 11. Prima di accendere per la prima volta la struttura assemblata è necessario impostare il valore minimo di tensione Uluminosa. L'unità di controllo automatico della luminosità viene regolata in base alle condizioni operative del display.
L'alloggiamento del modulo proviene da un lettore video Philips. Le linee SDA e SCL sono collegate al modulo tramite un interruttore bidirezionale a due posizioni. In una posizione, le informazioni provengono da qualsiasi fonte esterna attraverso un connettore a quattro pin installato sul corpo del modulo. Nel secondo - da un orologio elettronico situato nella stessa cassa, assemblato secondo lo schema mostrato in Fig. 12.
L'orologio è costruito su un microcontrollore ATmega8535-16PU (DD1) e un chip DS1307 (DD2): un orologio in tempo reale con un'interfaccia I2C. Per comunicare con DD2, il microcontrollore DD1 utilizza lo stesso bus a due fili su cui trasmette le informazioni al modulo display. Ma gli indirizzi del chip ($D0) e del modulo ($A0) sul bus sono diversi, il che dà al microcontrollore dell'orologio la capacità di distinguerli. È inoltre necessario assicurarsi che gli indirizzi non coincidano quando si collega il modulo display ad altre fonti di informazione. I codici del file MasterDevice.hex vengono inseriti nella memoria FLASH del microcontrollore dell'orologio e la configurazione viene programmata secondo la tabella. 3. Come nella tabella. 1, gli stati di scarica diversi da quelli impostati dal produttore sono evidenziati a colori. Tabella 3
Nota. 0 - cifra programmata, 1 - cifra non programmata. L'orologio ha sette pulsanti di controllo. Il loro scopo: SB1 - riportando il microcontrollore allo stato originale, riavviando il programma; SB2 - passa alla modalità di impostazione di data e ora. Sul display appare brevemente “Time”. Successivamente viene visualizzato il nome del registro di cui si vuole modificare il contenuto ed il valore in esso scritto; SB3 - transizione dalla modalità di visualizzazione dell'ora corrente alla modalità di visualizzazione della data. Nella modalità di impostazione di data e ora: passaggio al registro con indirizzo inferiore, visualizzato sul display; SB4 - transizione dalla modalità di impostazione di data e ora alla modalità di visualizzazione dell'ora corrente. Quando si preme questo pulsante, si avvia il generatore dell'orologio interno, il conteggio dei secondi inizia da zero. Il display visualizza brevemente “Pronto”; SB5 - scrivendo un nuovo valore nel registro, il display visualizza brevemente il messaggio “Write”; SB6 - aumentando il valore di scrittura nel registro selezionato, la registrazione vera e propria avviene alla pressione del pulsante SB5; SB7 - transizione dalla modalità di visualizzazione della data alla modalità di visualizzazione dell'ora corrente. Nella modalità di impostazione di data e ora - diminuire il valore per la registrazione nel registro selezionato; la registrazione stessa avviene quando si preme il pulsante SB5. I programmi per i microcontrollori del modulo display e dell'orologio possono essere scaricati da ftp://ftp.radio.ru/pub/2014/06/disp.zip. Autore: N. Salimov Vedi altri articoli sezione illuminazione. Leggere e scrivere utile commenti su questo articolo. Ultime notizie di scienza e tecnologia, nuova elettronica: Macchina per diradare i fiori nei giardini
02.05.2024 Microscopio infrarosso avanzato
02.05.2024 Trappola d'aria per insetti
01.05.2024
Altre notizie interessanti: ▪ Smartphone con CPU raffreddata a liquido ▪ Tutti gli interruttori ottici ▪ Allenatore del cervello delle forze speciali statunitensi ▪ Creato una pianta d'appartamento più efficace di 30 purificatori d'aria News feed di scienza e tecnologia, nuova elettronica
Materiali interessanti della Biblioteca Tecnica Libera: ▪ sezione del sito Tecnologia a infrarossi. Selezione di articoli ▪ articolo Terra di persone. Espressione popolare ▪ articolo Nodo di salmone. Suggerimenti turistici
Lascia il tuo commento su questo articolo: Tutte le lingue di questa pagina Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito www.diagram.com.ua |