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