HD4478 LCD non funziona

salve,
ho acquistato questo LCD - HD44780 ( https://www.ebay.it/itm/Newest-Yellow-backlight-LCD-1602-16x2-Characters-HD44780-LCD-display-for-Arduino-/272954547213? )

che mi sembra del tutto simile a quello del tutorial su queste pagine: https://www.arduino.cc/en/Tutorial/HelloWorld

ho collegato esattamente come indicato sul tutorial, ho ricontrollato, ma, anche se si accende, però compaiono su una riga dei riquadri neri e basta, null’altro.

Allora ho aperto il file LiquidCrystal.cpp della libreria (versione 1.0.4) e nel costruttore che prende 6 parametri

LiquidCrystal::LiquidCrystal(uint8_t rs,  uint8_t enable,
			     uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3) {
  init(1, rs, 255, enable, d0, d1, d2, d3, 0, 0, 0, 0);
}

vedo che il valore d0 sarà attribuito a d0 e così via, ma nello schema dei collegamenti viene indicato di collegare in questo modo:
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

quindi secondo questo schema LCD D0 non viene neanche nominato e così per d1, d2, d3.
però se si apre metodo init

void LiquidCrystal::init(uint8_t fourbitmode, uint8_t rs, uint8_t rw, uint8_t enable,
			 uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
			 uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
{
  _rs_pin = rs;
  _rw_pin = rw;
  _enable_pin = enable;
  
  _data_pins[0] = d0;
  _data_pins[1] = d1;
  _data_pins[2] = d2;
  _data_pins[3] = d3; 
  _data_pins[4] = d4;
  _data_pins[5] = d5;
  _data_pins[6] = d6;
  _data_pins[7] = d7; 
...........

si direbbe che al pin 0 viene attribuito il valore d0, e così via.
non mi spiego quindi i collegamenti indicati nel tutorial:
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

grazie a chi mi risponde

ho saldato nuovamente i pin e ora funziona, però la domanda rimane

I moduli LCD con il HD44780 hanno 2 possibilitá di funzionare:

  • Bus di 8 Bit; Il datio viene trasferito in una volta
  • Bus di 4 Bit; Il dato viene trasferito in 2 parti da 4 bit.
    La libreria sa fare entrambe le modalitá a secondo con quali/quanti parametri chiami la inizializzi.
    Arduino - LiquidCrystalConstructor

Ciao Uwe

grazie, ma avevo sbagliato a collegare, funziona tutto bene
comunque grazie delle info, adesso ho capito