Pages: [1] 2 3   Go Down
Author Topic: GLCD Modello QC12864B  (Read 2598 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve ragazzi,
Poco tempo fà ho acquistato un display grafico lcd, il modello QC12864B, avente come controller l' ST7920.
Questa è l'immagine del retro: http://img713.imageshack.us/img713/4055/lcdgrafico128x641.jpg.
Il datasheet fornitomi dal venditore è il seguente: http://mikroshop.ch/pdf/QC12864B.pdf.
Io personalmente per il cablaggio e per la libreria da utilizzare mi sono affidato a questo sito(l'unico con un'esempio): http://www.peukalo.net/glcd-qc12864b-with-arduino/. Il problema è che nonostante sia il datasheet che questo sito sembrano indicarmi gli stessi cablaggi, il display non funziona. Un dato che può essere utile è che nel momento in cui collego il pin PSB del display a GND arduino và in protezione(credo si dica così, è come se si spegne);
C'è qualcuno che può aiutarmi a capire il problema?
Grazie.
Logged

Selvazzano Dentro - Padova
Offline Offline
God Member
*****
Karma: 28
Posts: 933
"Chi sa fa, chi non sa insegna"
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Forse è un eccessivo assorbimento della retroilluminazione... prova a sconnetterla od inserire un resistore da 50 ohm o più tra +5V ed il pin 20.

L'assorbimento della logica è al massimo 15mA, ma non ci sono indicazioni sull'assorbimento dei LED

 
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie della risposta, adesso provo!  smiley
Sono riuscito solamente a far accendere il display, o meglio i led del display! Infatti nel momento in cui collego il pin PSB a GND arduino và in protezione, a meno che non scollego il pin VDD. Questo cosa significa?? Una volta che abilito la logica del display esso và in collisione con l'impostazione GND del pin PSB??
Scusatemi se dico assurdità  smiley-roll-sweat
Logged

0
Offline Offline
Faraday Member
**
Karma: 24
Posts: 2825
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il led ciuccia 360mA, prova ad alimentarlo da altra fonte. Però è strano che si resetti solo quando colleghi psb a gnd, magari c'è qualche errore nel collegamento, ma non possiamo appurare se non posti lo schema di collegamento o delle immagini che ci permettano di ricavare lo schema.

Ciao.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, le immagini del collegamento le ho messe nel post principale, in uno dei tre link. se vuoi posso postare l'immagine originale del mio collegamento(è identico a quello dell'immagine del link), dimmi se può essere utile!
Logged

Italy
Offline Offline
Edison Member
*
Karma: 112
Posts: 1111
O ti distingui o ti estingui
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Collegando il pin PSB al GND lo metti in modalità seriale.
Hai provato a scollegare tutto da Arduino e alimentare l'LCD mettendo il PSB a GND. Cosa succede?
Altra cosa, che libreria stai usando?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In che senso, scollegare i pin di controllo??
Comuque utilizzo questa libreria: https://code.google.com/p/u8glib/downloads/detail?name=u8glib_arduino_v1.12.zip&can=2&q=.
Ti posto qui un altra discussione in cui ho illustrato tutto il cablaggio: http://forum.arduino.cc/index.php?topic=144987.msg1246245#msg1246245 nell'ultimo commento c'è scritto tutto smiley
Grazie della presa in considerazione smiley
Logged

Italy
Offline Offline
Edison Member
*
Karma: 112
Posts: 1111
O ti distingui o ti estingui
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

In che senso, scollegare i pin di controllo??

Scollegarlo da Arduino e alimentarlo con il pin PSB su GND.

Che Arduino utilizzi?
E' preferibile sempre una foto dei collegamenti fatti.
Inserisci lo sketch utilizzato (Senza andarlo a pescare su altri post).

Ciao
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Utilizzo arduino uno, lo sketch è questo:
Code:
=#includequotU8glibhquotU8GLIB_ST7920_128X64_1Xu8g181617SPIComSCKen18MOSIrw16CSdi17voiddrawvoidgraphiccommandstoredrawthecompletescreenshouldbeplacedhereu8gsetFontu8g_font_unifontu8gsetFontu8g_font_osb21u8gdrawStr022quotHelloWorldquotvoidsetupvoidflipscreenifrequiredu8gsetRot180setSPIbackupifrequiredu8gsetHardwareBackupu8g_backup_avr_spiassigndefaultcolorvalueifu8ggetModeU8G_MODE_R3G3B2u8gsetColorIndex255whiteelseifu8ggetModeU8G_MODE_GRAY2BITu8gsetColorIndex3maxintensityelseifu8ggetModeU8G_MODE_BWu8gsetColorIndex1pixelonvoidloopvoidpictureloopu8gfirstPagedodrawwhileu8gnextPagerebuildthepictureaftersomedelaydelay500]#include "U8glib.h"


U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17



void draw(void) {
  // graphic commands to redraw the complete screen should be placed here  
  u8g.setFont(u8g_font_unifont);
  //u8g.setFont(u8g_font_osb21);
  u8g.drawStr( 0, 22, "Hello World!");
}

void setup(void) {
  
  // flip screen, if required
  // u8g.setRot180();
  
  // set SPI backup if required
  //u8g.setHardwareBackup(u8g_backup_avr_spi);

  // assign default color value
  if ( u8g.getMode() == U8G_MODE_R3G3B2 )
    u8g.setColorIndex(255);     // white
  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT )
    u8g.setColorIndex(3);         // max intensity
  else if ( u8g.getMode() == U8G_MODE_BW )
    u8g.setColorIndex(1);         // pixel on
}

void loop(void) {
  // picture loop
  u8g.firstPage();  
  do {
    draw();
  } while( u8g.nextPage() );
  
  // rebuild the picture after some delay
  delay(500);
}

ed il collegamento è questo:
1 VSS 0V
2 VDD 5.0V  
3 V0/NC — Contrast Adjust (into a central pin of the potentiometer, with 5v and GND)
4 RS(CS)  analogpin 3
5 R/W(SID) analogpin 2
6 E(SCLK) analogpin 4
15 PSB GND
16 NC — No connection
19 LEDK 5V
20 LEDA 0V

« Last Edit: May 20, 2013, 06:08:43 am by AxlRose94s » Logged

Italy
Offline Offline
Edison Member
*
Karma: 112
Posts: 1111
O ti distingui o ti estingui
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Vedi di sistemare un po' il post precedente  smiley-roll-blue

Code:
U8GLIB_ST7920_128X64_1X u8g(18, 16, 17);   // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17

Questo è il comando di inizializzazione del display.
Se hai utilizzato i collegamenti che hai detto al primo post  http://www.peukalo.net/glcd-qc12864b-with-arduino/ difficilmente funzionerà su un'Arduino Uno. Per quello ti ho chiesto gentilmente se è possibile avere una foto dei collegamenti.
Logged

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

Vedi di sistemare un po' il post precedente  smiley-roll-blue

+1 racchiudi il codice tra i tag code /code altrimenti è inguardabile  smiley-eek-blue
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

Italy
Offline Offline
Edison Member
*
Karma: 112
Posts: 1111
O ti distingui o ti estingui
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Michele, ogni tanto ci si incontra  smiley-grin
[OT]Sono ad un buon punto con Ardutester[/OT]

Ho dato un'occhiata alla user reference della libreria e al datasheet:
Se vuoi farlo andare ed hai usato i collegamenti che hai detto, devi modificare la riga in questa maniera:

Code:
U8GLIB_ST7920_128X64_1X u8g(5, 9, 8);

Maledetto fritzing!

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie delle risposte ragazzi!!  smiley
Per quanto riguarda questo:
Quote
Ciao Michele, ogni tanto ci si incontra 
[OT]Sono ad un buon punto con Ardutester[/OT]

Ho dato un'occhiata alla user reference della libreria e al datasheet:
Se vuoi farlo andare ed hai usato i collegamenti che hai detto, devi modificare la riga in questa maniera:

Code:
U8GLIB_ST7920_128X64_1X u8g(5, 9, smiley-cool;

Maledetto fritzing!
non credo funzioni così, io mi sono basato su quel collegamento per quanto riguarda le alimentazioni, i pin sono relativi alla libreria che ho utilizzato, la quale mi ha fornito dei precisi pin smiley-sad

Quote
Se hai utilizzato i collegamenti che hai detto al primo post  http://www.peukalo.net/glcd-qc12864b-with-arduino/ difficilmente funzionerà su un'Arduino Uno. Per quello ti ho chiesto gentilmente se è possibile avere una foto dei collegamenti.
Si, utilizzo arduino uno, perchè pensi che non dovrebbe funzionare, qual'è il problema??
Logged

Italy
Offline Offline
Edison Member
*
Karma: 112
Posts: 1111
O ti distingui o ti estingui
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Si, utilizzo arduino uno, perchè pensi che non dovrebbe funzionare, qual'è il problema??

Ti ho risposto un paio di post fa  smiley-confuse
ripeto:

Ho dato un'occhiata alla user reference della libreria e al datasheet:
Se vuoi farlo andare ed hai usato i collegamenti che hai detto, devi modificare la riga in questa maniera:

Code:
U8GLIB_ST7920_128X64_1X u8g(5, 9, 8);
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Modificato la riga ed i commenti come mi hai detto tu, ma continua con lo stesso gioco, è tutto spento, fino a che non stacco il pin PSB oppure quello VDD, in questi casi si accende la retroilluminazione. Non riesco proprio a capire il perchè... smiley-cry
Logged

Pages: [1] 2 3   Go Up
Jump to: