Wie Arduino UNO etwas machen lassen im Hintergrund?
Hallo, ich habe für die Schule einen kleinen Roboter gebaut, der über einen Ultraschall Sensor Hindernisse in unter 30cm erkennt und dann wendet (das klappt soweit). Der Roboter bleibt jedoch manchmal hängen, weshalb ich auf die Idee kam, dass ich in das Programm schreiben könnte, dass wenn der Ultraschallsensor länger als 20s kein Objekt in unter 20cm "entdeckt" dann trz wendet. Dafür bräuchte ich also einen Code, der den Roboter fahren lässt und alle Funktionen weiter unterstützt, aber trz bis auf 20 zählt und dann etwas macht. Wie geht das?
1 Antwort
millis() in eine Variable speichern. immer wenn er was erkannt hat, die Variable mit den aktuellen millis() überschreiben. Und permanent auf Differenz von millis() und der variablen prüfen. wenn die Zeitdifferenz zu groß ist, wieder aktuelle millis speichern und das Wendemanöver ausfüren. Somit wird der Timer immer dann aktiv, wenn zeit x kein Gegenstand erkannt wurde. wenn ein Gegenstand erkannt wurde, wird der Timer zurück gesetzt.