hallo,

die eingebauten getriebemotoren sind alle vier mit ir-encodern versehen. Das habe ich damals gemacht weil ich mir nicht sicher war ob ich sie brauchen werde oder nicht. Den einen habe ich versuchsweise in einem tesprogramm verwendet, der code ist so:

Code:
void encoder_1_auslesen(void)
{
  wert_[1] = digitalRead(encoder_1);


  if (vorwaerts_[1] == 1)
  {


    if (wert_[1] == 0 && zaehler_[1] == 0)
    {
      zaehler_[1] = 1;
    }


    else if (wert_[1] == 1 && zaehler_[1] == 1)
    {
      zaehler_[1] = 0;
      summe_[1] = (summe_[1] + wert_[1]);
      Serial.print(wert_[1]);
      Serial.print("    ");
      Serial.println(summe_[1]);
      Serial1.print(wert_[1]);
      Serial1.print("    ");
      Serial1.println(summe_[1]);
    }
  }
  else
  {
    if (wert_[1] == 0 && zaehler_[1] == 0)
    {
      zaehler_[1] = 1;
    }


    else if (wert_[1] == 1 && zaehler_[1] == 1)
    {
      zaehler_[1] = 0;
      summe_[1] = (summe_[1] - wert_[1]); //+
      Serial.print(wert_[1]);
      Serial.print("    ");
      Serial.println(summe_[1]);
      Serial1.print(wert_[1]);
      Serial1.print("    ");
      Serial1.println(summe_[1]);
    }
  }
}
es funktioniert soweit, wäre auch möglich das einfach mal auf vier zu erweitern. Würde wahrscheinlich dahingehend probleme bringen, dass die ausgelesenen werte praktisch nie identisch wären. Glaube ich zumindest...

Jetzt die frage: Kann sich hier jemand vorstellen, dass es wirklich situationen geben kann, wo alle vier notwendig sind? Oder würde z. b. ein zweiter "übers eck" also vorne-rechts, wenn der im code hinten-links ist, abzufragen?

würde mich über meinungen sehr freuen...