- Materiali richiesti:
- Modulo display grafico Nokia 5110:
- Schema elettrico:
- Programma e funzionamento Arduino:
Il nome iconico " Nokia 5110 " stesso avrebbe dovuto acquistare i ricordi del robusto telefono cellulare Nokia che era molto popolare negli anni '90. Il modello 5110 era dotato di un display grafico che era sufficiente a fungere da schermo per il cellulare all'epoca. Questo schermo era in grado di visualizzare qualsiasi cosa, dai caratteri alfanumerici alla piccola grafica che è tutto ciò che serve per il telefono cellulare. Mentre la terra girava, sono comparse nuove tecnologie con touch screen lucidi e questo display non è più in uso. Ma si spera che possano essere utilizzati in applicazioni elettroniche in cui è necessario visualizzare una piccola grafica ed evitare di spendere soldi per grandi schermi LCD. Quindi in questo tutorial impareremo come interfacciare un LCD grafico Nokia 5110 con Arduino e farlo funzionare.
Questi LCD hanno pixel in bianco e nero di dimensioni 84 × 48. Potrebbero sembrare monotoni ma possono comunque essere utilizzati per visualizzare una grafica decente per i tuoi progetti e possono essere facilmente utilizzati con microcontrollori come Arduino. Quindi iniziamo….!
Materiali richiesti:
- Scheda Arduino (qualsiasi versione)
- Display del Nokia 5110
- Cavi di collegamento
Modulo display grafico Nokia 5110:
Ci sono due tipi di questi LCD grafici disponibili sul mercato. Uno con cuscinetti di saldatura sia sopra che sotto il display e l'altro con pad di saldatura solo nella parte inferiore del display. Quello che stiamo usando appartiene al tipo 2, dove ci sono pad solo sotto il display. Entrambi i moduli funzionano allo stesso modo e quindi le connessioni sono le stesse per entrambi. Quindi, indipendentemente dal modulo, puoi seguire il tutorial.
Come detto in precedenza, il display LCD grafico del Nokia 5110 ha 84 pixel in orizzontale e 48 pixel in verticale. La dimensione totale del display è 1,72 x 1,72 pollici. Il modulo dispone di 6 pin di ingresso tramite i quali possiamo interfacciarlo a qualsiasi microcontrollore tramite comunicazione SPI. L'IC di interfaccia che comunica tra il display e Arduino è l'IC controller per display Philips PCD8544, la cui scheda tecnica può essere trovata qui. Tuttavia, se stai utilizzando Arduino per comunicare con questo IC, non dobbiamo preoccuparci della scheda tecnica poiché ci sono librerie pronte per essere scaricate e utilizzate. Il modulo che stiamo usando qui è mostrato di seguito.
Schema elettrico:
Di seguito è riportato lo schema elettrico completo per il collegamento del display LCD grafico Nokia5110 con Arduino.
Il modulo display ha 8 pin che vengono utilizzati per impostare una comunicazione SPI con Arduino. Il modulo è alimentato con il pin 3.3V della scheda Arduino. Si noti che questi moduli funzionano con una logica a 3,3 V e quindi non forniscono 5 V al pin Vcc dei display. Ho cablato direttamente il Pin del display ad Arduino, anche se l'LCD funziona su logica 3.3V e Arduino su logica 5V perché solo allora ho scoperto che l'LCD funziona correttamente. È possibile utilizzare un partitore di tensione per convertire 5 V in 3,3 V se necessario, ma per me funziona solo senza la conversione logica. Le connessioni sono piuttosto semplici e dirette da realizzare. Una volta terminate le connessioni, la tua configurazione sarà simile a quella mostrata di seguito.
Programma e funzionamento Arduino:
Segui i passaggi seguenti per programmare il tuo Arduino per il display del Nokia 5110. I passaggi presuppongono che tu abbia già installato l'IDE di Arduino e abbia familiarità con il suo utilizzo.
Passaggio 1: apri l'IDE di Arduino sul tuo computer e seleziona la scheda appropriata nel menu degli strumenti dopo aver collegato Arduino al computer.
Passaggio 2: fare clic qui per scaricare la libreria di Nokia 5110 Display Library by Adafruit dal repository GitHub.
Passaggio 3: una volta scaricato il file Zip, seleziona Schizzo -> Includi libreria -> Aggiungi libreria.ZIP e vai alla posizione in cui è stato scaricato lo ZIP.
Nota: dovrai anche scaricare il core Adafruit GFX Graphics che fa tutti i cerchi, il testo, i rettangoli, ecc. Puoi scaricarlo da https://github.com/adafruit/Adafruit-GFX-Library e installarlo allo stesso modo.
Passaggio 4: ora apri il programma di esempio selezionando File -> Esempi -> Adafruit PCD Nokia 5110 LCD Library -> pcdtest e fai clic sul pulsante di caricamento
Passaggio 5: Una volta caricato il programma, premere il pulsante di ripristino su Arduino e dovresti vedere il programma di esempio che mostra tutte le animazioni come mostrato nel video fornito alla fine di questo tutorial.
È possibile leggere il programma di esempio per comprendere le varie funzioni integrate che potrebbero essere utilizzate per eseguire vari progetti grafici sull'LCD. Ma facciamo un ulteriore passo avanti e proviamo a visualizzare il logo CircuitDigest sullo schermo LCD.
Ora apri l'immagine richiesta in Paint e ridimensiona l'immagine. La dimensione massima dell'immagine che possiamo utilizzare per il nostro display è 84 × 48.
Dopo aver ridimensionato l'immagine, salva l'immagine come bitmap (bianco e nero) utilizzando l' opzione Salva con nome in Paint. Per visualizzare l'immagine come bitmap sul nostro schermo LCD, avremo bisogno di un software in grado di convertire l'immagine bitmap in codice. Puoi scaricare il software cliccando qui. Una volta scaricato, decomprimere il file e fare clic su "BitmapEncoder" per avviare l'applicazione. Apri l'immagine bitmap che abbiamo appena salvato utilizzando questo software per ottenere l'array di valori codificati. Puoi copiare direttamente questi valori e incollarli nel tuo array Arduino. Il valore mostrato dal software per il nostro logo è mostrato di seguito
Come puoi vedere l'array inizia con il valore 48, 48 questa è la dimensione della nostra immagine. Non dovremmo aggiungerlo nel nostro array. Quindi, rimuovere i primi due valori e utilizzare il resto come valore dell'array nel programma. L'array apparirà come di seguito. Il programma completo è fornito alla fine di questa pagina come riferimento.
const statico char senza segno PROGMEM Logo = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B00001100, B001100, B001100, B001100, B001100, B001100, B001100, B001100, B001100 B11111111, B11000000, B00000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B01111100, B00000000, B00000000, B01111100, B01111100, B11000000, B00111110, B00000000, B00000000, B11111100, B01111110, B00000000, B00001111, B00000000, B00000001, B11111000, B11111111, B00111111, B10000111, B10000000, B00000011, B11111000, B11111111, B11111111, B11000011, B11000000, B00000111, B111100011, B1100011, B1100011, B1100011, B1100011, B1100011, B1100011, B1100011, B1100011, B1100011, B1100011, B1100011 B01100000, B00000000, B00000011, B11100000, B00001001, B11111100, B00000000, B00000000, B00000111,B11100000, B00011001, B11111110, B00000000, B00000000, B00000111, B11000000, B00000001, B11111111, B10000000, B00011111, B11111111, B11000111, B11100011, B11111111, B11111000, B11000, B111111, B110011, B111111, B111111, B111111, B111111 B11111111, B11111111, B11111100, B00111111, B11111111, B00011111, B11111111, B11111111, B11111100, B00111111, B11111110, B00111111, B00111111, B11111111, B11111110, B01111111, B11111110, B00111110, B00000000, B01111111, B11111100, B01111111, B11111100, B01111100, B11000000, B00000000, B00000000, B01111111, B11111100, B01111110, B10000000, B00000000, B00000000, B00000000, B00000000, B11111110, B00111111, B11111111, B11111110, B00000000, B00000001, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111,B11000111, B11111111, B11111111, B11111110, B00111111, B11111111, B10000011, B11111110, B00000000, B00000000, B00111111, B11111111, B10110011, B11111000, B00000000, B0000001100, B001100, B001100, B001100, B001100, B001100, B001100, B001100, B001100, B001100, B1100 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111110, B00011111, B11111111, B11111000, B00000000, B00000001, B11111111, B01111111, B11111111, B11110000, B00001111, B11100000, B11111111, B11111111, B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00100111, B11111111, B00000000, B00000000, B00000011, B11111111, B00110111, B11111100, B00000000, B00000000, B00000001, B11111111, B10000111, B11011000, B00111111, B10000000, B00000000, B11111111, B11001111, B10000000, B11111111, B00000000, B00000000, B01111111,B11111111, B10110001, B11111110, B00000000, B00000000, B00011111, B11111111, B10110111, B11111100, B00000000, B00000000, B00001111, B11111111, B10000111, B11110000, B00000000, B00000000, B00000011, B11111111, B11111111, B11000000, B00000000, B00000000, B00000000, B11111111, B11111111, B00000000, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
Ora per visualizzare questa bitmap dobbiamo usare le seguenti righe di codice. Dove i dati precedenti sullo schermo vengono cancellati e viene scritta la nuova immagine bitmap.
display.clearDisplay (); display.drawBitmap (20, 0, Logo, 48, 48, 1); display.display ();
La riga display.drawBitmap (20, 0, Logo, 48, 48, 1); visualizzare la posizione, le dimensioni e il colore dell'immagine bitmap. La sintassi può essere data come.
display.drawBitmap (X_Position, Y_Position, nome dell'array, lunghezza dell'immagine, ampiezza dell'immagine);
La lunghezza e la larghezza dell'immagine possono essere ottenute rispettivamente dai primi due elementi della matrice come detto in precedenza. Quando questo codice viene eseguito, otterremo la bitmap visualizzata sul nostro schermo LCD come mostrato di seguito.
Puoi anche visualizzare un testo semplice come mostrato di seguito:
Spero che tu abbia capito il tutorial e che il tuo Nokia 5110 LCD sia interfacciato con Arduino. Con questo display grafico nella tua custodia puoi creare molti progetti che richiedono dettagli grafici minori. La lavorazione completa si trova nel video sotto riportato. Se riscontri problemi nel farlo funzionare, puoi utilizzare il forum per pubblicare il tuo problema o le sezioni dei commenti qui sotto.