Hallo Filou89,
danke für die Hinweise!
1.
Das ist mir jetzt wirklich peinlich, das hatte ich schonmal richtig, das habe ich jetzt auch sofort verbessert/ausgebessert.mit task_RP6System(); rufst du alle anderen Tasks auch auf. Du machst das also 2 mal.. (langsam)
2.
StimmtfahrenFunktion();
if (GetStop...>3500) wirst du garnie haben, da sie nirgends im Programm gestartet wurde. (Hast du sicher aus der Anleitung kopiertAber auch hier ist es nicht mehr aktuell. Ich hatte die zeit auf 500 gestellt, besser?
3.
Das Problem ist aber genau andersrum. Die LED´s blinken nicht auf wenn ein Hinderniss erkannt wird, nur wenn die Bumper aktiviert werden (ist glaube ich doch so "fest" einprogrammiert, oder?setzen der statusLeds: Wenn du das Programm so laufen lässt, werden die Leds nur die Obstacle-Meldungen anzeigen, da die Bumper-meldungen gerade wieder überschrieben werden.
So, nun zu dem Teil, den ich noch immer nicht ganz kapiert habe.:
Ok, das leuchtet mir jetzt ein, thx!Du siehst, das 3. Argument (uint16_t angle) ist eine Ganze Zahl,Integer.
Deshalb kannst du nicht schreiben ....,(obstacle_left=false),.... (wäre ja sowieso eine Zuweisung, kein Vergleich)
Wann bzw. wo muss ich das einbauen? Hier:Das machst du mit:
setMotorDir(uint8_t left_dir, uint8_t right_dir);Also, ich verstehe (eigentlich) ganz gut was du meinst, aber ich weiß noch nicht, wie bzw. wo ich die "setMotorDir(uint8_t left_dir, uint8_t right_dir);" Funktion und "moveAtSpeed(uint8_t desired_speed_left, uint8_t desired_speed_right)" einsetzten soll.Code:// Hindernis links if(obstacle_left){ setMotorDir(30,60); //rotate(50, RIGHT, (obstacle_left = false), true); // dreht sich so lange bis der linke Sensor kein Hinderniss mehr hat }
Sorry, bin doch noch sehr im Anfangsstadium![]()
Beste Grüße
Crystal Eye






Zitieren

Lesezeichen