RandomSeed -funksjon i Arduino

RandomSeed -funksjon i Arduino
Arduino er et kompakt brett som bruker brukerne enkelt kan programmere og kontrollere forskjellige elektroniske enheter. En av funksjonene i Arduino er muligheten til å generere tilfeldige tall, noe som kan være nyttig for en rekke applikasjoner.

Arduino tilfeldige frøfunksjon er en måte å initialisere den tilfeldige tallgeneratoren med en unik verdi, slik at de genererte tallene virkelig er tilfeldige.

Introduksjon til randomSeed () -funksjon

I Arduino brukes den randomseed () -funksjonen til å initialisere pseudorandomnummergeneratoren med en frøverdi. Ved å gi en frøverdi til RandomSeed (), vil generatoren alltid blande sekvensen av tilfeldige tall generert for et gitt frø. Dette kan være nyttig for testing eller reproduserbarhet. Funksjonen tar en heltallverdi som argument, som kan være et hvilket som helst antall eller variabel.

I Arduino -kode ved å bruke “RandomSeed (frø)” funksjon Et pseudo eller tilfeldig tall kan genereres. De "frø" Parameter er en usignert lang verdi som kan være et hvilket som helst tall mellom 0 og 4.294.967.295.

Syntaks

De Syntaks For randomseed () -funksjonen i Arduino er som følger:

randomseed (frø);

Parameter

Funksjonen tar en parameter:

frø: En heltallverdi som fungerer som frø for Pseudorandom Number Generator. Denne verdien kan være et hvilket som helst antall eller variabel.

Komme tilbake

De RandomSeed () Funksjonen har ingen returverdi.

Eksempelkode

Hvis du for eksempel vil generere et tilfeldig tall mellom 1 og 10, kan du bruke følgende kode:

void setup ()
Serie.Begynn (9600); /*Baudfrekvens for seriell kommunikasjon*/
randomSeed (analogread (0)); /*Tilfeldig tallfunksjon initialisert*/

void loop ()
int randomNumber = tilfeldig (1, 11); /*Område definert for tilfeldige tall*/
Serie.println (randomNumber); /*Seriell utskrift tilfeldig nummer*/
forsinkelse (500); /*Forsinkelse på 1 sek*/

Koden over initialiserer den tilfeldige tallgeneratoren med en unik frøverdi ved å bruke Analogread funksjon. Denne funksjonen leser verdien av en analog pinne og returnerer den som et tall mellom 0 og 1023. Neste et tall mellom 1 og 10 vil bli generert. Det genererte nummeret blir deretter sendt til serieporten og kan sees ved hjelp av Arduino Serial Monitor.

Merk: Det er viktig å merke seg at det å kalle en tilfeldig frøfunksjon i Løkke() Funksjon kan føre til å generere samme antall igjen og igjen. Det anbefales å bruke RandomSeed () -funksjonen i oppsett () En del av koden.

Produksjon

I utgangen av Serial Monitor viste noe tilfeldig tall generert ved hjelp av Arduino UNO -tavlen.

Merk: Det er viktig å merke seg at RandomSeed () Funksjon må ringes før du bruker noen av de tilfeldige nummergenererende funksjonene som tilfeldig() eller RandomGaussian () For at de skal gi forskjellige resultater på hver kjøring.

Det anbefales også å bruke RandomSeed () med en uforutsigbar verdi, for eksempel utgangen fra Analogread () på en ikke -koblet pin.

Konklusjon

Avslutningsvis er Arduino RandomSeed () et kraftig verktøy for å generere virkelig tilfeldige tall, noe som kan være nyttig for en rekke applikasjoner. Det lar brukere enkelt initialisere den tilfeldige tallgeneratoren med en unik verdi, slik at de genererte tallene virkelig er tilfeldige. Bruke randomSeed () Enhver pseudoverdi kan genereres.