Salve,
Sto programmando un Leonardo per la funzione Keyboard da utilizzare come pulsanti cockpit per Flight Simulator X.
Ho un problema per gestire le cifre sullo schermo LCD, in particolare quelle del trim, dove ci sono numeri positivi e negativi (da 10 a -10). Sui numeri positivi ho utilizzato "variabile /10 %10" e "variabile %10". I negativi come li devo gestire? considerando che mostra il "-" e poi sballa tutto sull'lcd.
Di seguito il codice...che ho aggiustato per renderlo più comprensibile perché non era elegantissimo. Allego la sezione void loop con la sola funzione 'trim' dove c'è il problema della visualizzazione numerica su lcd. Il resto del codice va bene.
@hagu78: come richiesto al punto 7 del REGOLAMENTO , per favore edita il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita che si trova in basso del tuo post), seleziona la parte di codice e premi l'icona </> nella barra degli strumenti per contrassegnarla come codice. Inoltre, così com'è, non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmdT su un Mac, sempre all'interno del IDE).
Grazie,
Guglielmo
P.S.: Ti ricordo che, purtroppo, fino a quando non sarà sistemato il codice come indicato, nel rispetto del regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di sistemare al più presto.
Ho risolto il problema del potenziometro. Funziona tutto.
Unico problema rimasto è la visualizzazione del valore su LCD
della variabile riferita al potenziometro Trim.
I valori che restituisce vanno da +10 a -10 per controllare su FlightSimulator il beccheggio.
Su lcd, i numeri positivi si vedono bene. Scendendo dallo 0 ad un numero negativo e ritornando sui valori positivi, riscontro il problema della visualizzazione corretta su schermo LCD
Sia sui valori positivi che negativi utilizzo:
Beh se il problema è il carattere in più non credo che tu possa farci molto, se non prevedere uno spazio in più (quindi non solo 2 caratteri ma 3) ossia scrivi il prefisso, ' ' per i positivi e '-' per quelli negativi. Una cosa di questo tipo:
Perché stampa solo il valore. Se è minore di 10, ad esempio 4, lcd.print(abs(potTrimVal)) stampa solo "4" e non " 4" o "04".
Hehe, si a funzionare funzionano, ma invece di quella catena di elseif che come dicono a New York "nun se po' vede'" nel tuo caso ti basta una istruzione: