problemino display 20x4

salve raga , ho da poco preso il display 20x4 retroilluminato , ma non so perchè stampa in maniera disordinata , mi spiego meglio , stampa sulla prima riga poi la terza poi la seconda e poi la quarta , quindi quando si riempie la prima riga invece di andare alla seconda riga passa alla 3 per poi andare alla 2 e in fine alla 4 ,ho controllato i collegamenti e lo sketch ma sembra tutto ok , può essere un problema del display ?

#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(20, 4);
// Print a message to the LCD.
lcd.print("hello, world! fffffffffffffeeeeeeeeeeeeeee");
}

void loop() {
// Turn off the display:
lcd.noDisplay();
delay(500);
// Turn on the display:
lcd.display();
delay(500);
}

Modello del display? C'è qualche sigla nel retro?

Non credo che la libreria gestisca l'avanzamento di riga automatico al raggiungimento dei 20 caratteri.

Prova a stampare max 20 caratteri per riga, ovviamente usando la funzione setCursor:

  lcd.setCursor(0, 0);
  lcd.print("hello, world!");
  lcd.setCursor(0, 1);
  lcd.print("seconda riga");
  lcd.setCursor(0, 2);
  lcd.print("terza riga");
  lcd.setCursor(0, 3);
  lcd.print("quarta riga");

Nexet:
stampa sulla prima riga poi la terza poi la seconda e poi la quarta , quindi quando si riempie la prima riga invece di andare alla seconda riga passa alla 3 per poi andare alla 2 e in fine alla 4

È normale, I display sono organizzati cosí.

Ho perfino un 1x16 che come stampa si comporta come un 2x8 (il nono carattere devo stamparlo nella seconda riga).

Ciao Uwe

Si, è normale che faccia così, anche se non è "normale" che lo faccia.
Non so se è colpa del firmware oppure della progettazione della scheda lcd, però non puoi scrivere 80 caratteri tutti in fila e pensare che te li metta di seguito come li hai scritti.... Bisogna "faticare" e dirgli dove li deve scrivere... :slight_smile:

Il 21esimo carattere è costruttivamente il primo del terzo rigo