KNX-Taster


Google-Suche auf MEINE-SCHALTUNG.de :





Dauerkalender


Arduino - Zufallszahlen

Zufallszahlen werden mit der Funktion random erzeugt. Man kann Zufallszahlen zwischen Null und einem Maximum, oder zwischen zwei Grenzwerten erzeugen.

random(max)

Random(max) liefert eine Zufallszahl zwischen 0 und max zurück.

random(min, max)

Random(min, max) liefert eine Zufallszahl zwischen min und max zurück.

Beispiel:


  // ----------------------------------------------------------
  // Zufallszahlen mit random


  int Zufallszahl;

  void setup() {
    Serial.begin(9600);
  }

  void loop() {
    Zufallszahl = random(5,15);
    Serial.print ("Nächste Zufallszahl ist = ");
    Serial.println (Zufallszahl);
    delay(2000);
  }

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

randomSeed(x)

RandomSeed (StartParameter) bestimmt für die Funktion random den Startwert. Der Zufallsgenerator wird mit einem vom Seed-Parameter bestimmten Wert gestartet. Das verursacht, dass nach dem Start des Programms jeweils andere Zufallszahlen generiert werden. Den Wert des Seed-Parameters kann man bei Bedarf über digitale oder analoge Eingänge von Extern beeinflussen.


  // ----------------------------------------------------------
  // Zufallszahlen mit konstantem Parameter von randomSeed


  int Zufallszahl;

  void setup() {
    Serial.begin(9600);
  }

  void loop() {
    for (int i=1; i<5; i++) {
      Serial.print ("Zufallszahl-Reihe mit einem konstanten Seed-Startwert: ");
      randomSeed(10);
      for (int j=0; j<10; j++) {
        Zufallszahl = random(15);
        Serial.print (Zufallszahl);
        Serial.print (" ");
      }
      Serial.println ();
      delay (1000);
    }
  }
  // ----------------------------------------------------------


  // ----------------------------------------------------------
  // Zufallszahlen mit einem sich veränderndem Parameter von randomSeed


  int Zufallszahl;

  void setup() {
    Serial.begin(9600);
  }

  void loop() {
    for (int i=1; i<5; i++) {
      Serial.print ("Meine Zufallszahl-Reihe: ");
      randomSeed(i);
      for (int j=0; j<10; j++) {
        Zufallszahl = random(15);
        Serial.print (Zufallszahl);
        Serial.print (" ");
      }
      Serial.println ();
      delay (1000);
    }
  }
  // ----------------------------------------------------------


  // ----------------------------------------------------------
  // Zufallszahlen mit sich veräderndem Parameter von randomSeed
  // Parameter Bestimmung über einen nicht verdrahteten analogen Eingang.


  int Zufallszahl;

  void setup() {
    Serial.begin(9600);
  }

  void loop() {
    for (int i=1; i<5; i++) {
      Serial.print ("Meine Zufallszahl-Reihe: ");
      randomSeed(analogRead(1));
      for (int j=0; j<10; j++) {
        Zufallszahl = random(15);
        Serial.print (Zufallszahl);
        Serial.print (" ");
      }
      Serial.println ();
      delay (1000);
    }
  }
  // ----------------------------------------------------------


Arduino_Programmierung




Google-Suche auf MEINE-SCHALTUNG.de :


Netzwerk-Verteiler

Home Impressum Datenschutz