Un display LCD è molto utile in tutti i progetti digitali. Comodo per messaggi, ma anche per informazioni di debug, quando non si dispone di un vero e proprio debugger.
L'IDE di Arduino mette a disposizione una libreria per la gestione di display compatibili con lo standard di fatto Hitachi HD44780, che hanno un costo abbordabile e sono molto diffusi.
Il display ha in connettore con 14 o 16 pin. Alcune linee di controllo, Enable (E), Registyer Select (RS), Read/Write (R/!W) e 8 linee dati, anche se abitualmente è pilotato con solo 4 linee dati. A queste linee si aggiungono 3 pin per l'alimentazione, la massa, e il contrasto. Alcuni modelli hanno due pin dedicati ad alimentare un LED per la retro illuminazione.
La libreria mette a disposizione funzioni per la gestione del display. La documentazione è disponibile qui: https://www.arduino.cc/en/Reference/LiquidCrystal
Per includerla nel nostro programma si usa il comando 'C' include: #include <LiquidCrystal.h>
Per inizializzare il display occorre dichiarare quali uscite di Arduino vengono utilizzate per pilotare il display: lo si fa con la funzione LiquidCrystal lcd();
lcd.begin() definisce il numero di colonne e di righe del display (ne esistono di vari modelli).
La funzione lcd.print() riproduce (stampa) una stringa di caratteri sul display.
In questo semplice caso, la funzione di loop() resta vuota, perché l'inizializzazione del display e l'output del messaggio è tutto quello che si desidera fare.
Il programma è un semplice esempio preso da internet e disponibile qui. A dimostrazione della vasta documentazione disponibile in rete.
Ora basta compilare ed inviare il programma ad Arduino. L'alimentazione di tutto il sistema è fornita dalla USB di Arduino.
Naturalmente le funzioni definite dalla libreria sono più numerose di quelle usate in questo esempi e si rimanda alla documentazione citata per un elenco completo.
Lo schema di collegamento è disponibile al link citato e qui, la versione realizzata con kicad.
Questo è il codice:
/*
LiquidCrystal Library - Hello World
Demonstrates the use a 16x2 LCD display. The LiquidCrystal
library works with all LCD displays that are compatible with the
Hitachi HD44780 driver. There are many of them out there, and you
can usually tell them by the 16-pin interface.
This sketch prints "Hello World!" to the LCD
and shows the time.
The circuit:
* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* LCD VSS pin to ground
* LCD VCC pin to 5V
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
Library originally added 18 Apr 2008
by David A. Mellis
library modified 5 Jul 2009
by Limor Fried (http://www.ladyada.net)
example added 9 Jul 2009
by Tom Igoe
modified 22 Nov 2010
by Tom Igoe
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/LiquidCrystal
*/
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}
void loop() {
}
Commenti recenti