servo ist der Sollwert des Servos. Heisst, es fährt diese Position an.
Da es zu Anfang zentriert wird (servo_maxRechts und servo_maxLinks sind die beiden festgelegten Endlagen, weiter darf es nicht fahren) mit servo=servoMitte, sollte es anschliessend einmal nach rechts, dann ganz nach links fahren.
Tuts aber nicht, es fährt nur die Mittelposition an.
Im Programm ändere ich später einfach den Wert Servo so:
..und kann damit das Servo mittels der beiden Taster in beliebige Positionen fahren.Code:int8_t status_R = sens_getRight(); // Rechter Fühler if(status_R < 0) // nach hinten { servo=servo - 5; // Servo nach rechts delay(50); if (servo < servo_maxRechts) // Überlauf verhindern { servo=servo_maxRechts; } } if(status_R > 0) // nach vorne { servo = servo + 5; // Servo nach links delay(50); if (servo > servo_maxLinks) // Überlauf verhindern { servo = servo_maxLinks; } }
Auch das funktioniert ganz problemlos, ein paar Zeilen später.







Zitieren

Lesezeichen