Un dado electrónico realmente aleatorio con un tubo Geiger

Publicado por en Arduino el 11/06/2022

Seguro que has escuchado hablar de los números aleatorios, sobre todo si has programado algo en algún lenguaje. Los más canosos como yo recordaran la mítica función randomize() de BASIC o Math.random() para los modernos de Javascript.

Pero si lo piensas bien, ¿cómo de aleatorio es un número aleatorio generado por un ordenador?

Realmente no es aleatorio, sino que es un algoritmo, una función matemática que devuelve una sucesión de números partiendo de una semilla. A la vista, es una secuencia de números aparentemente aleatorios, pero si conoces la semilla, puedes predecir la secuencia y por lo tanto hacer "trampa".

Incluso un simple dado convencional de toda la vida. Si cuando lo lanzas al aire, conocieras de forma precisa la fuerza, el ángulo, todas las partículas con las que interactúa y parámetros suficientes, la teoría dice que podrías predecir qué número sale al caer.

Por supuesto, si esto fuera así de fácil, los casinos ya estarían arruinados desde hace mucho tiempo (lo siento Bender). Dado que el truco para conseguir un número realmente aleatorio es que se necesita generar una semilla realmente aleatoria. Un excelente truco para hacerlo es utilizar un tubo de Geiger-Müller, más conocido por tubo Geiger o contador Geiger.

¿Y eso cómo se hace?

Te sigo contando a continuación donde además te dejo un proyecto que utiliza ésta increíble técnica.

Cómo generar un número aleatorio con un tubo Geiger

Al final, la generación de una secuencia de número aleatorios es siempre la misma o muy parecida. De hecho, es un generador de número pseudoaleatorios, ya que siempre que se parta de la misma semilla, se obtendrá la misma secuencia de valores.

Sabiendo esto, los tubos de Geiger son muy útiles para generar una semilla que sea realmente aleatoria y por lo tanto, nuestra secuencia de números también lo será.

Un contador Geiger tiene un tubo sensor que es capaz de medir la radiación ionizante, como las partículas alfa, beta, gamma, así como radiación de fondo. Cada vez que llega una partícula al tubo, recibiremos un impulso pero como no se puede saber ni predecir cuándo va a venir una partícula, podremos utilizar eso a nuestro favor para generar una semilla realmente aleatoria utilizando el tiempo de intervalo entre cada partícula.

Imagínate que tienes un dispositivo que cuenta números del 0 al 9 con un intervalo determinado de tiempo entre los números, pongamos 100 milisegundos. Cuando llegue el contador a 9, volverá a cero y así en bucle.

Ahora bien, puedes hacer que ese mismo contador se pare cuanto el contador Geiger reciba el impacto de una partícula.

El número resultante será absolutamente aleatorio.

Eso es exactamente lo que hace el proyecto de dado electrónico que puedes ver aquí abajo. Y si tu también te animas a crear tu propio dado electrónico realmente aleatorio, tenemos un contador Geiger aquí que te puede interesar.

Si te ha gustado, compártelo con tus amigos!

Uso de Cookies

Utilizamos cookies propias y de terceros para optimizar tu visita. No utilizamos cookies para recoger información de carácter personal.

Puedes permitir su uso o rechazarlo y cambiar su configuración cuando lo desees.

Cerrar

Más información en nuestra Política de Cookies.