Bin auch Student...
damit der asuro nicht immer schneller/langsamer wird, gibt es einen kleinen trick: man korrigiert nur an einem rad. so wird dieses immer wieder beschleunigt und gebremst, und im endeffekt wird der asuro nicht immer schneller.
mach dir einen abluafplan:
der asuro wird eingeschaltet. folgendes soll passieren:
Code:
// Korrekturvariable:
speed=150
WENN rechts > 550 UND links < 450 DANN
{
ENDLOSSCHLEIFE BEGINN
BEIDE MOTOREN VORWÄRTS
MOTORENGESCHWINDIGKEIT links 150, rechts "speed" //also zu beginn auch 150
WENN LINKS>600 UND RECHTS>600 //also beide seiten weiss
DANN speed=speed+10
WENN LINKS<400 UND RECHTS < 400 //also beide seiten schwarz
DANN speed=speed-10
ENDLOSSCHLEIFE ENDE
} // ende von WENN
WENN links > 550 UND rechts < 450 DANN
{
ENDLOSSCHLEIFE BEGINN
BEIDE MOTOREN VORWÄRTS
MOTORENGESCHWINDIGKEIT links 150, rechts "speed" //also zu beginn auch 150
WENN LINKS>600 UND RECHTS>600 //also beide seiten weiss
DANN speed=speed-10
WENN LINKS<400 UND RECHTS < 400 //also beide seiten schwarz
DANN speed=speed+10
ENDLOSSCHLEIFE ENDE
} // ende von WENN
Ende des programms
so sollte das ganz grob funktionieren. am anfang wird geprüft wo schwarz und wo weiss ist, und dann wird je nachdem eine endlosschleife ausgeführt. wenn beide Sensoren die gleiche fareb sehen, dann wird die geschwindigkeit des rechten motors angepasst.
das programm ist eben mal so entstanden, ob es funktioniert weiss ichnicht. korrekturen bitte posten...
den programmCODE dazu kannst du ja mal selbst überlegen. wenn du ne idee hast dann poste mal.
es könnte sein dass du deine zahlenwerte anpassen musst, weil die linedata werte bei jedem asuro stark variieren können.
Lesezeichen