LCD - Libreria ultimo aggiornamento 29 giugno 2019 |
|
Per utilizzare un display LCD 16X2 dotato di un convertitore I2C è necessario utilizzare nella stesura dei programmi la libreria denominata LiquidCrystal_I2C
Display LCD 16X2 |
Uno R3 ATmega328 |
Jumper Dupont |
Prima di tutto occorre scaricarla tramite questo link, la libreria è testata con successo con la versione di IDE 1.8.5, una volta scaricato il file zip, si potrà utilizzare l'apposito comando per inserire la libreria nel vostro archivio
A questo punto la libreria apparirà nell'elenco dell'IDE di Arduino
Sotto sono riportati i principali comandi disponibili per questa libreria.
Funzioni:
LiquidCrystal_I2C();
LiquidCrystal (lcd_addr,lcd_cols, lcd_rows, charsize)
Con questa istruzione definiamo l'indirizzo del modulo, di solito 0x27, numero
colonne e righe del display, La dimensione in punti del display
ES: LiquidCrystal_I2C lcd(0x27, 16, 2);
begin();
begin(pin SDA, pin SCL);
Con questa istruzione definiamo i pin a cui colleghiamo i display, se si
omettono, si utilizzano quelli standar, per Arduino UNO per cui A4 per SDA e A5
per SCL
ES: lcd.begin():
clear();
Questa istruzione pulisce il display dai caratteri scritti in precedenza
ES: lcd.clear();
backlight();
Questa permette l'accensione della retroilluminazione
ES: lcd.backlight();
home();
Posiziona il cursore nella casella in alto a sinistra.
ES: lcd.home();
setCursor(#colonne,#righe);
Setta il cursore nella posizione che vogliamo, quindi dopo questa istruzione
inizieremo a scrivere in un dato punto del display.
Es:lcd.setcursor(0,0); Equivalente di home.
write(data);
Scrive sul display il carattere associato ad un certo codice HEX.
print(data);
Si usa per scrivere sul display, può essere usata anche con la sintassi print(data,base);
in cui se data è esadecimale, base sarà 16, binario base 2 ecc ecc. Data può
essere un int, byte, long int, char oppure string.
ES: lcd.print("hello world");
cursor(); e noCursor();
cursor(); Mostra un carattere underscore nella casella in cui verrà scritto il
prossimo carattere. noCursor(); nasconde il cursore.
blink(); e noBlink();
blink(); mostra un cursore lampeggiante, mentre noBlink(); lo nasconde.
display(); e noDisplay();
Abilita e disabilita il display.
scrollDisplayLeft(); e
scrollDisplayRight();
Queste istruzioni si usano per shiftare a destra(right) o a sinistra(left) il
testo ed il cursore di uno spazio.
autoscroll(); e noAutoscroll();
Setta il display in modalità autoscroll, questa modalità scriverà ogni nuovo
carattere nella stessa posizione del precedente e il precedente sarà shiftato,
se stiamo scrivendo in modalità da sinistra a destra (di default), il testo sarà
shiftato a sinistra.Se stiamo scrivendo in modalità da destra a sinistra, il
display scorrerà verso destra. noAutoscroll(); esce dalla modalità autoscroll.
leftToRight(); e
rightToLeft();
LeftToRight(); setta la modalità di scrittura da sinistra a destra (default),
mentre RightToLeft(); setta la modalità di scrittura da destra a sinistra.
createChar();
Crea un carattere personalizzato, num varia da 0 a 7 e indicizza i caratteri
personalizzati. Data è una mappa dei bit del nuovo carattere.
ES: lcd.createChar(num,data);
|
Esempi di utilizzo della libreria
Lettura valori da sensore di pressione BMP180
Nella foto è mostrato l'utilizzo del display utilizzato per mostrare i valori letti tramite un Arduino UNO da un sensore di pressione BMP180.
Lettura data e ora da MH-Real-Time Clock Module-2
Utilizzo del display per mostrare la date e l'ora corrente tramite il modulo MH-Real-Time Clock Module - 2 basato sull' integrato DS1302 al cui interno è presente un orologio in tempo reale / calendario e 31 byte di RAM statica.
Lettura valore di luminosità con sensore GA1A12S202WP
Lettura valore di luminosità tramite Il sensore GA1A12S202WP prodotto dalla Sharp , un sensore di luce con uscita analogica di tipo logaritmico, questo può essere utilizzato per sostituire nei circuiti le normali fotocellule CdS.l
Lettura valori battiti cardiaci e saturazione con MAX30100
Lettura dei battiti cardiaci e saturazione del sangue tramite sensore MAX30100 che è una soluzione integrata per sensore di pulsossimetria e cardiofrequenzimetro. il sensore combina due LED, un foto rilevatore, un'ottica ottimizzata e un elaboratore del segnale analogico a basso rumore.
Elenco revisioni | |
29/06/2019 | Emissione preliminare |