[RISOLTO] Problema di visualizzazione su shield "Nokia 6100"

Salve a tutti,

Ho acquistato da poco uno shield con display Nokia 6100, ho inserito il codice nell' ide di Arduino , ma in fase di compilazione, mi riporta un errore, relativo alla mancanza del file "Wprogram.h".

Ho cercato il file in rete l'ho inserito, ma nulla da fare, purtroppo non sono molto pratico e onestamente pensavo funzionasse tutto al primo colpo, considerando che si tratta di un software demo.

Ringrazio in anticipo chi mi aiuterà a risolvere questo problema.

Link contenente lo zip: https://github.com/downloads/jimblom/ColorLCDShield/ColorLCDShield-July-16-2012.zip

Ciao

Ciao, il problema potrebbe essere dovuto al fatto che il codice demo è valido per la versione dell'IDE precedente alla 1.0, oppure il contrario e in questo caso tu stai usando l'ide 0022 o 0023.

Dacci maggiori info:

  1. Circa la versione dell'IDE arduino che stai usando.
  2. Il sistema operativo che stai usando.
  3. La board Arduino su cui stai provando la demo.

Ciao.

Salve e grazie per il tuo intervento,

Hai ragione, il problema è relativo ad una versione dell'ide, ma nel frattempo dopo diverse prove, sono riuscito a compilare il software e a caricarlo nel mio "Arduino UNO R2", anche se il risultato finale, non era proprio quello sperato, allego un immagine.

A questo punto mi trovo un po' spaesato, dal momento che non so se questa visualizzazione anomala, sia da imputare ad un guasto, o ad un problema software.

Il sistema operativo è Windows 7

Saluti

Non so il problema quale possa essere ma posso dirti che vedo li sulla sinistra c'è un tarlo sul legno di mogano :D.

A parte le battute, posta le foto ridotte per essere apprezzate sul forum.

Non conosco quella shield, ma per sicurezza controlla che tutti i pin della shield entrino negli header di arduino, controlla anche la posizione (dovrebbe essere vincolata).

Alla fine come hai risolto il problema software, potrebbe essere risolto solo apparentemente.

La tua versione dell'IDE arduino è?

Dubito si tratti di un guasto e comunque è troppo presto per dirlo.

Purtroppo devi sbatterti un po prima di riuscire nell'intento, se ti viene facile scarica la versione
dell'ide addatta a quello sketch demo e prova a compilare e a scrivere nella flash.

Ciao.

Ciao

mi riporta un errore, relativo alla mancanza del file "Wprogram.h".

MauroTec ha perfettamente ragione, si tratta di una libreria che non è ancora stata validata per IDE 1.00 o superiore.
Puoi provare a cercare nei file .h e .cpp una riga del tipo:

#include "WProgram.h"

e modificarla così:

#if ARDUINO >= 100
 #include "Arduino.h"
#else
 #include "WProgram.h"
#endif

in questo modo, nel caso di utilizzo di ide di versione inferiore alla 1.00, verrà caricata la WProgram.h, viceversa verrà caricata la Arduino.h (questo torna utile se usi la libreria con ide di versione differente).
La "vecchia" WProgram.h nel nuovo IDE (dalla 1.00 in poi) è stata di fatto rinominata Arduino.h.

Maggiori info qui:

La modifica che ti propongo, non garantisce però che il resto del codice funzioni senza problemi :stuck_out_tongue:

MauroTec:
Non so il problema quale possa essere ma posso dirti che vedo li sulla sinistra c'è un tarlo sul legno di mogano :D.

A parte le battute, posta le foto ridotte per essere apprezzate sul forum.

Non conosco quella shield, ma per sicurezza controlla che tutti i pin della shield entrino negli header di arduino, controlla anche la posizione (dovrebbe essere vincolata).

Alla fine come hai risolto il problema software, potrebbe essere risolto solo apparentemente.

La tua versione dell'IDE arduino è?

Dubito si tratti di un guasto e comunque è troppo presto per dirlo.

Purtroppo devi sbatterti un po prima di riuscire nell'intento, se ti viene facile scarica la versione
dell'ide addatta a quello sketch demo e prova a compilare e a scrivere nella flash.

Ciao.

La versione dell'Ide è la "1.0.1" e adesso non so più a cosa pensare, le ho provate tutte, anche modificando il

file "ColorLCDShiled.h", come consigliato da Pitusso, la compilazione avviene, ma la visualizzazione rimane la

stessa, con righe e puntini.

Ho reinstallato anche la versione "0.22" e il risultato è il medesimo.

A questo punto potrebbe esserci un guasto, forse su Arduino, visto che tutti e due gli shield Nokia

presentano lo stesso problema.

Ciao

Io continuo a pensare che ci sia un bug nel software che viene fuori nella tua circostanza, ma stando agli altri post sul colorshield l'esempio funziona, fai una ricerca sul forum.

Io ho trovato questa discussione http://arduino.cc/forum/index.php/topic,80554.0.html

Se vuoi testare arduino, devi scrivere uno skecth che faccia lampeggiare un led su ogni pin usato dalla shield.

Ciao.

Ciao e grazie ancora per la tua partecipazione, proverò sicuramente, mi stai dando delle dritte interessanti, anche perchè stressarsi quando capitano queste cose è molto facile, considerando che dovrebbe funzionare tutto al primo colpo, visto che si parla di shield e non di avventurarsi con processori ed interfacciamenti senza librerie e supporti vari, come si faceva una volta.

Grazie ancora e poi ti aggiornerò

Buon pranzo

Ciao

No no mai stressarsi per queste cose, la si deve prendere con filosofia, so per esperienza che alle volte la filosofia non basta, poi alle volte basta estranearsi dal problema e che so giocare con il gatto o fare altro e poi di un tratto "Idea".

Buon pranzo anche a te.
Ciao.

Ciao, penso di aver risolto,

nel frattempo per escludere un guasto sull' elettronica, ho fatto qualche prova e ho caricato il bootloader, su un altro 328 e il problema è sempre

rimasto, anche testando i pixel e provando tutte le versioni dell' ide, dalla 022, fino alla 1.0.1 ed usando parecchio la ver. 1 che mi è sembrata la

migliore per questo scopo.

Poi in in rete, sono riuscito a trovare, tramite alcune FAQ, l'Arduino consigliato e collaudato per questo shield e morale è stato

testato con la versione UNO R3, mentre per le versioni più vecchie, non si sbilanciano su eventuali malfunzionamenti.

In sostanza R3 della versione UNO, ha una RAM più veloce e questo potrebbe essere la causa di questa rogna.

Anche Smart GPU, come altri display a colori, basano il loro funzionamento, su processori con ram più veloce, come ad esempio il 2560.

Adesso vorrei acquistare un Arduino 2560 (MEGA), anche perchè i costi mi sembrano poco più alti della versione R3 dell'UNO e potrei

utilizzarlo per futuri display, ancora più complessi come smart gpu, o simili.

Speriamo bene che la mia tesi sia corretta eheh :cold_sweat:

Ciao e grazie ancora

matrix77:
Ciao, penso di aver risolto,

nel frattempo per escludere un guasto sull' elettronica, ho fatto qualche prova e ho caricato il bootloader, su un altro 328 e il problema è sempre

rimasto, anche testando i pixel e provando tutte le versioni dell' ide, dalla 022, fino alla 1.0.1 ed usando parecchio la ver. 1 che mi è sembrata la

migliore per questo scopo.

Poi in in rete, sono riuscito a trovare, tramite alcune FAQ, l'Arduino consigliato e collaudato per questo shield e morale è stato

testato con la versione UNO R3, mentre per le versioni più vecchie, non si sbilanciano su eventuali malfunzionamenti.

In sostanza R3 della versione UNO, ha una RAM più veloce e questo potrebbe essere la causa di questa rogna.

Anche Smart GPU, come altri display a colori, basano il loro funzionamento, su processori con ram più veloce, come ad esempio il 2560.

Adesso vorrei acquistare un Arduino 2560 (MEGA), anche perchè i costi mi sembrano poco più alti della versione R3 dell'UNO e potrei

utilizzarlo per futuri display, ancora più complessi come smart gpu, o simili.

Speriamo bene che la mia tesi sia corretta eheh :cold_sweat:

Ciao e grazie ancora

Capisco, però devi postare il link alla faq così lo leggo pure io.

Di base la board Arduino UNO monta lo stesso microcontroller della 2009 UNO, UNO r2 solo che anzichè avere il case PDIP ha un case smd e sul micro ci sono 2 pin in più che hanno una sola funziona A6 e A7 in pratica sono gli ultimi 2 bit della porta A che nel PDIP mancano.

Ciao.

MauroTec:

matrix77:
Ciao, penso di aver risolto,

nel frattempo per escludere un guasto sull' elettronica, ho fatto qualche prova e ho caricato il bootloader, su un altro 328 e il problema è sempre

rimasto, anche testando i pixel e provando tutte le versioni dell' ide, dalla 022, fino alla 1.0.1 ed usando parecchio la ver. 1 che mi è sembrata la

migliore per questo scopo.

Poi in in rete, sono riuscito a trovare, tramite alcune FAQ, l'Arduino consigliato e collaudato per questo shield e morale è stato

testato con la versione UNO R3, mentre per le versioni più vecchie, non si sbilanciano su eventuali malfunzionamenti.

In sostanza R3 della versione UNO, ha una RAM più veloce e questo potrebbe essere la causa di questa rogna.

Anche Smart GPU, come altri display a colori, basano il loro funzionamento, su processori con ram più veloce, come ad esempio il 2560.

Adesso vorrei acquistare un Arduino 2560 (MEGA), anche perchè i costi mi sembrano poco più alti della versione R3 dell'UNO e potrei

utilizzarlo per futuri display, ancora più complessi come smart gpu, o simili.

Speriamo bene che la mia tesi sia corretta eheh :cold_sweat:

Ciao e grazie ancora

Capisco, però devi postare il link alla faq così lo leggo pure io.

Di base la board Arduino UNO monta lo stesso microcontroller della 2009 UNO, UNO r2 solo che anzichè avere il case PDIP ha un case smd e sul micro ci sono 2 pin in più che hanno una sola funziona A6 e A7 in pratica sono gli ultimi 2 bit della porta A che nel PDIP mancano.

Ciao.

L' ho chiamato FAQ, ma forse non è il termine più appropriato, sono le indicazioni del distributore: http://www.sparkfun.com/products/9950 e ci si

arriva dal quickstart Guide: Color LCD Shield Quickstart Guide - SparkFun Electronics, nella sottosezione "Requirements".

La frase in inglese fa riferimento al test effettuato su Arduino R3 (link) e non si sbilancia sulla versione antecedente, scrivendo che "dovrebbe
funzionare".

Facendo poi una ricerca su quel tipo di Atmega, sembra che la ram sia più veloce, questa è l'unica differenza importante che ho trovato.

Ciao

Hai frainteso leggendo le specifiche dalla board UNO R3, questa monta un chip diverso per svolgere le funzioni di interfaccia verso la USB del PC, poi per il resto il microcontroller su cui gira lo skecth è lo stesso delle altre UNO.

La tua versionde dello shield dovrebbe montare un chip EPSON per cui gli esempi che provi devono contenere questa riga di codice nel setup()

lcd.init(EPSON);

Comunque prova a sostituire quella riga con questa come da suggerimento di spark

lcd.init(PHILLIPS);

Anche se credo che ci sia un errore perchè il nome del marchio è PHILIPS con una sola L e non con due, ma al limite non compila proprio.

Ciao.

Avrai ricevuto la shield priva degli header e avrai dovuto provvedere a saldare questi alla board, controlla le saldature con una lente di ingrandimento e assicurati che siano fatte bene.

Ciao,

Avevi ragione, il problema stava proprio nei driver e da inesperto, non avevo notato quei settaggi malefici, anche se ieri pomeriggio cercavo di

capire dove si trovasse il riferimento del controller installato sullo shield e non trovando nessuna indicazione, ho lasciato perdere.

Da stupido mi sono concentrato sulla versione nuova di Arduino e mi sono fatto depistare, anche dall'errata interpretazione, inerente alla velocotà

superiore dello scambio dati.

Morale, grazie al tuo aiuto, questo è il risultato :wink:

Orologio.jpg

Nel link che mi hai fornito dice che se nella protezione che copre il display c'è un tab di colore rosso il driver è EPSON, se è BLU il driver è PHILIPS.

Lo posto per cortesia tutta la funzione setup() dello sketch con cui ti funziona il display?

Ciao.

MauroTec:
Nel link che mi hai fornito dice che se nella protezione che copre il display c'è un tab di colore rosso il driver è EPSON, se è BLU il driver è PHILIPS.

Lo posto per cortesia tutta la funzione setup() dello sketch con cui ti funziona il display?

Ciao.

Ciao, in questo caso penso sia il contrario, il tab è rosso, ma è Philips, ti posto il codice originale e poi il modificato:

Originale:

void setup()
{
/* Set up the button pins as inputs, set pull-up resistor /
for (int i=0; i<3; i++)
{
pinMode(buttonPins
, INPUT);*
_ digitalWrite(buttonPins*, HIGH);_
_
}*_

* hours = HOURS;*
* minutes = MINUTES;*
* seconds = SECONDS;*
* ampm = AMPM;*

_ /* Initialize the LCD, set the contrast, clear the screen /_
lcd.init(EPSON);
_
lcd.contrast(40);_
_
lcd.clear(BACKGROUND);_
Modificato:
void setup()
_
{_
_ / Set up the button pins as inputs, set pull-up resistor /_
_
for (int i=0; i<3; i++)_
_
{_
_ pinMode(buttonPins, INPUT);
digitalWrite(buttonPins, HIGH);
}*_

* hours = HOURS;*
* minutes = MINUTES;*
* seconds = SECONDS;*
* ampm = AMPM;*

_ /* Initialize the LCD, set the contrast, clear the screen /
lcd.init(PHILLIPS);
lcd.contrast(40);
lcd.clear(BACKGROUND);*

Ti confermo le 2 elle in Phillips, altrimenti da errore in fase di compilazione.
Ciao_

Ciao,
per essere di aiuto al prossimo potresti modificare il titolo del tuo primo topic con qualcosa del genere?
--> [RISOLTO] Problema shield display Nokia 6100

Grazie.

PaoloP:
Ciao,
per essere di aiuto al prossimo potresti modificare il titolo del tuo primo topic con qualcosa del genere?
--> [RISOLTO] Problema shield display Nokia 6100

Grazie.

Detto e fatto, effettivamente, strada facendo, il Topic ha preso un altra forma :wink:
Ciao