-         

Ergebnis 1 bis 2 von 2

Thema: Robby RP6 ACS Programmfehler, bitte um Hilfe.

  1. #1

    Robby RP6 ACS Programmfehler, bitte um Hilfe.

    Anzeige

    Schönen guten Tag,

    ich habe zu Weihnachten einen Rp6 bekommen und habe sogleich mit der Programmierung begonnen.
    Der Roboter soll sobald der Infrarotsensor ein Hindernis erkennt erstmal nur anhalten!

    Die Bumper sind als Notaus gedacht, und funktionieren auch einwandfrei.

    Wo ist der Fehler in der Software?
    Es gibt keine Reaktion auf ein Hindernis.
    Selbsttest 100% i.O.

    Das Beispielprogramm für ACS funktioniert ebenfalls, ich möchte aber noch keinen Event Handler nutzen.

    Programm:

    Code:
    #include "RP6RobotBaseLib.h" 
    
    int main(void)
    {
        initRobotBase(); 
        while(true){
        
        powerON();
        moveAtSpeed(50,50);
        
        setLEDs(0b001001);            // green LEDS on  1/4
        
        
        if(getBumperLeft()||getBumperRight()){ 
        stop();
        setLEDs(0b010010);
        
        }
        mSleep(50);
        task_motionControl();
        task_ADC();
        task_ACS();                 // Infrarot aktiv
        
        
        setACSPwrHigh();            // größte Reichweite der Sensoren
        
        
        if(obstacle_left || obstacle_right){
        
        moveAtSpeed(0,0);    }        // Anhalten wenn Hindernis erkannt!
    
        }
            return 0; 
    }
    Geändert von radbruch (27.12.2011 um 14:23 Uhr)

  2. #2
    Benutzer Stammmitglied Avatar von fulltime
    Registriert seit
    08.10.2011
    Beiträge
    50
    Der Befehl moveAtSpeed(50,50), der als zweites in der Endlosschleife steht, solltest du vor die Schleife setzen. Denn so wie du es programmiert hast bleibt er stehen solange stehen bis er wieder bei der Scheife bei moveAtSpeed ankommt.

    So wärs richtig, wenn ich mich nicht vertan habe:

    Code:
    #include "RP6RobotBaseLib.h" 
    
    int main(void)
    {
        initRobotBase();  
        powerON();
        moveAtSpeed(50,50);
        setACSPwrHigh();            // größte Reichweite der Sensoren
        setLEDs(0b001001);            // green LEDS on  1/4
        while(true){
        task_RP6System(); // Beinhaltet: task_ACD() ,task_ACS(), task_bumpers() und task_motionControl()
        if(getBumperLeft()||getBumperRight()){ 
        stop();
        setLEDs(0b010010);
        
        }
        mSleep(50);
       
        
        if(obstacle_left || obstacle_right)
       {
        
        moveAtSpeed(0,0);   
        }        // Anhalten wenn Hindernis erkannt!
    
        }
            return 0; 
    }

Ähnliche Themen

  1. Bitte hilfe bzw. ratschläge
    Von Muha im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 4
    Letzter Beitrag: 24.05.2009, 22:10
  2. --Wie fang ich an, bitte hilfe--
    Von Sp666dy im Forum AVR Hardwarethemen
    Antworten: 8
    Letzter Beitrag: 22.03.2008, 15:42
  3. Bitte um Hilfe bzgl TWI / I2C
    Von molleonair im Forum Assembler-Programmierung
    Antworten: 7
    Letzter Beitrag: 04.04.2007, 20:06
  4. ADC Problem bitte um Hilfe
    Von Crocodile im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 09.10.2005, 19:22
  5. Bitte um Hilfe
    Von Xeus im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 30.12.2004, 17:08

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •