Go Down

Topic: Errore fotoresistenza display  (Read 143 times) previous topic - next topic

Pippo199

Jun 22, 2019, 04:29 pm Last Edit: Jun 22, 2019, 06:10 pm by Pippo199
Salve a tutti, non sapevo dove mettere il topic quindi l'ho messo in generale.
Sto facendo un progetto per scuola ma quando misuro il valore della fotoresistenza mi inserisce quei due caratteri strani dopo il valore, vorrei sapere da cosa dipendono e se si possono togliere.
Vi allego la foto del display e vi incollo lo sketch così penso possiate capire meglio il mio problema.
Grazie in anticipo.

Code: [Select]
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
int fotor=A0;
int luce=0;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
lcd.init();
lcd.backlight();
pinMode(fotor,INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
lcd.clear();
luce=analogRead(fotor);
lcd.setCursor(0,0);
lcd.print("Luce=");
lcd.println(luce);
delay(1000);
}

gpb01

#1
Jun 22, 2019, 05:17 pm Last Edit: Jun 23, 2019, 11:35 pm by UweFederer
>Pippo199:  ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag:
[code]_il _tuo_ codice_ [/code]
 così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie. :)

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non avrai sistemato il codice come richiesto dal regolamento, nessuno ti potrà rispondere, quindi ti consiglio di farlo al più presto. ;)

P.P.S.: Ti chiedo anche di usare la funzione di formattazione automatica del codice, di cui dispone l'IDE (Strumenti -> formattazione automatica), per sistemare le indentature e rendere il tutto più leggibile. Grazie :)
Search is Your friend ... or I am Your enemy !

Pippo199

Ho provveduto a modificare il post, adesso non sono a casa con il computer ma appena torno userò anche la formattazione automatica.  :)
 Spero adesso possiate aiutarmi

gpb01

Prova a rimpiazzare lcd.println(luce); con lcd.print(luce); e vedi se spariscono ... ::)

Guglielmo
Search is Your friend ... or I am Your enemy !

Pippo199

Funziona!!!
Grazie mille del supporto

docdoc

Funziona!!!
Spiegazione: la println() dopo ciò che vuoi mostrare, stampa automaticamente un "a capo" ossia i due caratteri Carriage Return (o CR) e Line Feed (o LF), i quali però hanno senso solamente sulla seriale perché i display LCD non supportano questi caratteri in quanto indirizzi direttamente tu la posizione di ciò che vuoi scrivere.

Detto questo, la foto che hai postato non mi risulta corrispondere al codice che hai indicato perché nel secondo scrivi la stringa "luce=" seguita direttamente dal valore letto dal pin analogico (poi i due CR e LF che diventano quei simboli "strani") mentre nell'immagine il valore lo scrivi nella riga successiva e l'hai fatta seguire da simbolo di percentuale (che tra l'altro non calcoli nello sketch). E' sempre meglio postare esattamente il programma usato, corrispondente alle immagini o output che si riportano, altrimenti fai confondere chi vuole aiutarti..;)
Alex "docdoc" - ** se ti sono stato d'aiuto, un punto karma sarà gradito, clicca su "add" qui a sinistra, vicino al mio nome ;) **

Go Up