-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 28

Thema: Asuro soll bestimmte Strecke fahren

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.01.2006
    Beiträge
    18

    Asuro soll bestimmte Strecke fahren

    Anzeige

    Hi
    Ich will den asuro so programmieren, dass er vorwärts fährt, gegen eine Wand komm sich umdreht und eine Kurve fährt und dann wieder normal vorwärts. bis zu dem punkt, wo er sich umdrehen soll bin ich schon gekommen, nur fahrt er immer weter uns stoppt nicht.

    #include "asuro.h"

    int main(void)
    {
    Init();
    StatusLED(GREEN);
    MotorDir(FWD,FWD);
    MotorSpeed(133,120);
    while (PollSwitch()==0){//Vorwärts fahren, bis Taster berührt werden
    SerWrite("Alles in OK!\n",10);
    }
    StatusLED(RED);
    MotorDir(RWD,RWD);// Dann um angegebene Strecke weiterfahren
    MotorSpeed(5,10);
    drehzahl(5,0,1);
    }

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    04.04.2005
    Ort
    Hamburg
    Alter
    29
    Beiträge
    826
    Also mir fallen hier mehrere Sachen gleichzeitig auf:

    1. Benutze die [ code ] Tags, damit es, vorallem bei längeren Code Stücken, übersichtlicher wird.
    2. Die Funktion drehzahl(5,0,1); ist mir unbekannt. Woher hast du die?
    3. Du machst ja (bis auf die mir unbekannte Funktion) nichts mehr nachdem gedreht hast.
    4. Normalerweise hängt man bei AVR Programmen ans Ende ne Endlosschleife und trotzdem noch den Rückgabewert.

    Code:
    int main(void){
    ...
    while(1);
    return 0;
    }

    Also du musst einfach noch programmieren was er machen soll, wenn er mit drehen fertig ist. Du kannst ja zum Beispiel das ganze bis auf das Init() auch in ne Schleife tun oder so.

    Andun
    www.subms.de
    Aktuell: Flaschcraft Funkboard - Informationssammlung

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    25.01.2006
    Beiträge
    18
    Ich kenne mich nicht sehr gut it dem Programmieren aus, und habe die Funktion drehzahl irgendwo im Internet gefunden. Kann mir irgendwer sagen, wie ich festlegen kann, dass der Roboter nur eine bestimmte Strecke fahren soll?

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    25.01.2006
    Beiträge
    18
    Mir ist aufgefallen, dass Asuro bei dem og Code vorwärts langsamer als Rückwärts ist (MotorDir(FWD,FWD);MotorSpeed(133,120);undMotorDir (RWD,RWD);
    MotorSpeed(5,10); ) Woran kann das liegen?

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Der Funktion MotorSpeed(l,r) werden als Parameter die Geschwindigkeit für linken und rechten Motor übergeben.

    Gruß m.a.r.v.i.n

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    04.04.2005
    Ort
    Hamburg
    Alter
    29
    Beiträge
    826
    Also irgendwie hab ich das Gefühl, du weißt nicht so wirklich was diese Wortkonstrukte (auch Funktionsaufrufe) eigentlcih machen. Sry, aber das ist mein Eindruck.

    Auch wenn du die Funktion drehzahl() irgendwo im Netz gefunden hast, dann ist das ja schön, aber wenn du es uns weder beschreibst, noch uns sagst wo du sie herhast, noch sie vielleicht gleich am besten postest, dann können wir dir leider nciht helfen.

    Wenn du dich dann auch mal mit dem Heftchen vom Asuro auseinander setzt, wirst du feststellen, dass dein Problem eigentlich ziemlich einfach zu lösen ist. Wenn du dann immer noch ein Problem hast, kannst du mich sogar gerne in ICQ oder sonst was nerven bis mein Arzt kommt, ...

    Andun
    www.subms.de
    Aktuell: Flaschcraft Funkboard - Informationssammlung

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Ich hab also mal im Internet eine Funktion drehen(int wieoft) gesehen,
    kann ich sie mit Asuro benutzen, damit er sich im Kreis dreht?


    Gruß Sebastian

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    25.01.2006
    Beiträge
    18
    Ich weiß, dass ihr es nicht gut finde, aber in der Anleitung steht ja wie ich das machen muss. kann mir bitte irgendwer sagen, was ich machen muss, dass der Roboter nur für zB 5 sec fährt oder für 50 hell dunkel Übergänge?

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.10.2005
    Alter
    27
    Beiträge
    326
    also für 5sec könntest du mit der funktion
    MotorDir(FWD,FWD);
    MotorSpeed(120,120);
    SSleep(5);
    machen nach fünf sec sollte der dann anhalten. weiß allerdings nicht ob die funktion in der basis lib ist. bei nem fehler bitte verbessern.
    mit den übergängen ist das schwerer weiß ich gerade nicht auswendig.

    gruß fabi

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Es gibt viele Wege um eine 5 Sek Pause anzulegen...
    Man könnte die Forensuche benutzen, oder sich die asuro.c Datei anzuschauen, oder vielleicht das Dattenblatt zu Mega8.
    Und die Hell Dunkel Übergänge kannst Du auch benutzen, such mal im Forum nach Odometrie, oder am besten nach der erweiterten Asuro Bibliothek...

    P.S. Ich habe gerade eine Funktion hollBier(long Anzahl) gefunden \/
    Mal schauen wie der Asuro reagiert...

    Gruß Sebastian

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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