Salve a tutti e buon anno!
Oggi sono qui perchè ho incontrato un piccolo problema, utilizzando lo shield "display Nokia 6100" ed in sostanza, non riesco a trovare il modo di visualizzare la temperatura, su questo display.
Posto le poche righe di codice create:
//Programma di test display 6100
#include <ColorLCDShield.h>
LCDShield lcd;
int potPin = 0;
float temperature = 0;
int redLED=07; //Pin10 = Green LED
int yellowLED=12;
int greenLED=13;
long val=0;
void setup()
{
lcd.init(PHILLIPS); //Driver display
lcd.contrast(40); // contrasto
lcd.clear(WHITE); // fondo schermo
pinMode(redLED, OUTPUT); //LED controllo soglia...
pinMode(greenLED, OUTPUT); //LED controllo soglia...
pinMode(yellowLED, OUTPUT); //LED controllo soglia...
Serial.begin(9600);
Serial.println("Test Sonda "); //Test scrittura su seriale
lcd.setStr("TEMPERATURA", 2, 20, SLATE, WHITE);
lcd.setStr("MISURATA", 20, 30, SLATE, WHITE);
lcd.setStr(long)temperature, 40, 30, SLATE, WHITE); //questa riga l'ho creata con lo scopo di scrivere sul display, ma a quanto pare non funziona
}
void loop()
{
val = analogRead(potPin); //Leggo la temperatura da analogica
temperature = (5*val*100/1024); //Converto la tensione in temperatura
Serial.println ((long)temperature); //Stampo la temperatura senza virgole
if (temperature >= 150) {
digitalWrite (redLED, HIGH);
lcd.setStr("yes", 90, 30, SLATE, WHITE);
}
else
{
digitalWrite (redLED, LOW);
lcd.setStr("NO", 90, 30, SLATE, WHITE);
}
}
Ho creato questo piccolo programma con lo scopo di fare pratica con questo shield, ma il mio problema è nell' utilizzo della funzione "lcd.setStr" che riesco ad utilizzare solo, con caratteri alfanumerici.
Ho provato a leggere le istruzioni della funzione nel file allegato alla libreria, ma non riesco a riportare nel display, la temperatura rilevata.
In rete non ho trovato nessun esempio, a parte l'ormai consolidato display con libreria "Lcdcrystal".
Per chi volesse provare a compilare il codice, ricordo che funziona solo con IDE 1.0.
Ciao