- Materiali richiesti:
- Breve introduzione al display LCD a matrice di punti 16 × 2:
- Schema elettrico e collegamento:
- Programmazione MSP430 per LCD utilizzando Energia:
- LCD 16x2 con MSP430G2:
Questo è il terzo tutorial nella sequenza di tutorial in cui stiamo imparando a programmare il LaunchPad MSP430G2 utilizzando l'IDE Energia. Nel nostro precedente tutorial, abbiamo imparato come controllare i pin di ingresso e uscita digitali sulla nostra scheda MSP. In questo tutorial impareremo come interfacciare un LCD con la scheda in modo da poter visualizzare informazioni utili.
Il display LCD che stiamo utilizzando in questo progetto è il display LCD a matrice di punti 16 × 2 più comunemente utilizzato akan Alfanumerico Display. La maggior parte di noi l'avrebbe riscontrata tramite PCO pubblici o altri progetti di elettronica. Un display come questo sarà molto utile per i nostri futuri tutorial per visualizzare dati e altre informazioni di debug. L'interfacciamento di questo LCD con MSP430 è molto semplice, grazie alla libreria disponibile. Quindi tuffiamoci !!
Materiali richiesti:
- LaunchPad MSP430G2 di Texas Instruments
- Display LCD a matrice di punti 16 × 2
- Cavi di collegamento
- Energia IDE
Breve introduzione al display LCD a matrice di punti 16 × 2:
Come detto in precedenza, Energia IDE fornisce una bellissima libreria che rende l'interfacciamento un gioco da ragazzi e quindi non è obbligatorio sapere nulla del modulo display. Ma non sarebbe interessante mostrare cosa stiamo usando !!
Il nome 16 × 2 implica che il display abbia 16 colonne e 2 righe, che insieme (16 * 2) formano 32 caselle. Una singola scatola sarebbe simile a questa nella foto qui sotto
Una singola casella ha 40 pixel (punti) con un ordine di matrice di 5 righe e 8 colonne, questi 40 pixel insieme formano un carattere. Allo stesso modo, 32 caratteri possono essere visualizzati utilizzando tutte le caselle. Ora diamo un'occhiata ai pinout.
Il display LCD ha un totale di 16 pin, come mostrato sopra, possono essere classificati in quattro gruppi come segue
Pin sorgente (1, 2 e 3): questi pin forniscono l'alimentazione e il livello di contrasto per il display
Pin di controllo (4, 5 e 6): questi pin impostano / controllano i registri nell'IC di interfacciamento LCD (ulteriori informazioni possono essere trovate nel link sotto)
Pin dati / comando (da 7 a 14): questi pin forniscono i dati di quali informazioni devono essere visualizzate sull'LCD.
Pin LED (15 e 16): questi pin vengono utilizzati per illuminare la retroilluminazione dell'LCD, se necessario (opzionale).
Di tutti questi 16 pin, solo 10 pin devono essere utilizzati obbligatori per il corretto funzionamento del display LCD se si desidera saperne di più su questi display LCD, passare a questo articolo LCD.
Schema elettrico e collegamento:
Di seguito è mostrato lo schema circuitale completo per interfacciare un display LCD a matrice di punti 16 × 2 con MSP430G2.
Uno dei principali vincoli durante l'interfacciamento di questi due è la loro tensione operativa. Il display LCD ha una tensione operativa di + 5V mentre l' MSP funziona solo con 3,6V. Fortunatamente per noi, il pin dati dell'interfaccia LCD IC (HD44780U) ha un'ampia tensione operativa da 2,7 V a 5,5 V. Quindi dobbiamo preoccuparci solo del Vdd (pin 2) dell'LCD mentre i pin dati possono funzionare anche con 3.6V.
La scheda MSP430G2 di default non ti dà un pin + 5V, ma possiamo fare un piccolo trucco per ottenere + 5V da MSP430 usando la porta USB. Se dai un'occhiata da vicino alla porta USB puoi trovare un terminale chiamato TP1, questo terminale ci darà + 5v. Tutto quello che dobbiamo fare è saldare un piccolo pin maschio come mostrato di seguito in modo da poterlo collegare al nostro display LCD.
Nota: non collegare carichi che potrebbero consumare più di 50 mA a questo pin da 5 V poiché potrebbero friggere la porta USB.
Se non sei interessato alla saldatura, usa semplicemente un alimentatore regolato a + 5V e alimenta l'LCD, in tal caso assicurati di collegare la massa del tuo alimentatore alla massa della scheda MSP.
Una volta che hai finito con il pin + 5V, il collegamento degli altri pin è molto semplice. Ora che il nostro hardware è pronto, passiamo alla parte software.
Programmazione MSP430 per LCD utilizzando Energia:
Il programma completo per interfacciare un MSP430G2553 con display LCD è riportato alla fine di questa pagina. Il codice può essere compilato, caricato e utilizzato come tale. Nei paragrafi seguenti spiegherò come funziona il programma.
Prima di procedere con la spiegazione, dobbiamo prendere nota dei pin che stiamo utilizzando. Se dai un'occhiata allo schema del circuito sopra e al diagramma dei pin di MSP430 sotto
Puoi concludere che abbiamo collegato il display LCD come da tabella seguente
Nome pin LCD |
Collegato a |
Vss |
Terra |
Vdd |
+ 5V USB pin |
Rs |
Pin 2 di MSP |
R / W |
Terra |
Abilitare |
Pin 3 di MSP |
D4 |
Pin 4 di MSP |
D5 |
Pin 5 di MSP |
D6 |
Pin 6 di MSP |
D7 |
Pin 7 di MSP |
Con questo in mente iniziamo a definire i pin LCD utilizzati nel nostro programma. Assegneremo a ciascun pin un nome più significativo in modo da poterlo utilizzare facilmente in seguito.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
Ciò significa semplicemente che invece di chiamare il pin 2 posso riferirmi ad esso come RS d'ora in poi, allo stesso modo per tutti e 6 i pin.
Il prossimo passo sarebbe includere la libreria LCD. Questa libreria sarebbe stata installata automaticamente quando hai installato Energia IDE. Quindi aggiungilo semplicemente usando la riga seguente
#includere
Il passo successivo è menzionare i pin a cui è collegato l'LCD, poiché lo abbiamo già chiamato usando #define , ora possiamo semplicemente menzionare i nomi dei pin LCD. Assicurati che venga seguito lo stesso ordine.
LCD LiquidCrystal (RS, EN, D4, D5, D6, D7);
Ora ci spostiamo nella void setup () la funzione. Ci sono così tanti tipi di display LCD che variano per dimensioni e natura, quello che stiamo usando è 16 * 2 quindi specifichiamolo nel nostro programma
lcd.begin (16, 2);
Per stampare qualcosa sul display LCD dobbiamo menzionare due cose nel programma. Uno è la posizione del testo che può essere menzionato usando la riga lcd.setCursor () e l'altro è il contenuto da stampare che può essere menzionato da lcd.print (). In questa linea stiamo impostando il cursore 1 ° riga e 1 ° colonna.
lcd.setCursor (0,0);
Allo stesso modo, possiamo anche
lcd.setCursor (0, 1); // imposta il cursore sulla prima colonna, seconda riga
Proprio come si cancella una lavagna dopo aver scritto su di essa, anche un LCD dovrebbe essere cancellato dopo aver scritto qualcosa su di esso. Questo può essere fatto usando la riga sottostante
lcd.clear ();
Quindi la funzione completa void setup () sarebbe simile a questa.
void setup () {lcd.begin (16, 2); // Stiamo usando un display LCD 16 * 2 lcd.setCursor (0,0); // Posiziona il cursore sulla prima riga della prima colonna lcd.print ("MSP430G2553"); // Visualizza un messaggio introduttivo lcd.setCursor (0, 1); // imposta il cursore sulla 1a colonna 2a riga lcd.print ("- CircuitDigest"); // Visualizza un ritardo del messaggio di introduzione (2000); // Attende che il display mostri info lcd.clear (); // Quindi puliscilo}
Successivamente, all'interno della nostra funzione void loop () , continuiamo ad aumentare un numero ogni 500 ms e visualizziamo il numero sull'LCD. Questo numero verifica e viene inizializzato su 1 come mostrato di seguito
int test = 1;
Per creare un ritardo possiamo usare la funzione incorporata delay (). Dobbiamo menzionare quanto tempo abbiamo bisogno che il ritardo si verifichi. Nel nostro caso, ho usato 500 ms come mostrato di seguito
ritardo (500);
L'incremento di una variabile può essere fatto da test ++, il resto è già tutto spiegato. Il codice completo all'interno del loop void è mostrato di seguito
void loop () {lcd.print ("LCD con MSP"); // Visualizza un messaggio introduttivo lcd.setCursor (0, 1); // imposta il cursore sulla colonna 0, riga 1 lcd.print (test); // Visualizza un messaggio di ritardo introduttivo (500); lcd.clear (); // Quindi puliscilo test ++; }
LCD 16x2 con MSP430G2:
Una volta che l'hardware e il codice sono pronti, collega semplicemente la tua scheda al computer e carica il codice come abbiamo fatto nel tutorial uno. Una volta caricato il codice, dovresti vedere il display che mostra quanto segue.
Dopo due secondi, la schermata del display cambierà da impostazione a ciclo e inizierà a incrementare la variabile e verrà visualizzata sullo schermo come mostrato nell'immagine sottostante.
La lavorazione completa la trovate nel video qui sotto. Vai avanti e prova a cambiare ciò che viene visualizzato sul display LCD e gioca con esso. Spero che tu abbia capito il tutorial e imparato qualcosa di utile da esso. Se hai dei dubbi lasciali nella sezione commenti qui sotto o usa i forum. Incontriamoci in un altro tutorial.