Étape 5: Voici le code
Notez que le cercle est dessiné dans les 4 quadrants. Nous éclairer chaque y que nous calculons par 4 LED.
Les photos montrent les étapes pour dessiner le cercle comme rayon x parcourt de 0
#include < Charliplexing.h > Cercle : rayon, initial et max x / valeurs y void setup() void loop() Sub DrawCircle(int ink)
rayon int = 3 ;
int cx = 6 ; position x du cercle
int cy = 4 ; position y du cercle
{
Serial.Begin(9600) ;
LedSign::Init() ;
}
{
DrawCircle(1) ; Tracez le cercle
}
encre = 0: effacer le cercle
encre = 1: dessiner le cercle
{
pour (int x = 0; x < = rayon; x ++) / / x valeurs allant de 0 à rayon (un quart)
{
résoudre r ^ 2 = x ^ 2 + y ^ 2 pour y
float y = sqrt (pow (rayon, 2) - pow (x, 2)) ;
y = round(y*1) ;
Remplir la position y dans les 4 quadrants du cercle
LedSign::Set (x + cx, y + cy, encre) ; Quadrant 1
LedSign::Set (x + cx, cy - y, encre) ; Quadrant 4
LedSign::Set (cx - x, y + cy, encre) ; Quadrant 2
LedSign::Set (cx - x, cy - y, encre) ; Quadrant 3
}
}