Autor Tema: Game of Life - Juego de la vida (Conway)  (Leído 9203 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Game of Life - Juego de la vida (Conway)
« en: 06 de Octubre de 2009, 02:24:48 »


Esta vez me traigo un ejercicio de programación típico, el "juego de la vida" de John Horton Conway.
No le busqueis utilidad, porque no la tiene , es un simple juego de 0 jugadores  :mrgreen:

Citando a la wikipedia:
"El juego de la vida es el mejor ejemplo de un autómata celular; es en realidad un juego de cero jugadores, lo que quiere decir que su evolución está determinada por el estado inicial y no necesita ninguna entrada de datos posterior. El "tablero de juego" es una malla formada por cuadrados ("células") que se extiende por el infinito en todas las direcciones. Cada célula tiene 8 células vecinas, que son las que están próximas a ella, incluso en las diagonales. Las células tienen dos estados: están "vivas" o "muertas" (o "encendidas" y "apagadas"). El estado de la malla evoluciona a lo largo de unidades de tiempo discretas (se podría decir que por turnos). El estado de todas las células se tiene en cuenta para calcular el estado de las mismas al turno siguiente. Todas las células se actualizan simultáneamente.

Las transiciones dependen del número de células vecinas vivas:

* Una célula muerta con exactamente 3 células vecinas vivas "nace" (al turno siguiente estará viva).
* Una célula viva con 2 ó 3 células vecinas vivas sigue viva, en otro caso muere o permanece muerta (por "soledad" o "superpoblación"). "




Como en otros proyectos anteriores, intenté utilizar los mínimos recursos posibles y aprovecharlos al máximo. En este caso han sido:
  • PIC12F683
  • LCD Nokia3310
  • 2x QT100A
Como no disponía de memoria suficiente en el PIC, he dividido la pantalla con una rejilla y así convertir la matriz de 84x48 pixels en una matriz de 25x17 (405 celdas) que sí me caben en la RAM del PIC.
El siguiente problema ha sido al calcular la generación siguiente, ya que necesitaba dos matrices de RAM, una para la generación de entrada y otra para la de salida. Lo he solucionado calculando la generación siguiente línea a línea y usando una pila tipo LIFO de 2 niveles sobre 2 variables de tipo vector.
Los elementos se disponen de forma manual, con uno de los sensores capacitivos y de forma pseudoaleatoria. El programa en el modo de colocación de individuos, ejecuta una interrupción del TIMER1 cada 0.406ms (así solo cuenta de 0 a 405 que son los elementos de la matriz ) y cada vez que se toca el sensor, lee el valor del timer y activa la celda correspondiente.



El otro sensor inicia la simulación.
Durante la simulación es posible pausarla y una vez pausada, podemos continuar o reiniciar.



El circuito



El circuito es muy simple, como he usado componentes de bajo consumo, está alimentado por una pila de botón tipo CR2032.
El PIC se conecta al LCD nokia y sólo es necesario un condensador de 47uF para la Vout del LCD.
Los QT100A únicamente incorporan 1 condensador de desacoplo de 100nf y una red RC que ajusta la sensibilidad del sensor.

La PCB



Ya la había posteado en el subforo de fabricación de PCBs.
A una cara y con todos los componentes en SMD. Existen 4 jumpers por la cara posterior.
En el diseño, no he tenido en cuenta que el encapsulado WSON6 de los QT100A posee un pad tipo GND en el centro y he tenido que cubrir con rotulador las pistas que pasan bajo el encapsulado para evitar cortocircuitos.
EL interruptor ON/OFF lo he aprovechado de un MP3 portable.

Simulacion con Proteus



Por si queréis ver como funciona la simulación, os dejo los ficheros de ISIS para Proteus.
Necesitaréis instalar el modelo de simulación del componente "LCD 3310".
Lo podeis descargar de:
http://www.tanu-sha.narod.ru/nokia3310.html

Aquí os dejo un vídeo del funcionamiento:


Descargas
Ficheros Eagle
Fotolito PCB
Codigo HEX 12F683
Ficheros Proteus
Fuentes

Podeis ver el artículo en mi blog radikaldesig.com

Salu2
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #1 en: 06 de Octubre de 2009, 02:32:09 »
Ya te lo dije por privado, pero no puedo evitar hacerte una reverencia en público.



Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #2 en: 06 de Octubre de 2009, 02:42:18 »
Excelente trabajo droky  :-/ :-/ :-/
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #3 en: 06 de Octubre de 2009, 02:55:07 »
Ya te lo dije por privado, pero no puedo evitar hacerte una reverencia en público.

Sageraooo...  :oops:
Salu2
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #4 en: 06 de Octubre de 2009, 12:56:46 »
Hey Droky muy bonito el diseño.

Pero yo no diría que no tiene utilidad... infartarías a los matemáticos de mi escuela que simulan y resuelven problemas de tráfico vehicular haciendo uso de autómatas celulares y herramientas similares.  ;-)

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #5 en: 06 de Octubre de 2009, 12:58:20 »

 :-/ :-/ Muy bueno!


Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #6 en: 06 de Octubre de 2009, 13:37:23 »
 :) esta muy bueno!! , nosotros una vez realizamos uno para pc en c++ (en 3D era una especie matrix)  :D esta bueno hacer esas cosas  :mrgreen:
LAS MALVINAS SON ARGENTINAS!

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #7 en: 06 de Octubre de 2009, 16:54:23 »
Muy buen trabajo  :-/

PD/ El archivo del eagle, al intentar abrirlo, genera un error  :(

Saludos
« Última modificación: 06 de Octubre de 2009, 17:00:44 por MLO__ »
El papel lo aguanta todo

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #8 en: 07 de Octubre de 2009, 19:14:23 »
 :shock: que buenísimo que te quedó droky, felicidades por el trabajo!

una pregunta los pads táctiles, como es que funcionan?

saludos
.

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #9 en: 08 de Octubre de 2009, 01:50:49 »
Muy buen trabajo  :-/

PD/ El archivo del eagle, al intentar abrirlo, genera un error  :(

Saludos

Hola,
¿Que error te da?
Está hecho con la version 5.60, quizás sea que usas una inferior... si puedes pon el código de error.
Salu2
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #10 en: 08 de Octubre de 2009, 01:53:49 »
:shock: que buenísimo que te quedó droky, felicidades por el trabajo!

una pregunta los pads táctiles, como es que funcionan?

saludos

Hola,
GRacias.
Los pads táctiles son sensores capacitivos y están controlados por los QT100A de Quantum.
La salida de los QT100A está a cero y cambia a VDD cuando detectan una variación de la capacidad en el pad ( capacidad parásita inducida por el dedo)
La sensibilidad es ajustable con la red RC que va con cada QT100A, por si se pone un a lámina de plástico, cristal o similar sobre los pads.
En este caso está diseñado para cuando se haga contacto con ellos y el dedo.
Salu2
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado barral

  • PIC10
  • *
  • Mensajes: 37
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #11 en: 08 de Octubre de 2009, 03:30:21 »
Muy bueno el proyecto... Felicidades

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #12 en: 08 de Octubre de 2009, 12:06:23 »
Hola,
GRacias.
Los pads táctiles son sensores capacitivos y están controlados por los QT100A de Quantum.
La salida de los QT100A está a cero y cambia a VDD cuando detectan una variación de la capacidad en el pad ( capacidad parásita inducida por el dedo)
La sensibilidad es ajustable con la red RC que va con cada QT100A, por si se pone un a lámina de plástico, cristal o similar sobre los pads.
En este caso está diseñado para cuando se haga contacto con ellos y el dedo.
Salu2

que buena info droky veré más al respecto y espero que el fabricante mande muestras :mrgreen:

parece que es de atmel, no?mmm que mala pata esos no manda para acá :(
saludos
.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #13 en: 08 de Octubre de 2009, 12:13:23 »
Hola.

El error es el siguiente -yo tengo la version 5.0.0, de pronto es eso-



Saludos
El papel lo aguanta todo

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Game of Life - Juego de la vida (Conway)
« Respuesta #14 en: 08 de Octubre de 2009, 12:14:21 »

que buena info droky veré más al respecto y espero que el fabricante mande muestras :mrgreen:

parece que es de atmel, no?mmm que mala pata esos no manda para acá :(
saludos

Son muy baratitos, Cryn. Yo los he comprardo en Digikey y acabo de recibirlos hoy:
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=427-1135-1-ND