Scopriamo come collegare un display a cristalli liquidi 84x48 pixel da Nokia 5110 ad Arduino.
Necessario
- -Arduino;
- - Display LCD per Nokia 5110/3310;
- - fili di collegamento.
Istruzioni
Passo 1
Colleghiamo lo schermo LCD del Nokia 5110 ad Arduino secondo lo schema sottostante.
Passo 2
Molte librerie sono state scritte per funzionare con questo schermo LCD. Suggerisco di utilizzare questo: https://www.rinkydinkelectronics.com/library.php?id=44 (scarica il file LCD5110_Basic.zip).
Per installare, decomprimi il file nell'IDE / librerie / directory di Arduino.
La libreria supporta le seguenti funzionalità.
LCD5110 (SCK, MOSI, DC, RST, CS); - annuncio dello schermo LCD che indica la corrispondenza ai pin dell'Arduino;
InitLCD ([contrasto]); - inizializzazione del display 5110 con indicazione opzionale del contrasto (0-127), il default è 70;
setContrast (contrasto); - imposta il contrasto (0-127);
enableSleep (); - mette lo schermo in modalità di sospensione;
disabilitaSleep (); - porta lo schermo fuori dalla modalità di sospensione;
clrScr(); - cancella lo schermo;
clrRow (riga, [inizio], [fine]); - cancellare la riga del numero di riga selezionata, dalla posizione di inizio alla fine;
invertire (vero); e invertire (falso); - accendere e spegnere l'inversione del contenuto dello schermo LCD;
print (stringa, x, y); - visualizza una stringa di caratteri con le coordinate specificate; invece della coordinata x, puoi usare LEFT, CENTER e RIGHT; l'altezza del carattere standard è di 8 punti, quindi le righe devono essere spaziate di 8 punti;
printNumI (num, x, y, [lunghezza], [riempimento]); - visualizzare un numero intero sullo schermo in una determinata posizione (x, y); lunghezza - la lunghezza desiderata del numero; filler - un carattere per riempire i "vuoti" se il numero è inferiore alla lunghezza desiderata; l'impostazione predefinita è uno spazio vuoto ";
printNumF (num, dec, x, y, [divisore], [lunghezza], [riempitore]); - visualizzare un numero in virgola mobile; dec - numero di cifre decimali; divisore - punto decimale, punto "." per impostazione predefinita;
setFont (nome); - scegli un carattere; i caratteri incorporati sono denominati SmallFont e TinyFont; puoi definire i tuoi caratteri nello schizzo;
invertText (vero); e invertText (falso); - inversione del testo attivata/disattivata;
drawBitmap (x, y, dati, sx, sy); - visualizzare l'immagine sullo schermo alle coordinate x e y; dati - un array contenente un'immagine; sx e sy sono la larghezza e l'altezza dell'immagine.
Passaggio 3
Scriviamo un tale schizzo. Innanzitutto, includiamo la libreria, quindi dichiariamo un'istanza della classe LCD5110 con assegnazioni di pin.
Nella procedura setup(), inizializziamo lo schermo LCD.
Nella procedura loop (), cancelliamo lo schermo e scriviamo un testo arbitrario in un carattere piccolo, sotto di esso, in un carattere medio, visualizziamo il contatore dei secondi.
Passaggio 4
Mostriamo un'immagine. Per fare ciò, prepariamo un'immagine monocromatica che vogliamo visualizzare sul Nokia 5110. Ricorda che la risoluzione dello schermo è di 48 per 84 pixel e l'immagine non dovrebbe essere più grande. Nella pagina https://www.rinkydinkelectronics.com/t_imageconverter_mono.php converti l'immagine in un array di bit. Scarica il file risultante con l'estensione "*.c" e aggiungilo al progetto tramite il menu: Sketch -> Aggiungi file … o semplicemente posiziona il file nella directory degli sketch e quindi ricarica l'IDE di Arduino.
Passaggio 5
Ora è necessario dichiarare un array con i dati dell'immagine nel codice del programma (nel mio codice questa è la riga extern uint8_t mysymb;), quindi utilizzare la funzione drawBitmap () per visualizzare l'immagine nel punto desiderato sullo schermo.
Passaggio 6
Carica lo schizzo su Arduino. Ora il testo viene sostituito da un'immagine e il contatore aumenta ogni volta il suo valore.