Modulos de RF y PIC (RUIDO)

otra manera de resolver ese problema es usar un codificador y un decodificador, el problema reside en que si no transmites nada el receptor recibe ruido y en ese ruido puede atinarle a tu combinacion de validacion entonces si usas un encoder siempre estaras "transmitiendo" de forma codificada y el el decodificador hara su trabajo y el microcontraldor recibira lo que sea qUE mandes checa los HT12E y el HT12D te dejo un link para qUE lo cheUEEes como se conectan
http://www.robodacta.com.mx/UserFiles/File/DIAGRAMAS.pdf
 
Última edición por un moderador:
yo tengo el mismo problema y la verdad no se me ocurre como hacer una rutina de este tipo si alguno pudiera dar un ejemplo se les agradece
 
los módulos receptores tienen dos salidas,una análoga y otra digital,en la salida análoga se escucha ''sonido blanco'' el típico shhhhhhhhh ,pero en la patita de salida digital no tiene ruido ,en esa patita hay que conectar el pic o el integrado de-codificador
 
Tienes que permanecer mandando un dato aunque no pulses nada por ejemplo que siempre este enviando @ y a recivir otro dato funcion y asi no se corta la comunicacion es la solucion que yo use pero con la velocidad de N2300 para que no se equivoque intentalo con otras yo use el 16f870.

Y si sabes mas codigos o encontraste algunos buenos links o diagramas porfavor publicalos pana HablamoS.
 
Hola Chicos como estan weno yo puedo sugerirles algo, como dicen una solucion puede ser esta:

-Envien una cantidad de bytes para sincronizar los modulos, por ejemplo enviar 10 veces el 0x09
-Enviar los bytes que quieran o crear el protocolo que se les ocurra en codificacion byte-bit,
me explico, si quieren enviar el byte 0xAA al otro micro, tendran que enviar bit por bit mediante el RF
asi para enviar el 0xAA tendran que enviar por ejemplo el 0xF0 0x0F 0xF0 0x0F 0xF0 0x0F 0xF0 0x0F
por cada 1 logico enviaran el 0xF0 y por cada 0 logico el 0x0F (si lo ven bien, algo tan robusto como la codificacion manchester) =), finalmente su sistema solo trabajara con 3 valores:
0x09 para sincronizacion
0xF0 para enviar un 1 logico
0x0F para enviar un 0 logico

seguramente todos usan comunicacion por modulacion ASK...
hagan lo qUE les dije, si bien la comunicacion se hace algo lenta, NO CREO QUE TRANSMITAN GRANDES CANTIDADES DE DATOS,.... ni lo sentiran y veran lo feliz que salen =), saludos desde lima peru
 
Última edición por un moderador:
Engeldark, una consulta: ¿Que beneficios tendria codificar, si el problema viene por el ruido?

Entiendo perfectamente lo que propones, pero por ejemplo, codificar un bit con 0xF0, de que serviria si no puedo garantizar de que el receptor le llegue un 0xF0? Que cambia con respecto a mandar caracteres normales? 0xF0 es 11110000 en binario... si hay mucho ruido, tranquilamente esos 1 y 0 pueden cambiar, y entonces al receptor le llegaria otra cosa...

Vos me podrias decir que por software elimine todo lo que no sea 0xF0, y me parece perfecto, pero si lo elimino evidentemente voy a perder un bit de dato, y eso dañaria mi comando enviado...

En fin, siempre estaria con problemas con el ruido...
Gracias por tu tiempo.
 
puedes hacer un conteo de bits para saber ti es 1 o 0 lógico....si al enviar 0b11110000 tratas de comunicar un 1 logicos entonces en el receptor verificas esos bits y en el en nible mas significativo tienes mas 1s que 0s entonces tendras el 1 logico si te das cuenta, disminuyes la probabilidad de error
 
Atrás
Arriba