Autor Tema: Chat con 2 pics y 2 teclados inteligentes(LCD)  (Leído 2219 veces)

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

Desconectado beeman

  • PIC10
  • *
  • Mensajes: 1
Chat con 2 pics y 2 teclados inteligentes(LCD)
« en: 05 de Agosto de 2004, 14:50:00 »
Hola gente, estoy diseñando un chat con 2 pic y 2 teclados con pantalla LCD, y debo hacer que lo que guardé en el pic 1 lo reciba el LCD del 2 y a su vez, este pueda contestarle al LCD 1 con lo que guardé en el pic 2....


gracias por la ayuda....

pd: estoy usando el lenguaje basic stamp2

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: Chat con 2 pics y 2 teclados inteligentes(LCD)
« Respuesta #1 en: 05 de Agosto de 2004, 14:52:00 »
Si encuentro algo por ahí te avisaré...

Desconectado botyas

  • PIC10
  • *
  • Mensajes: 28
RE: Chat con 2 pics y 2 teclados inteligentes(LCD)
« Respuesta #2 en: 07 de Agosto de 2004, 05:22:00 »
hace tiempo intente con un amigo hacer algo parecido.

Te aconsejo q comuniques los 2 pic atraves de una linea 485 ya q te permite grandes distancias, asignando un nombre a cada pic no deberas tener problemas con las comunicaciones lo q escribas lo transmites y lo visualizas en el lcd y asi siempre. Solo tiense q tener cuidado de no mandar a la vez desde los 2 pic pq si no no llegara la señal a ninguno.

Si lo quieres hacer mas veloz le puees poner 2 chip 485 a cada placa uno para la recpcion y otro para la transmision asi no se te cruzan las señales y puedes estar mandando y recibiendo info a la vez.

espero q esto te sea de ayuda con el codigo no te puedo ayudar pq yo estoy empezando conozco mucha teoria y funcionamiento pero en programacion estoy muy verde aun. espero solucionarlo pronto.

Desconectado Juanse_

  • PIC10
  • *
  • Mensajes: 39
RE: Chat con 2 pics y 2 teclados inteligentes(LCD)
« Respuesta #3 en: 07 de Agosto de 2004, 18:48:00 »
Dependiendo de la utilidad que le pienses dar a este chat con pics, podês usar 485 o no, yo personalmente no lo harîa, pero estoy de acuerdo con el tema de la distancia.
Algo que podês hacer es armar un pequeño protocolo en el que uno de tus PICs se comporte como master y todos los demâs respondan mediante polls. Cada uno de los terminales deberâ estar identificado por una direccion ûnica y debe tener un buffer donde almacene las teclas presionadas, incluso el "enter". Al presionarse "enter" se debe levantar un flag indicando que le buffer estâ listo para ser evacuado hasta esa posicion. El bus de comunicaciones es comûn a todos y cuando el master envîa un poll a uno de los terminales, este responde con el contenido de su buffer hasta encontrar un enter, dejando el resto para el prôximo poll. Mientras, todos escuchan y actualizan el display. Luego es el turno del siguiente dispositivo y asî sucesivamente hasta que el master responde con su propio buffer. Trabajar de esta forma te va a permitir incorporar terminales sin necesidad de hacer modificaciones en el firm. Vas a tener que hacer un câlculo del tiempo que va a tardar en recibir datos de todos los dispositivos y hacer un buffer lo suficientemente grande para que no se sobrellene antes de el proximo poll. Vas a tener que eliminar enters sucesivos.
En un cold start, el master puede hacer un scan de direcciones y armar un pequeño bit map en E² con los terminales activos. De esa forma no vas a tener que pollear terminales inexistentes.
Si querês correr una aplicaciôn de fondo, podês usar la interrupciôn externa para reconocer el flanco del reloj y llenar el buffer de llegada. Eso puede puede hacerse asî, el flanco descendente indica que el bus de datos va a ser actualizado y el flanco ascendente indica que el bus contiene un valor vâlido.
Dependiendo del PIC que vayas a usar, algunos perifêricos integrados pueden facilitarte el laburo, como I²C.
Si estâs flaco de recursos fîsicos, esto mismo se puede hacer con un solo hilo en vez de dos, pero el côdigo va a ser mâs complejo y la temporizaciôn va a depender directamente de los relojes internos en vez de los pulsos en el otro hilo.

Suerte.


 

anything