LCD - Libreria
LiquidCrystal_I2C

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

homotix

PCBONLINE

PCBgogo

Display LCD 16X2
con interfaccia I2c

Uno R3 ATmega328
 

Jumper Dupont
M/M 200mm

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);

#include <LiquidCrystal_I2C.h>

uint8_t heart[8] = {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0};

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()
{
  lcd.begin();
  lcd.backlight();
  lcd.createChar(0, heart);
  lcd.home();
  lcd.write(0);
}

void loop()
{

 

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