- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 2 von 2

Thema: Asuro - Linieverfolgung. Code-Probleme !

  1. #1

    Asuro - Linieverfolgung. Code-Probleme !

    Anzeige

    Powerstation Test
    Hallo ans Forum,

    habe den Asuro zusammengebaut. und möchte nun gern die Linienverfolgung programmieren.
    Mein Programm sieht bisher so aus:

    #include "asuro.h" /*Linienverfolgung*/
    #define tol 15 /*Toleranz der Sensoren*/

    int main(void)
    {
    unsigned int data[2]; /*Speicher bereitstellen*/
    Init();

    FrontLED(ON); /*Linienbeleuchtung einschalten*/
    MotorDir(FWD,FWD); /*Beide Motoren auf vorwärts*/

    while(1) /*Endlosschleife, ASURO soll beliebig lange der Linie folgen*/
    {
    LineData(data); /* aktuelle Helligkeitswerte der Fototransistoren einlesen*/
    if (data [0] > data [1] + tol ) /*Rechtsausschlag*/
    {
    MotorSpeed(180,120);
    MotorDir(FWD,FWD);
    }
    else if (data [1] > data [0] + tol ) /*Linksausschlag*/
    {
    MotorSpeed(120,180);
    MotorDir(FWD,FWD);
    }
    else /*auf Linie fährt gerade aus!!!*/
    {
    MotorSpeed(160,160);
    MotorDir(FWD,FWD);
    }
    }
    return 0;
    }

    Gegen den Uhrzeigersinn fährt er gut, da er wenn er die Linie verliert eine linkskurve macht.
    Problem ist wenn er im Uhrzeigersinn fährt, weil er sobald er die Linie verliert von der Linie weg wieder eine Linkskurve macht.
    Habt ihr eine Idee wie ich es schaffen, dass er im Uhrzeigersinn eine Rechtskurve fährt?

    ================================================== ======
    Irgendwie hat der Teil:
    "else /*auf Linie fährt gerade aus!!!*/
    {
    MotorSpeed(160,160);
    MotorDir(FWD,FWD);
    }"

    keinerlei Funktion, verstehe nur nicht warum????
    ================================================== ===================
    Habt ihr eine Idee, wie man mit Hilfe des Hyperterminals die Werte für schwarze Linie und weißen Hintergrund anzeigen lassen kann?

    Hoffe ihr könnt mir helfen. Wäre echt super.

    Danke euch schon mal

    grüße

    P.S. wenn sonst jmd Verbesserungsvorschläge am Code hat, immer her damit^^

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Ich tippe mal das dieser Teil:

    "else /*auf Linie fährt gerade aus!!!*/
    {
    MotorSpeed(160,160);
    MotorDir(FWD,FWD);
    }"

    keine Funktion hat weil es "else if" heißen muss.
    Zum Thema Terminal. Schau mal hier:

    http://www.asurowiki.de/pmwiki/pub/html/print_8c.html

    Vielleicht hilft dir das weiter. DU musst nur über RS232 die Werte für den Liniensensor ausgeben.

Ähnliche Themen

  1. Uhr mit 32768Khz mit der Zeit ungenau - Code Probleme?
    Von MelMan im Forum C - Programmierung (GCC u.a.)
    Antworten: 10
    Letzter Beitrag: 01.03.2010, 10:28
  2. Linieverfolgung
    Von greenday182 im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 3
    Letzter Beitrag: 04.10.2007, 19:25
  3. Probleme in code für Servo...?
    Von loppan im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 02.07.2007, 20:36
  4. Probleme: > Process Exit Code: 255
    Von SimonB im Forum Asuro
    Antworten: 3
    Letzter Beitrag: 20.05.2007, 19:58
  5. Probleme bei Code für LCD (EADIP204)
    Von Foooob im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 14
    Letzter Beitrag: 12.03.2006, 14:08

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad