Hallo, ich würde germ ein Programm, das auf einem Arduino läuft, gegen Sensorausfall so absichern, daß es ohne Rücksicht auf einen fehlenden Input / Meßwert weiter läuft. Bei Arduino gibt es für den fraglichen Sensor sehr einfache Abfrageinstruktionen: highcounts = pulseIn(sensorpin, HIGH); lowcounts = pulseIn(sensorpin, LOW); (der Sensor liefert eine Rechteckkurve; man muß die Zeiten von High und Low erfassen, um einen Meßwert ermitteln zu können). Nachdem das nun so einfach aussieht, hatte ich gedacht, wenn der Sensor defekt ist oder fehlt, liefern die offenen Ports eben keine high- bzw. lowpulse und das Programm summiert irgend etwas Undefinierbares und läuft dann unbeeindruckt weiter. Deshalb habe ich mir keine Gedanken über Zeitkontrollen o.dgl. gemacht, die dem Programm über fehlende Sensorpulse hinweg helfen. Leider ist dem wohl nicht so, denn das Programm bleibt hängen, wenn der Sensor entfernt wird. Hat jemand Erfahrungen, ob es in der vereinfachten Arduinosprache Methoden für mein Problem gibt - oder muß man Atmega328-typische Überwachungsroutinen in den Arduino-Code hineinbasteln? Gruß knut740
Alexander Schmeil schrieb: > Leider ist dem wohl nicht so, denn das Programm bleibt hängen, wenn der > Sensor entfernt wird. Was spricht eigentlich dagegen, mal die Doku zu pulseIn zu studieren? Soltest du tun. Da erwartet dich eine Überraschung.
:
Bearbeitet durch User
Karl Heinz schrieb: > Was spricht eigentlich dagegen, mal die Doku zu pulseIn zu studieren? Eigentlich nichts. Das mit dem timeout hatte mich beim ersten Kontakt nicht interessiert und später habe ich nicht mehr daran gedacht, nochmals nachzusehen. Ist doch sehr komfortabel, das kleine Gerät! Vielen Dank! knut
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.