Kit Kuman Arduino UNO R3- Display LCD 16×2 4pin

In un altro articolo ho già trattato del Display LCD con Arduino ma, in questa occasione, viene rivisitato con una soluzione più semplice e adatta all’uso con altri componenti.

Lo scopo infatti è quello di pilotare il display in questione con meno pin possibile, 4 appunto.

Rispetto alla soluzione proposta dal tutorial Kuman ho desiderato aggiungere 2 personalizzazioni:

  1. Un resistore variabile (da 10K Ohm) per variare il contrasto del display.
  2. Un pulsante per attivare – se premuto – la retroilluminazione del display.

Inoltre non ho utilizzato il codice proposto da Kuman (non mi funzionava) e ho preso quello fornito online dal sito ufficiale di Arduino e l’ho tradotto in italiano, spero vi sia d’aiuto.

/*
 * Libreria LiquidCrystal - Hello World
 * 
 * (traduzione in italiano)
 * 
 * Dimostrazione di utilizzo di un display LCD 16x2 con la libreria
 * LiquidCrystal.
 * 
 * La libreria LiquidCrystal funziona con tutti i display LCD compatibili con il
 * driver Hitachi HD44780.
 * 
 * Ne esistono molti modelli in commercio ed è possibile utilizzarli tramite
 * l'interfaccia a 16 pin.
 * 
 * -----------------------------------------------------------------------------
 * Quello fornito dal Kit Kuman è uno di questi.
 * È opportuno saldarci sopra un "pettine di pin" da innestare poi sulla
 * breadboard, al fine di evitare falsi contatti e relative tribolazioni.
 * -----------------------------------------------------------------------------
 * 
 * Questo sketch stampa la scritta "Hello World!" sul display (nella prima riga)
 * e il numero di secondi trascorsi (nella seconda).
 * 
 * Il circuito:
 * * PIN VSS LCD ( 1) -> Arduino +5v
 * * PIN VDD LCD ( 2) -> Arduino GND
 * * PIN V0  LCD ( 3) -> Arduino GND (dopo resistenza da 10K variabile)
 * * PIN RS  LCD ( 4) -> Arduino digitale 12
 * * PIN RW  LCD ( 5) -> Arduino GND
 * * PIN E   LCD ( 6) -> Arduino digitale 11
 * * PIN D4  LCD (11) -> Arduino digitale  5
 * * PIN D5  LCD (12) -> Arduino digitale  4
 * * PIN D6  LCD (13) -> Arduino digitale  3
 * * PIN D7  LCD (14) -> Arduino digitale  2
 * * PIN A   LCD (15) -> Arduino +3.3v (dopo interruttore [1])
 * * PIN K   LCD (16) -> Arduino GND
 * 
 * [1] Non è indispensabile e serve solo per attivare (tenendo premuto il
 *     pulsante) la retroilluminazione.
 *     
 * tradotto 27 gennaio 2019
 * da BuDuS
 * 
********************************************************************************

 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
 modified 7 Nov 2016
 by Arturo Guadalupi

 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/LiquidCrystalHelloWorld

*/

// Include la libreria:
#include <LiquidCrystal.h>

/*
 * Inizializza la libreria associando ad ogni pin di arduino il corrispondente
 * dell'LCD secondo il circuito di cui sopra.
 */
const int   rs = 12, 
            en = 11, 
            d4 = 5, 
            d5 = 4, 
            d6 = 3, 
            d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  // Configura l'LCD in base rispettivamente al numero di colonne e righe:
  lcd.begin(16, 2);
  // Stampa il messaggio desiderato sull'LCD.
  lcd.print("hello, world!");
}

void loop() {
  // Posiziona il cursore alla colonna 0 della linea 1
  // (notare: linea 1 identifica la seconda riga perché si inizia a
  // contare da 0):
  lcd.setCursor(0, 1);
  // Stampa il numero di secondi passati dal reset:
  lcd.print(millis() / 1000);
}
Schema utilizzo Display LCD 16×2 4 pin
Schema Elettrico Display LCD 16×2 4 pin

Per concludere allego la documentazione che ho caricato sul sito e che può risultare utile:

Autore: BuDuS

Disegnatore Meccanico, con la passione per l'Informatica. Come hobby, produco piccoli software di (in)utilità.