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
31.08.2014, 20:47
Beitrag #1
Lauflichtsteuerung
Hallo.
Habe vor kurzem mit dem programmieren angefangen und komme zur Zeit einfach nicht weiter. Das Buch welches ich für den Einstieg benutze,heißt "Arduino Schaltungsprojekte für Profis" . Ist aber auch für den Einstieg geeignet.
Hier geht es im ersten Projekt um eine Lauflichtsteuerung mit meheren Varianten.
Zuerst soll ein Lichtpunkt von links nach rechts laufen, dann sollen alle LEDs im Sekundentakt blinken ,dann soll ein Lichtpunkt von rechts nach links laufen usw.
Ich habe alle Teilfunktionen hinbekommen. Nun wollte ich daß alle Funktionen nacheinander ablaufen. Das will mir einfach nicht gelingen.
Muß ich dazu das "void setup" mehmals schreiben? Wer kann mir dabei mal helfen.

Gruß:Jörg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.08.2014, 20:54
Beitrag #2
RE: Lauflichtsteuerung
Hallo Jörg,

Wenn alles im void setup steht

schreib doch den teil der mehrfach durchgeführt werden soll ins
void loop
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.08.2014, 21:07 (Dieser Beitrag wurde zuletzt bearbeitet: 31.08.2014 21:28 von xjsascho.)
Beitrag #3
RE: Lauflichtsteuerung
(31.08.2014 20:54)PeterErde schrieb:  Hallo Jörg,

Wenn alles im void setup steht

schreib doch den teil der mehrfach durchgeführt werden soll ins
void loop

(31.08.2014 21:07)xjsascho schrieb:  
(31.08.2014 20:54)PeterErde schrieb:  Hallo Jörg,

Wenn alles im void setup steht

schreib doch den teil der mehrfach durchgeführt werden soll ins
void loop

Danke für die schnelle Antwort. Habe ich auch schon Probiert. Aber dann werde ich mit Fehlertexten übersäht. Ich bin da gerade am verzweifeln.Ich könnte dir ja mal die Teilprogramme schicken. Kannst du mir dann zeigen wie das funktioniert?

Danke für die schnelle Antwort.
Habe ich auch schon Probiert. Aber dann werde ich mit Fehlertexten übersäht. Ich bin da gerade am verzweifeln.Ich könnte dir ja mal die Teilprogramme schicken. Kannst du mir dann zeigen wie das funktioniert?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.09.2014, 07:34
Beitrag #4
RE: Lauflichtsteuerung
Poste mal Deinen Code hier
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.09.2014, 21:24
Beitrag #5
RE: Lauflichtsteuerung
Hallo Peter.
hier zwei Sketche die ich zusammenfügen möchte.


Sketch 1 / LED läuft 1 mal von links nach rechts

byte ledPin[] ={2,3,4,5,6,7,8,9,10,11};
int direction = 1;
int LED = 0;


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


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


}
}


void loop()
{ // 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 /alle LEDs blinken

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;

// the setup routine runs once when you press reset:
void setup() {
// 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);
}

// the loop routine runs over and over again forever:
void loop()


{ 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


}
Es soll jetzt wie folgt funktionieren.
Erst soll eine LED durchlaufen "Sketch 1" . Dann solen alle LEDs 5 mal blinken "Sketch 2" dannach soll alles wieder von vorn beginnen.

Gruß. Jörg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.09.2014, 03:36 (Dieser Beitrag wurde zuletzt bearbeitet: 09.09.2014 04:45 von Corvus.)
Beitrag #6
RE: Lauflichtsteuerung
Bitteschön:
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;}
}

//###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
}

}
}

Die Redundanzen hab ich hab ich mal dringelassen, damit du sehen kannst, was wohin gerutscht ist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.09.2014, 20:17
Beitrag #7
RE: Lauflichtsteuerung
Danke Corvus.

Habe ich ausprobiert. Die Schleife im zweiten Teil funktioniert aber nicht.

Gruß. Jörg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.09.2014, 21:12
Beitrag #8
RE: Lauflichtsteuerung
(15.09.2014 20:17)xjsascho schrieb:  Danke Corvus.

Habe ich ausprobiert. Die Schleife im zweiten Teil funktioniert aber nicht.

Gruß. Jörg

nimm mal das letzte Paar geschweifter Klammern raus. Jeweils eine geöffnete ("{") und eine geschlossene ("}"). Die hab ich beim zusammenkopieren wohl übersehen..
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