Autor Tema: comunicacion RF  (Leído 3689 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado MA_BLACK1

  • PIC10
  • *
  • Mensajes: 5
comunicacion RF
« en: 26 de Diciembre de 2006, 19:48:04 »
Alguien me puede hechar una mano para comunicar dos pic por RF mediante los modulos de aurel, un receptor y un emisor, que protocolo puedo utilizar y como?

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
Re: comunicacion RF
« Respuesta #1 en: 28 de Diciembre de 2006, 08:33:53 »
Hola MA_BLACK1!

Bienvenido al foro. Mira esto que seguro que te ayuda un montón.

http://www.todopic.com.ar/foros/index.php?topic=14601.0


Un saludo desde Alicante.

Desconectado MA_BLACK1

  • PIC10
  • *
  • Mensajes: 5
Re: comunicacion RF
« Respuesta #2 en: 30 de Diciembre de 2006, 05:57:51 »
muchas gracias la verdad esque si me ha sido de ayuda a ver si pongo que tal me han ido las pruebas.

Desconectado MA_BLACK1

  • PIC10
  • *
  • Mensajes: 5
Re: comunicacion RF
« Respuesta #3 en: 09 de Marzo de 2007, 14:48:56 »
hola buenas, lo cirto es que he estado comunicando dos pics por usart en rs232, y con el cable va perfecto pero cuando intento comunicarlos por RF no recibo nada, os pongo el programa y los modulos que he utilizado por si alguien me puede hechar una mano.
-los modulos son el emisor y receptor de aurel el BC-NBK a 433Mhz y TX-SAW 433 s-Z a 433Mhz, y el programa es el siguiente:

---------------------------------------------------------------------------------------------------------------------------
emisor.

// emisor por puerto serie usart
//para recibir otro pic
   
#include <16f874A.h>

//Ajusta los valores de la palabra de configuración durante el ensamblaje:
//Protección de código y datos=OFF, LVP=OFF, WDT=OFF y OSC=XT

#fuses NOPROTECT,NOCPD,NOLVP,NOWDT,XT

// Con estas directivas las funciones "input" y "output_bit" no reprograman
// el pin de la puerta cada vez que son utilizadas. Si no se indica el
// modo fast_io se asume por defecto standard_io el cual reprograma el pin
// siempre antes de ser utilizadas estas funciones.

#use fast_io (C)
#use delay(clock=4000000)

//Habilita las funciones RS232, velocidad a 9600 baudios

#use rs232(baud=300, xmit=PIN_C6, rcv=PIN_C7)
//#use RS232(BAUD=100, BITS=8, PARITY=N, XMIT=PIN_B0, RCV=PIN_B5)

   
main()
{     
   set_tris_c(0b10111111);   //RC7/Rx entrada, RC6/Tx salida
   set_tris_b(0b11111111);   //RC7/Rx entrada, RC6/Tx salida
   
   while(1)
   {   
      putc('A');      //Transmite el caracter
      delay_ms(1000);   //Temporiza 1 segundo
   }
}
   
---------------------------------------------------------------------------------------------------------
receptor.

//recibe un dato por medio de la usart a la muestra en lcd

   
#include <16f876A.h>

//Ajusta los valores de la palabra de configuración durante el ensamblaje:
//Protección de código y datos=OFF, LVP=OFF, WDT=OFF y OSC=XT

#fuses NOPROTECT,NOCPD,NOLVP,NOWDT,XT

// Con estas directivas las funciones "input" y "output_bit" no reprograman
// el pin de la puerta cada vez que son utilizadas. Si no se indica el
// modo fast_io se asume por defecto standard_io el cual reprograma el pin
// siempre antes de ser utilizadas estas funciones.

#use fast_io (B)
#use fast_io (C)
#use delay(clock=4000000)
#include <lcd2.c>

//Habilita las funciones RS232, velocidad a 9600 baudios

#use rs232(baud=300, xmit=PIN_C6, rcv=PIN_C7)


#int_rda   //Vector de interrupción al recibir por el UART

//Función de tratamiento de la interrupción al recibir

tratamiento()
{   
   int   dato;   //Variable para almacena el dato recibido
   dato=getc();   //Lee el dato recibido
   //output_b(dato);   //Lo saca por la puerta B
   //putc(dato);      //Lo transmite vía RS232
   delay_ms(100);
   lcd_gotoxy(1,2);
   lcd_putc(dato);     //muestra dato recibido en lcd
}   
   
main()
{     
   //output_b(0x00);      //Borra las salidas
   SETUP_ADC_PORTS(NO_ANALOGS);
   set_tris_a(0x00);   //Puerta A salida
   set_tris_b(0x00);   //Puerta B salida
   set_tris_c(0b10111111);   //RC7/Rx entrada, RC6/Tx salida
   lcd_init();                  //habilita lcd
   printf(lcd_putc,"se ha pulsado: "); //mensaje
   
   enable_interrupts(INT_RDA);   //Activa interrupción en la recepción
   enable_interrupts(global);   //Habilita interrupciones
   
   while(1)
   {   

   }
}   

gracias y un saludo

Desconectado Kuvy

  • PIC10
  • *
  • Mensajes: 3
Re: comunicacion RF
« Respuesta #4 en: 03 de Abril de 2007, 23:43:16 »
Hola
En primer lugar utilizas encoders o decoders para tu transmición, porque si lo haces te recoiendo que leas las caracteristicas del encoders o decoders, estos generalmente se comen bastante velocidad, yo programe un pic con modulos rf y los comunique en modo serie a unos 2400b, y me funcionó bien, conectando el pic directamente al modulo.