Hey,
also wie du sicher schon irgendwo gelesen hast (falls nicht dann geh hier hin: Servo) wird der servo über die länge des impulses an seine position dirigiert
bei motoren wird es normal über die spannung gemacht, der fahrtenregler übernimmt das aber für dich...
beim servo sind 1ms länge = linker anschlag (oder rechts kA) und 2 ms der andere
bei 1,5 ms steht er in der mitte
bei motoren ist es so, dass der motor bei 1,5 ms stillsteht, alles was drüber (bis maximal 2ms) ist ist vorwärts (oder rückwärts kA; je näher an 2 desto schneller) und alles was drunter ist bis minimal 1 ms ist rückwärts (vgl. drüber)
versuchs also mal so:
Code:
#include "RP6RobotBaseLib.h"
int main(void)
{
initRobotBase();
DDRA |= 1;
DDRA |= 2;
int x = 12; // 10<=x<=20; wenn x >15 in die eine richtung, x<15 in die andre, x=15 stillstand
while(true)
{
PORTA |= 1;
sleep(x);
PORTA &= ~1;
PORTA |= 2;
sleep(30-x);
PORTA &= ~2;
sleep(170);
}
return(0);
}
ach ja, ich hab mal die for-schleife raus, die war ja unnötig xD
LG Pr0gm4n
Lesezeichen