Hallo Bagpiper,
der Fehler liegt an der Asuro Lib und wird mit der nächsten Version behoben sein.
Du kannst das auch selber ändern (am Ende der ChirpFunktion):
Code:
...
ACSR |= _BV(ACI);
if(sleeptime > 3500) { // kein Echo empfangen?
RestoreAsuro(); // reaktiviere serielle Schnitstelle
return -1;
}
}
RestoreAsuro();
return dist;
Es muß nur die Zeile RestoreAsuro(); hinzugefügt werden. Damit schaltet der Asuro die serielle Schnittstelle wieder aktiv, auch wenn kein Echo empfangen wurde.
BTW. es würde mich mal interessieren bis zu welcher Entfernung dein Sensor arbeitet (d.h. Hindernisse erkennt). Bei mir klappt es mit Finetuning höchstens bis 30cm.
Lesezeichen