Programmier hilfe

Hallo zusammen,

habe mir nach einer Anleitung einen 3x3x3 LED Cube gebaut, probiere mich auch gerade im programmieren.

Würde gerne wissen ob es möglichkeiten gibt Code zu vereinfach.
Hier mal mein Code LED 1,5,9 Ebene 1 geht an danach 1,5,9 Ebene 1/2 und 1,5,9 Ebene 1/2/3.

Möchte gerne etwas dazu lernen bin in Sachen programmierung noch relativ beschränkt im Denken.

Hoffe hat paar Tips für mich.

// Wartezeit
int wait1 = 250;
int wait2 = 100;
 
// deklaration PINS
int obenLayer = 0;
int mitteLayer = 1;
int untenLayer = 2;

int reihe1 = 3;
int reihe2 = 4;
int reihe3 = 5;
int reihe4 = 6;
int reihe5 = 7;
int reihe6 = 8;
int reihe7 = 9;
int reihe8 = 10;
int reihe9 = 11;


void setup() {                
  // PINS einrichten
  pinMode(untenLayer, OUTPUT); 
  pinMode(mitteLayer, OUTPUT);
  pinMode(obenLayer, OUTPUT);
  
  pinMode(reihe1, OUTPUT);
  pinMode(reihe2, OUTPUT);
  pinMode(reihe3, OUTPUT);
  pinMode(reihe4, OUTPUT);
  pinMode(reihe5, OUTPUT);
  pinMode(reihe6, OUTPUT);
  pinMode(reihe7, OUTPUT);
  pinMode(reihe8, OUTPUT);
  pinMode(reihe9, OUTPUT);
}

 
 void loop() {
  

    if (digitalRead(3)==LOW)
      {
        digitalWrite(untenLayer, HIGH);
        digitalWrite(reihe1, HIGH);
        delay(wait1);
        digitalWrite(reihe5, HIGH);
        delay(wait1);
        digitalWrite(reihe9, HIGH);
        delay(wait1);
      }
  digitalWrite(untenLayer, LOW);
  digitalWrite(reihe1, LOW);
  digitalWrite(reihe5, LOW);
  digitalWrite(reihe9, LOW);
  delay(wait1);

    if (digitalRead(3)==LOW)
      {
        digitalWrite(untenLayer, HIGH);
        digitalWrite(mitteLayer, HIGH);
        digitalWrite(reihe1, HIGH);
        delay(wait1);
        digitalWrite(reihe5, HIGH);
        delay(wait1);
        digitalWrite(reihe9, HIGH);
        delay(wait1);
      }
  digitalWrite(untenLayer, LOW);
  digitalWrite(mitteLayer, LOW);
  digitalWrite(reihe1, LOW);
  digitalWrite(reihe5, LOW);
  digitalWrite(reihe9, LOW);
  delay(wait1);

  if (digitalRead(3)==LOW)
      {
        digitalWrite(untenLayer, HIGH);
        digitalWrite(mitteLayer, HIGH);
        digitalWrite(obenLayer, HIGH);
        digitalWrite(reihe1, HIGH);
        delay(wait1);
        digitalWrite(reihe5, HIGH);
        delay(wait1);
        digitalWrite(reihe9, HIGH);
        delay(wait1);
      }
  digitalWrite(untenLayer, LOW);
  digitalWrite(mitteLayer, LOW);
  digitalWrite(obenLayer, LOW);
  digitalWrite(reihe1, LOW);
  digitalWrite(reihe5, LOW);
  digitalWrite(reihe9, LOW);
  delay(wait1);  


  
}

Du könntest die Pin-Definition in einem Array zusammenfassen. Und die pinmode-Zuordnung in einer “for-Schleife”.
Das wäre dann schon mal ein einfacher Anfang.

1 Like

Hallo
schaue dir dafür am Besten die Verwendung von mehrdimesionalen Arrays an.

1 Like

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