Schleifen Problem+ Delay und "Lichtwanderschaft"

Hallo zusammen,

Ich hab vor ca. 3 Wochen angefangen mich für den Arduino zu begeistern und bin seitdem am stetigen lernen. Leider komme ich schon zu meiner ersten Frage, für die Cracks unter euch sicherlich kein Problem. Ich habe mir eine 4x3 Matrix zusammengelötet, diese kann ich auch wunderbar mit dem Arduino ansteuern, nur wollte ich mich jetzt langsam mit den Schleifen auseinandersetzen. Aber irgendwie funktioniert es nicht ganz so wie ich es möchte. Und zwar möchte ich je nachdem wie der Wert unter status1 gesetzt ist durch die Schleife springen, das bedeutet wenn status1 = 1 dann soll er die Matrix zum erleuchten bringen, wenn was anderes also bspw. 2 dann soll die Matrix aus sein, nur mein Problem is dass die Matrix ständig an is auch wenn ich wie im folgenden status1 die 2 zuweise. An was kann dies liegen ? Vielen Dank und nen freundlichen Gruß

int colPin1 = 11;
int colPin2 = 10;
int colPin3 = 9;
int colPin4 = 8;

int rowPin1 = 4;
int rowPin2 = 3;
int rowPin3 = 2;

int status1 = 2;

void setup() {

pinMode(colPin1, OUTPUT);
pinMode(colPin2, OUTPUT);
pinMode(colPin3, OUTPUT);
pinMode(colPin4, OUTPUT);

pinMode(rowPin1, OUTPUT);
pinMode(rowPin2, OUTPUT);
pinMode(rowPin3, OUTPUT);

}

void loop(){

if (status1 = 1)
{
digitalWrite(colPin1, LOW); //
digitalWrite(colPin2, LOW);
digitalWrite(colPin3, LOW);
digitalWrite(colPin4, LOW);

digitalWrite(rowPin1, HIGH);
digitalWrite(rowPin2, HIGH);
digitalWrite(rowPin3, HIGH);

delay(500);
}
else
{
digitalWrite(colPin1, LOW); //
digitalWrite(colPin2, LOW);
digitalWrite(colPin3, LOW);
digitalWrite(colPin4, LOW);

digitalWrite(rowPin1, LOW);
digitalWrite(rowPin2, LOW);
digitalWrite(rowPin3, LOW);

delay(500);
}

}

Hat sich erledigt, mir hat noch ein Gleichheitszeichen gefehlt bei den Bedingungen, also statts eines = immer ein doppeltes ==

Wenn Du 12 LED so ansteuerst (ohne Multiplexing) überlastest Du den Arduino.
grüße Uwe

Hallo uwefed, danke für den Tip, würde ich dem ganze Abhilfe schaffen wenn ich ein Schieberegister benutze ? Habe mir 15 bestellt vom Typ 74HC595N

Grüße

hi,

welche LEDs? "normale" mit 20mA ?

gruß stefan

Hallo Eisbär,

ja, 20mA mit 3.2-3.4 Durchlaufspannung

Ich hab jetzt noch ne Frage, da wie ich erfahren habe immer nur pro Programm ein Thread eröffnet sollte, stell ich sie auch hier ein :slight_smile:

Ich hab jetzt herausgefunden wie ich meine LEDs auch ohne delay() blinken lassen kann, falls es jemand interessiert es handelt sich dabei um die Funktion millis() Beispielcode gibt es unter "blinking without delay()". Da ich sonst die LEDs aber mit der delay Funktion auch auf "Wanderschaft" geschickt habe bzw. das Licht :slight_smile: Dies aber jetzt nichtmehr so einfach geht. Frage ich mich nun wie ich dieses sinnvoll umsetze, gehe ich recht der Annahme aus dass ich um die Schleifenprogrammierung so nicht herumkomme ?

Mein Ehrgeiziges Projekt ist eine 32x16 Matrix, mit einem Button als Ansteuerung der einzelnen visuellen Programme, dazu habe ich auch schon ein paar CAD Zeichnungen gemacht und bin fleißig am dokumentieren um es später einmal auch online verfügbar zu machen.

Grüße

Ach wenn ich gerade drüber nachdenke wäre es auch großer quatsch 512 LEDs "per Hand" zu steuern

Frage zu meinem ambitionierten Projekt, welcher Multiplexer eignet sich für 512 LEDs ? Wollte es zunächst mit Schieberegistern machen aber finde es mit den Multiplexern aber irgendwie eleganter =)

Hallo,
schon mal so etwas gesehen ?

P4 32X16 RG Dual Color LED Dot Matrix Unit Board
http://www.ebay.de/itm/P4-32X16-RG-Dual-Color-LED-Dot-Matrix-Unit-Board-/160898325167?pt=Bauteile&hash=item2576499aaf

ähnliche Displays gibt es auch in anderen Ausführungen.

Gruss
kurti

Danke Kurti, kenne ich, ich will's aber selbst bauen.