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...
Dein Code ist sehr Lückenhaft...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 }
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ß







Zitieren

Lesezeichen