Estou com problemas com o Moulo Bluetooth HC-5, consigo receber dados no celular normalmente, contudo quando digito e envio algo o sistema não consegue receber os dados, nem responde ao comando AT. Segue abaixo o programa.

No celular estou usando 2 programas o Bluetooth SSP e o BT Term.

Se puderem me ajudar agradeço.

#include <SoftwareSerial.h>

//Define os pinos para a serial (RX, TX)
SoftwareSerial MinhaSerial(4, 5);
String command = "";

void setup()
{
//Inicia a serial
Serial.begin(9600);
Serial.println("Digite os comandos AT :");
//Inicia a serial configurada nas portas 2 e 3
MinhaSerial.begin(9600);
}

void loop()
{
if (MinhaSerial.available())
{
Serial.println("OK");
while(MinhaSerial.available())
{
command += (char)MinhaSerial.read();
}
Serial.println(command);
command = "";
}

if (Serial.available())
{
delay(10);
MinhaSerial.write(Serial.read());
}
}

Exibições: 949

Responder esta

Respostas a este tópico

Nao entendi a necessidade de acrescentar o OK e o linefeed (println) a cada recepção (caracter) vindo por MinhaSerial

Acho que vc podia testar de forma mais limpa, fazendo os 2 caminhos similares, como no segundo bloco.

outra, vc poderia observar o fluxo de bytes com um led. Se nao tiver na placa, ligando. Para entender até onde vai.

Quando o celular está pareado e conectado os bytes que o microc manda para a serial serao enviados por bluetoot.

Caso nao esteja conectado eles serao interpretados pelo microc do HC conforme comandos AT.

Significa: Só reconhece comandos AT até estar conectado.

O Ok é para ver se esta chegando alguma coisa, esse é problema eu mando pelo aplicativo do celular, mas não chega nada, se envio algo do arduino via bluetooth aparece normal no aplicativo.

 Obrigao.

Uma das causas frequentes de erros é a ligação dos fios. Você verificou?

O TX do HC tem que estar conectado no RX do Arduino (no seu caso é o pino 4) e o RX do HC no TX do Arduino (5).

Já fiz projetos com HC, mas não usei a biblioteca SoftSerial. Fiz tudo pela Serial direto e funcionou. Neste caso usei os pinos 0 e 1 que são RX/TX por padrão. O problema dessa abordagem é que é necessário desconectar os fios quando se está transferindo a aplicação para o Arduino.

Qual arduino está utilizando ?

ligou os pinos RX do bluetooth no pino 4 do arduino e o TX do bluetooth no pino 5 do arduino?

obs: os comandos AT só funcionam se o bluetooth estiver jumpeado para receber os comandos

A ligação esta correta, eu consigo receber no smarth mas o que e digito no smart não chega no arduino, é um mega 256. O meu HC5 tem um botão, mas se ligo cm ele apertado não pareia

Já que é um arduino mega, utilize a porta Serial 1, pois o software serial pode não está dado certo.

Resumindo:

Rx do bluetooth no pino 18 do mega

TX do bluetooth no pino 19 do mega

e use esse código:

void setup() {
Serial.begin(9600);
Serial1.begin(9600);
}

void loop() {
if (Serial1.available()) {
Serial.write(Serial1.read());
}
if (Serial.available()) {
Serial1.write(Serial.read());
}
}

Como assim jumpeado?

Sim, eu também tive problemas com SoftwareSerial/HC e tive que fazer tudo pela Serial. A ideia do Eduardo de usar a Serial1 é boa pois não atrapalha a carga da aplicação para o Arduino.

Pessoal, muito obrigado pela dica Jose e Eduardo, realmente era isso mesmo, funcionou certinho, me digam uma coisa, creio que tenham mais experiência que eu, todo o meu projeto foi feito sobre o Nano, contudo 32K, não deu para fazer tudo, como peso e tamanho é importante neste projeto, pensei em usar o Teensy 3.0 ou 3.2, ate já baixei um compatibilizador de software, funcionaram da mesma forma é tudo compatível mesmo como falam ?

Existem pequenas diferenças em relação às bibliotecas.

Veja aqui algumas adaptações: https://www.pjrc.com/teensy/td_libs.html

Teria algum da linha do arduino com o tamanho do Nano mas com mais memoria ?

Ok Obrigado pela ajuda.

Existem algumas alternativas :

Garagino

Arduino pro mini

Arduino FIO

Como você vai usar bluetooth, a placa ideal seria o Bleduino, mas ele ainda não está em produção

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço