Arduino - Zufallszahlen
Um Zufallszahlen zu generieren, können Sie Arduino-Zufallszahlenfunktionen verwenden. Wir haben zwei Funktionen -
- randomSeed(seed)
- random()
randomSeed (Samen)
Die Funktion randomSeed (seed) setzt den Pseudozufallszahlengenerator von Arduino zurück. Obwohl die Verteilung der von random () zurückgegebenen Zahlen im Wesentlichen zufällig ist, ist die Reihenfolge vorhersehbar. Sie sollten den Generator auf einen zufälligen Wert zurücksetzen. Wenn Sie einen nicht angeschlossenen analogen Pin haben, wird möglicherweise zufälliges Rauschen aus der Umgebung aufgenommen. Dies können Radiowellen, kosmische Strahlen, elektromagnetische Störungen durch Mobiltelefone, Leuchtstofflampen usw. sein.
Beispiel
randomSeed(analogRead(5)); // randomize using noise from analog pin 5
zufällig( )
Die Zufallsfunktion erzeugt Pseudozufallszahlen. Es folgt die Syntax.
zufällige () Anweisungen Syntax
long random(max) // it generate random numbers from 0 to max
long random(min, max) // it generate random numbers from min to max
Beispiel
long randNumber;
void setup() {
Serial.begin(9600);
// if analog input pin 0 is unconnected, random analog
// noise will cause the call to randomSeed() to generate
// different seed numbers each time the sketch runs.
// randomSeed() will then shuffle the random function.
randomSeed(analogRead(0));
}
void loop() {
// print a random number from 0 to 299
Serial.print("random1=");
randNumber = random(300);
Serial.println(randNumber); // print a random number from 0to 299
Serial.print("random2=");
randNumber = random(10, 20);// print a random number from 10 to 19
Serial.println (randNumber);
delay(50);
}
Lassen Sie uns nun unser Wissen über einige der Grundkonzepte wie Bits und Bytes auffrischen.
Bits
Ein Bit ist nur eine Binärziffer.
Das Binärsystem verwendet zwei Ziffern, 0 und 1.
Ähnlich wie beim Dezimalzahlensystem, bei dem Ziffern einer Zahl nicht denselben Wert haben, hängt die "Bedeutung" eines Bits von seiner Position in der Binärzahl ab. Beispielsweise sind Ziffern in der Dezimalzahl 666 gleich, haben jedoch unterschiedliche Werte.
Bytes
Ein Byte besteht aus acht Bits.
Wenn ein Bit eine Ziffer ist, ist es logisch, dass Bytes Zahlen darstellen.
Alle mathematischen Operationen können an ihnen ausgeführt werden.
Die Ziffern in einem Byte haben auch nicht die gleiche Bedeutung.
Das Bit ganz links hat den größten Wert, der als Most Significant Bit (MSB) bezeichnet wird.
Das Bit ganz rechts hat den geringsten Wert und wird daher als Least Significant Bit (LSB) bezeichnet.
Da acht Nullen und Einsen eines Bytes auf 256 verschiedene Arten kombiniert werden können, ist die größte Dezimalzahl, die durch ein Byte dargestellt werden kann, 255 (eine Kombination repräsentiert eine Null).