Páginas: [1] 2   Ir Abajo
Imprimir
Autor Tema: Modulos RF TX(FST-3) RX(CZS-3) - 315Mhz / 433.92Mhz  (Leído 2858 veces)
ccencho
Administrator
Crea robots útiles pa la humanidad
*
Desconectado Desconectado

Mensajes: 293


Laberinto

axgt8@hotmail.com
Ver Perfil WWW Email
« : Septiembre 24, 2009, 07:48:31 »

Hola amigos
A vista que empiezan los concursos de robotica y que muchos quieren construir sus RobotSoccer o Warbots se les hace difícil el control inalambrico  es así que muchos usan los controles remotos de los carritos  verguenza( sin infancia.... icon_lol) pero estos no traen buenos resultado al final pues se cruzan con otros mandos de igual frecuencia ( 47Mhz ,75Mhz , etc).
A todo esto es mejor conseguirse módulos RF de bajo costo y mejor calidad como estos:

TRANSMISOR


Descripcion:

o   Voltage de operacion: DC3-12 V
o   Corriente de operacion: 5-45 mA
o   Corriente de reposo: ?20uA
o   Velocidad de transmision max.: 9.6K
o   Modulacion: AM
o   Frecuencia de operacion: 315 MHz ò 433 MHz
o   Alcance de transmision: 1000m
o   Dimensiones: 19mm x 19mm x 8mm



RECEPTOR



Descripcion:

o   Voltaje de operacion: DC 5 V
o   Consumo de corriente: 5 mA
o   Sensitividad de recepcion: -103 dbm
o   Velocidad de transmision: 4.8K
o   Modulacion: AM
o   Tipo de salida: TTL
o   Frecuencia de operacion: 315 MHz ó 433 MHz
o   Dimensiones: 30mm x 14mm x 7mm 


¿ Donde lo venden ?

Bueno para los que son de Peru y son electrónicos o aficionados deben conocer en gran PARURO en lima asiq ahi hay un punto de compra el otro es a la tienda de ICABOTS www.icabots.com/productos o sino al contacto info@icabots.com

¿ Como los uso bueno?

Bueno debo decir que hay 2 formas :

1.Usando encoder y decoder (PT2262 y PT2272)
2.Programando un micro controlador para la transmisión serial -USART ( se las recomiendo porque pueden hacer muchas combinaciones  sin limitarte   icon_lol)

Bueno debo decir a lo personal que son muy buenos ya que los he usado para control warbots,robotsoccer y ahora parte de mi TESIS  icon_lol

Bien si se animan pasan la voz para postear el programa para controlar N salidas....asi como el circuito electronico para control del TX y RX

Nos vemos bytes........ cool chau Bien
En línea

Investigacion y desarrollo
ccencho
Administrator
Crea robots útiles pa la humanidad
*
Desconectado Desconectado

Mensajes: 293


Laberinto

axgt8@hotmail.com
Ver Perfil WWW Email
« Respuesta #1 : Octubre 26, 2009, 10:55:46 »

Bueno como muchos me han estado preguntado sobre como programar esto módulos acá les subo un demo de como controlar el Tx y Rx, con la cual modificando el código pueden controlar perfectamente 2^n salidas dependiendo de las combinaciones que hagan....

CODIGO TRASMISOR

       DEFINE HSER_RCSTA 90h
            DEFINE HSER_TXSTA 24h ' ya no mover esta bien
            DEFINE HSER_BAUD 2400 
            TRISB=$FF              ; declara como entrada el portb
            TRISC=$00              ; declaro  modulo USART como TX
            E  VAR byte            ; variables
            V  var byte
            RES VAR BYTE
            RES=%00011111               ; solo deja usar los pines del
                                        ; port.0 al portb.4
INICIO:                                 ; inicia el codigo
          v=PORTB & RES
         IF V=31 THEN GOSUB PARADA      ; para en seco
         IF V=30 THEN GOSUB ARRIBA      ; va hacia arriba
         IF V=29 THEN GOSUB ABAJO       ; va hacia abajo
         IF V=27 THEN GOSUB DERECHA     ; va a la derecha
         IF V=23 THEN GOSUB IZQUIERDA   ; va a la izquierda
         IF V=22 THEN GOSUB TROM_IZQ    ; gira a la izquierda con una llanta
         IF V=26 THEN GOSUB TROM_DER    ; gira a la derecha con una llanta                     
         GOTO INICIO
         

PARADA:
       HSEROUT [ 0]
       RETURN

ARRIBA:
       HSEROUT [1]
       return
         
ABAJO:
       HSEROUT [2]
      RETURN
     
DERECHA:
       HSEROUT [3]
      RETURN                               
         
IZQUIERDA:
       HSEROUT [4]
      RETURN
               
TROM_IZQ:
       HSEROUT [5]
      RETURN
     
TROM_DER:
       HSEROUT [6]
      RETURN                                             
               
         END
           



CODIGO RECEPTOR

       DEFINE HSER_RCSTA 90h
            DEFINE HSER_TXSTA 24h ' ya no mover esta bien
            DEFINE HSER_BAUD 2400               
            TRISD=$00
            TRISB=$00
            PORTD=$00
            PORTB=$00       
            TRISC = %10000000 ; declaro modulo USART como receptor
            E VAR WORD         ; variables
            M  VAR BYTE           

INICIO:
            HSERIN [E]
            if E=0 THEN GOSUB PARADA
            if E=1 THEN GOSUB ARRIBA
            if E=2 THEN GOSUB ABAJO
            if E=3 THEN GOSUB izquierda
            if E=4 THEN GOSUB derecha
            if E=5 THEN GOSUB TROM_IZQ
            if E=6 THEN GOSUB TROM_DER
 GOTO INICIO
 
PARADA:
       PORTB=$00
       RETURN

ARRIBA:
       PORTB=%00101101
       return
         
ABAJO:
       PORTB=%00110110
      RETURN
     
DERECHA:
       
       PORTB=%00101110
      RETURN                               
         
IZQUIERDA:
       
        PORTB=%00110101
      RETURN
               
TROM_IZQ:
        PORTB=%00101000
      RETURN
       
TROM_DER:
       
        PORTB=%00000101
      RETURN   
 
    END
 


Bueno espero que con esto muchos puedan hacer funcionar sus proyectos  chancon1 usando estos modulos...jee asiq espero comentarios  icon_mad y agradecer no cuesta nada...jaa mas me cuesta digitar jee icon_lol icon_lol
En línea

Investigacion y desarrollo
Robo3001
Conoce de robots por la TV
*
Desconectado Desconectado

Mensajes: 4


Ver Perfil Email
« Respuesta #2 : Diciembre 18, 2009, 03:25:56 »

Interesante...

Bueno aqui dejo mi ejemplo de un sistema esclavo-maestro con 2 uC 16f628A, sin crystal externo, sin R de MasterClear y haciendo uso de la técnica de sobrecarga. chancon1

nota: Otra ventaja que tengo, es que en el receptor no solo se limita a esperar el dato SERIAL y tomar desiciones, sino que atiendo esto mediante "interrupción" por datos en la entrada del módulo USART, y puedo utilizar mi programa principal para hacer multitarea....

Otro punto mas interesante aún es que puedo usar varios maestro-esclavo al mismo tiempo. puesto que para reconocer la trama tienen un indicador de cabezera, que es un código único para cada sistema... sorprendido sorprendido holass
 pc pc pc pc pc pc .....

PIC-MASTER:
Código:
'****************************************************************
'*  Name    : Soccer2009.BAS                                    *
'*  Author  : Guillermo David Evangelista Adrianzén               *
'*  Notice  : Copyright (c) 2009  All Rights Reserved           *
'*  Date    : 24/09/2009                                        *
'*  Version : 2.0                                               *
'****************************************************************
@ DEVICE PIC16F628A, WDT_OFF
@ DEVICE PIC16F628A, PWRT_OFF
@ DEVICE PIC16F628A, BOD_OFF
@ DEVICE PIC16F628A, PROTECT_OFF
@ DEVICE PIC16F628A, CPD_OFF
@ DEVICE PIC16F628A, MCLR_OFF
@ DEVICE PIC16F628A, INTRC_OSC_NOCLKOUT

'============================= CONFIGURACION DE Rx =============================
RX      VAR PORTB.1  :  TRISB.1=1  'Rx
define HSER_RCSTA       90h     
DEFINE HSER_TXSTA       24h     
DEFINE HSER_BAUD        2400 
DEFINE HSER_SPBRG       103          '4M/(2400*16)-1=103
'===============================================================================
CABECERA VAR BYTE : CABECERA=32
TRAMA    var byte

KICK    VAR PORTA.0    :   TRISA.0=1
UP      VAR PORTA.1    :   TRISA.1=1
DOWN    VAR PORTA.2    :   TRISA.2=1
LEFT    VAR PORTA.3    :   TRISA.3=1
RIGHT   VAR PORTA.5    :   TRISA.5=1

K       VAR BIT
U       VAR BIT
D       VAR BIT
L       VAR BIT
R       VAR BIT

CMCON = %00000111                    ' Pines PortA a Digital (No comparator)

MAIN:
    if UP=1 THEN   
        U=1
    ELSE
        U=0
    ENDIF
    if DOWN=1 THEN   
        D=1
    ELSE
        D=0
    ENDIF
    if LEFT=1 THEN   
        L=1
    ELSE
        L=0
    ENDIF 
    if RIGHT=1 THEN   
        R=1
    ELSE
        R=0
    ENDIF 
    gosub envia
    GOTO MAIN
   
ENVIA:
    TRAMA=U*8+D*4+L*2+R
    hserout [CABECERA]
    HSEROUT [TRAMA]
    HSEROUT [TRAMA]
    HSEROUT [TRAMA]
    HSEROUT [TRAMA]
    HSEROUT [TRAMA]
    RETURN


PIC-SLAVE:

Código:
'****************************************************************
'*  Name    : Soccer2009.BAS                                    *
'*  Author  : Guillermo David Evangelista Adrianzén               *
'*  Notice  : Copyright (c) 2009  All Rights Reserved           *
'*  Date    : 24/09/2009                                        *
'*  Version : 2.0                                               *
'****************************************************************
@ DEVICE PIC16F628A, WDT_OFF
@ DEVICE PIC16F628A, PWRT_OFF
@ DEVICE PIC16F628A, BOD_OFF
@ DEVICE PIC16F628A, PROTECT_OFF
@ DEVICE PIC16F628A, CPD_OFF
@ DEVICE PIC16F628A, MCLR_OFF
@ DEVICE PIC16F628A, INTRC_OSC_NOCLKOUT

'========================== CONFIGURACION DE ORDENES ===========================
MD      VAR PORTA.6 : TRISA.6=0
NMD     VAR PORTA.7 : TRISA.7=0
MI      VAR PORTA.0 : TRISA.0=0
NMI     VAR PORTB.6 : TRISB.6=0
ENAI    VAR PORTA.1 : TRISA.1=0
ENAD    VAR PORTB.5 : TRISB.5=0

ENPI    VAR PORTA.2 : TRISA.2=0
PIST    VAR PORTA.3 : TRISA.3=0
NPIST   VAR PORTB.3 : TRISB.3=0


'============================= CONFIGURACION DE Rx =============================
RX      VAR PORTB.1  :  TRISB.1=1  'Rx
define HSER_RCSTA       90h     
DEFINE HSER_TXSTA       24h     
DEFINE HSER_BAUD        2400 
DEFINE HSER_SPBRG       103          '4M/(2400*16)-1=103
'===============================================================================
I           VAR BYTE
CABECERA    VAR BYTE
TRAMAIN     VAR BYTE[4]
ACCION      VAR BYTE
'===============================================================================


                        ON INTERRUPT GOTO recibe
                       
INTCON=%11000000                     'GIE=1  :global interrupt-habilitado
                                     'PEIE=1 :Peripheral interrupt-habilitado
PIE1.5=1                             'RCIE=1 :USART Receive Interrupt habilitado
CMCON = %00000111                    ' Pines PortA a Digital (No comparator)


ENAI=0
ENAD=0
ENPI=0
   
MAIN:
    IF ACCION=8 THEN
        GOSUB ADELANTE
    ELSE
        IF ACCION=4 THEN
            GOSUB ATRAS
        ELSE
            IF ACCION=2 THEN
                GOSUB IZQUIERDA
            ELSE
                IF ACCION=1 THEN
                    GOSUB DERECHA
                ELSE
                    if accion=0 then
                        GOSUB ALTO
                    endif
                ENDIF
            ENDIF
        ENDIF
    ENDIF   
    GOTO MAIN

'===============================================================================

ATRAS:
    MI  =0:NMI =1:ENAI=1
    MD  =0:NMD =1:ENAD=1
    RETURN
           
ADELANTE:
    MI  =1:NMI =0:ENAI=1
    MD  =1:NMD =0:ENAD=1
    RETURN

DERECHA:
    MI  =0:NMI =1:ENAI=1
    MD  =1:NMD =0:ENAD=1
    RETURN
   
IZQUIERDA:
    MI  =1:NMI =0:ENAI=1
    MD  =0:NMD =1:ENAD=1
    RETURN

ALTO:
    ENAI=0
    ENAD=0
    RETURN

'===============================================================================
                           
                                disable
recibe:
    HSERIN [CABECERA]
    if CABECERA=32 THEN
        FOR I=0 TO 3
            hserin[tramain[i]]
        next i
        if tramain[1]=tramain[2] then
            if tramain[2]=tramain[3] then
                IF (TRAMAIN[1]<9 AND TRAMAIN[1]>=0) THEN
                    ACCION=tramain[1]
                ELSE
                    ACCION=0
                ENDIF
            ELSE
                ACCION=0
            ENDIF
        ENDIF           
    endif
   
    INTCON =%11000000  '    GIE=1  :global interrupt-habilitado
                       '    PEIE=1 :Peripheral interrupt-habilitado
    PIE1.5=1           '    RCIE=1 :USART Receive Interrupt habilitado
    PIR1 = 0           '    RCIF=0 :The USART receive buffer is empty
    resume
       
                                 ENABLE
En línea
ccencho
Administrator
Crea robots útiles pa la humanidad
*
Desconectado Desconectado

Mensajes: 293


Laberinto

axgt8@hotmail.com
Ver Perfil WWW Email
« Respuesta #3 : Diciembre 18, 2009, 03:45:23 »

Primer lugar y ese milagroo.............. de Robo3001 jaaaa  icon_lol icon_lol compartiendo algo jaaa(broma) bueno....se que muchos aprovecharan toda info posible respecto al tema,es mas...... veré si subo mi master-esclave en ccscompiler...y de paso...explicar detalladamente las características de interrupciones,NOmlcr, XT interno y algunas cosillas usadas en PBP para que este mas detallado

Mas bien jee cuando hay la chocolatada robotica jaaaaa... verguenza cooll2 cooll2 cooll2 cool cool


En línea

Investigacion y desarrollo
segu
Conoce de robots por la TV
*
Desconectado Desconectado

Mensajes: 4


NO soy PIC


Ver Perfil
« Respuesta #4 : Diciembre 19, 2009, 08:07:43 »

Recién he encontrado esta pagina web
No imaginaba que en Perú habría este interés. Soy viejo y siempre he ido solo porque no habían "colegas" guiño
Mi interes actual es sobre la referencia de este tema FST-4 y CZS-3. Los encontre en HiFi (paruro!!!) aunque aqui le dicen FST-3 y CZS-3 pero no me voy a molestar por la diferencia de un numero.
Dos preguntas
- El link a productos de icabots (www.icabots.com/productos) no furuncia??? si hay compras en grupo tambien puedo participar.
- De donde bajo los datasheets de estos Tx y Rx para poder entender que puedo hacer con ellos
Porsiaca no uso PICs uso AVRs pero espero no me expectoren por eso ... felizverde
Esperando me informen sobre esos datasheets y asi poder pasar unas lindas navidades como les deseo a todos Uds ( y mas a los que respondan chau)
Esperando su aceptacion, me despido

En línea

microsoft es a la computacion, como burgerking es a los gourmets
ccencho
Administrator
Crea robots útiles pa la humanidad
*
Desconectado Desconectado

Mensajes: 293


Laberinto

axgt8@hotmail.com
Ver Perfil WWW Email
« Respuesta #5 : Diciembre 19, 2009, 08:41:25 »

Hola Segu un gusto tenerte por el foro, bueno deja contarte que si en peru hay muchos interesados a esto y a mas cosas, asi como este foro es para eso para poder congregar todo tipo de personas, estudiantes,profesionales,aficionados,etc.

Bueno sobre la descarga de productos...loq pasa es que la pagina web sufrio unos desperfectos y esta en mantenimiento ,por ello pa enero estrenaremos nueva web.

Sobre los datas aca te lo adjunto al final del post

Bueno..si manejas AVR no quiere decir que te vamos expectorar es mas..es un tema que hace tiempo...lo tome pero por cosas de la vida lo deje,pero espero pronto retomar la programacion en AVR( ahora si nos haces unos tutos seria genial..solo dime y abro creo un nuevo tema de AVR icon_lol para que te desplayes  icon_lol.

Como te digo el foro es para que todos nos apoyemos y aportemos al foro para todos....
En línea

Investigacion y desarrollo
segu
Conoce de robots por la TV
*
Desconectado Desconectado

Mensajes: 4


NO soy PIC


Ver Perfil
« Respuesta #6 : Diciembre 19, 2009, 09:45:50 »

ccencho esto fue rápido ...  ;)gracias por responder con los PDF los baje y abrí. A ver si entiendo, los PDF son sobre codecs (codificador decodificador) Lo que venden (aun no he comprado) en paruro es el codi-decodificador mas un transmisor y un receptor de radio que transmiten-reciben la dirección y estado de las patas data en el codi y las repiten en el decodi? voy a bajar los programas ejemplo en este thread y estudiarlos para entender que hacen.
Imagine que en el Tx se serializaba un byte con un uP y el Rx recibía eso y lo metía en el uP del lado receptor donde reconstruías el byte. O sea un RS232 pero sin alambres

uP>modulo Tx>por el aire  _|-|_|-|_|-|_|-|_|-|_ >modulo Rx>uP

Pareciera que en las fotos hay un solo pin en el Tx que recibe "data" y en el Rx otro solo pin que repite esa "data"
No tienes los datasheet de los radios?
En respecto a los AVR, puedo responder preguntas (por el tiempo a usar). RECOMIENDO ver el ARDUINO es un AVR Atmega168 o 328 a 16Mhz o sea 16MIPS (PIC reloj/4 AVR reloj/1) es un PCB completo que se conecta un IDE que también tiene un monitor serial para que te muestre los "PRINT"que pones en el AVR a modo de debugger. También podrías armarte uno en un breadboard pero hay un bootloader de por medio y el problema de su quemado en el AVR. Hay un par de sitios gringos que te venden por unidad lo mínimo para armar un ARDUINO y mandan por correo al Perú ( ya he comprado otras cosas ahí y llegan en 10-12 días).
Googlea ARDUINO y/o estudiar en www.arduino.cc (ingles por siaca y tienen forum)
Bueno bastante floro por el momento ...

En línea

microsoft es a la computacion, como burgerking es a los gourmets
EL_aprendiz
Conoce de robots por la TV
*
Desconectado Desconectado

Mensajes: 3


Ver Perfil Email
« Respuesta #7 : Enero 07, 2010, 04:24:54 »

Hola gente de Icabots, que bueno poder hablar con gente de Peru interesada en el tema de los microcontroladores. ya me consegui el Tx y Rx pero al parecer su uso no es tan facil, lo que hice fue conectar directamente al TX a la patita del pic de TX usart de un 16f628a y tratar de enviar un byte donde otro 16f628a lo recepcionaba, igual conecte el pin de Rx del receptor al pin RX del otro pic y no llego, probando y probando hice que llegara el byte pero al 4to intento de envio. ¿tiene que ver algo con la conexion de los pines? ¿esta bien conectarlo directo a los pines usart de los pics? ¿o tengo que adaptarlo?, por que el pin de Tx del pic siempre esta a '1' logico antes de enviar cualquier dato. ¿es eso tal ves lo que interfiere?. de antemano gracias por la ayuda
En línea
ccencho
Administrator
Crea robots útiles pa la humanidad
*
Desconectado Desconectado

Mensajes: 293


Laberinto

axgt8@hotmail.com
Ver Perfil WWW Email
« Respuesta #8 : Enero 08, 2010, 10:20:51 »

Hola  chau aprendiz....disculpa si recien te contesto, bueno haber veamos:

  • Le has soldado las antenas a cada modulo,sino bueno haslo ahi te indica que pin es la antena
  • Has probado los 2 programas que estan en este post,o estas programando por tu cuenta si es asi adjunta el codigo para ver en donde estas fallando
  • Bueno si se conecta de forma directa el Rx y TX de los modulos a los Rx y Tx de los pic

bueno comentas como te fue  icon_lol icon_lol
En línea

Investigacion y desarrollo
EL_aprendiz
Conoce de robots por la TV
*
Desconectado Desconectado

Mensajes: 3


Ver Perfil Email
« Respuesta #9 : Enero 09, 2010, 08:30:05 »

Hola de nuevo chau. Bueno, las antenas solo las ajuste con un cablecito para cada plaquita, mas o menos de 10 cm. es que no queria soldarle nada para no dañarlos, ahora lo hago. Con respecto a los programas hice mis propios programas por que queria algo simple y corto para probarlos, y bueno, no se basic, uso el ccs compiler. El programa transmisor tiene dos pulsadores conectado a RB4 y RB5, si se presiona uno de ellos envia un byte. el programa receptor alterna el estado de dos leds conectados a sus pines RB4 y RB5 segun le llegue el byte correcto. Voy a probar con eso de las antenas y luego lo comento Ccencho. ah una pregunta, ¿esta bien el tamaño de las antenas? ¿o no afecta en la transmision-recepcion que haga?. Saludos
En línea
ccencho
Administrator
Crea robots útiles pa la humanidad
*
Desconectado Desconectado

Mensajes: 293


Laberinto

axgt8@hotmail.com
Ver Perfil WWW Email
« Respuesta #10 : Enero 09, 2010, 02:57:01 »

No el tamaño por ahora no afecta para tramos cortos, pero si ponle almenos un cable,  para mayores alcances si debes tomar en cuenta ello, bueno revisare tus códigos... Roll Eyes
En línea

Investigacion y desarrollo
ccencho
Administrator
Crea robots útiles pa la humanidad
*
Desconectado Desconectado

Mensajes: 293


Laberinto

axgt8@hotmail.com
Ver Perfil WWW Email
« Respuesta #11 : Enero 09, 2010, 03:19:17 »

Bueno ya revise tu codigo, mas que todo lo simule tal como estaba y si cumple manda 1 por el portb.4 y prende el led conectado en portb.4 del receptor ,lo mismo con el portb.5, entonces quisas tu problema sea con los modulos......,bueno he notado que en tus ejemplos de programa pones CZS_3 y FST_4, esto me hace sospechar que quisas tu TX y RX no son compatibles es decir ese  son diferentes versiones, o quisas diferentes frecuencias.....,chequea eso tambien, y haber cuentas como te fue.
 chau chau chau
En línea

Investigacion y desarrollo
EL_aprendiz
Conoce de robots por la TV
*
Desconectado Desconectado

Mensajes: 3


Ver Perfil Email
« Respuesta #12 : Enero 11, 2010, 04:56:56 »

Hola Ccencho, fui a la tienda de paruro Hifi para preguntar si se equivocaron de codigos, me mostro todos los pares son iguales. ya solde las antenas a los modulso rf de 15cm de largo, pero sigue igual. Solo cuando programo el pc para que envie 4 vecs minimo el mismo byte, llega al otro lado. probe el circuito cableado con los programas que colgue y funciona bien. ah, y otro punto que no comente es que de vez en cuando el receptor enciende uno de los leds o lo apaga, lo mismo con el otro, como si estuviera recibiendo el byte que quiero enviar, y eso lo probe solo el rf de recepcion conectado al pic directamente. Estoy pensando el ponerle optos, no se si es aconsejable o me estoy complicando demasiado. llegando a mi casa cuelgo foto de los modulos rf. Saludos
En línea
ccencho
Administrator
Crea robots útiles pa la humanidad
*
Desconectado Desconectado

Mensajes: 293


Laberinto

axgt8@hotmail.com
Ver Perfil WWW Email
« Respuesta #13 : Enero 11, 2010, 05:06:03 »

Bueno amigo he escuchado ese problema ahora q recuerdo a 2 amigos....luego los dos me dijieron que sus modulos estaban fallados,,,bueno quisas sea tu caso como no, bueno...sugiero algo que le pongas como una trama con un bit de reconocimiento....algo como una llave ,es decir si ese bit es 1 u otro valor entonces el pic receptor estudiar la información y la ejecuta, de lo contrario si ese bit es cero u otro valor no ejecuta la información o mejor dicho no deja leer lo mandado...,por lo que veo tienes problemas de sensividad, ami me paso algo similar cuando programe con assembler  y era porque no tomaba en cuenta varios detalles como interrupciones y otras,,pero como me dices que funciona normal con cable...entonces no hay mas que decir el problema son los módulos, ...antena, o sensividad...o frecuencias distintas, pero bueno prueba sino haber de cerca....ojo la antena debe estar bien soldada y tieza..., otro punto quisas sea la alimentacion...revisa que este bien ello.

Bueno espero haber ayudado....,en unos dias probare mis modulos con tu codigo..o sino otro en C hecho por mi y te aviso que tal van pero mientras dale con los tuyos.. Roll Eyes Roll Eyes Roll Eyes
En línea

Investigacion y desarrollo
ccencho
Administrator
Crea robots útiles pa la humanidad
*
Desconectado Desconectado

Mensajes: 293


Laberinto

axgt8@hotmail.com
Ver Perfil WWW Email
« Respuesta #14 : Marzo 18, 2010, 01:23:39 »

Hola aprendiz, despues de tiempo me doy un tiempo( que tal redundancia jee), bueno amigo...aca mi solucion a tu problema.

1.No me percate que mas antes usaba el picbasic y no el ccscompiler, lo digo porque en picbasic usaba el envio y recepcion por hadware y tambien lo hacia una sola vez, y no tenia problemas.

2. al hacer lo mismo en C esto no funciona y es aqui que se usa un metodo de sobrecarga o llenado total del buffer, pero este llenado de datos no debe exeder demasiado sino saturarias y no funcionaria nada.

3.Los probe con mi modulos y bueno despues de unos minutos, di con este problema y con una solucion, por ello aca te subo un modelo de codigo con este metodo, es mas aun faltaría algunas cosas como comparar cada dato que ingresa y asi asegurar mas el codigo como también ingresar un ID o clave para que no haiga interferencias con otros modulos, bueno esos detalles serán para un proximo codigo
Bueno  espero que aun no sea tarde...bueno... icon_lol icon_lol


TRANSMISOR
Código:
#include <16F628A.h>
#fuses intrc_io,noput,nowdt,nolvp,nomclr
#use delay(clock=4M)       //FRECUENCIA DE RELOJ
#use rs232(baud=2400,xmit=PIN_B2,rcv=PIN_B1 )
#use standard_io(b)
#define p1 PIN_B4
#define p2 PIN_B5

int i;

void main()
{   
   set_tris_b(0b00110000);
   //output_b(0);
   port_b_pullups(TRUE);
 
  while(TRUE){
 
      if(input(p1)==0)         // si se presiono pulsador 1...
       
         for(i=0;i<8;i++)
        { putc(1);  }         // enviamos un 1 por tx usart
         while(input(p1)==0);// hasta que deje de presionar pulsador
      {}
     
           
     if(input(p2)==0)         // si se presiono pulsador 2...   
      for(i=0;i<8;i++)
     {   putc(2);}           // enviamos un 2 por tx usart
        while(input(p2)==0);   // hasta que deje de presionar pulsador
     {}
     
           
      if( (input(p1)==1) & (input(p2)==1))
      {   putc(3);}           // enviamos un 2 por tx usart               
     
     
   }
}

RECEPTOR
Código:
#include <16F628A.h>
#fuses intrc_io,nowdt,nolvp,nomclr,noput
#use delay(clock=4M)       //FRECUENCIA DE RELOJ
#use rs232(baud=2400,rcv=PIN_B1)   // configuracion del usart
#use standard_io(b)
#define led1 pin_b4
#define led2 pin_b5
#define led3 pin_b6
char data;
void main(){
     
   set_tris_b(0b00000011);    // configuro pines como entrada/salida
   //output_b(0);               // limpio el puerto
   
while(TRUE){               // loop infinito
           
   data=fgetc();   
   
   if(data==1)           // si el dato es '1'...
   {         
        output_high(led1);          // cambio estado del led
        output_low(led2);
        output_low(led3);
   }
     
   if(data==2)          // de lo contrario si es '2'..
   {     
        output_high(led2);          // cambio estado del led
        output_low(led1);
        output_low(led3);
   }
     
   if(data==3){     // de lo contrario si es '2'...
        output_low(led1);          //todo a cero
        output_low(led2);     
        output_high(led3); 
      }           
   }
}

Bueno el programa lo que hace es encender 2 led( pinb4 y pinb5 del pic receptor) mediante los pulsadores que van en el pinb4 y pinb5 del pic transmisor, mientras estos no estén presionados se encenderá el led ubicado en el pinb6 del receptor.

Bueno espero te sirva aun jeeee( sorry por recien constestar)  icon_lol
« Última modificación: Marzo 18, 2010, 02:31:10 por ccencho » En línea

Investigacion y desarrollo
Páginas: [1] 2   Ir Arriba
Imprimir
Ir a: