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)
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.
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).
Debe estar conectado para enviar un comentario.