Hvordan generere pseudo-tilfeldige tall i Arduino

Hvordan generere pseudo-tilfeldige tall i Arduino

For å generere pseudo-tilfeldige tall i Arduino, bruker vi de innebygde funksjonene tilfeldige (), først, forstår hvorfor vi trenger å generere pseudo-tilfeldige tall? I det virkelige liv må vi generere tilfeldige koder for verifiseringsformål. Tilsvarende, i digital spill, må vi generere tilfeldige passord. For dette formålet må vi generere de tilfeldige tallene i Arduino.

I denne artikkelen vil vi diskutere teknikkene som vi kan generere tilfeldige tall ved hjelp av eksempler.

Hvordan generere tilfeldige tall i Arduino

Det er to innebygde funksjoner i Arduino som brukes til å generere pseudo-tilfeldige tall:

  • tilfeldig()
  • RandomSeed ()

Vi vil forklare begge disse funksjonene i detalj.

tilfeldig(): Denne funksjonen brukes til å generere pseudo-tilfeldige tall ved å definere antallet av tall eller noen spesifikk tilstand. Den generelle syntaksen ved å bruke den tilfeldige () -funksjonen er:

tilfeldig (maks)

I følge denne syntaksen må du definere et heltallnummer, som et resultat av dette vil generere tallene mindre enn det aktuelle tallet. For å forstå bruken av denne syntaksen, bør du vurdere eksemplet:

int randomNumber; void setup ()
Serie.Begynn (9600);

void loop ()
RandomNumber = Random (500);
Serie.println (randomNumber);
forsinkelse (1000);


Vi har erklært en variabel av int -datatype globalt med navnet "RandomNumber" i ovennevnte kodeeksempel. I tomromsløyfen, ved å bruke den tilfeldige () funksjonen, lagret vi verdier i RandomNumber og spesifiserte de genererte tallene skal være mindre enn 500. Deretter ved hjelp av seriell kommunikasjon, viste vi resultatet på seriell monitorutgang. Og til slutt brukte vi forsinkelsesfunksjonen i ett sekund.

Utgangen til koden er:

Hvert sekund vises et tilfeldig tall.

Den andre måten å bruke Random () er å spesifisere området:

tilfeldig (min, maks);

Du må bruke den tilfeldige funksjonen med det spesifiserte området for pseudo-tilfeldige tall ved å nevne maksimale og minste grenser. Så tallene som genereres skal være i det spesifiserte området, for eksempel vurderer vi et annet eksempel:

int randomNumber; void setup ()
Serie.Begynn (9600);

void loop ()
RandomNumber = Random (100 500);
Serie.println (randomNumber);
forsinkelse (1000);


Koden som brukes i dette eksemplet er den samme som eksemplet ovenfor, den eneste forskjellen er at vi spesifiserte området for det tilfeldige antallet som genereres, skal være mellom 100 og 500. Utgangen fra koden vil være:


randomSeed (): Den andre innebygde funksjonen for å generere de tilfeldige tallene er ved å bruke RandomSeed () -funksjonen. Den tilfeldige () -funksjonen genererer pseudo-tilfeldige tall i henhold til området gitt til den som input, mens den randomseed () -funksjonen genererer tallene fra ethvert vilkårlig tall. Forskjellen mellom begge funksjonene er at utgangen fra tilfeldig () er forutsigbar noen ganger, mens det ikke er mulig å forutsi utgangen hvis randomSeed () -funksjonen brukes. Syntaksen er av randomseed -funksjon er:

RandomSeed (frø)

frø: Et usignert langt nummer

Anta at PIN 4 er analog uten koblet PIN, så vil funksjonen bli brukt som:

randomSeed (analogUeread (4));

RandomSeed () vil generere et annet nummer hver gang koden kjøres for å sikre at pinnen ikke er koblet.

Konklusjon

For å generere pseudo-tilfeldige tall i Arduino, kan vi bruke de innebygde funksjonene; tilfeldig () og randomseed (), av arduino. Disse funksjonene genererer tilfeldige tall som kan brukes til forskjellige prosjekter av Arduino. I denne oppskrivningen har vi forklart metodene for å generere de tilfeldige tallene i Arduino ved hjelp av eksempler.