Generar un bit aleatorio con un pulso

#1
Hola a todos, estoy haciendo un proyecto y necesito generar bits aleatorios, pensaba generar 3 bits aleatorios al apretar un botón.
Mi primer pregunta es si hay un circuito integrado que genere un bit aleatorio al recibir un pulso porque estuve buscando y no encontre ninguno.
La segunda opción que tenía era poner con 555 pulsos a frecuencias altas. cada uno con frecuencias diferentes y con un flip flop d que se active con possitive edge trigger y con eso tomar los bits y como el pulso se dará manualmente y las frecuencias serán altas el resultado será aleatorio.
Ustedes que opinan.
Gracias por sus respuestas
 
#3
Hola!

CD4017 como contador por dos y un pulsador con su respectiva resistencia a VCC o a GND según sea el caso.

Aquí se aprovecha la imperfección de los rebotes del pulsador, al pulsar el botón generará infinidad de pulsos y de esta forma obtienes un pulso totalmente aleatorio. Puedes tomar el bit de la salida 0 o de la salida 1

Usas un aproximado de apenas 4 componentes (y)

Salu2!!
 
Última edición:
#4
La verdad no lo había visto pero ayer que lei tu mensaje estuve leyendo sobre ellos y según entendí si yo creo 3 bits asi voy a tener 8 combinaciones de resultados, desde 000 hasta 111, que apareceran de forma aleatoria pero según entiendo si por ejemplo mi primer estado fuera 011, ya no aparecerá el mismo estado hasta que los otros 7 estados hayan aparecido. Yo necesito que se ea así, que si se puedan repetir estados sin tener que dar toda una vuelta. No encontré aparte ningún circuito integrado que sea un LFSR, no se si me puedas ayudar con el número si es que lo hay o si más bien tendría que hacerlo, según los circuitos que estuve viendo serían puras flip flops tipo d y un exor.


Voy a hacer la prueba con un cd4017 y el pulsador que pensaba usar para ver que tantos pulsos crea y tal vez hasta podría tomar los 3 bits de la salida 1, 2 y 3. Creo que es una solución más barata y rápida que el LFSR.

Muchas gracias por sus respuestas.
 
#5
Es lo más fácil que se me ocurrió sin necesidad de usar integrados raros (no es por menospreciar tu respuesta chclau), pero se aprovechan todos los rebotes que genere el mismo, es como meterle un tren de pulsos "aleatorios" a la entrada CLK del CD4017.

Salu2! y esperamos tu respuesta ;)
 
#8
A esta altura ya empiezo a no entender. Es un bit, tres bits, o que?

No me ofendo nunca por una solucion simple y que funcione aunque no sea la mia, la mejor solucion es la solucion mas simple, que funcione.

Yo diria que es el turno del muchacho que comenzo la consulta de "ensuciarse las manos" y probar alguna solucion, definiendo de paso mejor que es lo que quiere... y de ahi la sigo.


Una ultima aclaracion, es correcta tu duda con respecto al LFSR. Un LFSR no es aleatorio sino pseudo aleatorio. Para tres bits aleatorios yo no usaria un LFSR de 3 bits sino uno de 16 o 32 bits, para el que los ultimos tres bits parecen super aleatorios. Que yo sepa no hay un integrado que lo haga. O si, lo hay, pero es programable. Un CPLD.

Bueno, espero tus respuestas y de ahi la seguimos
 
#10
Si, claro pero el problema gordo es de donde sacar algo aleatorio para meterselo al 4017
Los rebotes del pulsador harán como de tren de pulsos totalmente aleatorios, siempre que probamos este contador para nuestras lucesitas vimos que al pulsar el botón nunca avanzaba una posición, sino que "saltaba" varias salidas. Cuando sueltas el pulsador y se estabiliza se queda en una posición, ahí está tu resultado.
 
#12
Como contador por 2 pulsas el botón, cuenta varias veces por todos los rebotes que genere tu pulsador y al soltarlo tienes un bit generado aleatoriamente.

Idealmente, al pulsar el botón, debería avanzar una posición únicamente, pero como no es así, pues el contacto interno rebotará tantas veces generando algo así como un tren de pulsos de duración y pulsos variados, esto se traduce a que contará tantas veces hasta que el "tren de pulsos" generado por los rebotes cese.

Todo queda en el pulsador, que tantos rebotes genera y la forma en que lo pulses puede generar más o menos, pero de forma aleatoria, pues eso se genera en el contacto del pulsador.
 
#13
si quieren 3 bits es obvio que tendran que mostrarlos .
asi que apuntan a un microcontrolador.
un C. se carga y descarga y una entrada captura la tension de ese C. en el instante que pulsan .

si eso no es aleatorio, no se que lo es.

ahora si no usan un microcontrolador, 3 bits, lo mas simple es 3 leds .
un oscilador de cualquier frecuencia en Khz , un ci que cuente , nodigo el 4017 que vi que pusieron , por que solo se prende una salida, o no ?

un contador a bcd puede andar, ni recuerdo que hay .
le meten en el ck eloscilador, digamos de 10Khz .
no hay forma de predecir nada.

al pulsar o al soltar la pulsada se congela el contador, asi pueden "capturar" una lectura.
 
Arriba