-
-
Hallo,
mir gefallen ein paar sachen an deinem Programm nicht. - Sorry
A) Du verwendes während der Regelschleife SerWrite. Da ist jedliches Timing dahin d.h. die Regelung wird ncht mehr in definierten Abständen ausgeführt und auch zu langsam hinereinander. Da passieren bei mir auch immer komische dinge.
B) Du berechnest ldiff aus einer Differenz zwischen der Helligkeit von ein und ausgeschalteter FrontLED. Kann es sein das die Differenz immer <100 ist und somit die Edomentriecounter immer auf 0 gesetzt werden.
C) Fang doch mal klein an. Wenn du nur die Geradeausfahrt programmierrst, fährt dein ASURO dann gerade aus?
ungefähr so
while (!swithced) {
diff = encoder[LEFT]-encoder[Right];
Motorspeed(175-diff,175+diff); // Alternativ (175+diff,175-diff) (siehe unten)
MSleep(100);
}
Damit solle er nur gerade aus fahren. Wenn du allerdings (was auch bei Dir der fall sein könnte) einen Vorzeichenfehler bem MotorSpeed drin hast, fährt er einen Kreis.
Martin
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen