ho fatto questo codice che mi stampa il valore del sensore di temperatura sullo schermo LCD. sapreste dirmi cosa devo scrivere per rendere questo valore centrato nello schermo?
allego il codice qui sotto:
#include <LiquidCrystal.h> //Carica la libreria per il display LCD
LiquidCrystal lcd(0, 1, 2, 3, 4, 5); //Configura connessione per tutte le funzioni
int Sensore; //Inizializzo le variabili
double ValoreADC1;
double Temp;
void setup() {
lcd.begin(16, 2); //LCD 16x2
}
void loop() {
ValoreADC1 = analogRead(Sensore); //Leggo ingresso
Temp=ValoreADC1*0.48828; //Converto ingresso
lcd.clear(); //Pulisci il display
lcd.print(Temp);
lcd.setCursor(5,0); //Stampa a schermo il carattere '°'
lcd.print("C");
delay(1000); //Attendi 1 secondo
}
Devi sapere a priori quanti caratteri occupa la temperatura che vai a scrivere dopo di che il conto è banale ... prendi il numero di caratteri per riga, sottrai quanti caratteri occupa la temperatura, quello che resta, lo dividi per due e quello è il numero di spazi da anteporre.
Esempio, nel caso che hai visualizzato hai 16 cattari di riga, meno 6 caratteri che scrivi (74.71C) fa 10 che diviso due da 5 che sono gli spazi che devi anteporre per centrare la scritta.
si lo so il problema ,almeno per me, è poi applicare questi codici con gli esercizi che mi da l'insegnante.
... occhio perché:
gli insegnati conoscono benissimo questo forum e, anche se voi non lo sospettate, vengono più spesso di quanto immaginate proprio a vedere se vi fate fare i lavori da altri ...
per correttezza qui evitiamo di fare i "compiti" anche perché gli insegnati ... ci sgamano !
ho risolto cosi quando devo mettere delle scritte su un display non metto mai dei numeri,
ma delle variabili, es: al posto di lcd.setCursor(5,0); mettero lcd.setCursor(pos_oriz_1,pos_vert_1); etc in questo modo cambiando il valore della variabile si sposta tutto nel posto voluto
questo vale sopratutto se hai tante cose da visualizzare su un display.