Ciao ragazzi,
con i vostri aiuti sono arrivato a fare qualcosa, la barra in salita mi funziona, ora devo provare a fare la parte che torna indietro... Una domanda, Paulus mi ha messo il dubbio, in questo modo scrivo sempre i rettangolini o ne faccio uno per uno? Ovvero, faccio operazioni inutili anche a giri costanti? Ho fatto tre IF e tre FOR perchè la barra è divisa in 3 colori, è corretto così?
Grazie ancora
valore = analogRead(ingrana);
giri = map (valore, 0, 1024, 0, 73);
if (giri <= 16) {
myGLCD.setColor(255, 255, 255); //colore dei rettangoli bianchi
for (int i = 0; i < giri; i++)
{
int xpos = x[i]; //defnisce lo spostamento orizzontale
int ypos = y[i]; //posizione partenza da vert
x2 = xpos + 7; //larghezza dei rettangoli
y2 = ypos + 25; //altezza dei rettangoli
myGLCD.fillRect(xpos, ypos, x2, y2);
}
}
if (giri > 16 && giri <= 55) {
myGLCD.setColor(0, 255, 0); //colore dei rettangoli verde
for (int i = 16; i < giri; i++)
{
int xpos = x[i]; //defnisce lo spostamento orizzontale
y1 = (3); //posizione partenza da vert
x2 = xpos + 7; //larghezza dei rettangoli
y2 = y1 + 25; //altezza dei rettangoli
myGLCD.fillRect(xpos, y1, x2, y2);
}
}
if (giri > 55) {
myGLCD.setColor(255, 0, 0); //colore dei rettangoli verde
for (int i = 55; i < giri; i++)
{
int xpos = x[i]; //defnisce lo spostamento orizzontale
y1 = (3); //posizione partenza da vert
x2 = xpos + 7; //larghezza dei rettangoli
y2 = y1 + 25; //altezza dei rettangoli
myGLCD.fillRect(xpos, y1, x2, y2);
}
}