Display Nokia 5110

Ho provato un pò tutti gli esempi del web ma non sono riuscito a far funzionare il display in oggetto.
La piedinatura è quella descritta in http://blog.stuartlewis.com/2011/02/12/scrolling-text-with-an-arduino-and-nokia-5110-screen/ però sembra che il codice non funziona.
Qualcuno può darmi qualche dritta?
L'ho comprato da qui http://www.hobbytronics.co.uk/lcd/nokia-5110-lcd

Grazie a tutti

Manda per favore una foto del collegamento che hai fatto.
Ciao Uwe










Ne fai una altra foto dove si vede meglio i cavetti e dove vanno?
Graze
Ciao Uwe

Ho aggiunto altre foto, in linea di massima il collegamento l'ho effettuato come dice il link col video che ho postato all'inizio ma non funziona nulla lo stesso...
In una foto ho girato lo schermo per mostrare che la piedinatura è la solita.

L'ho collegato direttamente ad Arduino così:

Lcd Arduino
VCC - 3.3v arduino output
GND – GND
SCE – Pin 7
RST – Pin 6
D/C – Pin 5
DN – Pin 4
SCLK – Pin 3

Penso che il problema sia che il display ha logica 3.3 volt mentre arduino 5 volt ho provato ad aggiungere una resistenza ad ogni pin (eccetto il 3.3v) da 330 ohm ma non è cambiato nulla, servirebbe una resistenza più bassa ma non ne ho in casa.

Ho risolto, il problema era che i pin andavano saldati sullo schermo e non inseriti e basta, la retroiilluminazione andava ma probabilmente non c'era abbastanza contatto per una comunicazione SPI o I2C

Ottimo! Un paio di informazioni:
le R da 330 le hai lasciate?
[OT]
Sto lavorando ad un circuito con gli ultrasuoni, non ho deciso l'applicazione finale, ma certamente saranno delle misurazioni accompagnate da simboli o immagini descrittive, penso che questo display potrebbe essere molto più comodo del classico 16x2 o 20x4.
Hai fatto prove "pesanti"? Che ne dici?
Grazie in anticipo.

EDIT: ho trovato il link di Sparkfun, lascio solo le domande di cui mi serve ancora risposta

No le resistenze le ho tolte altrimenti non si vedeva nulla, ho lasciato solo una da 5K per la retroilluminazione del display ma anche una da un valore più basso va bene.
Diciamo che saldare senza l'attrezzature giusta è difficile perchè bisogna fare un lavoro di precisione e infatti ho avuto qualche problema al contrasto dovuto al contatto non perfetto di tutti i pin (sono un novello a saldare).
Sinceramente pensavo che il display permettesse di visualizzare "più cose" quindi attenzione e calcola bene se nei 4032 pixel (84x48) ci sta tutto.
I miei dubbi rimangono ancora sul datasheet che dice che tutto va anche coi 3.3volt e ho letto che i 5volt gli danno una vita più breve però sono riuscito a farlo andare solo coi 5. Comunque non prendere per oro questa informazione in quanto potrebbe essere sbagliata o riferita ad un altro display.
Ieri ci ho smanettato un pò e ho rotto "la saldatura" dei pin che avevo fatto, oggi gli ridò un colpetto col saldatore e continuo coi test.
Ti aggiorno se trovo altre informazioni.
Ciao

Io con le saldature me la cavo abbastanza. Vorrei prenderne uno da Robot-Italy e fare un po' di prove, alla fine costa meno di 10 euro; non devo fare grandi cose, vorrei "dividerlo" in 6 quadranti (due file da tre): i quattro esterni mostrano una barra grafica (vanno benissimo i puntini "pieni") e i due interni dei valori numerici. Il mio forte dubbio è proprio qui: penso che non abbia dei font suoi scalabili, quindi se devo mostrare due valori scritti in grande tipo 65 sopra e 80 sotto dovro "costruirli", essendo valori dinamici mi sa che devo farci una libreria. Se mi confermi questo abbandono di colpo l'idea, tanto vale restare sul classico 16x2 retroilluminato.

Io ho uno shield con il Nokia 3310, identico al 5110. Ebbene, è un po' "cazzuto" da usare nel senso che non è un display testuale ma grafico per cui i font vanno costruiti secondo le proprie esigenze. Inoltre, essendo grafico, la scrittura di testo è un po' complicata. Insomma, è economico ma non certo il massimo anche se ci si può fare diverse cosine, come dei giochini (questo è uno dei miei):

Non vedo tanto un problema in quello, trovi già esempi con il codice per generare i caratteri alfanumerici.
Esiste poi un programma che ti converte le immagini (che possono anche consistere in caratteri scritti nella dimensione voluta) nei codici da dare in pasto allo schermo.
Io con l'esempio del playground basta che scrivo: LcdString("Testo") per stampare "Testo" nella prima riga, per muoversi su altre righe/colonne c'è anche una routine GoToXY(X,Y). Non è molto complicato.

Ciao

@Leo: bello, ma quello è uno shield commerciale o autocostruito?

@ tutti: il primo problema non è inviare frasi fatte bensì misure numeriche cioè in base a cosa misuro con i sensori il software deve calcolare un valore numerico (diciamo da 0 a 100) e mostrarlo bello grande al centro dello schermo, nella metà superiore o inferiore, in base a quale sensore sto usando.
Poiché avrò (ancora sono in fase studio fattibilità) già parecchio da fare col controllo dei sensori, che dovrebbero essere 4, 6 o possibilmente 8, ed ognuno dovrà fare sia tx che rx, è non è semplice, ho idea che con questo display mi incasino la vita oltremaniera :fearful:
Quello che penso di fare col "classico" 16x2 è usare le due righe in modo separato e sui ogni riga riportare 1 misura e due barre grafiche laterali. Comunque non voglio andare OT ed in ogni caso sono preso da 2-3 circuiti pesantissimi che ormai ho iniziato a studiare, per questo ci sarà tempo e modo di riaprire l'argomento.

@menniti:
è uno shield acquistato su internet. Costava una miseria: oltre al display, ha anche un mini-joystick a 5 input (4 direzioni + 1 centrale). Mi pare che però ora non lo facciano più.
Cmq potresti risolvere come con i caratteri PET-ASCII, ricordi quelli semigrafici dei Commodore? :smiley:
Potresti prevedere un carattere con 1 rettangolino largo 2 pixel, 1 con un rettangolino di 4 pixel, 1 con un rettangolino di 6 pixel ed 1 di 8 pixel (carattere pieno). Così con lo spazio (0 pixel) avresti comunque un range più che discreto. Ed usare il display in modalità testuale (quindi scrivendo i caratteri a X,Y) ma in modalità semigrafica.

Io cmq suggerisco un display testuale, magari I2C. E ti levi tanti grattacapi se devi solo visualizzare delle scritte.

leo72:
@menniti:
è uno shield acquistato su internet. Costava una miseria: oltre al display, ha anche un mini-joystick a 5 input (4 direzioni + 1 centrale). Mi pare che però ora non lo facciano più.
Cmq potresti risolvere come con i caratteri PET-ASCII, ricordi quelli semigrafici dei Commodore? :smiley:
Potresti prevedere un carattere con 1 rettangolino largo 2 pixel, 1 con un rettangolino di 4 pixel, 1 con un rettangolino di 6 pixel ed 1 di 8 pixel (carattere pieno). Così con lo spazio (0 pixel) avresti comunque un range più che discreto. Ed usare il display in modalità testuale (quindi scrivendo i caratteri a X,Y) ma in modalità semigrafica.

Io cmq suggerisco un display testuale, magari I2C. E ti levi tanti grattacapi se devi solo visualizzare delle scritte.

Sono completamente d'accordo, ho diversi display "paralleli", vorrei usare uno di questi, ma potrò farlo solo se riesco a realizzare un certo tipo di schema, altrimenti non mi bastano i pin e ricorrerò forzatamente all'I2C.

Ciao a tutti, sfrutto questo topic avendo un problema relativo a questo item!

In pratica ho preso lo sketch del playground (quello di Hello World) ed è tutto ok: scrive!

Il problema è che vedo un'area si pixel leggermente accesi, la scritta nera è su uno sfondo grigetto! Qualcuno sa come mai? ho inserito il condensatore da 10uF ma non cambia nulla.

Per ora sto usando cavi volanti...avete qualche idea ci cosa può essere?

Secondo me è l'impostazione del contrasto, modifica il valore da software (sketch).

Se non cambia nulla dall'impostazione del contrasto come detto da nid, prova a cambiare libreria oppure a premere leggermente sopra il metallo nella parte più larga a volte il gommino del display non tocca bene la basetta..

Adafruit fornisce un ricco tutorial:

Magari può aiutarti.

Ciao a tutti:
Mi accodo anche io alla discussione. Ho visto anche io il problema di contrasto e ho risolto correggendo il valore del contrasto sullo sketch.
Poi volevo chiedervi dove trovare delle librerie per poter visualizzare caratteri più grandi e con linee più grosse.
Ormai giocando con le librerie ho capito come spostare il cursore e lavorare su più righe ma il carattere più grosso mi manca. dovrei fare un cronometro per applicazioni sportive e mi servirebbe avere un display molto visibile, purtroppo non riesco a trovare le librerie adatte per numeri grandi.
Mi piacerebbe avere al posto di 5 righe un carattere alto come 3 righe e uno sotto alto come uno da 2 righe.

Saluti a tutti.

Gustavo