Pagina 1 di 2

Strano simbolo su display LCD 16x2-termostato-arduino

MessaggioInviato: 23 lug 2015, 14:07
da danielepower
Salve EY,
Con arduino ho assemblato un "piccolo termostato" con display LCD più comando relè.
Sul display LCD 16x2 compaiono questi due simboli:
simboli.PNG


Forse ho sbagliato qualcosa nello sketch? eccovelo:
Codice: Seleziona tutto
//TEMPERATURA SU LCD 16x2 + Relè
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);  //define pins
int potPin = 0; //A0 LM35

void setup()
{
Serial.begin(9600);
lcd.begin(16,2);
  lcd.print("Temp. attuale:"); //display superiore
  pinMode(10,OUTPUT); //Relè
}
void loop()
{
int val;
int dat; //variabile con temperatura in gradi
val=analogRead(0);
dat=(125*val)>>8; //formula Temperatura

Serial.print("Temperatura misurata LM35:"); //Seriale
Serial.print(dat);
Serial.println("C");
delay(500);//delay 0.5 s

lcd.setCursor(4,1); 
  lcd.print(dat);
  lcd.println("'C");
 
  if (dat>=35){ //Relè
    digitalWrite(10, HIGH);
  }
  else{
   digitalWrite(10,LOW);
  }
}



Servono altre informazioni?
Grazie O_/

Re: Strano simbolo su display LCD 16x2-termostato-arduino

MessaggioInviato: 23 lug 2015, 14:31
da Russell
Forse il display non era correttamente inizializzato
dovresti stampare degli spazi nei caratteri non utilizzati
prova con
Codice: Seleziona tutto
lcd.println("'C  ");


EDIT.

Ah, forse è pure il println che da fastidio, in quanto aggiunge il carriage return a fine stringa
usa solo la funzione print()

Re: Strano simbolo su display LCD 16x2-termostato-arduino

MessaggioInviato: 23 lug 2015, 15:06
da danielepower
Ho levato "ln" lasciando solo "lcd.print" e non escono i simboli O_/

Re: Strano simbolo su display LCD 16x2-termostato-arduino

MessaggioInviato: 23 lug 2015, 15:56
da TardoFreak
E hai capito il perché? :cool:

Bisognerebbe capire il perché succedono le cose e non solo metterci una toppa.

Re: Strano simbolo su display LCD 16x2-termostato-arduino

MessaggioInviato: 24 lug 2015, 16:51
da danielepower
Si, hai ragione #-o
Come soluzione mi ero dato che ".println" si usa solo per andare a capo sul seriale..

Che differenza c'è tra ".print" e ".println"? :oops:
O_/

Re: Strano simbolo su display LCD 16x2-termostato-arduino

MessaggioInviato: 24 lug 2015, 18:03
da TardoFreak
Per andare a capo sulla seriale bisogna inviare due caratteri: CR e LF. Questi sono rispettivamente i codici ASCII 0x0D e 0x0A.
Il CR (carriage Return) fa ritornare il cursore a capo, LF (line feed) sposta il cursore in basso di una linea.
Quindi, dopo la sequenza di caratteri, ci ritroveremo il cursore all'inizio di una nuova linea.
Ora, probabilmente hanno implementato il metodo println anche per LCD semplicemente inviando i due caratteri CR e LF che, ovviamente, non svolgono il compito ma corrispondono a due caratteri non identificati.
Per questo motivo vengono stampati due caratteri strani che io chiamo "fiorellini".
Il metodo print invia solo ed esclusivamente i caratteri della stringa senza farli seguire da CR e LF.

P.S: Rifai subito le saldature sul connettore del display perché sono orribili. E un ordine! Rauss! :mrgreen:

Re: Strano simbolo su display LCD 16x2-termostato-arduino

MessaggioInviato: 25 lug 2015, 1:17
da danielepower
Ah ok, grazie TardoFreak, ora mi è più chiaro. Come linguaggio C conosco appena (appena appena) le basi e il resto lo sto imparando da autodidatta leggendo gli sketch online e modificandoli a mio piacere(si, commetto vari errori ma poi riflettendoci per ore riesco a risolvere :mrgreen: )

P.S: Rifai subito le saldature sul connettore del display perché sono orribili. E un ordine! Rauss! :mrgreen:

Shh..quando decisi di pubblicare la foto avevo pensato di tagliare la parte dove si vedevano le saldature. Quella mattina mi tremava la mano che era una cosa impossibile e, infatti, sono venute veramente schifose #-o ma funziona senza problemi,per il momento :mrgreen:
O_/

Re: Strano simbolo su display LCD 16x2-termostato-arduino

MessaggioInviato: 25 lug 2015, 1:20
da TardoFreak
danielepower ha scritto:... il resto lo sto imparando da autodidatta leggendo gli sketch online e modificandoli a mio piacere ...

... e quindi non stai imparando niente, scusa la franchezza. :(
Le saldature basta ripassarle. Prendi il saldatore ben caldo, lo posi sulla saldatura ed aspetti da 5 a 10 secondi che questa si spanda da sola. Fai una pausa di 30 secondi fra un punto di saldatura e l'altro ed otterrai una serie di saldature impeccabili in pochi minuti.
Ed impeccabili lo saranno per sempre. :ok:

Re: Strano simbolo su display LCD 16x2-termostato-arduino

MessaggioInviato: 28 lug 2015, 0:12
da danielepower
TardoFreak ha scritto:... e quindi non stai imparando niente, scusa la franchezza. :(

mh..forse si..forse no :-|
Quali sono le altre alternative?

Oltre a metterli insieme e modificarli gli sketch cerco di capirli a fondo. Mi aiuto con qualche tutorial online ma comunque cerco di scriverli da soli gli sketch (questo mi ha aiutato un bel pó ). Certo di sicuro non imparerò il C ma spero riuscirò ad utilizzare arduino :lol:

Re: Strano simbolo su display LCD 16x2-termostato-arduino

MessaggioInviato: 28 lug 2015, 0:13
da TardoFreak
danielepower ha scritto:... Certo di sicuro non imparerò il C ma spero riuscirò ad utilizzare arduino :lol:

E quindi non imparerai niente.

sorry