[RISOLTO] Lancetta orologio su TFT

BaBBuino:
Grazie Nid.

Ho risolto poco fa estrapolando e adattando una sezione di codice da un esempio per Nokia 5110 di Adafruit.

In realtà non devo fare un orologio, ma a display un visualizzatore per la posizione di un motorino passo-passo (tipo lancetta su cerchio, come i secondi).

Sono 96 posizioni e non 60, e poi non è legato ad una struttura second di time.h, ma, ovviamente, ad un mio contatore a partire dalla pos. zero.

Con un sacco di faticaccia ho convertito la funzione Adafruit orologesca alle mie esigenze:

Ecccola...

void Radianti() {

myGLCD.printNumI(counter, RIGHT,0);   //stampo il numeretto della posizione da 0 a 95
angle = ((2 * pi / 96) * counter);   // variabile angle, che mi dice l'angolo in radianti / 96, e non 60 (orologio), posizioni del motorino
myGLCD.setColor(VGA_BLACK);  // riga nera per sovrascrivere-cancellare quella disegnata precedentemente
myGLCD.drawLine(160, 120, end_x, end_y);  // riga nera ecc.

end_x = (hand_radius * cos (angle)) + 160; // calcolo fine riga x  con raggio, coseno di angle, e il punto di origine-centro del cerchio
end_y = (hand_radius * sin (angle)) + 120;  //calcolo fine riga y  con raggio, coseno di angle, e il punto di origine-centro del cerchio
Serial.println(end_x);   // un pò di debug per capire dove vado a parare
Serial.println(end_y);
myGLCD.drawLine(160, 120, end_x, end_y);   // finalmente disegno la mia linea-lancetta su 96 posizioni
}




Alla fine niente di trascendentale eh!