LED 3x3 Matrix

Hi,

ich bin grade dabei eine LED Matrix zu programmieren. Sie hat 3x3. Ich habe es schon geschafft jede LED einzeln Leuchten zu lassen. Also erst die erste Reihe nacheinander, dann die 2. und dann die 3.:

void led_blink(int x){
  int wait = 150;
  int y = 0;
  for(int i=0;i<3;i++){
    digitalWrite(led_plus[i], LOW);
    digitalWrite(led_minus[i], HIGH);
  }
  while(y<x){
    for(int i=0;i<3;i++){
      digitalWrite(led_minus[i], LOW);
      for(int e=0;e<3;e++){
        digitalWrite(led_plus[e], HIGH);
        delay(wait);
        digitalWrite(led_plus[e], LOW);
      }
      digitalWrite(led_minus[i], HIGH);
    }
    y++;
  }
  delay(500);
}

Der Wert den man übergibt, gibt an wie oft die passieren soll.
Meine Frage jetzt. Wie schaff ich es, dass alle LEDs gleichzeitig leuchten, ohne einen Pin zu überlasten?
Meine Pins:

int led_plus[] = {7,8,9};
int led_minus[] = {10,11,12};

Das muss man irgentwie so laufen lassen, dass alle ganzschanell hintereinander an und aus gehen. Aber wie mach ich das ambesten?

Philipp

du hast die frage schon beantwortet: ganz schnell.

wenn du jede led einzeln kontrollieren willst, dann brauchst du nur folgendes:

a) eine funktion, die alle led nacheinander abarbeitet b) einen kleinen speicher (array), der ein abbild der matrix speichert (an/aus pro led) c) eine funktion, die den speicher je nach wunsch aendert

nachdem der arduino recht flott ist, kannst du in loop() nach dem ansteuern der leds noch ein paar andere dinge erledigen, bevor es anfaengt zu flackern.

wenn das funktioniert, kannst du die ansteuerungsfunktion auch mit einem timer "im hintergrund" laufen lassen.