Cómo usar modulo de radio frecuencia emisor (xd-st) y receptor (xy-mk-5b) ?

hola que tal estoy intentando utilizar módulos de radio frecuencia es un kit de emisor(xd-st) y receptor(xy-mk-5b) elaboramos un pequeño código para enviar un 1 en emisor y resibirlo por receptor sin embargo no funciono si pudieran asesorar se los agradecería, estamos programando con pic c compiler y utilizando pics 18f4550 nuestro código es el siguiente

emisor:

#include <18f4550.h>
#fuses XT,NOWDT,NOPROTECT,PUT
#use delay(clock=4M)
#use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7, bits=8) //manejo del RS232

void main()
{
while(TRUE)
{
while(input(p0)==1)
{
putc(\'1\'); // enviamos un 1 por tx usart
delay_ms(100);
output_high(pin_d2);
}

while(input(p0)==0)
{
output_low(pin_d2);
}
}
}

-------------------------------------------------------------------------------------------------------------------
receptor:

#include "18F4550.h"
#fuses XT,NOWDT,NOPROTECT,PUT
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

char dato;

void main()
{
while(true)
{
dato="";
dato = getch();
delay_ms(120);

if (dato==\'1\'){
output_high(pin_b7);
}
}
} ...
 
Buenos días.

Esos módulos funcionan en ASK y en realidad no envian "Ceros" lo único que pueden enviar son "Unos", un "1" sería cuando el TX está transmitiendo y un 0" sería el TX en reposo.

Si lo que queréis es enviar un "1", únicamente hay que activar (poner a "1") el Pin correspondiente del TX, en el Receptor, el Pin correspondiente se pondrá a "1", si no hay transmisión, ese Pin estará a "0".

Tenéis que tener en cuenta que esa frecuencia (433,92Mhz) es "Uso común" por lo que, seguramente, el Receptor estará recibiendo más señales procedentes de otros usuarios.

Sal U2
 
Hola!

A este tipo de módulos no hace falta programarles un pic para funcionar. Hasta un simple pulsador sirve para transmitir datos ;)
No usan algún protocolo ni nada, pues todo queda a cargo del circuito que se comunica a través de estos módulos, el circuito es el encargado de generar un protocolo si es necesario.

También tiene que ver la velocidad de transmisión. Para estos módulos creo no debe pasar de los 4Kbps. Así que si la velocidad de transmisión por parte del circuito es muy alta, pues puede ser una causa del mal funcionamiento.

Y también, no recuerdo que módulos traen salida colector abierto, no se si los que usas sean de este tipo, si es así, una resistencia de la salida a VCC y con eso debería funcionar. Pero como dije, no recuerdo cuales, pero de que hay los hay.

Salu2!
 
para empezar no se si esto es valido
putc solo envia 1 caracter

aca estas enviando una diagonal y algo raro
putc(\'1\'); // enviamos un 1 por tx usart

deberia ser nadamas
putc('1');
eso es en modo ASCII

paro en modo byte
putc(1);

ahora el baudrate esta muy alto para enviar solo un byte
debes reducirlo como a 75 bauds

tambien debes ser redundante para evitar perdidas

es decir envias 4 veces o las veces que quieras el mismo dato

y en el receptor si no se cumplen las repeticiones descartas ese dato
 
El receptor tiene una salida TTL, cuando no se recibe nada está a 0, si se recibe la portadora procedente de su Emisor, esta salida se pone a nivel 1 TTL durante el tiempo que dure la transmisión.

La transmisión no se puede modular de ninguna manera, solo tenemos dos estados, TX On / TX Off

esta forma de funcionar se llama ASK

Como verás, esta forma de funcionar es más simple que el "mecanismo del chupete"

Por su simplicidad, esta forma de funcionamiento no es apta para el envío de datos "serios", es muy adecuada para enviar "Palabras" de muy corta duracion y a velocidades muy bajas y siempre de forma muy redundante. Un ejemplo son los Telemandos de la puerta del garaje, o la apertura del coche.

Estos módulos normalmente van acompañados de otros circuitos que Codifica/Decodifican los datos, estos circuitos suelen ser la pareja HT12E y HT12D.

Pero repito si lo que se pretende es hacer una verdadera comunicación de datos entre dos puntos, olvidaros de la utilización de estos módulos, tendréis muchos problemas.


Otro problema, ya comentado, es que en esa frecuencia hay mucha actividad lo que provoca muchas interferencias, por esa razón todos los sistemas funcionan de forma muy redundante.

Muy buenas
 
Última edición:
El receptor tiene una salida TTL, cuando no se recibe nada está a 0, si se recibe la portadora procedente de su Emisor, esta salida se pone a nivel 1 TTL durante el tiempo que dure la transmisión.

La transmisión no se puede modular de ninguna manera, solo tenemos dos estados, TX On / TX Off

esta forma de funcionar se llama ASK

Como verás, esta forma de funcionar es más simple que el "mecanismo del chupete"

Por su simplicidad, esta forma de funcionamiento no es apta para el envío de datos "serios", es muy adecuada para enviar "Palabras" de muy corta duracion y a velocidades muy bajas y siempre de forma muy redundante. Un ejemplo son los Telemandos de la puerta del garaje, o la apertura del coche.

Estos módulos normalmente van acompañados de otros circuitos que Codifica/Decodifican los datos, estos circuitos suelen ser la pareja HT12E y HT12D.

Pero repito si lo que se pretende es hacer una verdadera comunicación de datos entre dos puntos, olvidaros de la utilización de estos módulos, tendréis muchos problemas.


Otro problema, ya comentado, es que en esa frecuencia hay mucha actividad lo que provoca muchas interferencias, por esa razón todos los sistemas funcionan de forma muy redundante.

Muy buenas

Totalmente de acuerdo con ud sr!
 
Pues los he estado probando esta tarde y bueno, ha sido mi primer contacto con RF, dejémoslo así.

No he llegado a separarlos mucho, pero han funcionado, es muy simple. Lo único que me ha comido un poco la cabeza es que solo hace una emision y luego se queda petao. Y el programa funciona, muy simple, enviamos un 1 por pulsador y enciende un led. Lo probé por Usart con dos f628a y funcionaba de lujo y sometiendolo a estress, pero le ponia estos módulos y una emision y atrofiao, tenia que reiniciar.
¿Alguien recomienda algun modulo de RF, bueno los dos, que no me salgan por un hostiazo?hace tiempo me habia comprado unos Cebek, pero se debieron de perder, muchas mudanzas en 4 años, y aun estaban en sus respectivos paquetes:oops:
 
hola que tal estoy intentando utilizar módulos de radio frecuencia es un kit de emisor(xd-st) y receptor(xy-mk-5b) elaboramos un pequeño código para enviar un 1 en emisor y resibirlo por receptor sin embargo no funciono si pudieran asesorar se los agradecería, estamos programando con pic c compiler y utilizando pics 18f4550 nuestro código es el siguiente

emisor:

#include <18f4550.h>
#fuses XT,NOWDT,NOPROTECT,PUT
#use delay(clock=4M)
#use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7, bits=8) //manejo del RS232

void main()
{
while(TRUE)
{
while(input(p0)==1)
{
putc(\'1\'); // enviamos un 1 por tx usart
delay_ms(100);
output_high(pin_d2);
}

while(input(p0)==0)
{
output_low(pin_d2);
}
}
}

-------------------------------------------------------------------------------------------------------------------
receptor:

#include "18F4550.h"
#fuses XT,NOWDT,NOPROTECT,PUT
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

char dato;

void main()
{
while(true)
{
dato="";
dato = getch();
delay_ms(120);

if (dato==\'1\'){
output_high(pin_b7);
}
}
} ...
Compañero, no se si sigues al lio con estos receptor-transmisor, pero he llegado a la conclusion de que la tarea que mejor desempeñan esta en el cubo de la basura, es imcreible lo mal que funcionan, yo los he comprado por menos de un euro los dos pensando "como mucho pierdo el dinero..." ¡¡mentira!! he perdido el tiempo en algo que mal funciona
 
Atrás
Arriba