Zitat Zitat von Rabenauge Beitrag anzeigen
Hm- wo setzt du das Flag wieder auf 0?
Wahrscheinlich liegt dort der Hase im Peffer....

wahrscheinlich...

mit dem einsatz von timer(), sekundenaufgaben() und meiner entprellten ping-abfrage

Code:
void hindernis_vorh_rechts_entprellt(void)
{
  if (start_ping_rechts == false)


    aktuelle_ping_millis = millis();
  if (aktuelle_ping_millis - vergangene_ping_millis > interval_ping)
  {
    vergangene_ping_millis = aktuelle_ping_millis;
    ping_distanz_rechts();
  }

  if (uS_rechts != NO_ECHO)
  {
    if (((uS_rechts / US_ROUNDTRIP_CM) <= 25) && mehrfach_zaehler_rechts == 0)
    {
      hindernis_rechts = true;
      mehrfach_zaehler_rechts = 1;
    }
    else if (((uS_rechts / US_ROUNDTRIP_CM) <= 25) && mehrfach_zaehler_rechts == 1)
    {
      mehrfach_zaehler_rechts = 0;
    }
  }
  else
  {
    if (((uS_rechts / US_ROUNDTRIP_CM) <= 25) && mehrfach_zaehler_rechts == 1)
    {
      hindernis_rechts = false;
      mehrfach_zaehler_rechts = 0;
    }
    else if (((uS_rechts / US_ROUNDTRIP_CM) <= 25) && mehrfach_zaehler_rechts == 0)
    {
      mehrfach_zaehler_rechts = 1;
    }
  }
}
läuft das jetzt:
der roboter fährt vorwärts und misst im sekundenintervall mal links und dann wieder rechts die entfernung. Die Stepper laufen noch ein bischen "rauh" aber das ist sicher ein anderes problem...
zu der (meiner) verwendung von der AccelStepper und auch anderen libraries - ich versuche nicht das alles zu verstehen, sondern passe für meine zwecke die beispiele an, in der hoffnung, dass ich es beim nächsten mal immer noch weiss , klappt leider nicht immer...

Insofern mein dank an alle, die sich immer wieder die mühe machen auf meine fragen einzugehen, wobei hinweise auf andere hardware oder software (welche ausser arduino auch immer) wenig bis garnicht hilfreich sind...

und jetzt gehts mit dem servo-sweep weiter