Genere números aleatorios usando Esptop 10 y Arduino IDE

Genere números aleatorios usando Esptop 10 y Arduino IDE
Usando ESP32 podemos crear diferentes proyectos y hacer productos únicos que puedan resolver múltiples problemas. ESP32 es una placa de microcontrolador, por lo que utilizando las funciones de programación de Arduino IDE podemos crear una salida interesante. Esta lección guía cómo se puede generar números aleatorios usando la placa ESP32.

¿Qué son los números aleatorios?

Los números aleatorios juegan un papel importante en la seguridad y el cifrado. Es posible que haya usado sugerencias de contraseña de Google. Funciona en un principio que de alguna manera es similar a la generación de números aleatorios.

Los números aleatorios son una secuencia de números que uno no puede predecir, y es un número que se elige de un conjunto de números.

Por qué necesitamos números aleatorios

Los números aleatorios son importantes para las operaciones criptográficas, la computación moderna y las simulaciones. Los números aleatorios también ayudan a mejorar la seguridad informática. Aquí hay algunas aplicaciones principales de números aleatorios:

  • Números aleatorios utilizados en algoritmos
  • Contenidos generados en procedimiento, como imágenes aleatorias, nombres y muchos otros
  • Para simulaciones que no son deterministas, como si el patrón, los dados barajan y los patrones meteorológicos

Como ahora entendemos las aplicaciones básicas del generador de números aleatorios ESP32, echemos un vistazo al código y generemos algunos números aleatorios.

Función para generar un número aleatorio en ESP32

La placa ESP32 contiene un generador de números aleatorios de hardware que usa la función esp_random ().

esp_random () no toma argumento y nos da un valor generado aleatoriamente de 0 a uint32_max (es el valor máximo que un int sin signo puede almacenar dentro de él).

Nota: Una cosa para recordar aquí es el generador de números aleatorios de hardware ESP32 que funciona con WiFi y Bluetooth. La verdad número aleatorio solo se genera cuando ambos están habilitados. Si estos dos están deshabilitados, ESP32 solo puede generar un número de pseudo. Para obtener más detalles, consulte la documentación de número aleatorio de espressif ESP32.

Información interesante: Una información interesante sobre el generador de números aleatorios de hardware ESP32 es que ESP32 ha pasado el número de prueba aleatorio de diámetro cuando se toma una muestra de datos de 2GB usando ESP32 cuando su WiFi está habilitado. Die Harder es una prueba para el generador de números aleatorios.

Sintaxis
Aquí está la sintaxis de la función ESP32 para el número aleatorio:

esp_random ()

Devolver
Esta función devuelve un valor aleatorio entre 0 y uint32_max.

Código para generar un número aleatorio

Abra Arduino IDE y cargue el código dado en ESP32 para generar un número aleatorio entre 0 y 4294967295 (valor máximo sin signo int).

setup () void
De serie.comenzar (115200); /*Tasa de baudios definida*/

bucle void ()
De serie.println ("**********");
De serie.imprimir ("número aleatorio =");
De serie.println (esp_random ()); /*Imprima cualquier número aleatorio de 0 al más grande sin firmar int*/
retraso (2000); /*Retraso de 2 segundos*/

Producción
Después de cargar código, podemos ver la salida en el monitor en serie. Aquí podemos ver que ESP32 generó dos números aleatorios diferentes.

Código para generar un número aleatorio entre un rango específico

Supongamos que si el wifi ESP32 no está habilitado, entonces hay una alternativa a la función esp_random (). Podemos usar la función del generador de números aleatorios Arduino (aleatorio()).

Usando esta función, podemos generar cualquier número aleatorio en un rango especificado.

Abra Arduino IDE y cargue un código determinado que nos dará un número aleatorio entre 10-20.

setup () void
De serie.comenzar (115200); /*Tasa de baudios definida*/

bucle void ()
De serie.println ("**********");
De serie.Imprima ("Número aleatorio entre 10 y 20 =");/*Imprima cualquier número aleatorio entre 10 y 20*/
De serie.println (aleatorio (10,20));
retraso (2000); /*Retraso de 2 segundos*/

Producción
La siguiente salida se puede ver en el monitor en serie: se genera un número aleatorio cada 2 segundos.

Hemos cubierto con éxito las funciones que ESP32 usó para generar números aleatorios.

Conclusión

Los números aleatorios juegan un papel importante en la probabilidad y las estadísticas. También es útil en cifrado de seguridad y operaciones criptográficas. Esta lección lo guiará para generar diferentes números aleatorios. También podemos definir un rango para obtener un número aleatorio.