Genera Números Aleatorios con Arduino

Para generar números aleatorios, puedes usar las funciones de números aleatorios de Arduino. En concreto tenemos dos funciones.

  • randomSeed(seed)
  • random()

randomSeed (seed)

Tabla de Contenidos

La función randomSeed(seed) reinicia el generador de números pseudoaleatorios de Arduino. Aunque la distribución de los números devueltos por random() es esencialmente aleatoria, la secuencia es predecible. Deberías reajustar el generador a algún valor aleatorio. Si tiene un pin analógico desconectado, podría captar ruido aleatorio del entorno circundante. Estas pueden ser ondas de radio, rayos cósmicos, interferencia electromagnética de teléfonos celulares, luces fluorescentes, etc.

Ejemplo:

randomSeed(analogRead(5)); // randomize using noise from analog pin 5

random( )

La función aleatoria genera números pseudo-aleatorios. A continuación se presenta la sintaxis.

random( ) Sintaxis de las sentencias

long random(max) // genera números aleatorios de 0 a max
long random(min, max) // genera números aleatorios de min a max

Ejemplo

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);
}

Ahora refresquemos nuestros conocimientos sobre algunos de los conceptos básicos como los bits y bytes.

Bits

Un bit es sólo un dígito binario.

  • El sistema binario utiliza dos dígitos, 0 y 1.
  • Similar al sistema de números decimales, en el que los dígitos de un número no tienen el mismo valor, el «significado» de un bit depende de su posición en el número binario. Por ejemplo, los dígitos en el número decimal 666 son los mismos, pero tienen valores diferentes.

bit y bytes

Bytes

Un byte consta de ocho bits.

  • Si un bit es un dígito, es lógico que los bytes representen números.
  • Todas las operaciones matemáticas se pueden realizar sobre ellos.
  • Los dígitos de un byte tampoco tienen el mismo significado.
  • El bit más a la izquierda tiene el valor más grande llamado el bit más significativo (MSB).
  • El bit más a la derecha tiene el menor valor y, por lo tanto, se llama el bit menos significativo (LSB).
  • Dado que ocho ceros y unos de un byte pueden combinarse de 256 maneras diferentes, el número decimal más grande que puede ser representado por un byte es 255 (una combinación representa un cero).

Pin It on Pinterest

Shares