Möchte für mein Aquarium eine Zufällige Strömung erzeugen. Benutzen will ich dafür 4 Pumpen.
Zum testen lass ich mir auf dem LCD auf den ersten 4 Felder für High oder Low 1/0 anzeigen!
Ich will per Zufall Zwischen 1 und 3 Stunden meine Zufallszahl ändern!
Ich bin noch Anfänger, bitte um Hilfe.
Vielen Dank schonmal und einen schönen Abend,
Grüße Timo
int Zufallszahl; // Pumpenkombination
int Pumpenwechselzeit; // alle 1-3h
unsigned long Pumpenzeit = millis()+Pumpenwechselzeit100060*60;void setup(void)
{
randomSeed(Zufallszahl);
randomSeed(Pumpenwechselzeit);
}void loop(void)
Pumpenwechselzeit = random(3);if (Pumpenzeit > Pumpenwechselzeit)
{Zufallszahl = random(12);}//Pumpenkomibnationen
// immer 1 oder 2 an
//rest ist zufall
//p1 0-1
//p1,p2 1-2
//p1,p3 2-3
//p1,p4 3-4
//p1,p2,p3 4-5
//p1,p2,p4 5-6
//p1,p3,p4 6-7
//p1,p2,p3,p4 7-8
//p2 8-9
//p2,p3 9-10
//p2,p4 10-11
//p2,p3,p4 11-12if (Zufallszahl >= 0 && Zufallszahl <= 1)
{digitalWrite(Pumpe_1, HIGH);
lcd.setCursor(0, 0);
lcd.print("1000");}
else
{digitalWrite(Pumpe_1, LOW);}if (Zufallszahl > 1 && Zufallszahl <= 2)
{digitalWrite(Pumpe_1, HIGH);
digitalWrite(Pumpe_2, HIGH);
lcd.setCursor(0, 0);
lcd.print("1100");}
else
{digitalWrite(Pumpe_1, LOW);}
digitalWrite(Pumpe_2, LOW);if (Zufallszahl > 2 && Zufallszahl <= 3)
{digitalWrite(Pumpe_1, HIGH);
digitalWrite(Pumpe_3, HIGH);
lcd.setCursor(0, 0);
lcd.print("1010");}
else
{digitalWrite(Pumpe_1, LOW);
digitalWrite(Pumpe_3, LOW);}if (Zufallszahl > 3 && Zufallszahl <= 4)
{digitalWrite(Pumpe_1, HIGH);
digitalWrite(Pumpe_4, HIGH);
lcd.setCursor(0, 0);
lcd.print("1001");}
else
{digitalWrite(Pumpe_1, LOW);
digitalWrite(Pumpe_4, LOW);}if (Zufallszahl > 4 && Zufallszahl <= 5)
{digitalWrite(Pumpe_1, HIGH);
digitalWrite(Pumpe_2, HIGH);
digitalWrite(Pumpe_3, HIGH);
lcd.setCursor(0, 0);
lcd.print("1110");}
else
{digitalWrite(Pumpe_1, LOW);
digitalWrite(Pumpe_2, LOW);
digitalWrite(Pumpe_3, LOW);}if (Zufallszahl > 5 && Zufallszahl <= 6)
{digitalWrite(Pumpe_1, HIGH);
digitalWrite(Pumpe_2, HIGH);
digitalWrite(Pumpe_4, HIGH);
lcd.setCursor(0, 0);
lcd.print("1101");}
else
{digitalWrite(Pumpe_1, LOW);
digitalWrite(Pumpe_2, LOW);
digitalWrite(Pumpe_4, LOW);}if (Zufallszahl > 6 && Zufallszahl <= 7)
{digitalWrite(Pumpe_1, HIGH);
digitalWrite(Pumpe_3, HIGH);
digitalWrite(Pumpe_4, HIGH);
lcd.setCursor(0, 0);
lcd.print("1011");}
else
{digitalWrite(Pumpe_1, LOW);
digitalWrite(Pumpe_3, LOW);
digitalWrite(Pumpe_4, LOW);
}if (Zufallszahl > 7 && Zufallszahl <= 8)
{digitalWrite(Pumpe_1, HIGH);
digitalWrite(Pumpe_2, HIGH);
digitalWrite(Pumpe_3, HIGH);
digitalWrite(Pumpe_4, HIGH);
lcd.setCursor(0, 0);
lcd.print("1111");}
else
{digitalWrite(Pumpe_1, LOW);
digitalWrite(Pumpe_2, LOW);
digitalWrite(Pumpe_3, LOW);
digitalWrite(Pumpe_4, LOW);}if (Zufallszahl > 8 && Zufallszahl <= 9)
{digitalWrite(Pumpe_2, HIGH);
lcd.setCursor(0, 0);
lcd.print("0100");}
else
{digitalWrite(Pumpe_2, LOW);}if (Zufallszahl > 9 && Zufallszahl <= 10)
{digitalWrite(Pumpe_2, HIGH);
digitalWrite(Pumpe_3, HIGH);
lcd.setCursor(0, 0);
lcd.print("0110");}
else
{digitalWrite(Pumpe_2, LOW);
digitalWrite(Pumpe_3, LOW);}if (Zufallszahl > 10 && Zufallszahl <= 11)
{digitalWrite(Pumpe_2, HIGH);
digitalWrite(Pumpe_4, HIGH);
lcd.setCursor(0, 0);
lcd.print("0101");}
else
{digitalWrite(Pumpe_2, LOW);
digitalWrite(Pumpe_4, LOW);}if (Zufallszahl > 11 && Zufallszahl <= 12)
{digitalWrite(Pumpe_2, HIGH);
digitalWrite(Pumpe_3, HIGH);
digitalWrite(Pumpe_4, HIGH);
lcd.setCursor(0, 0);
lcd.print("0111");}
else
{digitalWrite(Pumpe_2, LOW);
digitalWrite(Pumpe_3, LOW);
digitalWrite(Pumpe_4, LOW);}
}