Go Down

Topic: GLCD Modello QC12864B (Read 4362 times) previous topic - next topic

AxlRose94s

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.

cyberhs

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


AxlRose94s

Grazie della risposta, adesso provo!  :)
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:

MauroTec

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.
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

AxlRose94s

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!

pighixxx

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?

AxlRose94s

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 :)
Grazie della presa in considerazione :)

pighixxx


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

AxlRose94s

#8
May 20, 2013, 12:23 pm Last Edit: May 20, 2013, 01:08 pm by AxlRose94s Reason: 1
Utilizzo arduino uno, lo sketch è questo:
Code: [Select]
=#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


pighixxx

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

Code: [Select]
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.

Michele Menniti


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

pighixxx

Ciao Michele, ogni tanto ci si incontra  :D
[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: [Select]
U8GLIB_ST7920_128X64_1X u8g(5, 9, 8);

Maledetto fritzing!


AxlRose94s

Grazie delle risposte ragazzi!!  :)
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, 8);

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

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??

pighixxx


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


Ti ho risposto un paio di post fa  :~
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: [Select]
U8GLIB_ST7920_128X64_1X u8g(5, 9, 8);

AxlRose94s

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è... =(

Go Up