lichtspel met cyclus probleempje

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 3
Geregistreerd: 21 Mei 2015, 12:08

lichtspel met cyclus probleempje

Berichtdoor michael » 21 Mei 2015, 16:34

Hallo, ik ben een elektrotechnieker met wat kennis van PLC prog. maar arduino is nog nieuw 2 projecten voor fotografie werken prima.
Nu maak ik soort lichtspel met 4 led's en het loopt goed tot op het einde. Ik vraag om de cyclus te stoppen na alle combinaties en dit lukt ook.
Maar ik wil op het einde alles opnieuw doorlopen en net hier zit ik vast. Voor een kenner zal dit wel een koud kunstje zijn denk ik.

int pauze = 1000; //vaste pauze
int time1 = 500; //timer 1
int time2 = 200; //timer 2
int time3 = 100; //timer 3
int time4 = 100; //timer 4
int time5 = 50; //timer 5
int time6 = 50; //timer 6
int var1;
int var2;
int var3;
int var4;
int var5;
int var6;

void setup() {

pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
//pinker met 4 led's samen aan en uit

//alles aan en uit
while (var1 < 5) { //
digitalWrite(2, HIGH); //
digitalWrite(3, HIGH); //
digitalWrite(4, HIGH); //
digitalWrite(5, HIGH); //
delay(time1); //
digitalWrite(2, LOW); //
digitalWrite(3, LOW); //
digitalWrite(4, LOW); //
digitalWrite(5, LOW); //
delay(pauze); //
var1 ++;
}

//wissel pinker
while (var2 < 5) { //
digitalWrite(2, HIGH); //
digitalWrite(4, HIGH); //
delay(time2); //
digitalWrite(2, LOW); //
digitalWrite(4, LOW); //
digitalWrite(3, HIGH); //
digitalWrite(5, HIGH); //
delay(time2); //
digitalWrite(3, LOW); //
digitalWrite(5, LOW); //
delay(pauze); //
var2 ++;
}

//johnson R
while (var3 < 5) { //
digitalWrite(2, HIGH); //
delay(time3); //
digitalWrite(3, HIGH); //
delay(time3); //
digitalWrite(4, HIGH); //
delay(time3); //
digitalWrite(5, HIGH); //
delay(time3); //
digitalWrite(2, LOW); //
delay(time3); //
digitalWrite(3, LOW); //
delay(time3); //
digitalWrite(4, LOW); //
delay(time3); //
digitalWrite(5, LOW); //
delay(pauze);
var3 ++;
}

//johnson L
while (var4 < 5) { //
digitalWrite(5, HIGH); //
delay(time4); //
digitalWrite(4, HIGH); //
delay(time4);
digitalWrite(3, HIGH); //
delay(time4);
digitalWrite(2, HIGH); //
delay(time4);
digitalWrite(5, LOW); //
delay(time4);
digitalWrite(4, LOW); //
delay(time4);
digitalWrite(3, LOW); //
delay(time4);
digitalWrite(2, LOW); //
delay(pauze);
var4 ++;
}

//een L schuiven
while (var5 < 5) { //
digitalWrite(5, HIGH); //
delay(time5);
digitalWrite(5, LOW); //
digitalWrite(4, HIGH); //
delay(time5);
digitalWrite(4, LOW); //
digitalWrite(3, HIGH); //
delay(time5);
digitalWrite(3, LOW); //
digitalWrite(2, HIGH); //
delay(time5);
digitalWrite(2, LOW); //
delay(pauze);
var5 ++;
}

//een R schuiven
while (var6 < 5) { //
digitalWrite(2, HIGH); //
delay(time6);
digitalWrite(2, LOW); //
digitalWrite(3, HIGH); //
delay(time6);
digitalWrite(3, LOW); //
digitalWrite(4, HIGH); //
delay(time6);
digitalWrite(4, LOW); //
digitalWrite(5, HIGH); //
delay(time6);
digitalWrite(5, LOW); //
delay(pauze);
var6 ++;
}
{
// detectie van einde cyclus (doel om te herstarten vanaf begin) maar hoe?
if (var6==5) //detectie einde cyclus //dit is OK
digitalWrite(2, HIGH);////////// HIER MOET IETS ANDERS KOMEN DAT IK WEER VAN IN HET BEGIN START ( oneindig)
delay(10);
}
}

Advertisement

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 5 gasten