[RISOLTO] problema collegamento lcd 40x4

Gentilissimi buongiorno a tutti Ho un arduino adk ed ho acquistato un lcd 40x4 driver SPLC780D Qui trovate il datasheet http://www.robotstore.it/product/440/Display-LCD-40x4-retroilluminato-driver-SPLC780D.html Ho provato a seguire un classico collegamento a 4 bit ma funzionano solo le prime due righe.. non ho collegato il pin E2 che abiliterebbe la terza e la quarta riga.. qualcuno puo aiutarmi? Non saprei come effetuare tutti i collegamenti. Eventuale sketch da usare? Grazie

peppe123: Ho provato a seguire un classico collegamento a 4 bit ma funzionano solo le prime due righe.. non ho collegato il pin E2 che abiliterebbe la terza e la quarta riga.. qualcuno puo aiutarmi? Non saprei come effetuare tutti i collegamenti. Eventuale sketch da usare?

Un display 40x4 è a tutti gli effetti composto da due display 40x2 con tutti i pin in parallelo meno gli enable, non devi fare altro che collegare E2 ad un pin di Arduino e gestirlo come se fosse un secondo display. Qui trovi tutti i dettagli.

Grazie per la risposta astrobeed
Potrebbe dunque essere così il collegamento?

Arduino | lcd

12 ----> Rs
11 ----> E1
10 ----> E2
5 ----> DB4
4 ----> DB5
3 ----> DB6
2 ----> DB7

Lo sketch doppio?

#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 rows and columns: lcd.begin(40, 2);
// Print a message to the LCD.
lcd.print(“hello, world!”); }

} void loop()
{ // set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
}

// initialize the library with //
// the numbers of the interface pins
LiquidCrystal lcd(12, 10, 5, 4, 3, 2);

void setup()
{
// set up the LCD’s number of rows and columns: lcd.begin(40, 2);
// Print a message to the LCD.
lcd.print(“hello, world!”); }

} void loop()
{ // set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
}

Perdonami… un pò di pazienza :slight_smile:

non puoi usare nello stesso sketch due setup e due loop, devi cambiare libreria, usare la LiquidCrystalFast e dichiarare il display con LiquidCrystalFast lcd(RS, RW, Enable1, Enable2, D4, D5, D6, D7) quindi oltre E2 devi usare anche RW, sono 8 pin in tutto.

ho scaricato la LiquidCrystalFast, non so come dichiarare LiquidCrystalFast lcd(RS, RW, Enable1, Enable2, D4, D5, D6, D7) immagino sia un modo di settare i pin di arduino.

scusate ragazzi sto muovendo i primi passi... vi sarei davvero grato se mi deste qualche link in italiano dove poter trovare le informazioni che cerco. ho letto qualcosa che parlava di Dichiarazione di funzione... ma non so da dove iniziare Help :(

il funzionamento è identico a quella che usavi prima solo che qui devi dichiarare due pin in più, tutto qui. Se prima era: LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

ora sarà

LiquidCrystalFast lcd(12, x, 11, 10, 5, 4, 3, 2);

ho messo una "x" al posto del pin a cui collegherai il segnale RW del tuo display, tutto qui. :)

Risolto.. Grazie a tutti! :D

bene, sarebbe cosa buona se sul titolo del primo post del Topic mettesei davanti [RISOLTO] :)