Habe jetzt ein kleines Programm geschrieben.
habe nur das problem, dassder servo nach dem stellen auf den mittelpunkt nur noch "herumzuckt" !!
Was mache ich falsch ??
Code:
#include"RP6RobotBaseLib.h"
void servo_scl (uint8_t imp)
{
DDRC |= SCL;
PORTC |= SCL;
sleep(imp);
PORTC &= ~SCL;
sleep(200-imp);
}
void servo(void)
{
uint8_t i=0, x;
i=0;
x=10;
while(i<10) //200ms
{
servo_scl(x);
i=i+1;
}
x=x+1;
if (x>=20)
{
x=10;
}
i=0;
}
void servol(void)
{
uint8_t i=0, x;
i=10;
x=0;
while(i>15) //200ms
{
servo_scl(x);
i=i+1;
}
x=x+1;
if (x<=20)
{
x=10;
}
i=0;
}
int main(void)
{
initRobotBase();
uint8_t i=0, x;
i=0;
x=10;
powerON();
while(true)
{
servo();
move(70, BWD, DIST_MM(150), BLOCKING);
servol();
servo();
move(70, FWD, DIST_MM(150), BLOCKING);
servol();
}
while(true)
{
writeString_P("\n Endlosschleife");
}
return 0;
}
Lesezeichen