Ciao a tutti, siccome ho perso la serata di ieri a tentare di risolvere questo problema ma senza successo ho pensato di rivolgermi al forum
Dunque, come da titolo il mio problema sta nella rappresentazione delle cifre sul display, relativo al duty cicle da 0 a 100% e viceversa di un led. Ora, tutto funziona tranne il contatore, che rappresenta le cifre così:
Primo incremento:
0 _ % --> 10 % --> 90_% --> 100%
Primo decremento:
100% --> 990%(99%) --> 500%(50%) --> 000% (0%)
Secondo incremento:
100%(1%) --> 200%(2 o 20%) --> 700% (7 o 70%) --> 100%
e così via.
in pratica arduino rappresenta i numeri da SX a DX mentre io vorrei il contrario, cioè da destra a sinistra avere sempre unità, decine, centinaia ognuna nel proprio posto e senza quegli zeri rompiscatole.
esiste una funzione che fa questo o mi sto perdendo in un bicchiere d'acqua?? non ci salto fuori
il display è un 16,2 e utilizzo arduino uno. vi allego il codice. grazie a tutti in anticipo
#define LED 9
int valoreFade=0;
#include<LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
void setup() {
lcd.begin(16,2);
lcd.print("duty cicle %");
pinMode(LED,OUTPUT);
}
void loop(){
for (valoreFade = 0 ; valoreFade <= 255; valoreFade++) { // incremento valore pwm
int nuovoValore = map(valoreFade, 0, 255, 0, 100);
analogWrite(LED,valoreFade);
delay(30);
lcd.setCursor(11,0);
lcd.print(nuovoValore);
}
delay(2000); //piena potenza per 2 secondi
for(valoreFade = 255 ; valoreFade > 0; valoreFade--) { // decremento valore pwm
int nuovoValore = map(valoreFade, 0, 255, 0, 100);
analogWrite(LED, valoreFade);
delay(30);
lcd.setCursor(11,0);
lcd.print(nuovoValore);
}
lcd.setCursor(11,0);
lcd.print(" ");
delay(2000); //potenza zero per due secondi
}