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

Thema: ASURO Kollision

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    14.04.2010
    Beiträge
    13
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Leute,

    sitze nun schon seit einigen Stunden an dem Programm, bekomme es aber absolut nicht auf die Kette, dass der Asuro der Linie folgt.
    Was mach ich nur falsch??


    Brauche dringendst Hilfe.

    Hamlet83



    Ach so der veränderte Quellcode.
    Code:
    int main (void) 
    { 
    Init();
    while (1)
    {
    t  = PollSwitch();
    t1 = PollSwitch();
    t2 = PollSwitch();
    LineData(data);
    MotorFwd();
    FrontLED(ON);
    BackLED(OFF,OFF);
    StatusLED(GREEN);
    if (t==0 || t1==0 || t2==0)
    {
    if ((data [0] > 50) || (data [1] > 50 ))
    {
    if ((data [0] < 32) && (data [1] > 32 ))
    {
    MotorDir(RWD,FWD); 
    MotorSpeed(0,160); 
    BackLED(OFF,ON); 
    StatusLED(RED); 
    }
    if ((data [1] < 32) && (data [0] > 32 ))
    {
    MotorDir(FWD,RWD);
    MotorSpeed(160,0); 
    BackLED(ON,OFF); 
    StatusLED(RED); 
    }
    if ((data [1] < 32) && (data [0] < 32 ))
    { 
    MotorFwd(); 
    BackLED(ON,ON); 
    StatusLED(GREEN); 
    }
    }
    else
    MotorFwd(); 
    BackLED(ON,ON); 
    StatusLED(GREEN);
    }
    else
    {
    if (t && t1 && (t == t1) && (t1 == t2) && (t == t2))	
    { 
    MotorStop();					
    if (t1 & 0x07) 
    {
    MotorRwd();
    BackLED(ON,ON); 
    StatusLED(RED); 
    for (i=0;i<400;i++)
    {Sleep(255);} 
    MotorRwdL();
    BackLED(ON,OFF); 
    StatusLED(RED
    for (i=0;i<100;i++)
    {Sleep(255);}
     }
    if (t2 & 0x38) 
    {
    MotorRwd();
    BackLED(ON,ON);
     StatusLED(RED); 
    for (i=0;i<400;i++)
    {Sleep(255);} 
    MotorRwdR();
    BackLED(OFF,ON);
     StatusLED(RED);
    for (i=0;i<100;i++)
    {Sleep(255);}
    }
    }
    }
    } 
    return 0; 
    }

    Hamlet 83

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Was fehlt? Der linie entlang gehen oder ausweichen?

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    14.04.2010
    Beiträge
    13
    Hallo Valen,

    es fehlt die Linienerkennung.
    Er erkennt diese nur, wenn er in einem besonders spitzen Winkel drüber fährt, oder ich ihn direkt drauf setze.
    Fährt er z.B. 90 Grad über die Linie, fährt er einfach weiter, aber die Back LEDs leuchten kurz beim drüber fahren auf. Er steuert also nicht nach links bzw. nach rechts, um der Linie zu folgen.

    Das Linienprogramm hat seperat tadellos funktioniert.
    Der fehler tritt nur bei dem Quellcode auf, wo beide Programme enthalten sind.


    Danke für die Unterstützung

    Hamlet83

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.01.2009
    Ort
    NRW
    Beiträge
    562
    Hallo

    Vielleicht liegt es daran dass es keine Option gibt wenn data[1] UND data[1] einen Wert über 32 liefern. Es gibt nur die Möglichkeit wenn

    if ((data [1] < 32) && (data [0] < 32 ))

    oder


    if ((data [1] < 32) && (data [0] > 32 ))

    erfolgt.

    Trifft der Asuro aber zB orthogonal auf die Linie sind beide data über 50 also leuchtet die BackLED kurz aber auch beide größer als 32 also trifft keine "if" ein und der Linienteil wird übersprungen.

    Gruß Thund3r
    Dein Gott sei mein Zeuge!

  5. #15
    Neuer Benutzer Öfters hier
    Registriert seit
    14.04.2010
    Beiträge
    13
    Hallo Thund3r,

    werde Deinen Vorschlag mal einbauen.
    Das ist sehr gut möglich, dass es daran liegt.




    Hamlet83

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    14.04.2010
    Beiträge
    13
    Hallo,

    an der Abfrage data[1] UND data[0] liegt es nicht, habe mehrere Varianten
    ausprobiert. Habe auch die if ((data[0]>50)&&(data[1]>50)) und die zugehörige else Anweisung entfernt, da sie in dem komplett Programm keine großen Auswirkungen hat
    (habe ich getestet). Diese wird aber in dem einzelnen Linienprogramm benötigt.

    Was mich aber eigentlich so ratlos macht ist, dass das einzelne Linienprogramm so wie es in dem eingebundenen Quelltext steht, tadellos funktioniert.

    Habe ich die beiden Programme eventuell falsch zusammen gefügt??


    HILFE!!! [-o<


    Hamlet83

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    01.12.2010
    Beiträge
    10
    Hallo Hamlet83,
    hast du eine Lösung für Dein Problem gefunden, oder hast du aufgegeben?

    grüsse
    Michael

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad