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