- LiFePO4 Speicher Test         
Ergebnis 1 bis 4 von 4

Thema: Problem bei der Ausrichtung nach Gradzahl: rechts oder links herum drehen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo Ernst,

    Einfach zuerst die Differenz der beiden Werte bilden und zwar den kleineren vom grösseren Wert abziehen.
    Ist der Wert grösser als 128 musst du über die 0 drehen.
    Dann musst du noch feststellen ob die 0 links oder recht von Startwert liegt.

    Code:
      diff = MAX(start, end) - MIN(start,end);
      if ( diff > 128 )
        {
           if ( start > end )
             {
                //  linksrum
             }
           else
              {
                // rechtsrum
              }
        }
      else
        {
           if ( start > end )
             {
                // rechtsrum
             }
           else
              {
                // linksrum
              }
        }
    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  2. #2
    Benutzer Stammmitglied Avatar von efb
    Registriert seit
    08.03.2011
    Beiträge
    51
    Vielen Dank Euch beiden, jetzt läufts!

    ich hab´s jetzt so gemacht:

    Code:
    if ((ziel-ist)<128 && (ziel-ist)>0)
    {
    	rotate(30, RIGHT, 10,IDLE);
    }
    else
    {
    	rotate(30, LEFT, 10,IDLE);
    }

    edit:

    nun ist mir doch nach Monaten aufgefallen, das das gar nicht so funktioniert, keine Ahnung wieso mir das vorher als richtig erschienen ist...

    Also doch lieber genau das Prinzip, so wie Peter(TOO) es geschrieben hat:

    Bei mir ist Kompass der Istwert.

    Code:
                                            if (Kompass>ziel)
    					{
    					      diff=Kompass-ziel;
    					}
    					else
    					{
    					      diff=ziel-Kompass;
    					}
    					
    					
    					if ( diff > 128 )
    					{
    						if ( Kompass > ziel )
    						{
    
    							rotate(30, RIGHT, 10,IDLE);
    
    						}
    						else
    						{
    
    							rotate(30, LEFT, 10,IDLE);
    
    						}
    					}
    					else
    					{
    						if ( Kompass > ziel )
    						{
    
    							rotate(30, LEFT, 10,IDLE);
    
    						}
    						else
    						{
    
    							rotate(30, RIGHT, 10,IDLE);
    
    						}
    					}
    Geändert von efb (29.01.2015 um 18:33 Uhr)

Ähnliche Themen

  1. Odometrie Querempfindlichkeit links-rechts
    Von der_smo im Forum Asuro
    Antworten: 4
    Letzter Beitrag: 05.02.2011, 20:54
  2. links/rechts Antriebverhältnis für Kreisbogenfahrt
    Von Lurchi im Forum Software, Algorithmen und KI
    Antworten: 6
    Letzter Beitrag: 11.04.2010, 19:09
  3. Links-Rechts-Micro auf 2 Stereo Lautsprecher aufteilen
    Von BIG Muzzy im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 19.09.2007, 06:04
  4. Programmierfehler Rechts, links und vorwärtsbewegung. Hilfe!
    Von MischaMV im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 26.04.2006, 09:53
  5. links oder rechts rum???
    Von Sommer im Forum Software, Algorithmen und KI
    Antworten: 7
    Letzter Beitrag: 12.05.2005, 09:20

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress