- LiFePO4 Speicher Test         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: rotation fehler

  1. #11
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.12.2007
    Ort
    Berlin
    Alter
    40
    Beiträge
    211
    Anzeige

    Powerstation Test
    macht er ja ! kannste ja mal ausprobieren !

    MFG

  2. #12
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.12.2007
    Ort
    Berlin
    Alter
    40
    Beiträge
    211
    hier noch ein blid zur verdeutlichung
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken rp6zickzack.gif  

  3. #13
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.12.2007
    Ort
    Berlin
    Alter
    40
    Beiträge
    211
    Ok langsam habe auch es bergiffen - habe es viel zu kompliziert angestellt -so lernt man
    Code:
    #include "RP6RobotBaseLib.h" 	
    
    
    
    #define MOVE_SPEED 110
    
    #define TURN_SPEED 65
    
    
    
    int main(void)
    
    {
    
    	initRobotBase(); 
    
    
    
    	mSleep(2500);
    
    	
    
    	powerON();
    
    
    
    	uint8_t move_count = 0;
    
    	uint8_t turn_direction = LEFT; 
    
    	
    
    	while(true) 
    
    	{		
    
    		move(MOVE_SPEED, FWD, DIST_MM(500), BLOCKING);
    
    		rotate(TURN_SPEED, turn_direction, 102, BLOCKING);
    
    		move(MOVE_SPEED, FWD, DIST_MM(100), BLOCKING);
    		rotate(TURN_SPEED, turn_direction, 102, BLOCKING);
    		move(MOVE_SPEED, FWD, DIST_MM(500), BLOCKING);
    		
    		rotate(TURN_SPEED, RIGHT, 102, BLOCKING);			
    		move(MOVE_SPEED, FWD, DIST_MM(100), BLOCKING);
    		rotate(TURN_SPEED, RIGHT, 102, BLOCKING);
    
    	}
    
    	return 0;
    
    }

  4. #14
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    39
    Beiträge
    1.516
    Hallo carlitoco,

    kompliziert ist ja nicht unbedingt schlimm - das trainiert ja auch


    Hier mal ein paar allgemeine Fehler in dem alten C Code von oben:

    > if(move_count =1 )

    In If Bedingungen musst Du immer == verwenden. Sonst wäre es eine normale Zuweisung und kein Vergleich!
    Der Compiler meckert hier nicht, da das Ergebnis der kompletten Zuweisung ausgewertet wird (und das ist immer 1, also wahr).


    Hier bin ich mir nicht sicher ob die Einrückung so gewollt ist oder ob das Forum das nur anders formatiert hat:
    Code:
        if(turn_direction == LEFT)
                turn_direction = RIGHT;
          else  // {  Soll der Code als ein Block ausgeführt werden?? 
                turn_direction = LEFT;
                move(MOVE_SPEED, FWD, DIST_MM(100), BLOCKING);
                rotate(TURN_SPEED, turn_direction, 101, BLOCKING); 
         // }
    aber mach mal lieber { Klammern } um den Code der bei if und else ausgeführt werden soll....
    (Einfach nur einrücken reicht nicht sofern die drei Befehle nach dem else auch nur dann ausgeführt werden sollen wenn die Bedingung nicht erfüllt ist! )

    Wenn Du Dir nicht 100%ig sicher bist wo Du Klammern weglassen kannst, mach lieber zwei Klammern zuviel als zuwenig

    MfG,
    SlyD

  5. #15
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    da ich meinen rp6 mit Bascom laufen lasse, macht er was ich möchte ohne fehler.

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

12V Akku bauen