Display grafico ....... nemmeno un pixel

Ho acquistato questo lcd grafico: http://www.robot-italy.com/product_info.php?cPath=59_62&products_id=1680

Dietro è presente una schedina che lo trasforma in seriale con un atmega168. questa: http://www.robot-italy.com/product_info.php?cPath=59_62&products_id=1232

Ho provato a spippolare in tutti i modi ma non sono riuscito a vedere un pixel acceso.

Come va collegato ? Devo collegare sia tx che rx ? Devo usare qualche libreria ?

Grazie per le eventuali informazioni.

Alberto

hai seguito il tutorial? http://www.sparkfun.com/tutorials/120

Attualmente questi lcd seriali (che preferisco di gran lunga) permettono solo la linea d'ingresso. La linea d'uscita al momento è inutilizzata. Per tale ragione collega il pin in ingresso del lcd e collegalo ad uno dei pin digitali dell'arduino. A questo punto per comunicare ciò che vuoi devi utilizzare la libreria softwareserial.

In ogni caso la velocità di comunicazione di default è 115200, per cui devi inizializzare la seriale con tale velocità. Solo successivamente puoi modificarla. Fatto ciò, qualsiasi cosa tu invii alla seriale viene automaticamente scritto sullo schermo.

Per svolgere funzioni avanzate devi utilizzare gli appositi comandi. Purtroppo non ho con me il codice, se dovesse servirti chiedi pure ;)

m.alverman:
Ho acquistato questo lcd grafico:

Quando lo accendi ti appare per qualche istante il logo di Sparkfun ?
Se la risposta è positiva allora il display è sicuramente funzionante.
Se la risposta è negativa allora c’è un problema, la prima cosa da verificare è il contrasto, se è troppo basso non vedi nulla, per sicurezza gira con delicatizza il trimmer fino a che non vedi diventare il display scuro dopo di che torna indietro fino a che non torna chiaro.
Verifica di alimentare il display con una tensione di almeno 6.5Volt, non puoi usare il 5V di Arduino, se non è così non funziona oppure funziona in modo anomalo.
Intanto fai queste verifiche e poi vediamo le altre possibili azioni.
Basta che colleghi il Tx di Arduino all’Rx del display, non seguire il consiglio di usare la seriale software, è sempre da evitare se non vi si è costretti, oltretutto in questo caso non hai nessun problema per programmare Arduino perchè usi solo Tx, al limite vedrai apparire cose strane sul display mentre fai l’upload del programma.

Nel mio caso ho dovuto utilizzare la serialsoftware in modo da avere un output su pc e un output su seriale differenti! Ovviamente se non c'è tale necessità è sicuramente meglio utilizzare la seriale come astrobed ha giustamente consigliato!

La 5V dell'arduino la puoi usare, funziona, ma non basta per alimentare correttamente il tutto, magari a lungo andare può creare problemi.

Non puoi usare il 5 Volt, e cè pure scritto sul datasheet del controller, perché su quella scheda c'è un regolatore di tensione che ti fa cadere circa 0.7-1 Volt, è vero che l'ATmega funziona lo stesso con una tensione inferiore, ma non è la stessa cosa per il display che se alimentato con tensioni minori di 5V o non funziona del tutto oppure funziona male. Questo è lo schema della controller dove si vede benissimo il regolatore in ingresso e che la relativa linea si chiama Vin, i 5V sono dopo il regolatore. Queste sono le specifiche tecniche date da Sparkfun:

Supply voltage: 6V–7V DC Current draw: 220mA (backlight at 100%) Serial input: 0-5V Adjustable baud rate (115200 default) with 8 data bits, no parity, 1 stop bit Draw text, circles, lines boxes Turn on or off individual pixels Potentiometer controlled contrast adjustment Backlight control

Sono assolutamente d'accordo con te sul fatto che non è cosa buona, ma ho fatto delle prove e funziona, per ore. Possibilmente l'avrò anche compromesso, non so, ma era per prova. Ovviamente non consiglio a nessuno di farlo!

Se alimenti dei circuiti integrati fuori dalle specifiche dichiarate o li rompi, non funzionano o funzionano con effetti strani e non prevedibili.

Conclusione: per avere un Display che funzini in modo affidabile lascia stare di alimentare il display col interfaccia Seriale con 5V.

Ciao Uwe

Era il contrasto :)

Sono riuscito a stampare dei caratteri ma se volessi stampare qualcosa di grafico, tipo un cerchio o un quadrato come faccio con i comandi seriali ?

Ho provato così ma mi da errore

GLCD.print (DrawRect(0, 0, 64, 61, BLACK));

Grazie, Alberto

Come faccio a mandare su seriale il comando :

d (0x04)

Grazie, Alberto

Ti riporto spezzoni del mio codice, ricordo che io ho collegato il cavo ad un pin analogico ed ho usato la libreria NewSoftSerial:

    Display.begin(115200); //INIZIALIZZA COMUNICAZIONE
    Display.print(char(0x7C)); //ENTRA IN PROGRAMMAZIONE
    Display.print(char(0x00));  //CANCELLA DISPLAY
    Display.print(char(0x7C)); //ENTRA IN PROGRAMMAZIONE
    Display.print(char(0x02));  //ENTRA IN PROGRAMMAZIONE LUMINOSITA'
    Display.print(char(0x00));  //SETTA LUMINOSITA' A 0

Poi con semplici Display.print(...), stampi semplice testo.

Dalla libreria della SparkFun poi vedi tutto ciò che è possibile fare : http://www.sparkfun.com/datasheets/LCD/Monochrome/Corrected-SFE-0016-DataSheet-08884-SerialGraphicLCD-v2.pdf

Ricorda che per entrare in programmazione devi usare questo comando: Display.print(char(0x7C))

Grazie