-         

Ergebnis 1 bis 4 von 4

Thema: Kreisfahr-programm radius=1m umfang?

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

    Kreisfahr-programm radius=1m umfang?

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Ich möchte den rp6 kreis fahren lassen
    und mir mit hilfe der reletiv Konstanten pi π = 3,14159... den Umfang ausgeben lassen.

    Das soll eine kleine übung zum Proggen sein, da ich seit dem Winter nix mehr mit C gemacht habe und somit noch nicht viel weiter bin.

    ich habe mir grade erst Gedanke gemacht wie man das angehen könnte, also noch ganz frisch, und ich neuling

    *spannend

    gruss carlitoco

    Code:
    #include "RP6RobotBaseLib.h" 
    
    
    
    
    
    int main(void)
    
    {
    
    	initRobotBase();
    
    	setLEDs(0b111111);
    
    	mSleep(1500);
    
    	setLEDs(0b100001);
    
    
    
    	BUMPERS_setStateChangedHandler(bumpersStateChanged);
    
    	
    
    	powerON(); 
    
    
    
     	changeDirection(FWD);
    
    	moveAtSpeed(80,30);   
    
    
    
    	while(true) 
    
    	{
    
    		blink();
    
    		task_RP6System();
    
    	}
    
    	return 0;
    
    }
    
    
    hier bei dem beispiel prog wird der kreis ja über die motorgeschwindigkeit gefahren...

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.10.2007
    Ort
    Solingen
    Alter
    25
    Beiträge
    177
    Ich kann dir ein Programm mit dem du im Kreis fahren kannst schicken, da kannst du auch halbe kreise Fahren und viertel Kreise usw und radius einstellen und geschwindigkeit.

    Nur falls du das als Anregung haben willst.
    Das war das erste Programm was ich gemacht habe

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.12.2007
    Ort
    Berlin
    Alter
    33
    Beiträge
    211
    ja zeig mal .. .so als beispiel bestimmt nicht schlecht..

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.10.2007
    Ort
    Solingen
    Alter
    25
    Beiträge
    177
    hi, hier ist der Code(nicht grad der sauberste, ich kann garnicht glauben, dass ich den mal geschrieben hab)
    Code:
    uint8_t breakcircle=0;
    void circle(uint16_t radius, uint8_t outerspeed, uint8_t rl, uint16_t winkel)
    {
    	float pi=3.141592654;
    	
    	int32_t strecke=((((radius+60)*2)*pi)*1.25);
    	int32_t strecke2=((((radius-60)*2)*pi)*1.25);
    	stecke=strecke+strecke2
    	stecke2=strecke2+(strecke2/strecke*strecke2)
    	writeInteger(strecke,DEC);
    	writeChar('\n');
    	writeInteger(strecke2,DEC);
    	
    	
    	
    	int16_t innerspeed=outerspeed*strecke2/strecke;
    
    	startStopwatch1();
    	
    	//strecke=(strecke/360)*winkel;
    	//strecke2=(strecke2/360)*winkel;
    	if (breakcircle == 0)
    		{
    		
    		while (strecke>0 || strecke2>0)
    		
    		{
    			
    			
    			writeString("Strecke: ");
    			writeInteger(strecke,DEC);
    			writeChar('\n');
    			
    			writeString("Strecke2: ");
    			writeInteger(strecke2,DEC);
    			writeChar('\n');
    			
    			
    			if (rl==0)
    			{
    				moveAtSpeed(innerspeed,outerspeed);
    			}
    			else
    			{
    				moveAtSpeed(outerspeed,innerspeed);
    			}
    			if (getStopwatch1()>=200)
    			{
    				
    				writeChar('\n');
    				writeString("left speed: ");
    				writeInteger(getLeftSpeed(),DEC);
    				writeString("right speed: ");
    				writeInteger(getRightSpeed(),DEC);
    				if (rl==0)
    				{
    					strecke=strecke-mleft_speed;
    					strecke2=strecke2-mright_speed;
    				}
    				else
    				{
    					strecke2=strecke2-mright_speed;
    					strecke=strecke-mleft_speed;
    				}
    				setStopwatch1(0);
    			}
    			task_RP6System();
    		}
    	}
    	writeString("####################### \n ###############\n#############\n#########");
    	
    	
    }
    Sorry für den Denglischen Code.

    MfG blenderkid

Berechtigungen

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