INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Lauflichtsteuerung
15.09.2014, 21:52
Beitrag #9
RE: Lauflichtsteuerung
Corvus, ich muss dich noch mahl nerven. Ich hoffe ich habe dich richtig verstanden und habe das ganze jetzt so verändert. Die Funktion bleibt dabei aber leider die Gleiche.



//###Sketch 1 globale Variablen deklarieren:
byte ledPin[] ={2,3,4,5,6,7,8,9,10,11};
int direction = 1;
int LED = 0;

//###Sketch 2 globale Variablen deklarieren :
//### (dies ist eigentlich überflüssig da man die LEDs genau wie in Sketch 1 ansprechen könnte)
int led = 2;
int led1 = 3;
int led2 = 4;
int led3 = 5;
int led4 = 6;
int led5 = 7;
int led6 = 8;
int led7 = 9;
int led8 = 10;
int led9 = 11;

void setup(){
//###Sketch 1 Initialisierung:
// all LED pins as output and LEDs off
for (int x=0; x<10; x++)


{ pinMode(ledPin[x], OUTPUT);
digitalWrite(ledPin[x], LOW);


}
//###Sketch 2 Initialisierung:
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);

}


void loop(){
//###Sketch 1 ausführen bis zur letzten LED:
while (LED <10){
// turn on current LED
digitalWrite(ledPin[LED ], HIGH);
delay(300);
//turn off current LED
digitalWrite(ledPin[LED ], LOW);

LED += direction;

if (LED == 0) {direction = +1;}
}



//###Sketch 2 fünf mal ausführen:
for (int i=0;i<5;i++){
digitalWrite(led, HIGH);
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led8, HIGH);
digitalWrite(led9, HIGH);
// turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
// turn the LED off by making the voltage LOW
delay(1000); // wait for a second

}

}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.09.2014, 08:58 (Dieser Beitrag wurde zuletzt bearbeitet: 16.09.2014 09:53 von Corvus.)
Beitrag #10
RE: Lauflichtsteuerung
Zitat://###Sketch 1 globale Variablen deklarieren:
byte ledPin[] ={2,3,4,5,6,7,8,9,10,11};
int direction = 1;
int LED = 0;

//###Sketch 2 globale Variablen deklarieren :
//### (dies ist eigentlich überflüssig da man die LEDs genau wie in Sketch 1 ansprechen könnte)
int led = 2;
int led1 = 3;
int led2 = 4;
int led3 = 5;
int led4 = 6;
int led5 = 7;
int led6 = 8;
int led7 = 9;
int led8 = 10;
int led9 = 11;

void setup(){
//###Sketch 1 Initialisierung:
// all LED pins as output and LEDs off
for (int x=0; x<10; x++)


pinMode(ledPin[x], OUTPUT);
digitalWrite(ledPin[x], LOW);


}
//###Sketch 2 Initialisierung:
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);




void loop(){
//###Sketch 1 ausführen bis zur letzten LED:
while (LED <10){
// turn on current LED
digitalWrite(ledPin[LED ], HIGH);
delay(300);
//turn off current LED
digitalWrite(ledPin[LED ], LOW);

LED += direction;

if (LED == 0) {direction = +1;}
}
LED=0;


//###Sketch 2 fünf mal ausführen:
for (int i=0;i<5;i++){
digitalWrite(led, HIGH);
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led8, HIGH);
digitalWrite(led9, HIGH);
// turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
// turn the LED off by making the voltage LOW
delay(1000); // wait for a second

}

}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.09.2014, 20:16
Beitrag #11
RE: Lauflichtsteuerung
Dank. Jetzt funktioniert es. Ich weiß aber nicht warum vor der for Schleife "LED=0; stehen muss. Hat das mit der initialisierung zu tun?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.09.2014, 01:49
Beitrag #12
RE: Lauflichtsteuerung
Das LED=0; ist notwendig, da sonst beim zweiten Durchlauf von loop() die Bedingung der While-Schleife nicht mehr erfüllt ist und somit letztere einfach übersprungen wird. Deshalb nimmt man für so etwas normalerweise auch eine For-Schleife, da dort die Initialisierung der Zähler-Variable direkt im Schleifenkopf Platz findet.

Insgesamt ist der Code ziemlich aufgebläht. Das gefällt mir wesentlich besser:

Zitat:byte ledPin[] ={2,3,4,5,6,7,8,9,10,11};

void setup(){
  for (byte i=0; i<10; i++) pinMode(ledPin[i], OUTPUT);
}

void loop(){
  for (byte i=0; i<10; i++) {
    digitalWrite(ledPin[i], HIGH);
    delay(300);
    digitalWrite(ledPin[i], LOW);
  }
  for (byte i=0;i<5;i++) {
    for (byte j=0; j<10; j++) digitalWrite(ledPin[j], HIGH);
    delay(1000);
    for (byte j=0; j<10; j++) digitalWrite(ledPin[j], LOW);
    delay(1000);
  } 
}

gruß lorenz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.09.2014, 20:04
Beitrag #13
RE: Lauflichtsteuerung
Hi Lorenz, du kannst ja hell sehen. Ich wollte dich nähmlich schon fragen ,wie man das Ganze etwas übersichtlicher hinbekommt. Ich Danke dir. Hast mir damit sehr geholfen.
Einen schönen Abend noch.

Gruß.Jörg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste