Exakt das.
Wenn Der Roboter also für einige Zeit so bleiben soll, kann man das lassen.
Wenn man aber plant noch Bumper (Kollisionserkennung) und ggf. weitere Fernsensoren (US oder IR) oder Odometriesensoren hinzuzufügen, dann sollte man sich frühzeitig überlegen ob es nicht sinnvoll ist die Programmierung zu ändern bevor man irgendwann ein unterirdisches Timingverhalten hat und dann erst mal Wochen oder Monate damit verbringt alles noch mal neu zu machen.
Mein erstes Arduino Programm war eine Fußgängerampel mit Delays. mein zweites Programm zwei hc-sr04 und die drei Reflexlichtschranken fürs Linienfolgen.
Das wurde dann um die beiden gehackten Servos als Antriebe erweitert und um die Bumper.
Dann kam der Wunsch die hc-sr04 jeweils um 180° in 10° schritten zu drehen und so eine 360° Abdeckung zu bekommen.
Schon bei den beiden parallel betriebenen hc-sr04 und den drei Reflexlichtschranken, war mit Delay und Co kein Blumentopf mehr zu gewinnen.
Weil da keiner Linie mehr gefolgt werden konnte oder man dazu so langsam hätte fahren müssen, daß das gar keinen Sinn mehr macht.
Es ist also eine Anregung etwas vorzuplanen und sich Gedanken zu machen, wo man denn hin will.
Klar, erst mal will man überhaupt ein Ergebniss bekommen das irgendwie funktioniert, Aber wenn man es noch besser hinbekommen kann ist ja auch nicht grade schlecht.
Bei mir selbst geht es momentan halt darum wie viel kann man mit einem Nano denn erreichen.
Der nächste Umbau ist Hardware, um alle Eingänge per IRQ überwachen zu können.
Sprich alles mit UND versehen (Eigenlich ja umgekehrt da 2 Eingänge Gesetzt werden müssen ohne das es zu einem Übersprechen auf die Anderen Eingänge über den gemeinsam genutzten IRQ Eingang kommt) so das immer auch der IRQ ausgelöst wird und dann in der ISR den Status der Eingänge auswerten und entsprechende Merker Variablen für den normal Programmablauf Setzen.
Der zweite IRQ Eingang des Nano ist dann Frei für wirklich wichtige Sachen.
Lesezeichen