TX-RX 433MHZ. ¿Que hago mal?

Hola amigos.
En primer lugar decir que es mi primer contacto con este tipo de modulos RF.
La cuestión es que he adquirido estos dos módulos RF:
http://www.ebay.es/itm/280924194031?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

Estoy intentando realizar una comunicación serie entre ellos, pero no lo consigo.
Para probar he hecho lo siguiente:
PC->SerieTTL->TX |||||||> RX->PIC16F84A (velocidad 2400bps)

Donde el programa del PIC, lee la información recibida y si se ha recibido un 1,2 o 3 (ASCII), conmuta RB1,RB2 o RB3.
Si conecto el SerieTTL directamente al PIC, funciona perfectamente, pero si lo hago mediante los modulos RF, nada... Decir también que si conecto el modulo RX a un osciloscopio, este me mide una señal de unos 3kHz de frecuencia, permanentemente...
¿La salida de éste no tendría que ser TTL?.
Por favor ayúdenme.
Un saludo!

PD: adjunto imagen de la señal medida a la salida del modulo RX y programa del PIC.

PHP:
#BYTE PORTA=0x05
#BYTE PORTB=0x06
#bit led1=portb.1
#bit led2=portb.2
#bit led3=portb.3

#define L1ON 49
#define L2ON 50
#define L3ON 51

void entrada_de_datos();
int BTin=0;


void main(){
      
   set_tris_b(0x00);
   PORTB=(0x00);

   while(true){
      if(kbhit()){                                                             
         entrada_de_datos();
      } 
   }
}

void entrada_de_datos() {
   BTin=GETC();
    printf("\f");
   printf("OK");
   switch(BTin){
   case  L1ON: 
               led1=!led1;
               break;
   case  L2ON: 
               led2=!led2;
               break;
   case  L3ON: 
               led3=!led3;
               break;  
   }
   return;
}
 

Adjuntos

  • osc.JPG
    osc.JPG
    31.7 KB · Visitas: 19
GloW_iNg:

Esos receptores son así, mientras no estás transmitiendo nada, entre ruido a mansalva. Para que puedas hacer la comunicación, siempre tenés que enviar un conjunto de datos. Yo los he usado con UART, antes de que alguien te diga algo, porque lo recomendable es usar manchester. Con UART andan bien, lo importante es que pongas un encabezado fijo, siempre el mismo y metas al final del paquete una suma de comprobación o CRC.
 
Además de la trama que menciona penrico, agregale un encabezado de este tipo => 0x55-0x55-0x55 (la cantidad de bytes dependerá de lo que mejor te resulte en forma experimental), esa trama sirve para ayudar al AGC del receptor (si lo tiene).

Otra cosa, asegurate que en estado de reposo al transmisor le mandes todo el tiempo un 0 lógico.
 
Muchisimas gracias por vuestra ayuda.
Yo pensaba que la salida de estos módulos iba a ser en TTL, sin ningún tipo de ruido. Y que seria muy sencillo. Así que no merece la pena "tanta" depuración de ruidos y errores, para el uso que le quiero dar. Un simple interruptor inalambrico, para una bombilla en casa.
Mejor lo intento con infrarrojos... Ya que quiero algo economico y lo mas sencillo posible.

Un saludo y Gracias de nuevo!

PD: De todas formas, me servirá esta ayuda para cuando decida utilizar estos módulos para cualquier otro fin.
 
Muchisimas gracias por vuestra ayuda.
Yo pensaba que la salida de estos módulos iba a ser en TTL, sin ningún tipo de ruido. Y que seria muy sencillo. Así que no merece la pena "tanta" depuración de ruidos y errores, para el uso que le quiero dar. Un simple interruptor inalambrico, para una bombilla en casa.
Mejor lo intento con infrarrojos... Ya que quiero algo economico y lo mas sencillo posible.

Un saludo y Gracias de nuevo!

PD: De todas formas, me servirá esta ayuda para cuando decida utilizar estos módulos para cualquier otro fin.

Para realizar eso con esos módulos, simplemente usá los codificadores/decodificadores holtek y olvidate de la trama, son fáciles de usar (se usan para infrarrojos también) y si buscás bien en el foro vas a encontrar bastante información.

Usar una "Uart" con esos módulos tiene sentido cuando mandás mucha información, para un estado lógico de un par de bits no tiene sentido su uso.
 
Hola, aparte de los módulos de RF, busca información sobre los encoder y decoder HT12E HT12D, son muy simples de configurar, aparte puedes hacer un on/off con un 4013 o 555 y con ello hacer que desde el pulso que envíes desde el RF, envie un pulso al on/off y quede un rele activado por ejemplo, y con el otro pulso se apague.

De lo que aparece en la imagen puedes sacar la etapa de temporización, que es donde va el 555, y con ello tendrás un circuito de control remoto ON/OFF.
No ocupe las salidas del decodificador ya que para que transmitan, el codificador debería estar siempre transmitiendo y eso me hacia gastar mucho la pila, por eso use la patilla de salida de la señal (output), para alimentar el transistor que activa el 4013


bgtwmp.jpg
 
Atrás
Arriba