La tarea recayó en mí para realizar un sistema de comunicación inalámbrico en cadena. La comunicación debe ser inalámbrica, esp. A través de diodos infrarrojos. El extremo de la cadena está conectado a una PC (cableada). Todo el sistema consta de n miembros. Cada miembro tiene dos lados con un diodo de envío y recepción.
Elobjetivoes:
- LaPCdebepoderenviaruncomandodeinicializaciónyelsistemaquecontienenmiembrosdebeaveriguarcuántosmódulosestáninstalados("encontrar n").
- La PC debe poder enviar un comando a todos los módulos
- La PC debe poder enviar un comando a un determinado módulo
- Los módulos están muy juntos, pero la distancia debe poder variar entre aproximadamente 1 y 3 pulgadas.
Mi enfoque hasta ahora:
- La PC envía un comando al módulo 1. El Módulo 1 envía su presencia a la PC, así como de manera inalámbrica al segundo módulo. Hasta ahora la PC sabe que 1 módulo está presente. Cuando el módulo 2 recibe el comando de inicio, envía su acuse de recibo al primer módulo que transfiere el mensaje de 2 a la PC. Además, el módulo 2 envía el comando de inicio al módulo 3, y así sucesivamente. La fase de inicio finaliza, cuando el último módulo (n) recibe el comando de inicio y su mensaje de presencia llega a la PC. Después de eso, no llega más mensaje al lado de la PC y sabe que hay n módulos presentes.
- Los comandos adicionales contienen un byte de encabezado que se dirige al módulo "destino". O, si todos los módulos están destinados, el comando comienza con un byte "cero" (0x00).
El desafío es:
- Físicamente: no sé cómo evitar el hecho de que el módulo x podría "hablar" con el módulo x + 1 y x + 2 simultáneamente (habla cruzada) por reflexiones o reflejos. Necesito obtener el sistema de autoaprendizaje. Hasta ahora, atenúo los diodos hasta que solo pueden alcanzar una distancia muy pequeña. Pero esto no es muy tolerante a las fallas.
- Lógicamente: la luz del día y otras fuentes de luz infrarroja causan muchos mensajes borrosos e incomprensibles. Los mensajes reales están actualmente precedidos o incluso perturbados por influencias externas.