Frage von Bluberblab2003, 7

Arduino Code random?

Hey,

ich habe eine kleinen Programm Auschnitt. Er soll eine besstimmte reihenfolge der LEDs zufällig abspielen. Das ganze befindet sich im Void Setup. Es kommt allerdings nur bei einem kompletten neustart des Arduinos eine neu Zahl. Sonst immer die selbe (beim Reset)

Hier der Code:

Code = 0;
Code = random(0,6);
  
  
if(Code == 1)
{
  digitalWrite(ledPin, HIGH);
  delay(1000);
   digitalWrite(ledPin, LOW);
  delay(1000);
  digitalWrite(ledPin1, HIGH);
   delay(1000);
   digitalWrite(ledPin1, LOW);
   delay(1000);
  digitalWrite(ledPin2, HIGH);
   delay(1000);
    digitalWrite(ledPin2, LOW); 
   delay(1000);
  digitalWrite(ledPin3, HIGH);
     delay(1000);
    digitalWrite(ledPin3, LOW);
   delay(1000);
  digitalWrite(ledPin4, HIGH);
     delay(1000);
    digitalWrite(ledPin4, LOW);
  delay(1000);
}
else
{



//-------------------------------------------


if(Code == 2)
{
  digitalWrite(ledPin, HIGH);
  delay(1000);
   digitalWrite(ledPin, LOW);
  delay(1000);
  digitalWrite(ledPin1, HIGH);
   delay(1000);
   digitalWrite(ledPin1, LOW);
   delay(1000);
  digitalWrite(ledPin2, HIGH);
   delay(1000);
    digitalWrite(ledPin2, LOW); 
   delay(1000);
  digitalWrite(ledPin3, HIGH);
     delay(1000);
    digitalWrite(ledPin3, LOW);
   delay(1000);
  digitalWrite(ledPin4, HIGH);
     delay(1000);
    digitalWrite(ledPin4, LOW);
  delay(1000);
}
else
{

//---------------------------------

if(Code == 3)
{
  digitalWrite(ledPin, HIGH);
  delay(1000);
   digitalWrite(ledPin, LOW);
  delay(1000);
  digitalWrite(ledPin3, HIGH);
   delay(1000);
   digitalWrite(ledPin3, LOW);
   delay(1000);
  digitalWrite(ledPin4, HIGH);
   delay(1000);
    digitalWrite(ledPin4, LOW); 
   delay(1000);
  digitalWrite(ledPin2, HIGH);
     delay(1000);
    digitalWrite(ledPin2, LOW);
   delay(1000);
  digitalWrite(ledPin4, HIGH);
     delay(1000);
    digitalWrite(ledPin4, LOW);
  delay(1000);
}
else{
//--------------------------------


if(Code == 4)
{
  digitalWrite(ledPin3, HIGH);
  delay(1000);
   digitalWrite(ledPin3, LOW);
  delay(1000);
  digitalWrite(ledPin3, HIGH);
   delay(1000);
   digitalWrite(ledPin3, LOW);
   delay(1000);
  digitalWrite(ledPin1, HIGH);
   delay(1000);
    digitalWrite(ledPin1, LOW); 
   delay(1000);
  digitalWrite(ledPin4, HIGH);
     delay(1000);
    digitalWrite(ledPin4, LOW);
   delay(1000);
  digitalWrite(ledPin2, HIGH);
     delay(1000);
    digitalWrite(ledPin2, LOW);
  delay(1000);
}
else
{
//---------------------------------

if(Code == 5)
{
  digitalWrite(ledPin4, HIGH);
  delay(1000);
   digitalWrite(ledPin4, LOW);
  delay(1000);
  digitalWrite(ledPin3, HIGH);
   delay(1000);
   digitalWrite(ledPin3, LOW);
   delay(1000);
  digitalWrite(ledPin2, HIGH);
   delay(1000);
    digitalWrite(ledPin2, LOW); 
   delay(1000);
  digitalWrite(ledPin1, HIGH);
     delay(1000);
    digitalWrite(ledPin1, LOW);
   delay(1000);
  digitalWrite(ledPin, HIGH);
     delay(1000);
    digitalWrite(ledPin, LOW);
  delay(1000);
}
else
{
//--------------------
Antwort
von Cynob, 5

Mal davon abgesehen das der Code sehr naja sagen wir mal sehr "ausführlich" geschrieben ist würde ich das ganze in die loop Methode packen ;)

Kommentar von Bluberblab2003 ,

Geht nicht, das es sich ja dann wiederholen würde-soll es abe nicht

Kommentar von Cynob ,

Achso na dann musst du den Zufallszahlengenerator initialisieren:

https://www.arduino.cc/en/Reference/Random

https://www.arduino.cc/en/Reference/RandomSeed

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten