Pages: [1]   Go Down
Author Topic: [RISOLTO] problema collegamento lcd 40x4  (Read 1165 times)
0 Members and 1 Guest are viewing this topic.
Roma
Offline Offline
Newbie
*
Karma: 1
Posts: 39
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: November 22, 2012, 03:14:52 pm by peppe123 » Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 129
Posts: 9494
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: November 15, 2012, 07:25:20 am by astrobeed » Logged

Roma
Offline Offline
Newbie
*
Karma: 1
Posts: 39
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12573
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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

Roma
Offline Offline
Newbie
*
Karma: 1
Posts: 39
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley-sad
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12573
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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. smiley
Logged

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

Roma
Offline Offline
Newbie
*
Karma: 1
Posts: 39
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Risolto.. Grazie a tutti!  smiley-grin
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12573
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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

Pages: [1]   Go Up
Jump to: