Pages: [1]   Go Down
Author Topic: Schleifen Problem+ Delay und "Lichtwanderschaft"  (Read 736 times)
0 Members and 1 Guest are viewing this topic.
Berlin
Offline Offline
Jr. Member
**
Karma: 0
Posts: 62
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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);
}



}
« Last Edit: April 19, 2013, 12:25:57 pm by DonQuijote » Logged

Berlin
Offline Offline
Jr. Member
**
Karma: 0
Posts: 62
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21269
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Berlin
Offline Offline
Jr. Member
**
Karma: 0
Posts: 62
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Wien
Offline Offline
Edison Member
*
Karma: 27
Posts: 1847
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

welche LEDs? "normale" mit 20mA ?

gruß stefan
Logged

Berlin
Offline Offline
Jr. Member
**
Karma: 0
Posts: 62
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Eisbär,

ja, 20mA mit 3.2-3.4 Durchlaufspannung
Logged

Berlin
Offline Offline
Jr. Member
**
Karma: 0
Posts: 62
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 :-)

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 :-) 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
« Last Edit: April 19, 2013, 12:34:23 pm by DonQuijote » Logged

Berlin
Offline Offline
Jr. Member
**
Karma: 0
Posts: 62
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 =)
Logged

Offline Offline
Full Member
***
Karma: 4
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Es gibt nur 10 Arten von Menschen: die, die das Binär-System verstehen und die, die es nicht verstehen.

Berlin
Offline Offline
Jr. Member
**
Karma: 0
Posts: 62
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Pages: [1]   Go Up
Jump to: