Que tal meledu y a todos los foreros,
Pense qeu nunca llegarian a este punto, jejejeje. Meledu no existe forma de eliminar ese ruido que te genera el modulo receptor a menos que solicites a las companias de celulares, de radio, de television y de todas la telecomunicaciones posibles que apaguen sus esquipos (esto incluye todas las seniales satelitales etc). ESto es imposible. Ahora bien tambien podrias colocar tu proyecto en una jaula de Faraday (una cabina o cuarto completamente ahistado del eelctromagnetismo). Pero creqo eu esto tampoco seria factible para ti. En fin no hay forma de eliminar ese ruido.
Ahora pasemos realmente a como solucionar el problema. Hace algun tiempo publique una forma muy efeiciente de usar los modulos de rF, pero no se que paso que no pude encontrar ese tema. Pero continuando, el problema que simpre tenemos es que pensamos que estos modulos se vana comportar como si fueran alambres de un punto a otro, es decir creemos que son "TRUE WIRE". Eso no es asi. Debido a toda la cantidad de seniales que se encuentran en el aire, estas van a diparar al modulo receptor, haciendo que este envie ruido en la salida de datos. Pero si no puedo apagar todas las cominicaciones del mundo ni tampoco puedo colocar en una jaula de faraday el proyecto que puedo hacer?
La solucion es la siguiente. SE necestia realizar un protocolo de comunicacion, y este puede ser algo asi:
1. El transmisor debe enviar un pulso de duracion de unos 50 milisegundos, es decir encender el transmisor y decirle que envie un nivel alto durante 50 ms, eso ocasionara que el receptor detecte una senial muy "fuerte" y hara que el receptor se coloque en modo de "escucha real", Es decir lograremos que el receptor deje de generar ruido por un corto tiempo, es decir lo hacemos estable.
2. Apagamos el transmisor por unos 5 milisegundos. Con esto habremos estabilizado el modulo receptor.
3. Ahora si, podemos enviar los datos. Pero lo qeu yo aconsejo es que se envie un encabezado al principio de la cadena de trasnmision. SE aconseja que ese encabezado sea un dato que cambie de 1 a 0 alternadamente como puede ser un A5h, 5Ah, AAh o un 55h. Pueden usar cualqueir combinacion de ellos.
Con este paso el receptor solo reconocera que son datos validos siemrpe y cueando reciba este encabezado.
4. Ahora si podemos enviar lso datos qeu necesitamos, es decir los datoa que realmente son los importante y que es lo que queremos transmitir. Importantisimo es usar un tipo de codificacion de datos, como puede ser, manchester, pwm, NEC, p algun otro. Yo sugiero manchester por su simplicidad. POrque es importante codigicar los datos y no simplemente enviarlos? La razon es esta. REgularmente este tipo de modulos trabajan en baudrates bajos es decir de unos 4800 bps por segundo. Esto hace que cada bit tenga una duracion de 208 microsegundos y cada byte es de 10 bits (incluyendo start bit y el stop bit) de 2.08 milisegundos. Ahora bien Esto no es critico si solo se envian un dato, pero vamos a suponer que se necesita enviar una cadena de 10 bytes. Esto hace un tiempo de transmision de 20.8 milisegundos. Ahora bien imaginemos que esos 10 bytes o 10 datos contienen unicamente 0's, es decir es una cadena de 10 bytes que contienen 00h. Eso significa que el transmisor estaria apagado durante 20.8 milisegundos, eso hara que el receptor se coloque en un modo inestable generando ruido nuevamente, como consecuencia estaremos recibiendo datos erroneos y no los datos adecuados. Manchester es una muy buena opcion para resolver este problema
ya que con esta codificacion se garantiza que todo el tiempo habra un bambio de estado, porque un bit se representa por dos estados.
5. Despues de haber enviado los datos, se recomienda transmitir un byte de verificacion, que puede ser un CRC8 o un simple checksum, esto es opcional pero yo lo recomiendo.
A traves de mi experiencia me he dado cuenta que no es importante cual metodo de codificacion se use, lo que es importante es usarlo. Y para tener una recepcion correcta, es colocar el receptor en modo estable, y eso se logra simplemente enviando un pulso de unos 50 milisegundos.
Espero que esto sea de utilidad y que no lo borren, jejeje. Tal vez fue por accidente la vez anterior. Pero no importa, aqui esta nuevamente la aportacion.
Saludos a todos.
Elreypic.