@Uwe: Du könntest das ganz simpel lösen: einfach den Bumper auslösen wenn Du meinst, dass der Mäher umkehren soll:
- Mit "readHCSR04" liest Du Dein Sonar ein (pinSonarBottomTrigger, pinSonarBottomEcho), es liefert die Entfernung zurück.
- Diesen Wert vergleichst Du mit einem Grenzwert (z.B. 150) und lieferst "Betätigung" (false) zurück wenn dieser erreicht ist (Bumper arbeiten laut Schaltbild invers: false = betätigt).
Nur so als Idee...
Code:
int Mower::readSensor(char type){
switch (type) {
//bumper----------------------------------------------------------------------------------------------------
case SEN_BUMPER_RIGHT: return( readHCSR04(pinSonarBottomTrigger, pinSonarBottomEcho) < 150 ); break;
- Mit "readHCSR04" liest Du Dein Sonar ein (pinSonarBottomTrigger, pinSonarBottomEcho), es liefert die Entfernung zurück.
- Diesen Wert vergleichst Du mit einem Grenzwert (z.B. 150) und lieferst "Betätigung" (false) zurück wenn dieser erreicht ist (Bumper arbeiten laut Schaltbild invers: false = betätigt).
Nur so als Idee...