Módulo Bluetooth HC-06 + PIC 16F628A

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Módulo Bluetooth HC-06 + PIC 16F628A

Mensagempor fmatheus » 26 Jan 2015 22:52

Olá Pessoal,

Estou tentando fazer um projetinho para acender um LED via Android utilizando um módulo bluetooth HC-06 ligado ao PIC 16F628A

A idéia é bem simples:

- Envio através de um aplicativo criado com o APPInventor a letra 'a' para acender o LED
- Envio a letra 'b' para apagar o LED

Consigo conectar com o módulo HC-06 dentro do APP normalmente mas o LED não acende de jeito nenhum;

Já cheguei até fazer um teste utilizando um outro PIC como transmissor via serial e funcionou normalmente, entretanto quando uso o APP do Android para
enviar o comando, não funciona.

O que estou fazendo de errado

O código é este aqui
cpp code
#include "C:\Users\ASUS\Downloads\CURSOS\PIC\16F628A\COMUNICAÇAO SERIAL 2 PICS\CCS\SERIAL_RECEPCAO.h"
#use delay(clock=12000000)
//#include <16F628A.h>

#use rs232(baud=9600,parity=N,xmit=PIN_B2,rcv=PIN_B1,bits=8)
#include <string.h>

char liga;
char desliga;
char entrada[2];

#int_RDA
void rda_isr(void){

entrada[0]=getc();

liga='a';
desliga='b';

if(entrada[0]==liga)output_high(pin_A0); //ON

else if(entrada[0]==desliga)output_low(pin_A0);//OFF
}

void main()
{

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DIV_BY_1,99, 1);
//setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);

enable_interrupts(int_rda);
enable_interrupts(global);

while (true);
}
fmatheus
Bit
 
Mensagens: 39
Registrado em: 02 Mar 2007 14:53

Re: Módulo Bluetooth HC-06 + PIC 16F628A

Mensagempor chipselect » 27 Jan 2015 09:07

Supondo que o código está funcional pois funciona ligado na serial em uma placa diferente, tente localizar onde está o problema, divida o sistema para localizar

1- verifique se o problema é com o HC06
teste o seu módulo hc06 pareado com o computador, alimente o módulo, faça um loopback (tx e rx ligados entre si e desligados do pic) e abra um hyperterminal.
Tudo que você enviar pelo hyperterminal ao módulo pela porta COM gerada no pareamento deverá voltar, se não receber de volta, ou está usando a COM errada, ou o módulo não está conversando com o PC, ou o módulo já era.

2- verifique se o problema é com o PIC
Faça um código de echo na serial no PIC, ou seja, tudo que ele recebe, manda de volta pela serial, se o seu hardware permitir, e ligue numa serial do PC e repita o teste com o hyperterminal do HC06 agora com o PIC. Na verdade, considerando que o pic esteja OK, esse código será usado pra testar a conversa com o HC06.

3- verifique se o problema é com a ligação entre o PIC e o HC06
Com o código de echo na serial, ligue o PIC no HC06, efetue o pareamento com o pc e repita o teste com o hyperterminal... Se não estiver conversando, mas os dois testes anteriores foram OK, então pode ser que o pino TX e RX do HC06 com o PIC estejam invertidos.

4- se tudo funcionou perfeitamente nos 3 testes anteriores, verifique se o problema é com a comunicação entre o HC06 e o Android...
Com a montagem do teste 3, baixe a aplicação Bluetooth SPP do Google Play (é algo similar a um hyperterminal para bluetooth) para Android, abra a conexão com o HC06 e repita o teste feito com o hyperterminal, agora usando o Bluetooth SPP


Se tudo funcionou, então reveja o código que faz o led piscar quando recebe algo da serial, pois o sistema de comunicação está operando normalmente. Neste caso, pegue o código do último teste e, junto com o echo, ascenda o led e teste o timer ativo junto. Também pode ser a aplicação utilizada no Android que não está OK, então tente utilizar o Bluetooth SPP para testes.

Não conheço muito o compilador que você está usando, eu usava o Hitech + Hitide (eclipse), e a serial eu fazia a configuração direta nos registradores.
chipselect
Word
 
Mensagens: 744
Registrado em: 16 Out 2006 18:50

Re: Módulo Bluetooth HC-06 + PIC 16F628A

Mensagempor andre_luis » 27 Jan 2015 10:05

Posso estar enganado, mas pela descrição do problema, o meu 1º palpite seria o aplicativo Android, já que ele informou que de um PIC pra outro funciona normalmente.
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Módulo Bluetooth HC-06 + PIC 16F628A

Mensagempor fmatheus » 27 Jan 2015 12:26

chipselect escreveu:Supondo que o código está funcional pois funciona ligado na serial em uma placa diferente, tente localizar onde está o problema, divida o sistema para localizar


O código está funcional porque já realizei um teste com um outro PIC transmitindo os comandos pela serial e funcionou normalmente.

Consigo parear e conectar com o módulo normalmente dentro do Aplicativo
Também ja fiz um teste com o Bluetooth SPP enviando os comandos manualmente e também não obtive êxito.

A minha dúvida em relação ao código é como o módulo/aplicativo está enviando os comandos e como devo tratar eles, para o caso por exemplo de em vez de esperar a letra 'a' pode estar chegando um valor em ASCII correspondente a letra, no caso do 'a' minúsculo é 97 em decimal e 61 em Hex. Mas já testei assim também e não funcionou.

Já pensei também em fazer esse teste que vc sugeriu de ligar o módulo HC-06 ao PC, para isso acredito que tenha que usar um max232 correto?
Nesse caso, ainda vou ter que usar divisores de tensão porque as linhas TX e RX do HC-06 trabalham com 3.3v.

Outra questão é se devo fazer algum cálculo e configurar algum timer para poder ajustar o valor do baud rate para trabalhar a 9600 (Veloc. padrão do HC-06) dentro do CCS.

Desde já agradeço a colaboração dos colegas aqui do fórum
fmatheus
Bit
 
Mensagens: 39
Registrado em: 02 Mar 2007 14:53

Re: Módulo Bluetooth HC-06 + PIC 16F628A

Mensagempor andre_luis » 27 Jan 2015 12:41

fmatheus escreveu:Outra questão é se devo fazer algum cálculo e configurar algum timer para poder ajustar o valor do baud rate para trabalhar a 9600 (Veloc. padrão do HC-06) dentro do CCS


Em princípio, o compilador já faz isso pra voce :

Código: Selecionar todos
#use rs232(baud=9600,parity=N,xmit=PIN_B2,rcv=PIN_B1,bits=8)
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Módulo Bluetooth HC-06 + PIC 16F628A

Mensagempor fmatheus » 28 Jan 2015 19:10

andre_teprom escreveu:
fmatheus escreveu:Outra questão é se devo fazer algum cálculo e configurar algum timer para poder ajustar o valor do baud rate para trabalhar a 9600 (Veloc. padrão do HC-06) dentro do CCS


Em princípio, o compilador já faz isso pra voce :

Código: Selecionar todos
#use rs232(baud=9600,parity=N,xmit=PIN_B2,rcv=PIN_B1,bits=8)


Obrigado André,

Gostaria de mais alguma dica do que pode estar errado no projeto
Algum dos colegas aqui do fórum já fez algum projeto assim?

PIC x PIC funciona certinho, ou seja, comando 'a' acende o LED e comando 'b' apaga o LED
BLUETOOTH X PIC nada acontece

Vou colocar aqui o código do Aplicativo que estou usando para aqueles que dominam o APPInventor

Imagem

Esse código eu peguei de um tutorial onde o cara usa o módulo bluetooth para acender um LED utilizando o arduino
fmatheus
Bit
 
Mensagens: 39
Registrado em: 02 Mar 2007 14:53

Re: Módulo Bluetooth HC-06 + PIC 16F628A

Mensagempor chipselect » 28 Jan 2015 20:17

não conheço o app inventor, mas para ter mais indícios do que pode ser, utilize o bluetooth spp, uma vez que aparentemente o problema está no software.

https://play.google.com/store/apps/deta ... P&hl=pt_BR

se funcionar com esse app, você terá absoluta certeza que é o seu aplicativo.


Editado:
Segue um vídeo que encontrei no youtube:
https://www.youtube.com/watch?v=XqxV9QOqkiI
chipselect
Word
 
Mensagens: 744
Registrado em: 16 Out 2006 18:50

Re: Módulo Bluetooth HC-06 + PIC 16F628A

Mensagempor fmatheus » 28 Jan 2015 20:33

chipselect escreveu:não conheço o app inventor, mas para ter mais indícios do que pode ser, utilize o bluetooth spp, uma vez que aparentemente o problema está no software.



Pois é mas como disse anteriormente já testei com o Bluetooth SPP e também não fuciona
fmatheus
Bit
 
Mensagens: 39
Registrado em: 02 Mar 2007 14:53


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x