LEDs Tas­ten­pad schalten

// Array für die LEDs
int LED[5] = {3, 4, 5, 6, 7};

/*
  Array für den Zustand der LEDs
  false = ausgeschaltet
*/
bool Status[5] = {false, false, false, false, false};

int Taster;
int Analogwert;

int Tasterabfrage()
{
  Analogwert = analogRead(A0);
  delay(200);
  Serial.println(Analogwert);
  /*
    A0 gibt je nach gedrückten Taster einen Wert aus
    über den Seriellen Monitor wird dieser Wert angezeigt
    und kann dann eventuell angepasst werden
    die Zeile Serial.println ... kann dann gelöscht werden
    Taster 1 → links
    Taster 2 → oben Mitte
    Taster 3 → unten Mitte
    Taster 4 → rechts
    Taster 5 → außen
  */
  switch (Analogwert)
  {
    case 0 ... 20:
      Taster = 1;
      break;

    case 30 ... 60:
      Taster = 2;
      break;

    case  70 ... 120:
      Taster = 3;
      break;

    case 150 ... 200:
      Taster = 4;
      break;

    case 300 ... 400:
      Taster = 5;
      break;

    default:
      return 0;
  }

  // gedrückten Taster zurückgeben
  return Taster;
}

void setup()
{
  for (int i = 0; i <= 4; i++)
  {
    pinMode(LED[i], OUTPUT);
  }

  Serial.begin(9600);
}

void loop()
{
  Taster = Tasterabfrage();

  // Taster links
  if (Taster == 1)
  {
    /*
      gelbe LED Pin 7, LED[4] Status[4]
      Status umdrehen, aus true wird false
      aus false wird true
    */
    Status[4] = !Status[4];
    digitalWrite(LED[4], Status[4]);
  }

  // Taster oben Mitte
  if (Taster == 2)
  {
    // blaue LED Pin 6, LED[3] Status[3]
    Status[3] = !Status[3];
    digitalWrite(LED[3], Status[3]);
  }

  // Taster unten Mitte
  if (Taster == 3)
  {
    // rote LED Pin 5, LED[2] Status[2]
    Status[2] = !Status[2];
    digitalWrite(LED[2], Status[2]);
  }

  // Taster rechts
  if (Taster == 4)
  {
    // weiße LED Pin 4, LED[1] Status[1]
    Status[1] = !Status[1];
    digitalWrite(LED[1], Status[1]);
  }

  // Taster rechts außen
  if (Taster == 3)
  {
    // grüne LED Pin 3, LED[0] Status[0]
    Status[0] = !Status[0];
    digitalWrite(LED[0], Status[0]);
  }
}


Letzte Aktualisierung: 25. Jul 2023 @ 19:04