Trotzdem sind Interrupts entschieden effektiver. Da weiss der Rechner nämlich, wann etwas passiert ist, und muss nicht dauernd erst nachgucken gehn. Ab und zu gibts ja noch ein paar andere Dinge zu erledigen.
Willie Klaas hat das in seiner Bibliothek schon eingebaut, und es funktioniert hervorragend.
Und: auch die Servobibliothek hat ihre Tücken. Unter Umständen belegt sie nämlich, ohne zu fragen, bestimmte Timer, die dann anderswo plötzlich nicht mehr arbeiten. Das ist aber dokumentiert. Irgendwann will ich mal Servos "zu Fuss" programmieren, aber nicht hier- die Software für das Monster wird mir auch so anspruchsvoll genug.
Jetzt werd ich doch mal versuchen, ob ich den Fahrtregler nun doch überreden kann, vernünftig zu bremsen- ich find das wichtig, weil die Fuhre ja doch _bisselwas_ wiegt.
Selbst im Leerlauf, also aufgebockt, laufen die Räder schon mindestens ne Sekunde nach, wenn die Motoren gestoppt werden, und da ist noch nich viel Schwungmasse im Spiel.
- - - Aktualisiert - - -
Es ist gelungen.
Vowärts fahren, bremsen (max. ne halbe Sekunde, das sollte aber auch genügen), rückwärts fahren-alles klappt.
Notfalls kann man auch mehrere Bremszyklen nacheinander aufrufen, schätze ich.
Hab das gleich mal ordentlich gemacht: es gibt ne globale Variable namens sollSpeed. Deren Wert ist die gewünschte Geschwindigkeit in % !
Somit kann das Auto leicht sowohl proportional vor-als auch rückwärts fahren. Der Wert von sollSpeed wird einfach immer auf den jeweiligen Geschwindigkeitsbereich gemappt.
Und natürlich werden die Sollwerte nicht einfach eingestellt, sondern rampenartig aus dem Stand hochgefahren. Schont die Antriebsstränge nen bissel-obwohl die mit sowas klar kommen. Das Auto verträgt so einiges...aber auch dem Akku wird das sicherlich eher gut tun.
Wenn ich mal ganz viel Lust hab, und nix besseres weiss, kann ich da womöglich noch die Fahrströme messen, und dann "wirtschaftlich" beschleunigen. Aber das steht gaanz weit hinten auf der "Kür"-Liste mit.
Lesezeichen