Go Down

Topic: [RISOLTO] Display Ts 2020 v1 come lo collego? (Read 604 times) previous topic - next topic

essereumano

May 17, 2013, 03:05 pm Last Edit: May 21, 2013, 08:08 pm by essereumano Reason: 1
Un saluto a tutti, in questi giorni mi sono ritrovato un display di recupero, denominato TS 2020 v1.0, vi allego una pagina che ho trovato in rete con un po' di dettagli http://3gmobile.b2bage.com/product-lcd-modules/839763/2020-1-b-20x2-character-lcd-module-with-st7065-and-st7066.html da quello che ho capito dovrebbe avere il controller st7065 e st7066, che sempre se non ho capito male sono pin compatibili con il classico HD44780, il problema è che oltre a non essere sicuro che sia compatibile con il mio arduino uno non sono riuscito a trovare un qualsiasi schema per collegare questo display, alla sua sinistra ci sono 16 pin ma non so a cosa corrispondono.
Vi chiedo se qualcuno ha avuto esperienza con questo display o se è più abile di me (ci vuole poco) a trovare qualche pinout.
Grazie 1000 intanto per l'attenzione.

BaBBuino

Qua troivi il datasheet con le indicazioni dei pin con relativi segnali: http://www.datasheet.co.kr/datasheetdownload.php?id=632197

A occhio è compatibile con lo standard Hitachi HD44780


essereumano

Tutto ok solo che utilizza solo 16 colonne  per riga invece di 20, va come fosse un 16 x 2, ho provato con lo sketch "Hello World" credo di aver settato tutto ma non capisco perchè, ho collegato db4,db5,db6 e db7 ma non db0,db1,db2 e db3, può essere quello il problema?
Nello sketch ho modificato il parametro lcd.begin e l'ho impostato lcd.begin(20, 2); ma nada.
Qualche idea?
Grazie ancora

Brunello

db0----db3 vanno giustamente lasciati liberi
e se visualizzi vuol dire che e' collegato in modo corretto

Se hai passato i parametri giusti, forse e' la libreria che usi
O non prevede il 20x2 o non gestisce correttamente quel chip

essereumano

Sto usando la libreria LiquidCristal.h inclusa nell'ide, ma nel reference non mi dice quante linee e quante colonne sono supportate, parla solo del chipset, la visualizzazione sul display è ok ma mi mancano quelle 5 colonne per riga... strano...

pighixxx

Ciao,

credo sia un problema di timing, ma potrei sbagliarmi.
Potresti utilizzare una libreria alternativa per esempio questa: https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home (thanks PaoloP  ;))

essereumano

Ho provato a usare la libreria che mi hai linkato (ho eliminato la cartella LiquidCristal e l'ho sostituita con quella scaricata, nella cartella libraries nell'ide di arduino, ho fatto giusto? ho visto che i comandi sono gli stessi della libreria standard) ma il problema rimane invariato.... Grazie per il suggerimento, magari ho sbagliato a installare la libreria ora controllo....

essereumano

Credo di aver installato la libreria correttamente (ho controllato), posto lo sketch che uso per testare il display, in pratica riempie l'lcd con la scritta "prova".

Code: [Select]

#include <LCD.h>
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

void setup(){
    // set up the LCD's number of columns and rows:
  lcd.begin(20, 2);
  // initialize the serial communications:
  Serial.begin(9600);
}

void loop()
{
  lcd.print ("prova");
}


Qualsiasi suggerimento è ben accetto  XD

pighixxx


Credo di aver installato la libreria correttamente (ho controllato), posto lo sketch che uso per testare il display, in pratica riempie l'lcd con la scritta "prova".
(cut)


In poche parole la scritta è anche "oltre" il 16° carattere?
Se è così funziona  :D

essereumano

Si, ad ogni ciclo del loop scrive la parola "prova" nella colonna successiva ed effettivamente funziona, ma mi scrive solo nelle 16 colonne della prima e seconda riga, mentre le colonne 17,18,19,20 della prima e seconda colonna rimangono vuote, come se fosse un display 16x2, ho cambiato la libreria usata come mi hai suggerito ma non riesco ad occupare tutto il display, purtroppo è il primo display che uso e non ho molta esperienza a riguardo, magari dico una caxxata ma non è che devo andare a 8 bit invece che a 4? Oppure è solo una questione di caratteri supportati?

pighixxx

Facciamo un ultimo tentativo. Puoi postare una foto con i collegamenti?

essereumano

Questa è la foto ma si capisce poco  :smiley-roll-blue:




Comunque ho collegato i fili così:
pin

1  GND collegato alla breadboard che va al GND di arduino
2  Vcc collegato alla breadboard che va ai +5V di arduino
3  Vee collegato ad un fader (non avevo il potenziometro) al quale sono connessi +5V e GND presi da breadboard
4  Pin digital 7 Arduino
5 A massa sulla breadboard
6 Pin digital 8 Arduino
7 nc
8 nc
9 nc
10 nc
11 Pin digital 9 Arduino
12 Pin digital 10 Arduino
13 Pin digital 11 Arduino
14 Pin digital 12 Arduino
15 - LED collegato alla breadboard che va al GND di arduino
16 + LED collegato alla breadboard che va al +5V di arduino


pighixxx

E' tutto corretto, è abbastanza frustrante questa cosa...  :.
Aspettiamo il parere di qualcun'altro.


essereumano

Ok, ti ringrazio per il supporto, un ultima cosa, visto che non ero sicuro se avessi installato correttamente la libreria che mi hai gentilmente suggerito, ho installato l'ide 1.0.5 che ha una nuova funzione di importazione automatica delle librerie, bene ho fatto l'importazione e ho trovato la libreria appena importata nel menu ma da quel momento quando faccio la verifica dello scketch la finestra di debug mi da questi errori, quindi o prima avevo sbagliato a importare la libreria (potrebbe essere quindi che continuavo ad usare la vecchia) o ci sono problemi di compatibilità oppure da cosa possono essere dati questi errori?




Quote

C:\Users\Tommy\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In member function 'int I2CIO::begin(uint8_t)':
C:\Users\Tommy\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:61: error: 'Wire' was not declared in this scope
C:\Users\Tommy\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In member function 'uint8_t I2CIO::read()':
C:\Users\Tommy\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:117: error: 'Wire' was not declared in this scope
C:\Users\Tommy\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In member function 'int I2CIO::write(uint8_t)':
C:\Users\Tommy\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:140: error: 'Wire' was not declared in this scope

Go Up