Autor Tema: Programar un generador de azar  (Leído 1992 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado dmela2012

  • PIC10
  • *
  • Mensajes: 1
Programar un generador de azar
« en: 19 de Abril de 2007, 13:48:57 »
Necesito hacer una rueda de 4 leds que van girando, con cuatro pulsadores, supongamos que los leds los nombramos del 1 al 4, y a los pulsadores tambien, entonces cuando se apreta un boton, tiene que empezar a girar siempre desde el mismo lugar, y cuando termina, si coincide, gana y sino no, pero no se como hacer esto al azar, y tampoco para tener una probabilidad de que gane del 70%, solo me sale si lo hago de antemano con cinco o mas posibilidades, pero me faltaria hacer un generador de numeros al azar, alguien tiene idea, le agradeceria mucho.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Programar un generador de azar
« Respuesta #1 en: 19 de Abril de 2007, 14:41:02 »
Para generar algo realmente al azar, debes depender de una fuente que sí lo sea... algo 'externo' , no algo provocado en el mismo pic.

Podrías basarte en el sensado de una resistencia con un amplicador de cierta ganancia y tomando eso con un A/D.  De esa forma, estarías amplificando el ruido blanco.  No se, es solo una sugerencia.

En cuanto a lo demás... bueno, debieras llevar un registro de cuantas veces ganó y cuantas no ganó para ir acomodando el resultado y la fuerza de impulso para que caiga o no caiga en dicho lugar.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado manuelroin24

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 665
Re: Programar un generador de azar
« Respuesta #2 en: 19 de Abril de 2007, 15:08:32 »
Una vez jugueteando con estas cosas , hice en la escuela un Dado electronico que generaba numeros al azar si se puede llamar asi . El asunto era con el timer y tablas, la tabla se iba desplazando hasta que el timer interrumpia y asi obtenias cualquier numero, claro esta de la tabla que definias
El conocimiento se consigue a base de esfuerzo...

Desconectado SavageChicken

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 931
Re: Programar un generador de azar
« Respuesta #3 en: 20 de Abril de 2007, 09:49:12 »
Podrías aprovechar el "ruido" que producen los pulsadores o contactos, esperando unas milésimas de segundo y sumando cuantos unos es capaz de leer el PIC en ese tiempo en el pulsador activado y en base a eso generar un número aleatorio.

Sería una forma de aprovechar un problema que muchas veces tenemos con los pulsadores y convertirlo en algo útil para este caso.

Salud  8)
« Última modificación: 21 de Abril de 2007, 00:16:06 por SavageChicken »
No hay preguntas tontas...
Solo hay tontos que no preguntan.

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Programar un generador de azar
« Respuesta #4 en: 20 de Abril de 2007, 20:54:54 »
Hola, similar a lo dicho por SavageChicken, creo que si colocas un contador, que se reinicie a llegar a 4, dentro de la rutina de sensado del pulsador, en el momento en que pulsan, este contara rapidamente, al soltar, verificas el estado del contador....  :mrgreen:  y a la velocidad del micro, sera imposible predecir por un humano...

Suerte!

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Programar un generador de azar
« Respuesta #5 en: 23 de Abril de 2007, 22:55:01 »
tal vez mi respuesta sea demasiado simple... pero puede servir:
un timer de 8 bits sin prescaler contara un tick de reloj cada 1 us con un cristal de 4mhz
si cuando se pulse el boton se mira por que tick de reloj va y miramos el resto de una division entre 4 (nº ticks%4) solo puede haber 4 resultados posibles: 0, 1, 2 y 3.
seamos sinceros, puede ser lo ideal poder generar un numero al azar, pero en tiempos de microsegundos es imposible que nadie pueda predecir lo que va a ocurrir. :roll:
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.