Go Down

Topic: [RISOLTO] problema collegamento lcd 40x4 (Read 1 time) previous topic - next topic

peppe123

Nov 15, 2012, 01:06 pm Last Edit: Nov 22, 2012, 09:14 pm by peppe123 Reason: 1
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

astrobeed

#1
Nov 15, 2012, 01:23 pm Last Edit: Nov 15, 2012, 01:25 pm by astrobeed Reason: 1

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.

peppe123

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  :)

Michele Menniti

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.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

peppe123

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  :(

Michele Menniti

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. :)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

peppe123


Michele Menniti

bene, sarebbe cosa buona se sul titolo del primo post del Topic mettesei davanti [RISOLTO] :)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Go Up