# Transmision Recepcion RF usando PIC



## BitZero (Mar 13, 2007)

Hola a todos. 
Soy nuevo en el foro, y junto con saludarlos vengo a pedir su ayuda.
Les cuento: Estoy trabajando en mi Proyecto de Titulación y para ello necesito comunicar 2 PIC's (18F452) mediante RF me encuentro usando el transmisor tx433n y receptor rx433 de Velleman. Y aun no se me ocurre como entregarle los datos al transmisor, ya q además el PIC q transmite va conectado al PC via RS-232 asi q ya use ese recurso. Quería saber si alguien habia hecho algo parecido o tiene alguna idea de como poder hacer la transmision. Eso porfa, cualquier sugerencia, idea, truco, maña o lo q sea, se agradece. Saludos a todos. Y espero su contribucion.


----------



## sromeros (Mar 15, 2007)

hola que tal , mira segun lo que comentas, ya utilizaste el modulo de Usart ok ¡ , mira como tu dices estos transmisores trabajan con unos encoder/decoder, en este caso tampoco los tienes entonces no hay ningun problema,ya que puedes programar unj pic en sustitucion de los encoders, yo tengo unas rutinas que hacen la funcion de encoder/decoder para el pic16f873( uno es el encoder->tx y el otro Rx->decoder) y lo que te puedo aconsejar es que uses el protocolo I2C y utilices el 18F452 como master y el 16f873 como esclavo   si te interesa avisame para que busque las rutinas.   saludos desde mexico


----------



## davemaster99 (Jul 13, 2007)

Saludos,

No importa si el rs232 del PIC (UART) este ocupado, puedes configurar (CON CCS PIC C, que es el que utilizo: version free) otro PIN de algun puerto sea A,B,C,D como salida/entrada hacia el Tx o desde el Rx. Ten en cuenta que ambas entradas/salidas de los PIC tienen que estar configurados con las mismas características: bps, bits de stop, paridad, etc... sino habran errores en la recepción de datos.

Te recomiendo utilices el lenguaje basic, pues es el mas sencillo... para ti ke te falta experiencia en esta aplicación con RF.

Suerte


----------



## JMB (Jul 24, 2007)

sromeros dijo:
			
		

> hola que tal , mira segun lo que comentas, ya utilizaste el modulo de Usart ok ¡ , mira como tu dices estos transmisores trabajan con unos encoder/decoder, en este caso tampoco los tienes entonces no hay ningun problema,ya que puedes programar unj pic en sustitucion de los encoders, yo tengo unas rutinas que hacen la funcion de encoder/decoder para el pic16f873( uno es el encoder->tx y el otro Rx->decoder) y lo que te puedo aconsejar es que uses el protocolo I2C y utilices el 18F452 como master y el 16f873 como esclavo   si te interesa avisame para que busque las rutinas.   saludos desde mexico



Saludos,

Con respecto a lo que dijiste de la codificación y decodificación de la señal de RF, yo también he encontrado que debe hacerse para una óptima transmisión de datos sin errores, me gustaría saber como la estas haciendo ya que estoy frenado con eso. Si tienes el codigo en C mucho mejor; la verdad es que yo trabajo con microcontroladores motorola pero debería funcionar igual.


----------



## juniorcrisanto (May 28, 2008)

hola yo tambien estoy utilizando do esos modulos pero el problema que tendo es que la transmision por el pyuerto rx y tx de los pic no me funciona creo que es por la frecuencia de transmision  ....no se si ati tamien te pasa lo mismo..?


----------



## ElVale (Jun 13, 2008)

Una pregunta: se puede conectar directamente el transmisor tx433n al Tx del RS232 del pc y transmitir bien?


----------



## kuropatula (Jun 17, 2008)

ElVale dijo:
			
		

> Una pregunta: se puede conectar directamente el transmisor tx433n al Tx del RS232 del pc y transmitir bien?



No, no se puede a menos que conectes un max232 entre medio.
El problema es que el transmisor de rf opera con datos seriales (por ejemplo) de 5V y de la PC te salen +12 y -12V.
Con un MAX232 lo solucionás
salu2


----------



## Leon Elec (Jun 17, 2008)

sromeros dijo:
			
		

> yo tengo unas rutinas que hacen la funcion de encoder/decoder para el pic16f873( uno es el encoder->tx y el otro Rx->decoder) si te interesa avisame para que busque las rutinas.



Hola sromeros.

A mi me interesa mucho ese programa, porque no se como hacerlo. Yo utilzo los ecoder que trae el datasheet de estos módulos y me gustaría suplantarlos.

Gracias.


----------



## ElVale (Jul 27, 2008)

Si transmito con este tx433n a 433Mhz la señal que sale del pin Tx del usart del pic, ¿no sería fácil interceptar esa señal o que otros aparatos interfieran la señal rf? especialmente porque se venden tantos transmisores a esa misma frecuencia. ¿Qué tiene de especial esta frecuencia?


----------



## Moyano Jonathan (Jul 29, 2008)

Hola a todos

Esos modulos de transmision/recepción yo los he probado en ambientes de mucho ruido (taller industrial) , y no me han traido problemas. los estuve implementando para un control remoto y me funcionaron perfecto a una distancia de 70 a 80 mts. 
Para el tema de la interferencia se pueden usar codificadores de señal HT12E y HT12D estos integrados transmiten datos modulados en rf con un codigo programable (HT12E) y los recibe un demodulador/decodificador de rf (HT12D) que decodifica el dato. estos integrados me dieron muy buenos resultados  en el control remoto que arme , aunque tambien se puede implementar el mismo sistema de trasmision recepcion de datos con un pic.


----------



## shibatoyan (Ago 30, 2008)

Hola, yo soy nuevo en el foro pero tengo más de 15 años reparando electrónica, debido a mi falta de tiempo, nunca pude terminar mi proyecto del transmisor de códigos por RF utilizando los PIC, tengo el 50% del proyecto terminado pero a la hora de limpiar el programa que va en el PIC se me hizo muy largo y nunca tuve tiempo de terminarlo, lo de siempre, algo me salió mal después de tanto esfuerzo y lo abandono desmoralizado, cuando lo retomo, ya me olvidé lo que estaba haciendo y así reiteradas veces.

Me gustaría poder ver algún programa para el PIC, que tengan ustedes, que transmita códigos a otro PIC, no importa que no funcione, es para entusiasmarme de nuevo, algo así como con mas de una tecla que se transmita a distancia y haga dos acciones en el otro PIC.

Ya tengo todo el dispositivo de transmisión y recepcion, pero como dice el dicho "hay que comenzar por el principio" y no como yo que creí que tenia el programa pero nunca anduvo.


----------



## Leon Elec (Ago 30, 2008)

Hola Shibatoyan.

No debes desmoralizarte de porqué no te andubo. La programación se trata de eso justamente, programo, no anda, ver por que no anda y modifico el programa, vuelvo a probar,y el ciclo se termina, cuando el programe ande.

Muchas veces pasa, que es el hardware el que tiene problema, con el hardware también me refiero al propio PIC.

¿Porqué no habres un nuevo hilo y subes el diagrama del hardware y la parte del software al que trabaja con el módulo de RF?


----------



## Genius27 (Feb 25, 2010)

Hola a todos, este es un tema de gran interes, ya que nunca he relizado una comunicacion entre dos microcontroladore utilizando este tipo de modulos, Moyano, espero que puedas compartir un poco hacerca de tu proyecto, por lo menos el diagrama de conexión de los modulos y la forma de manejo de los mismos


----------



## natalmx (Abr 12, 2010)

sromeros dijo:


> hola que tal , mira segun lo que comentas, ya utilizaste el modulo de Usart ok ¡ , mira como tu dices estos transmisores trabajan con unos encoder/decoder, en este caso tampoco los tienes entonces no hay ningun problema,ya que puedes programar unj pic en sustitucion de los encoders, yo tengo unas rutinas que hacen la funcion de encoder/decoder para el pic16f873( uno es el encoder->tx y el otro Rx->decoder) y lo que te puedo aconsejar es que uses el protocolo I2C y utilices el 18F452 como master y el 16f873 como esclavo   si te interesa avisame para que busque las rutinas.   saludos desde mexico



Actualmente trabajo en un proyecto donde necesito enviar por RF datos de un PIC a otro PIC (PIC16F877A (emisor) PIC16F84A (receptor)).

Pero nunca he trabajado con el tema, alguien me puede recomendar donde empezar a leer, algún libro o algo? Tengo nociones básicas, espero alguien me pueda dar solución, gracias!!!


----------



## 20deoctubre (Jul 22, 2010)

davemaster99 dijo:


> Saludos,
> 
> No importa si el rs232 del PIC (UART) este ocupado, puedes configurar (CON CCS PIC C, que es el que utilizo: version free) otro PIN de algun puerto sea A,B,C,D como salida/entrada hacia el Tx o desde el Rx. Ten en cuenta que ambas entradas/salidas de los PIC tienen que estar configurados con las mismas características: bps, bits de stop, paridad, etc... sino habran errores en la recepción de datos.
> 
> ...



Oye como realizas ? yo tambien utilizo CCS pero no se como hacer eso. Otra cosa habra manera de que dos timers corran al mismo tiempo ? no importa si no son manejados por interrupcion.


----------



## natalmx (Ago 9, 2010)

Hola hace tiempo que logré solucionar mi problema para pasar datos de un PIC a otro por RF, de manera muy facil, lo publiqué todo en un post, busquen en mi perfil el que publiqué y ahí encontraran todo  Saludos!!! Quedo a disposición de poder ayudarlos


----------



## ElFabroDeLaGente (Sep 29, 2010)

Moyano Jonathan dijo:


> Hola a todos
> 
> Esos modulos de transmision/recepción yo los he probado en ambientes de mucho ruido (taller industrial) , y no me han traido problemas. los estuve implementando para un control remoto y me funcionaron perfecto a una distancia de 70 a 80 mts.
> Para el tema de la interferencia se pueden usar codificadores de señal HT12E y HT12D estos integrados transmiten datos modulados en rf con un codigo programable (HT12E) y los recibe un demodulador/decodificador de rf (HT12D) que decodifica el dato. estos integrados me dieron muy buenos resultados  en el control remoto que arme , aunque tambien se puede implementar el mismo sistema de trasmision recepcion de datos con un pic.



Hola, como estas?.
Estoy realizando un proyecto en el que una parte del mismo consiste en transmitir los datos que sensaron tres sensores. Los sensores se conectan al conversor AD de un microcontrolador Motorola. El problema es que el HT12E y HT12D trabajan con 4 bits de datos y los datos sensados son de 8 bits.
Yo intente mandar el datro en dos partes. Primero el nibble menos significativo y despues el mas significativo pero no me funciona bien.
¿Tenes alguna idea de como puedo solucionar esto?
Perdona las molestias.
Saludos.
Chau.


----------



## santiz2009 (Mar 8, 2011)

Holaa estoy realizando un proyecto con radiofrecuencia, uso modulos de 315 mhz y tengo los mismo problemas que preguntan en el foro... me ayudarias con el codigo para el encoder y decoder delos pics?...te lo agradeceria mucho....  mi correo es santiz703@live.com.mx


----------



## haifer (Mar 31, 2011)

ElFabroDeLaGente dijo:


> Hola, como estas?.
> Estoy realizando un proyecto en el que una parte del mismo consiste en transmitir los datos que sensaron tres sensores. Los sensores se conectan al conversor AD de un microcontrolador Motorola. El problema es que el HT12E y HT12D trabajan con 4 bits de datos y los datos sensados son de 8 bits.
> Yo intente mandar el datro en dos partes. Primero el nibble menos significativo y despues el mas significativo pero no me funciona bien.
> ¿Tenes alguna idea de como puedo solucionar esto?
> ...



Para solucionar este inconveniente lo que devistes haber hecho fue trabajar con al gun protocolo de comunicacion RS232,I2C entre otros......



santiz2009 dijo:


> Holaa estoy realizando un proyecto con radiofrecuencia, uso modulos de 315 mhz y tengo los mismo problemas que preguntan en el foro... me ayudarias con el codigo para el encoder y decoder delos pics?...te lo agradeceria mucho....  mi correo es santiz703@live.com.mx



Si tienes el mismo problema  con el que comenzo el foro te recomiendo si ya estas usando el puerto Serial comunica los pic por medio de I2C.... hace rato que no uso este tipo de comunicacion pero voy a ver si te puedo conseguir algun programa que funcione...


----------



## cuartopo (Abr 5, 2011)

Quizás alguien me pueda ayudar.
Yo no necesito enviar datos. Solo necesito crear un pulsador remoto que active una entrada del PIC. El tx433n sirve para eso? Como lo tendría que hacer?


----------



## haifer (Abr 5, 2011)

cuartopo dijo:


> Quizás alguien me pueda ayudar.
> Yo no necesito enviar datos. Solo necesito crear un pulsador remoto que active una entrada del PIC. El tx433n sirve para eso? Como lo tendría que hacer?



Si claro que lo puedes hacer con estos modulos, y la implementacion es muy sencilla, una vez comprados los modulos busca los codificadores HT12E y decodificacdors HT12D  en la imagen adjunta te mustra como es el montaje para el transmisor y para el reseptor..   
Cual quier inquietud pregunta..



			
				haifer dijo:
			
		

> Si claro que lo puedes hacer con estos modulos, y la implementacion es muy sencilla, una vez comprados los modulos busca los codificadores HT12E y decodificacdors HT12D  en la imagen adjunta te mustra como es el montaje para el transmisor y para el reseptor..
> Cual quier inquietud pregunta..[/QUOTE
> 
> 
> Archivos adjuntos


----------



## Zankoku (Abr 5, 2011)

shibatoyan dijo:


> Hola, yo soy nuevo en el foro pero tengo más de 15 años reparando electrónica, debido a mi falta de tiempo, nunca pude terminar mi proyecto del transmisor de códigos por RF utilizando los PIC, tengo el 50% del proyecto terminado pero a la hora de limpiar el programa que va en el PIC se me hizo muy largo y nunca tuve tiempo de terminarlo, lo de siempre, algo me salió mal después de tanto esfuerzo y lo abandono desmoralizado, cuando lo retomo, ya me olvidé lo que estaba haciendo y así reiteradas veces.
> 
> Me gustaría poder ver algún programa para el PIC, que tengan ustedes, que transmita códigos a otro PIC, no importa que no funcione, es para entusiasmarme de nuevo, algo así como con mas de una tecla que se transmita a distancia y haga dos acciones en el otro PIC.
> 
> Ya tengo todo el dispositivo de transmisión y recepcion, pero como dice el dicho "hay que comenzar por el principio" y no como yo que creí que tenia el programa pero nunca anduvo.



Te comprendo a mi me paso lo mismo, comence mi programación de pics por afición y por ese motivo creo que no pude conseguir hacer mi transferencia de pic a pic vía rf usando el lenguaje basic, estuve aprendiendo assembler bajo mplab y ahora estoy mas familiarizado con la estructura interna del pic y las consideraciones que debo hacer, retomare el proyecto que tenía de mi transmisión vía rf de pic a pic y estare subiendo la info que tenga, por cierto no lei muy bien bajo que lenguaje deseas hacer tu programa.
p.d transmitir los bits usando el ht12e y el ht21d me funcionaron perfectamente pero cuando trate de realizarlos usando el pic es donde me fallo lo que me lleva a pensar que algo en mi código estuvo mal u obvie algún paso.
Saludos y a seguir adenlante.


----------



## haifer (Abr 5, 2011)

Zankoku dijo:


> Te comprendo a mi me paso lo mismo, comence mi programación de pics por afición y por ese motivo creo que no pude conseguir hacer mi transferencia de pic a pic vía rf usando el lenguaje basic, estuve aprendiendo assembler bajo mplab y ahora estoy mas familiarizado con la estructura interna del pic y las consideraciones que debo hacer, retomare el proyecto que tenía de mi transmisión vía rf de pic a pic y estare subiendo la info que tenga, por cierto no lei muy bien bajo que lenguaje deseas hacer tu programa.
> p.d transmitir los bits usando el ht12e y el ht21d me funcionaron perfectamente pero cuando trate de realizarlos usando el pic es donde me fallo lo que me lleva a pensar que algo en mi código estuvo mal u obvie algún paso.
> Saludos y a seguir adenlante.



Si quieres monta el circuito y el programa que usastes para poder ayudar a determinar las posibles causas del error yo tambien se programar en ensamblador y ademas he aprendido a programar pic con proton ide.


----------



## osjovi1 (Abr 26, 2011)

Buenas a todos, yo estoy realizando un proyecto parecido, necesito comunicar dos pic por medio de modulos rf, los modulos que estoy usando son: tecnologia LINX TXM-916-ES y RXM-916-ES, el pic 16f873lo tengo programado en C, y me gustaria saber que rutinas debo usar para la sustitucion de los encoders.  Para no tener que usar un codificador y decodificador.
Gracias.



sromeros dijo:


> hola que tal , mira segun lo que comentas, ya utilizaste el modulo de Usart ok ¡ , mira como tu dices estos transmisores trabajan con unos encoder/decoder, en este caso tampoco los tienes entonces no hay ningun problema,ya que puedes programar unj pic en sustitucion de los encoders, yo tengo unas rutinas que hacen la funcion de encoder/decoder para el pic16f873( uno es el encoder->tx y el otro Rx->decoder) y lo que te puedo aconsejar es que uses el protocolo I2C y utilices el 18F452 como master y el 16f873 como esclavo   si te interesa avisame para que busque las rutinas.   saludos desde mexico


.

Buenas mira yo estoy realizando un proyecto parecido, necesito comunicar dos pic por medio de modulos rf, los modulos que estoy usando son: tecnologia LINX TXM-916-ES y RXM-916-ES, el pic 16f873lo tengo programado en C, y me gustaria saber cual es la rutina que debo usar para la sustitucion de los encoders.  Para no tener que usar un codificador y decodificador.
Gracias.


----------



## peterdbp (Abr 26, 2011)

Hola! de este tema hice mi tesis y les puedo comentar los siguiente:

El diagrama de haifer es correcto, es una manera fácil de iniciar con la comunicación RF, y para comenzar a comunicar lo unico que se debe hacer es sustituir los pulsadores del codificador por las salidas de nuestro PIC que se piensan utilizar, arma el circuito receptor tal y como en el diagrama y ahora, desde el PIC del transmisor comeinza enviando numeros(de 4 bits), por ejemplo envia un 3 tarda unos segundos y despues envia un 6 o algo asi, entonces veras que el receptor tendra que mostrar en los leds el numero que enviaste, eso es lo basico en un control RF. nada mas que OJO, tanto codificador como decodificador tienen los pines que van desde A0-A7, ambos(codificador y decodificador) deben tener la misma configuracion con el microswitch pues son las direcciones de a donde se va a enviar y quien la va a recibir.

Con respecto a no utilizar codificador y decodificador, pues seria bueno programar las rutinas pero resultaria engorroso y algo tardado pues tendrias que leer como codificar y decodificar los datos, yo tambien andube buscando alguna rutina que hiciera eso, pero no tuve suerte.

Saludos!


----------



## lee (Ago 16, 2011)

Hola Sabes que debo hacer un proyecto semejante al tuyo... y eh tratado de ubicar en Chile donde se compran esos modulos de cominucación, podrias decirme donde lo compraste y el precio de ellos...gracias.


----------



## peterdbp (Ago 16, 2011)

Hola lee!

Zaz, hay un problemita, yo soy de México, podría decirte los precios que manejan por acá pero no creo que te ayude demasiado, con respecto a los diagramas eso si podría echarte un hilo. Hay una tienda aqui en México donde compre todos los materiales: busca en http://www.agelectronica.com/ y en http://www.robodacta.com.mx/activacioncart-subcats.asp?CategoriaID=38


----------



## Arsenic (May 2, 2017)

Me encuentro trabajando en un proyecto de un decodificador con microcontrolador de un HT12E. Según las hojas de datos del mismo, éstos trabajan en un margen de frecuencias de entre 1,75 a 2 KHz. Aunque eso depende del resistor que se le conecte entre los pines del oscilador interno. Es posible realizar la decodificación, ya que éste envía un pulso y un bit de sincronía para establecer la comunicación. Ahora bien, el tiempo del bit de sincronía puede variar por el nivel de batería, el resistor que lleva entre sus patas 15 y 16, entre otros factores. Es posible realizar dicha decodificación, haciendo uso del timer0 como temporizador, cuyo desborde evitaría que lleguen pulsos de más de 2 ciclos (ya que los descarta y los toma como inválidos). También se utiliza el timer1 como contador, para determinar la duración del pulso alto en piloto y así comparar los siguientes que llegan. Se puede utilizar la interrupción por cambio de estado RB4-RB7 para detectar los mismos (El pin RB4 iría al RX digital del módulo receptor). He logrado hacer funcionar uno, pero no "discrimina". Toma hasta el "ruido" que se le introduce a la radio. Es decir, falta pulirlo. Pero una vez pulido funcionará perfectamente. Si alguien puede aportar una solución a mi problema, se lo agradeceré. Les dejo todo en un rar, así pueden descargar la simulación en proteus, además del código fuente en CCS.


----------

