Die steuerung des
Servos kannst du über ein PWM machen, das läuft dann nebenbei und unterbricht den eigentlichen Code nicht.
Die Geschwindigkeit der Motoren steuerst du auch über PWM, warum sollte sich da was wegen der Messung ändern?!
Ja die Motoren werden über PWM gesteuert aber das Problem ist, wenn der Sensor dann was erfasst, muss der Programmablauf von "Fahre geradeaus" zu "weiche dem Hindernis aus" geändert werden.
Wie kann ich anhand der Messung erkennen wo sich das Objekt befindet? Einfach anhand der Nummer der Messung, die das Hindernis erkennt?
Die Motoren des Chassis steuere ich so an, wie im C-Beispielprogramm aus dem Wiki:
Code:
void Motortest(void) {
Mlinksvor();
Mrechtsvor();
setPWMlinks(0);
setPWMrechts(0);
waitms(40);
for(uint8_t i=0; i<255; i=i+5) {
setPWMlinks(i);
setPWMrechts(i);
waitms(40);
}
setPWMlinks(255);
setPWMrechts(255);
waitms(40);
for(uint8_t i=255; i>0; i=i-5) {
setPWMlinks(i);
setPWMrechts(i);
waitms(40);
}
setPWMlinks(0);
setPWMrechts(0);
Mlinksstop();
Mrechtsstop();
waitms(300); }
Lesezeichen