LED Spielereien

Hallo zusammen
Auch wenn ich Angst habe von Euch gesteinigt zu werden, aber: Ich habe in diesem und anderen Foren schon gesucht und bin habe auch selbst rum probiert. Ich bekomme es einfach nicht hin. :slightly_frowning_face:

Ich möchte ein bisschen für ein kleines Halloween Projekt mit einigen LEDs und Tastern folgendes realisieren:

6 LED's (LED1,2 und 3 rot - LED 4,5 und 6 grün) und 3 Taster
Beim Einschalten sollen LED 1, 2 und 3 leuchten, LED 4, 5 und 6 nicht leuchten
Wenn ich Taste 1 taste sollen LED 2,3 und 4 leuchten und 1,5 und 6 nicht leuchten
Wenn ich Taste 2 taste sollen LED 1,2 und 5 leuchten und 2,4 und 6 nicht leuchten
Wenn ich Taste 3 taste sollen LED 1,2 und 6 leuchten und 3,4 und 5 nicht leuchten
D.h. die Zustandsänderung erfolgt durch drücken einer der drei Tasten

Hat jemand eine Lösung oder vielleicht sogar ein fertiges Sketch ?

hier gibts normalerweise Hilfe zur Selbsthilfe.
Zeig einfach mal was du bisher hast und beschreibe, was dir gegenüber obiger Beschreibung fehlt.

Schreibe nicht dass du noch nichts hast.
Statt dessen, schau dir mal das mitgebrachte Beispiel an:

Willst du irgendwie wieder in den Einschaltzustand kommen?

Paradox

Vielleicht solltest du die Sprache lernen wollen, welche du da verwenden möchtest...
Das könnte helfen.
z.B. per C++ Grundlagenbuch

constexpr unsigned numLed    {6};
constexpr unsigned numButton {3};

using Muster = byte[numLed];

constexpr Muster start {1, 1, 1, 0, 0, 0};

constexpr Muster byButton[numButton]
{
  {0, 1, 1, 1, 0, 0},
  {1, 1, 0, 0, 1, 0}, // ?? 
  {1, 1, 0, 0, 0, 1},
};

constexpr byte ledPins[numLed] {2, 3, 4, 5, 6, 7};
constexpr byte buttonPins[numButton] {A0,A1,A2};

void setup()
{
   for(const byte pin:buttonPins) pinMode(pin,INPUT_PULLUP);
   unsigned i = 0;
   for(const byte pin:ledPins)
   {
    pinMode(pin,OUTPUT);
    digitalWrite(pin,start[i++]);
   }
}

void loop()
{
  for(unsigned i=0;i<numButton;++i)if(!digitalRead(buttonPins[i]))for(unsigned j=0;j<numLed;++j)digitalWrite(ledPins[j],byButton[i][j]);
}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.