Autor Tema: Bot Controlado por RF  (Leído 66901 veces)

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

Desconectado canival35

  • PIC10
  • *
  • Mensajes: 36
Re: Bot Controlado por RF
« Respuesta #120 en: 26 de Enero de 2010, 07:18:24 »
mira aqui hay un pequeño esquema con el RLP434, es sencillo, o tambien estan los zigbee a mayor frecuencia,

sobre la comunicacion te paso un codigo en asm para el pic18F no se que micro uses pero es facil acoplar el codigo

espero te sirva, esta facil...

lo que hace el codigo es transmitir y recibir por las termianles C0 (tx)y C1 (rx) (cabe mencionar que no es necesario que tu pic tenga hardware para comunicacion serial estas estan trabajando con entradas y salidas de datos digitales) , y en las salidas esta un arreglo de leds tipo matriz de 5x3, esto pues te despliega letras, tu puedes cambiar en el codigo las letras que ocupes o el tipo de datos, y las entradas B funcionan para que coloques el codigo a mandar, y con la entrada B5 creo!!, se manda la instruccion para mandar el codigo, esta fue una practica que hice en la escuela asi que le falta depurar, pero para algo didactico te puede serivr, saludos ;)



Código: [Seleccionar]

;Bloque de declaraciones y bla bla blah
; Nuestro formato de letras se llama codigo IEP el quebra cocos,  es de 5 bits


;00000  nulo
;00001  A
;00010 B
;00011 C
;00100 D
;00101 E
;00110 F
;00111 G
;01000  H
;01001  I
;01010 J
;01011 K
;01100 L
;01101 M
;01110 N
;01111 ñ N_
;10000  O
;10001  P
;10010 Q
;10011 R
;10100 S
;10101 T
;10110 U
;10111 V
;11000  W
;11001  X
;11010 Y
;11011
;11100 GUION BAJO _
;11101 <   
;11110 >
;11111 secuencia de prueba

#INCLUDE <p18F4550.inc>
LECTURA EQU 0x0050 ;Variable de estado
LECTURA_PRUEBA EQU 0x0055 ;Variable de estado
temp EQU 0x0054
temp_retraso EQU 0x0051
temp2_retraso EQU 0x0052
temp3_retraso EQU 0x0053
Ind_Buf EQU 0x00 ; Contador de número de datos copiados
Buf_Dat EQU 0x20 ; Bufer de recepción/transmisión
ORG 0x00 ;Vectorizacion 
; GOTO inicio

;------------------------------------------

. BCF INTCON,7 ;DESACTIVAR INTERRUPCIONES
BCF WDTCON,0 ;dESACTIVAR WDT
MOVLW b'00000000' ;timer 0 apagado
MOVWF T0CON ;
;registros de interrupciones
BCF   INTCON,7 ;deshabilitar interrupciones
; configurar puertos


CLRF PORTB ; Initialize LATB by clearing output data latches
CLRF LATB ; Alternate method to clear output data latches
MOVLW 0Eh ; Set RB<4:0> as
MOVWF ADCON1 ; digital I/O pins (required if config bit PBADEN is set)
MOVLW 0xFF ; Value used to initialize data direction
MOVWF TRISB ; Set RB<3:0> as inputs RB<5:4> as outputs RB<7:6> as inputs

CLRF PORTD
CLRF LATD
MOVLW 0x00 ;d SALIDA DE MATRIZ DE LEDS
MOVWF TRISD

CLRF PORTC
CLRF LATC
MOVLW 0xFE ;C configuramos primero para leer si hay cambios
MOVWF TRISC ;en las entradas de transmision, si los hay se va
;11111110 ;al codigp para recivir datos,
; para entrar en modo de transmision, al haber 1 en
; rb5 se pasa al codigo de transmision que debera de cargar
; MOVLW b'11111100' a TRISC


;==========================================================================================
;=========antes de hacer algo primero debe de comparar si estara como transmisor o receptor
;==========================================================================================

inicio:
;goto secuencia_prueba

;BTG LATC,0,0

BTFSC PORTB,7,0 ;leer B5 si es 0 salta
;goto LETRA_B
CALL transmisor
;BTG LATC,2,0
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
    ;goto LETRA_A
GOTO receptor
GOTO inicio ; aqui hay un ciclo infinito hasta que se precione B5 o reciba por primera vez





;============================================
;============TERMINA LA RECEPCION============
;============================================


;==PRUEBA PARA  SACAR EL DATO QUE MANDAMOS EN EL PUERTO B
loop_infinito
goto loop_infinito
;==PRUEBA PARA  SACAR EL DATO QUE MANDAMOS EN EL PUERTO B




; *****************
; *****************
; **TRANSMISOR*****
; *****************
; *****************
transmisor:     ;C0=CLK  CI=INFO
BCF LATC,0
CLRF LECTURA_PRUEBA ;BORRAME<,----------------

BSF   LATC,0 ;c0=CLK=1 ESTO INDICARA AL RECEPTOR QUE EMEPIECE A RECIVIR,  RECIBIRA DESPUES DEL SIGUEINTE PULSO ALTO
BCF   TRISC,1  ;C1=OUT --> C1=INFO ; EVENTO A- ESTO PONE cIN COMO SALIA PARA TRANSMITIR INFO, AL FINALIZAR LA TRANSMISION DEBE REGRESAR A C1=OUT
CALL  retraso_
BCF   LATC,0 ;C0=O clk=0
BCF   LATC,1 ; info=0
CALL  retraso_
   

;LECTURA DE B0
BTFSC PORTB,0,0 ;leer B0 SI B0=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF   LATC,1 ;C1=1 - INFO= 1
BSF   LATC,0 ;C0=1 - CLK =1
CALL  retraso_  ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
   ; leer el codigo en c0 e interpretar el cambio de CLK
BCF   LATC,0 ; CLK=0
BCF   LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL  retraso_

BTFSC PORTB,0
BSF LECTURA_PRUEBA,0




;LECTURA DE B1
BTFSC PORTB,1,0 ;leer B1 SI B1=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF   LATC,1 ;C1=1 - INFO= 1
BSF   LATC,0 ;C0=1 - CLK =1
CALL  retraso_  ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
   ; leer el codigo en c0 e interpretar el cambio de CLK
BCF   LATC,0 ; CLK=0
BCF   LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL  retraso_

BTFSC PORTB,1
BSF LECTURA_PRUEBA,1



;LECTURA DE B2
BTFSC PORTB,2,0 ;leer B2 SI B2=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF   LATC,1 ;C1=1 - INFO= 1
BSF   LATC,0 ;C0=1 - CLK =1
CALL  retraso_  ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
   ; leer el codigo en c0 e interpretar el cambio de CLK
BCF   LATC,0 ; CLK=0
BCF   LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL  retraso_

BTFSC PORTB,2
BSF LECTURA_PRUEBA,2


;LECTURA DE B3
BTFSC PORTB,3,0 ;leer B3 SI B3=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF   LATC,1 ;C1=1 - INFO= 1
BSF   LATC,0 ;C0=1 - CLK =1
CALL  retraso_  ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
   ; leer el codigo en c0 e interpretar el cambio de CLK
BCF   LATC,0 ; CLK=0
BCF   LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL  retraso_


BTFSC PORTB,3
BSF LECTURA_PRUEBA,3



;LECTURA DE B4
BTFSC PORTB,4,0 ;leer B4 SI B4=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF   LATC,1 ;C1=1 - INFO= 1
BSF   LATC,0 ;C0=1 - CLK =1
CALL  retraso_  ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
   ; leer el codigo en c0 e interpretar el cambio de CLK
BCF   LATC,0 ; CLK=0
BCF   LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL  retraso_

BTFSC PORTB,4
BSF LECTURA_PRUEBA,4


BSF   TRISC,1  ;C1=INFO --> C1=IN ; EVENTO B- ESTO PONE cINFO COMO entrada PARA detectar una transmision
;proveniente de otro micro, AL zomenzar  LA TRANSMISION DEBE cambiar C0=OUT-->C0=info recivida (evendo 'c')

;====================================
; FIN DE LA TRANSMISION
;====================================

; MOVFF LECTURA_PRUEBA,LATD;  BORRAME<<<<<<<<<<<<<<<<<---------------








return ; REGRESARA DE DONDE LE HABLARON




;============================================
;============INICIA LA RECEPCION=============
;============================================
receptor:        ;c0=info  c1= clk

BSF TRISC,0     ; co=INFO OUT SE PONE EN IN Y RECIBIRA LA INFORMACION (evento 'c'), al temrinar debe de regresar c0=Cinfo --> C0=Cout
CLRF LECTURA
BTFSC PORTC,1,0 ;leer c1=clk y SALTARA hasta que clk=0   <<<salta si es cero>>>
goto receptor




; EMPIEZA CICLO PARA DIGITO 0

BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 salta
BRA $-1
;LECTURA0
BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF   LECTURA,0 ;ACTIVA LECTURA0

BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1

BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 SALTA
BRA $-1
; FINALIZA CICLO PARA DIGITO 0
;LECTURA1
BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF   LECTURA,1 ;ACTIVA LECTURA1

BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1

BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 SALTA
BRA $-1
;LECTURA2

BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF   LECTURA,2 ;ACTIVA LECTURA2

BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1

BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 SALTA
BRA $-1
;LECTURA3

BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF   LECTURA,3 ;ACTIVA LECTURA3

BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1

BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 SALTA
BRA $-1
;LECTURA4

BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF   LECTURA,4 ;ACTIVA LECTURA4

BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1


BCF TRISC,0
;============================================
;============TERMINA LA RECEPCION============
;============================================
MOVFF LECTURA,LATD


; goto loop_infinito;  BORRAME<<<<<<<<<<<<<<<<<---------------


;====================
;====================DISQUE TABLA DE COMPARACION===================
;====================


; PARA LETRA A
MOVLW 0x01
CPFSGT LECTURA ;Compara FILE con WREG, salto si FILE  > WREG  SALTA
GOTO LETRA_A ;Si LECTURA NO FUERA > 0x01 (en este caso no salta porque 01 = 01)
;  no salta y me manda a A
; PARA LETRA B
MOVLW 0x02
CPFSGT LECTURA ;Compara FILE con WREG, salto si FILE  > WREG  SALTA
GOTO LETRA_B ;Si LECTURA NO FUERA > 0x02 (en este caso no salta porque 02 = 02)
;  no salta y me manda a B

MOVLW 0x03
CPFSGT LECTURA
GOTO LETRA_C

MOVLW 0x04
CPFSGT LECTURA
GOTO LETRA_D

MOVLW 0x05
CPFSGT LECTURA
GOTO LETRA_E

MOVLW 0x06
CPFSGT LECTURA
GOTO LETRA_F

MOVLW 0x07
CPFSGT LECTURA
GOTO LETRA_G

MOVLW 0x08
CPFSGT LECTURA
GOTO LETRA_H

MOVLW 0x09
CPFSGT LECTURA
GOTO LETRA_I

MOVLW 0x0A
CPFSGT LECTURA
GOTO LETRA_J

MOVLW 0x0B
CPFSGT LECTURA
GOTO LETRA_K

MOVLW 0x0C
CPFSGT LECTURA
GOTO LETRA_L

MOVLW 0x0D
CPFSGT LECTURA
GOTO LETRA_M

MOVLW 0x0E
CPFSGT LECTURA
GOTO LETRA_N

MOVLW 0x0F
CPFSGT LECTURA
GOTO LETRA_N_

MOVLW 0x10
CPFSGT LECTURA
GOTO LETRA_O

MOVLW 0x11
CPFSGT LECTURA
GOTO LETRA_P

MOVLW 0x12
CPFSGT LECTURA
GOTO LETRA_Q

MOVLW 0x13
CPFSGT LECTURA
GOTO LETRA_R

MOVLW 0x14
CPFSGT LECTURA
GOTO LETRA_S

MOVLW 0x15
CPFSGT LECTURA
GOTO LETRA_T


MOVLW 0x16
CPFSGT LECTURA
GOTO LETRA_U

MOVLW 0x17
CPFSGT LECTURA
GOTO LETRA_V

MOVLW 0x18
CPFSGT LECTURA
GOTO LETRA_W

MOVLW 0x19
CPFSGT LECTURA
GOTO LETRA_X

MOVLW 0x1A
CPFSGT LECTURA
GOTO LETRA_Y

MOVLW 0x1B
CPFSGT LECTURA
GOTO LETRA_Z

MOVLW 0x1C
CPFSGT LECTURA
GOTO GUION_BAJO

MOVLW 0x1D
CPFSGT LECTURA
GOTO MENOR_QUE

MOVLW 0x1E
CPFSGT LECTURA
GOTO MAYOR_QUE


MOVLW 0x1F
CPFSGT LECTURA
GOTO SECUENCIA_DE_PRUEBA



LETRA_A:

MOVLW b'11011110'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111110'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_A


LETRA_B:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01101110'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_B

LETRA_C:
MOVLW b'11001110'
MOVWF LATD
MOVLW b'10110001'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_C

LETRA_D:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110001'
MOVWF LATD
MOVLW b'01101110'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_D

LETRA_E:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_E

LETRA_F:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01100001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_F

LETRA_G:
MOVLW b'11001110'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111101'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_G

LETRA_H:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10100100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_H

LETRA_I:
MOVLW b'11010001'
MOVWF LATD
MOVLW b'10111111'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_I

LETRA_J:
MOVLW b'11101000'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01101111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_J

LETRA_K:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10101010'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_K

LETRA_L:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01110000'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_L

LETRA_M:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10101100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_M

LETRA_N:
MOVLW b'11011110'
MOVWF LATD
MOVLW b'10100100'
MOVWF LATD
MOVLW b'01111100'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_N

LETRA_N_:
MOVLW b'11011101'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111101'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_N_

LETRA_O:
MOVLW b'11001110'
MOVWF LATD
MOVLW b'10110001'
MOVWF LATD
MOVLW b'01101110'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_O

LETRA_P:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01100111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_P

LETRA_Q:
MOVLW b'11000010'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_Q

LETRA_R:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111010'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_R

LETRA_S:
MOVLW b'11010010'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01101001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_S

LETRA_T:
MOVLW b'11000001'
MOVWF LATD
MOVLW b'10111111'
MOVWF LATD
MOVLW b'01100001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_T

LETRA_U:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_U

LETRA_V:
MOVLW b'11001111'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01101111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_V

LETRA_W:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10100110'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_W

LETRA_X:
MOVLW b'11011011'
MOVWF LATD
MOVLW b'10100100'
MOVWF LATD
MOVLW b'01111011'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_X

LETRA_Y:
MOVLW b'11000111'
MOVWF LATD
MOVLW b'10100111'
MOVWF LATD
MOVLW b'01100111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_Y

LETRA_Z:
MOVLW b'11011001'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01110011'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_Z
   
;==============CARACTERES==========   

GUION_BAJO:
MOVLW b'11010000'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01100000'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO GUION_BAJO

MENOR_QUE:
MOVLW b'11000100'
MOVWF LATD
MOVLW b'10101010'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO MENOR_QUE
   
MAYOR_QUE:
MOVLW b'11010001'
MOVWF LATD
MOVLW b'10101010'
MOVWF LATD
MOVLW b'01100100'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO MAYOR_QUE


;==============numeros=============

NUMERO_0:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110001'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_0
   
NUMERO_1:
MOVLW b'11010010'
MOVWF LATD
MOVLW b'10111111'
MOVWF LATD
MOVLW b'01110000'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_1
   
NUMERO_2:
MOVLW b'11011101'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01110111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_2
   
NUMERO_3:
MOVLW b'11010101'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_3
   
NUMERO_4:
MOVLW b'11000111'
MOVWF LATD
MOVLW b'10100100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_4
   
NUMERO_5:
MOVLW b'11010010'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111101'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_5
   
NUMERO_6:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111101'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_6
   
NUMERO_7:
MOVLW b'11000001'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_7
   
NUMERO_8:
MOVLW b'11011011'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111011'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_8
   
NUMERO_9:
MOVLW b'11000111'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF  LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_9







LETRA_ESPACIO:
LETRA_SIGNO:
LETRA_NUMERO:
LETRA_FIN:






retraso:

nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop

return

;btfss LATD,1,0 ;CON D1=1 EJECUTA C

SECUENCIA_DE_PRUEBA: ; esto enciende un led a la vez

MOVLW b'11000001'
MOVWF LATD
call retraso_
MOVLW b'11000010'
MOVWF LATD
call retraso_
MOVLW b'11000100'
MOVWF LATD
call retraso_
MOVLW b'11001000'
MOVWF LATD
call retraso_
MOVLW b'11010000'
MOVWF LATD
call retraso_

MOVLW b'10110000'
MOVWF LATD
call retraso_
MOVLW b'10101000'
MOVWF LATD
call retraso_
MOVLW b'10100100'
MOVWF LATD
call retraso_
MOVLW b'10100010'
MOVWF LATD
call retraso_
MOVLW b'10100001'
MOVWF LATD
call retraso_

MOVLW b'01100001'
MOVWF LATD
call retraso_
MOVLW b'01100010'
MOVWF LATD
call retraso_
MOVLW b'01100100'
MOVWF LATD
call retraso_
MOVLW b'01101000'
MOVWF LATD
call retraso_
MOVLW b'01110000'
MOVWF LATD
call retraso_

; BTFSC LATC,1,0 ;leer C1 si es 0 salta
; GOTO receptor
; BTFSC LATB,5,0 ;leer B5 si es 0 salta
; CALL transmisor

CLRF  LATD

GOTO inicio

;==========rutina de retrasos=============
retraso_:

movlw 0x05
movwf temp3_retraso


decfsz temp_retraso,1,0
; goto retraso ;alta frec
goto    retraso1       ;baja frec
movlw 0xFF
movwf temp_retraso
       
return


retraso1:
decfsz temp2_retraso,1,0
; return
goto    retraso1  ; baja frec segun yo
; goto    retraso2 ;BIEN
movlw 0xFF
movwf temp2_retraso
goto retraso_

retraso2:
decfsz temp3_retraso,1,0
; return
goto    retraso2
movlw 0x05
movwf temp3_retraso
goto retraso1



;------------------------------------------
Fin_intT0:
RETFIE
END
;------------------------------------------

Desconectado Trev

  • PIC16
  • ***
  • Mensajes: 115
Re: Bot Controlado por RF
« Respuesta #121 en: 01 de Febrero de 2010, 14:56:19 »
Hola dogflu,mira esta muy bueno esto del bot te comento que yo soy tecnico en robotica y siempre quice hacer algo asi pero siempre me frustra la carencia total de estas placas de RF en mi ciudad y  podria decir aqui en argentina y siempre abandonaba el tema..en fin..si tienes un esquema del circuito tanto receptor como transmisor con sus componentes a ver si puedo hacerme esas placas de a poquito cuando tenga dinero gracias y muy bueno el video  :mrgreen:

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: Bot Controlado por RF
« Respuesta #122 en: 01 de Febrero de 2010, 20:03:48 »
Por desgracia no tengo los esquemas exactos pero te dejo lo suficiente:

Aquí está la controladora usada:
http://www.4shared.com/file/1694958/a5c96550/bot_miguelito_robot_siguelineas.html

Aquí como conectar los módulos:
http://www.4shared.com/file/5696260/d22cbdd8/crfrl_tx_rx_11.html

Más sobre los módulos:
http://www.todopic.com.ar/foros/index.php?topic=14601.0
http://www.todopic.com.ar/foros/index.php?topic=14917.msg167492#msg167492

Y creo que no tienes problema en conseguir este tipo de módulos en tu país.
Saludos desde Granada, España.

Desconectado Trev

  • PIC16
  • ***
  • Mensajes: 115
Re: Bot Controlado por RF
« Respuesta #123 en: 01 de Febrero de 2010, 20:25:41 »
Te agradezco por la molestia amigo si hay algo ahi,sera cuestion de hacer la placa cuando me de el presupuesto lo de basic no entendi nada no se nada de basic  :? gracias de nuevo y si man no se consiguen recuerda que vivo en un pais agroexportador y por desgracia no hemos desarollado la tecnologia por nosotros mismos aun.. en fin sera cuestion de recorrer Buenos Aires a ver si me equivoco,ojala bueno gracias por los documentos y nos vemos


 

anything