Einen Fehler sehe ich schon hier:
ACS_INIT();
Da müsste zB stehen ACS_INIT(4);
Du musst ne zahl zwischen 1 und 7 in die klammer setzen da sonst die lib nichts mit dem befehl anzufangen weiss...
Teste mal was passiert wenn du das machst...
Und zum eigentlichen code:
Bitte vergleiche deinen mal mit diesem hier dann wird dir bestimmt ein unterschied auffallen...
Code:
void main(void)
{
PRO_BOT128_INIT(); //PRO-BOT128 Setup
ACS_INIT(5); //ACS setup / sensitivity 1 To 20 / 1=near / 20 =far
AbsDelay(1000); //Wait 1Sec.
BLL_ON(); //Back LED left "ON"
BLR_ON(); //Back LED right "ON"
ENC_LED_ON(); //Encoder IR-LEDs "ON"
DRIVE_ON(); //Motor "ON"
do //Endless Loop
{
//Drive behaviour
if ((ACS_LEFT() == 1) && (ACS_RIGHT() == 1)) Forward();
if ((ACS_LEFT() == 0) && (ACS_RIGHT() == 0)) Backward();
if ((ACS_LEFT() == 1) && (ACS_RIGHT() == 0)) Turn_Left();
if ((ACS_LEFT() == 0) && (ACS_RIGHT() == 1)) Turn_Right();
} while (1);
}
void Forward(void) //Drive forward
{
DRIVE_FORWARD(7); //Drive forward, speed 1 To 10 : Value = 7
DELAY_MS(150); //Wait 150ms
}
void Backward(void) //Drive backward
{
GO_TURN(-15,0,150); //Backward 15cm, Speed = 150
GO_TURN(0,60,150); //Turn right, speed = 150
}
void Turn_Left(void) //Turn left
{
GO_TURN(0,-45,150); //Turn left, Speed = 150
}
void Turn_Right(void) //Turn right
{
GO_TURN(0,45,150); //Turn right, Speed = 150
}
Dein Code ist sehr Lückenhaft...
Es fehlt zB der Befehl ENC_LED_ON() und auch noch etliches anderes.
Kopiere doch mal den Code von mir und teste mal...
Der sollte klappen...
Gruß
Lesezeichen