Autor Tema: Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?  (Leído 16844 veces)

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

Desconectado Vangeluz

  • PIC12
  • **
  • Mensajes: 74
    • Vangeluzweb
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 !!!!
Vangeluz

Desconectado Pinolillo16

  • PIC18
  • ****
  • Mensajes: 324
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #1 en: 30 de Julio de 2016, 23:26:07 »
Sólo, se trata de comunicación serial, ya tienes algún código?

Desconectado Vangeluz

  • PIC12
  • **
  • Mensajes: 74
    • Vangeluzweb
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #2 en: 31 de Julio de 2016, 00:09:07 »
Gracias Pino !!! por contestar, sinceramente nunca he hecho nada serial, solo he hecho temporizadores, algunos conversores con adc y algo con motores pequeños, lei bastante con respecto a el uso de USART y comunicaciones serie pero sinceramente no entendí como acoplarlo a mi fin ...

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
Vangeluz

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #3 en: 31 de Julio de 2016, 00:12:26 »
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

Podrias tratar de "recrear"/copiar/adaptar ese ejemplo en C pero haciendolo en ASM, si conoces un poco de C y ya te manejas en ASM se volveria mucho mas rapido.

Desconectado Vangeluz

  • PIC12
  • **
  • Mensajes: 74
    • Vangeluzweb
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #4 en: 31 de Julio de 2016, 01:04:03 »
Jejejeje siii Killer, tienes razón algunas cosas se entienden en C como para mudarlas a ASM ... lo que me turba de estos modulitos bluetooth es la forma de programación tengo miedo de prenderlo fuego :5] ...

dicen que se configuran por medio de PC, yo arduino no uso ni tampoco medios de comunicación serie para eso, otros dicen que se debe soldar un cablecito puenteando ... eso lo veo mul suicida  :shock:  ....

pero he visto por ahi que algunos dicen que se programa con el mismo micro, ingresando en el mismo, el programa la configuración, eso lo veo mas fiable a mi altura .... pero seguiré investigando, antes que cree telarañas el modulito este !!!.... Gracias Killer !!!
Vangeluz

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #5 en: 31 de Julio de 2016, 01:56:58 »
El modulo posee una conexion UART, y alimentacion, algunos modulos tal ves posean un pin de reset y que deben estar a VDD para que no esten reseteados y seguro que por eso dicen de soldarle una resistencia, Pero a lo que a vos respecta es alimentarlo con VDD y VSS, y conectar el TX del PIC al RX del modulo, y el RX del PIC al TX del modulo.

Si no me equivoco el modulo es de 3.3V, asi que si usas un PIC de 5V vas a tener que poner un divisor resistivo en el TX (del PIC) para disminuir la tension, el RX no hay problema por que los 3.3V que envia el modulo son identificados como un 1 en el PIC.

Ese es todo el secreto, luego lo unico que queda es enviarles comandos AT, para probar muchos tienen un conversor USB/UART y lo hacen con la computadora solamente para simplificar y no programar un microcontrolador y obviamnte probar el modulo,  pero con un microcontrolador solo podes usarlo tranquilamente.

Desconectado Vangeluz

  • PIC12
  • **
  • Mensajes: 74
    • Vangeluzweb
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #6 en: 31 de Julio de 2016, 02:12:35 »
Gracias nuevamente Killer .... recien se me dió por simplemente ponerle la alimentación a VCC ( 5V )  y GND (0V) ... respectivamente ...

Teniendo en cuenta que VCC y GND dicen de 3,6 a 6V

Lo probé en un protoboard con un 7805 y fintrado, ( como lo suelo usar siempre con los micro ) .....

Yyyyyyyyyyyyyyyyyyy !!!  ...... chan chan !!!! ... lo que esperaba que pasara ...  pasó !!!!!

......................... Nadita de nada !!!! ..... Ni siquiera parpadea el miserable led !!!

O vino fallado o falta algo de programación ... aunque pienso que debería encender el led al menos para decir  "hola" ......  :(
Vangeluz

Desconectado Pinolillo16

  • PIC18
  • ****
  • Mensajes: 324
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #7 en: 31 de Julio de 2016, 03:21:02 »
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

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #8 en: 31 de Julio de 2016, 10:54:50 »
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.

Desconectado Vangeluz

  • PIC12
  • **
  • Mensajes: 74
    • Vangeluzweb
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #9 en: 31 de Julio de 2016, 13:17:53 »
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 ...  :? 
Vangeluz

Desconectado Vangeluz

  • PIC12
  • **
  • Mensajes: 74
    • Vangeluzweb
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #10 en: 31 de Julio de 2016, 13:22:41 »
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

Muchas Gracias Pino !!! voy a probar este ejemplo a ver que onda, con que encienda el led suficiente para ver como está el estado del modulito ... una cosa que tenia dudas es justamente lo que me decia Killer abajo sobre la tensión de alimentación de la UART ... TXD y RXD dicen Level 3,3v ... con lo que pienso hacer un divisor resistivo hacia el RXD del modulito ... espero no tenga inconvenientes con eso .... pero por lo menos me conformo conque emita algun destello de vida !!!  :o  !!!
Vangeluz

Desconectado Pinolillo16

  • PIC18
  • ****
  • Mensajes: 324
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #11 en: 31 de Julio de 2016, 15:05:40 »
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

Desconectado Vangeluz

  • PIC12
  • **
  • Mensajes: 74
    • Vangeluzweb
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #12 en: 31 de Julio de 2016, 19:27:23 »
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

Gracias Pino ... te paso a comentar que probé el modulito y le cargué el programa como has dicho y no ha pasado nadita de nada con el led.

Te paso unas fotitos de el mismo y de la conexión con tu respectivo programa.




Lo probé con divisor resistivo y sin el, no enciende el supuesto led, alguna sugerencia antes de tirarlo en una avenida abajo de un carro???? .........
« Última modificación: 31 de Julio de 2016, 19:30:01 por Vangeluz »
Vangeluz

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #13 en: 31 de Julio de 2016, 19:34:25 »
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 :/

Desconectado Vangeluz

  • PIC12
  • **
  • Mensajes: 74
    • Vangeluzweb
Re:Alguien tiene algun ejemplo simple PIC + modulo HC-05 Bluetooth ?
« Respuesta #14 en: 31 de Julio de 2016, 19:50:13 »
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 :/

Gracias Killer, osea que aun no se como y si responde el bicho éste, yo estaba por comprar un arduino para jugar un poco,

asi que según como dices no me queda otra que ya que lo voy a comprar probarlo con el mismo para sacarme la duda si esta vivo por lo menos y si está o no configurado de fabrica, y si esta defectuoso o no ....

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  :)


Vangeluz