Ardunio hängt/resettet sich

Guten Abend zusammen,
ich hatte gerade vor eine einfache Programmierung mit Transistoren und LEDs zu machen…
(Lauflicht an und aus)
Bis jetzt hatte ich damit auch noch nie Probleme…

Jetzt stehe ich vor dem Problem, dass die LEDs am Anfang an gehen und danach hängt der Arduino erstmal und resettet sich.

Hier der Code:

int rot = 6;
int gruen = 5;
int blau = 4;
const byte alleLEDs[] = {4,5,6};

void setup() {
  Serial.begin(9600);
  for(int i=0; i<(alleLEDs); i++) {
    pinMode(alleLEDs[i], OUTPUT);
  }
  for(int i=0; i<(alleLEDs); i++) {
    digitalWrite(alleLEDs[i], LOW);
  }
  Serial.println("Test1");
  delay(1000);
}

void loop() {
  for(int i=0; i<(alleLEDs); i++) {
    digitalWrite(alleLEDs[i], HIGH);
    delay(200);
  }
  Serial.println("Test2");
  for(int i=0; i<(alleLEDs); i++) {
    digitalWrite(alleLEDs[i], LOW);
    delay(200);
  }
  Serial.println("Test3");
}

Die Serielle Schnittstelle stoppt bei “Test1”, danach kommt nichts mehr…

Meine Frage, bin ich einfach zu inkompetet und finde einen Fehler in der einfachen Schleife nicht oder liegt es an etwas anderem??

(Nein, es gibt keine Kurzschlüsse und ich verwende die richtigen Widerstände zu den Transistoren.
Sind NPN Transistoren (BC337))

Danke im voraus!

Und die Vorwiderstände zu den Leds ?
Wo beziehst du die Spannung für die Leds ?
Ich vermute die Spannung bricht zusammen.
Hast du die mal gemessen ?

Die LEDs haben jeweils einen 220er Widerstand, welcher bei 5V ausreicht.

Ich nutze die Spannung aus dem Arduino, welcher mit meinem PC verbunden ist.

Gemessen hab ich bis jetzt noch nichts, aber dann die Frage, warum bricht die Spannung bei 3 LEDs mit 3 Transistoren zusammen und bei meinem anderen Projekt mit 10 Transistoren und 24 LEDs nicht?

i<(alleLEDs)

Das sollte sizeof(alleLEDs) sein

Der Name des Arrays selbst ist nur die Adresse wo es im Speicher steht

Soltanius:
Die LEDs haben jeweils einen 220er Widerstand, welcher bei 5V ausreicht.

Ich nutze die Spannung aus dem Arduino, welcher mit meinem PC verbunden ist.

Gemessen hab ich bis jetzt noch nichts, aber dann die Frage, warum bricht die Spannung bei 3 LEDs mit 3 Transistoren zusammen und bei meinem anderen Projekt mit 10 Transistoren und 24 LEDs nicht?

Bisher wusste ich nicht dass du Widerstände für die Leds verwendest, daher die Vermutung.
Und bei einem merkwürdigen Reset ist meist die Spannung ein Problem.

Serenifly:

i<(alleLEDs)

Das sollte sizeof(alleLEDs) sein

Gott, bin ich ein Depp…
Ich hab diesen kack Fehler jetzt über eine Stunde lang gesucht und nicht gefunden :confused:
Vielen Dank dafür!

HotSystems:
Bisher wusste ich nicht dass du Widerstände für die Leds verwendest, daher die Vermutung.
Und bei einem merkwürdigen Reset ist meist die Spannung ein Problem.

Es war doch nur ein Programm Fehler, trotzdem Vielen Dank für die Info, war mir vorher auch nicht bewusst :slight_smile:

Soltanius:
Es war doch nur ein Programm Fehler, trotzdem Vielen Dank für die Info, war mir vorher auch nicht bewusst :slight_smile:

OK…wichtig ist, es funktioniert wieder.

Wenn sich ein Arduino komisch, unerklährlich und unlogisch verhält ist es oft ein Problem von Inexoverlow von Arrays oder falsche verwendung von Pointer (was im endefekt das gleiche wie Arrayoverflow ist) es werden Inhalte in Speicherzellen geschrieben, die nicht zur dieser Variable gehören.

Oft ist man blind für solche Fehler weil man oft nicht siht was da steht sondern man denkt daß da steht was man schreiben wollte aber dann nicht geschrieben hat.
Ein Unbeteiligter sieht das sofort.
Lösungsansätze:
Jemand anderen fragen,
Gummientendebuging
Eine Pause machen und später, am nächsten Tag weitermachen.

Grüße Uwe