Por eso me gustaría saber si alguien tendría algo básico justamente con este modulo HC-05 Bluetooth hecho ... que es comun ya a ésta altura que mas de uno lo haya implementado, pero todo lo que ví fué en C ..... en ASM no he visto nada ... Gracias !!! :o
LIST P=16F628A
#INCLUDE<p16F628A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _LVP_OFF & _PWRTE_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF& _BODEN_OFF
ERRORLEVEL 1;
CBLOCK 0x20
INSTRUCCION
ENDC
ORG 0X00
GOTO CONFIGURACION_PUERTOS
ORG 0X04
BTFSS PIR1,RCIF
RETFIE
CALL RECIBE_DATO
RETFIE
CONFIGURACION_PUERTOS
MOVLW B'00000111'
MOVWF CMCON
BSF STATUS,RP0
MOVLW .25
MOVWF SPBRG
CLRF TRISA
MOVLW B'00100100'
MOVWF TXSTA
CLRF PIE1
BSF PIE1,RCIE
CLRF TRISB
BSF TRISB,1
BCF STATUS,RP0
MOVLW B'10010000'
MOVWF RCSTA
MOVLW B'11000000'
MOVWF INTCON
CLRF PORTB
CLRF PORTA
INICIO
GOTO INICIO
RUTINA_ADELANTE
MOVLW B'00001010'
MOVWF PORTA
CALL Retardo_100ms
RETURN
RUTINA_ATRAS
MOVLW B'00000101'
MOVWF PORTA
CALL Retardo_100ms
RETURN
RUTINA_IZQ
MOVLW B'00001001'
MOVWF PORTA
CALL Retardo_100ms
RETURN
RUTINA_DER
MOVLW B'00000110'
MOVWF PORTA
CALL Retardo_100ms
RETURN
STOP
MOVLW B'00000000'
MOVWF PORTA
RETURN
TX_DATO
BCF PIR1,TXIF
MOVWF TXREG
BSF STATUS,RP0
TX_DATO_ESP
BTFSS TXSTA,TRMT
GOTO TX_DATO_ESP
BCF STATUS,RP0
RETURN
RX_DATO
BCF PIR1,RCIF
BTFSC RCSTA,FERR
GOTO RX_DATO
MOVF RCREG,0
RETURN
PRENDE_LEDS
BSF PORTB,4
BSF PORTB,5
RETURN
APAGA_LEDS
BCF PORTB,4
BCF PORTB,5
RETURN
RECIBE_DATO
CALL RX_DATO
MOVWF INSTRUCCION
CLRF RCREG
BCF PIR1,RCIF
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'D'
BTFSC STATUS,Z
GOTO PRENDE_LEDS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'X'
BTFSC STATUS,Z
GOTO APAGA_LEDS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'F'
BTFSC STATUS,Z
GOTO RUTINA_ADELANTE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'B'
BTFSC STATUS,Z
GOTO RUTINA_ATRAS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'L'
BTFSC STATUS,Z
GOTO RUTINA_IZQ
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'R'
BTFSC STATUS,Z
GOTO RUTINA_DER
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'O'
BTFSC STATUS,Z
GOTO STOP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
RETURN
#INCLUDE<RETARDOS.INC>
END
Solo ahora que lo veo en imagen, si la alimentacion podes usar 5V ya que posee seguramente un regulador, pero recorda que la UART es de 3.3v, al menos eso dice en la parte de atras del PCB, con lo unico que te faltaria es convertir el nivel de la UART.
Gracias Killer, siii eso tenia dudas ya que abajo si dice level 3,3v entre TXD y RXD ... osea creo que deberia tomar un divisor rersistivo por lo menos en el envío del pic hacia el RXD del modulo .... Eso creo ... :?
En la poca experiencia que tengo respecto a ese modulo, de entrada es muy económico. Por default ya viene configurado a 9600 Baudios, con el nombre HC-05. Puedes descargarte cualquier APP bluetooth, por ejemplo te recomiendo el Blue Term, ya que tiene un teclado donde puedes mandar todos los caracteres, para hacer pruebas no esta nada mal. Te comparto este codigo que use para un pequeño proyecto de un vehiculo con bluetooth:Código: [Seleccionar]LIST P=16F628A
#INCLUDE<p16F628A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _LVP_OFF & _PWRTE_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF& _BODEN_OFF
ERRORLEVEL 1;
CBLOCK 0x20
INSTRUCCION
ENDC
ORG 0X00
GOTO CONFIGURACION_PUERTOS
ORG 0X04
BTFSS PIR1,RCIF
RETFIE
CALL RECIBE_DATO
RETFIE
CONFIGURACION_PUERTOS
MOVLW B'00000111'
MOVWF CMCON
BSF STATUS,RP0
MOVLW .25
MOVWF SPBRG
CLRF TRISA
MOVLW B'00100100'
MOVWF TXSTA
CLRF PIE1
BSF PIE1,RCIE
CLRF TRISB
BSF TRISB,1
BCF STATUS,RP0
MOVLW B'10010000'
MOVWF RCSTA
MOVLW B'11000000'
MOVWF INTCON
CLRF PORTB
CLRF PORTA
INICIO
GOTO INICIO
RUTINA_ADELANTE
MOVLW B'00001010'
MOVWF PORTA
CALL Retardo_100ms
RETURN
RUTINA_ATRAS
MOVLW B'00000101'
MOVWF PORTA
CALL Retardo_100ms
RETURN
RUTINA_IZQ
MOVLW B'00001001'
MOVWF PORTA
CALL Retardo_100ms
RETURN
RUTINA_DER
MOVLW B'00000110'
MOVWF PORTA
CALL Retardo_100ms
RETURN
STOP
MOVLW B'00000000'
MOVWF PORTA
RETURN
TX_DATO
BCF PIR1,TXIF
MOVWF TXREG
BSF STATUS,RP0
TX_DATO_ESP
BTFSS TXSTA,TRMT
GOTO TX_DATO_ESP
BCF STATUS,RP0
RETURN
RX_DATO
BCF PIR1,RCIF
BTFSC RCSTA,FERR
GOTO RX_DATO
MOVF RCREG,0
RETURN
PRENDE_LEDS
BSF PORTB,4
BSF PORTB,5
RETURN
APAGA_LEDS
BCF PORTB,4
BCF PORTB,5
RETURN
RECIBE_DATO
CALL RX_DATO
MOVWF INSTRUCCION
CLRF RCREG
BCF PIR1,RCIF
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'D'
BTFSC STATUS,Z
GOTO PRENDE_LEDS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'X'
BTFSC STATUS,Z
GOTO APAGA_LEDS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'F'
BTFSC STATUS,Z
GOTO RUTINA_ADELANTE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'B'
BTFSC STATUS,Z
GOTO RUTINA_ATRAS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'L'
BTFSC STATUS,Z
GOTO RUTINA_IZQ
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'R'
BTFSC STATUS,Z
GOTO RUTINA_DER
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVF INSTRUCCION,W
SUBLW 'O'
BTFSC STATUS,Z
GOTO STOP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
RETURN
#INCLUDE<RETARDOS.INC>
END
Dale una leida y si tienes dudas con gusto te respondo.
Saludos
Si es el módulo completo, ya tiene regulador en el circuito, este ejemplo sólo es para recibir datos del hc-05 al pic, entonces no hay problema. Inclusive he trabajado con transmisión y recepción directa y sin problemas.
Saludos
En el TXD del modulo no uses divisor resistivo, en el RXD si, eso es todo :P.
La verdad que es mas facil probarlo con un conversor USB/TTL por que por lo menos ves la respuesta de la UART, aca no sabes ni siquiera que te esta respondiendo el modulo.
El mio no tiene el pin EN, solo tiene pin llamado KEY :/
Con arduino se que hay mucho material ... ( Estupido Arduino :x !!! ), tanto que lo detestaba de que salió cuando andaba con PICS y ahora voy a comprarme uno de esos, espero no acostumbrarme y venderme a arduino dejando los Pics :) [/b]
Con arduino se que hay mucho material ... ( Estupido Arduino :x !!! ), tanto que lo detestaba de que salió cuando andaba con PICS y ahora voy a comprarme uno de esos, espero no acostumbrarme y venderme a arduino dejando los Pics :) [/b]
Arduino es una placa e pruebas, para un prototipado rapido por ejemplo con estos modulos, pero para hacer placas no vas a comprar un arduino y lo vas a vender con uno de esos, por que si no salis en perdida, y vas a tener que comprar el micro ( ex Atmel en este caso ) y programarlo.
Hola a todos,
en realidad desde que alimentas el módulo debería de parpadear el led que indica el estado, que es la que està junto al pin STATE, si no lo hace entonces algo anda mal. Revisa la alimentación con un multímetro en los pines 12 y 13, ahi debería de haber 3.3V, caso contrario revisa el regulador.
Saludos.
Efectivamente ese es un led, y si está en corto eso provoca que se caiga el voltaje inclusive desde el pronto. No debe caerse el voltaje antes del regulador del módulo. Puedes quitar el led para descartar si es el problema al fin solo es un indicador.
Para mi si es un led y esta en corto no deberia haber problemas, supongo que debe tener una resistencia en serie si o si, debe ser alguna otra cosa, tal ves una bobina.
Adjunto la imagen del módulo y el circuito que recomienda el fabricante.
Una pregunta, estas midiendo corto con un extremo en GND y el otro tocando donde sea ?
Por que estas hablando de que tenes GND por todos lados, y no es correcto esa forma de medir, tal ves la misma proteccion de las entradas de los CI hacen que veas un "corto", algunos podes probarlos en el circuito siemrpe y cuando no influya nada mas del circuito. Sino para probarlos vas a tener que desoldar todo.
Lo que hubiera realizado es con un osciloscopio medir CUANDO es que se produce esa bajada de tension, y luego ir mirando que salida/entrada coincide con cada "bajon" de tension. Por que no veo a donde estamos intentando llegar con desoldar todo.
Hola que tal .... Resulta que compre el modulito Bluetooth HC-05 porque he visto muchos ejemplos de cosas simples de interactuar con alguna aplicación de android.
Hay algunos ejemplos que vi, de encender 1 o 2 leds mediante una simple aplicación de APPInventor, pero todo es en CCS, y no tengo ganas de ponerme a aprender otro lenguaje :) ....
Las aplicaciones no hay problema he creado algunas funcionales ...
De Micro pensaba usar un 16F628 o un 16F676 que tengo .. el Modulito es de clasico HC-05 de alimentación 3,3 a 6v
Alguien que tenga algun ejemplito similar simple para tomar una referencia y de ahi comenzar a jugar ???
Desde ya muchas gracias por cualquier ayudita !!!!