Datoriserade Etch en skiss (15 / 16 steg)
Steg 15: läckra!
här är några exempel, men för att komma igång:
draw_square (int sida)
{
PWM(255,0,1,0,Side);
PWM(0,255,0,1,Side);
PWM(255,0,0,0,Side);
PWM(0,255,0,0,Side);
}
Jag använder trig-funktioner i det här exemplet, och måste du hitta några avr bibliotek som stöder dem.
eller bara piska upp en tabell
draw_circle (int radius)
{
dubbel x, y, xp, yp, int mag;
unsigned char xval, yval;
XP = radie;
YP = 0;
unsigned char xdir, ydir;
för (dubbel theta = 0; theta < 360, theta ++)
{
x=RADIUS*cos(theta);
y=RADIUS*sin(theta);
IF(x>XP)
xdir = 1;
annat
xdir = 0;
IF(y>YP)
ydir = 1;
annat
ydir = 0;
Angle=atan((y-YP)/(x-XP));
xval=255*ABS(COS(Angle));
yval=255*ABS(sin(Angle));
mag=sqrt(Pow((y-YP),2)+Pow((x-XP),2));
PWM(xval,yval,xdir,ydir,mag);
}
}
Utveckla hund önskar lycka till i din programmering strävanden!
Valerie hunden tyder du lyssnar till DJ Z-resa. Vänta, som inte är Valerie. Det är jag.