Tag

, ,

Ho appena ricevuto un pacco da Robot Italy, uno dei siti da cui mi rifornisco di materiale elettronico per creare i miei piccoli esperimenti con Arduino. Sono gentili e molto riforniti. Per tutto l’anno inoltre le spese di spedizione sono gratuite se l’ordine supera i 70 euro (un corriere in genere ne costa 7, quindi è un’ottima cosa!).

Nella confezione, tra le altre cose, ho ricevuto un display LCD. Vediamo quindi come farlo funzionare!

Un display LCD ha una piedinatura più complessa rispetto ad altri componenti, ma in sostanza non c’è nulla di cui avere paura: leggendo la documentazione, si capisce che il display ha una piedinatura piuttosto standard. La scheda ha 16 pin: il pin 1 va alla terra, il 2 all’alimentazione, il 3 serve per regolare il contrasto delle scritte (in molti esempi, e ho fatto così anch’io, a questo pin viene collegato un trimmer per variare la resistenza fino a trovare la giusta impostazione per il contrasto; ma si fa addirittura prima con una resistenza da 220Ohm o poco di più), il 4 è un selettore della memoria (il display deve sapere dove scrivere le lettere che gli inviamo), il pin 5 serve per decidere se leggere/scrivere, mentre il 6 abilita la scrittura. I successivi 8 servono per lo scambio delle informazioni, ma per semplicità si possono utilizzare anche solo gli ultimi 4 – infine, su alcuni di modelli, si trovano gli ultimi 2 pin, che servono per attivare (se lo vogliamo) la retro-illuminazione dello schermo, e che sono rispettivamente il + e la terra. Ma vediamo nel dettaglio lo schema:

Piedinatura LCD display

Piedinatura LCD display

Pronti per fare i giusti collegamenti? Partiamo! Per non fare troppa confusione, ho cercato di usare dei cavi di colore diverso: rosso per l’alimentazione, nero o marrone per la terra, bianco per lo scambio dati, arancione per quelle connessioni che sono tipiche del display – come registro (pin 4) e segnale (pin 6).

IMG_0309

Una volta collegato il display ad Arduino, apriamo l’IDE e scriviamo il codice. Per nostra fortuna, è già presente per noi un’ottima libreria, che ci faciliterà enormemente il lavoro: menu in alto, e selezioniamo Sketch > Importa libreria > LiquidCrystal. Questa libreria contiene già il codice per trasferire sul display una scritta, per creare un carattere speciale qualora lo volessimo, per far scorrere le lettere a sinistra e a destra, e per molto altro ancora.

Una volta inclusa la libreria, è sufficiente inizializzare il display, indicando i collegamenti fondamentali per farlo funzionare: il pin per selezionare il registro (RS – sul pin 12 nel mio caso), il pin per attivare il segnale (E – sul pin 11), e i 4 pin per lo scambio delle informazioni: da 11 a 14 (sono i pin da 2 a 5 su Arduino nel mio esempio).

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Una volta inizializzato il display, specifichiamo che il nostro lcd ha 16 colonne per 2 righe, e diciamo al display di stampare il nostro messaggio. Infine, per movimentare un po’ il display, aggiungiamo anche un contatore che mostrerà quanto tempo è passato dall’ultimo riavvio dell’Arduino:

void loop() 
{
   // Imposta il cursore sulla colonna 0, linea 1
   // (nota: linea 1 e' la seconda, dato che il conto parte da 0):
   lcd.setCursor(0, 1);
   // Stampa il numero di secondi dall'ultimo reset.
   lcd.print(millis()/1000);
}

Ecco fatto! Se il display è troppo scuro, provate a collegare gli ultimi due pin, per attivare la retro-illuminazione. Se invece la scritta non compare, provate a piazzare sulla breadboard un trimmer (con un pin al +, e con l’altro alla terra), e collegate il pin centrale al pin 3 (V0) del display: in questo modo, regolando il trimmer, potrete fare in modo che il contrasto cambi, fino ad ottenere una scritta perfettamente leggibile.

Download: display_lcd.zip

Annunci