Conexão e comunicação de Bluetooth HC-05 Arduino

Arduino Bluetooth

Tutorial para ajuda na ligação e configuração de módulos Bluetooth para trabalhar juntamente com Arduino (neste caso um modulo HC-05 ).

 

bt_hc-05

Tenho plena confiança que este tutorial serve para outros micro-controladores.

Material Necessário

  • 1X Modulo Bluetooth HC-05
  • 1X Arduino (No meu caso utilizo um UNO)
  • Cabo USB para ligação do Arduino caso do UNO (ou outro tipo de ligação por uma porta Serie).
  • 1X Resistencia 1.2K
  • 1X Resistencia 2.2K

A Ideia é com as resistências fazer um divisor de tensão (para o caso de terem um arduino uno em que os níveis de tensão são 0-5V) para 0-3.3, níveis de tensão presentes no modulo Bluetooth.

  • Celular, tablet, PC or whatever com Bluetooth e uma aplicação que forneça uma ligação pela porta serie do Bluetooth.

Bluetooth SPP Pro Para Android, eu recomendo esta aplicação, pois não precisa de explicações.

  • SScom32 Uma útil e gratuita aplicação para utilizar em ambiente Windows permite fazer debug as portas serie e conta com mais umas opções de valor. ( Esta aplicação é o que utilizo para desenvolver alguns dos meus projectos se alguém conhecer opções idênticas gostaria de conhecer.)
  • Pintout Módulos HC-05 Dá sempre jeito quando se mete mão a obra, ter a mão o pinout dos componentes (Não esquecer a máxima o material tem sempre razão.Juntamos Algum Código
  • Datasheet módulos Bluethoot HC-05

Ligações necessárias

uno_hc-05

#include <SoftwareSerial.h>

#define Reset 4
#define LED 13
SoftwareSerial BTserial(2,3);

int count=0; // counter for buffer array
String buffer; // buffer array for data recieve over serial port

void setup() {
// initialize the digital pin as an output.
pinMode(LED, OUTPUT);
pinMode(Reset, OUTPUT);
Serial.begin(9600);
BTserial.begin(9600);
digitalWrite(Reset, LOW);
digitalWrite(LED, LOW);

}

// the loop routine runs over and over again forever:
void loop() {

readBT();
count = 0; // set counter of while loop to zero
buffer = “”; // clear all index of array with command NULL
writeBT();

}

void readBT(){

int i = 0;
while (BTserial.available()) // if date from softwareserial Bt module
{
if(BTserial.available() >0) // reading data into char array
{
count++;
char c = BTserial.read();
buffer += c;
}
}
Serial.print(buffer);
}

void writeBT(){

if (Serial.available()) // if data on hardwareserial port PC or notebook

BTserial.write(Serial.read()); // write it to the BT module
}

 

Teste

Para testar a comunicação, faças as ligações conforme o esquema indicado. Depois ligue o Arduino ao PC com o cabo USB. Compile o código e faça o upload para o arduino.

Agora basta abrir o Serial Monitor do Arduino IDE e assim que se ligar ao Bluetooth com um dispositivo e este começar a enviar informação para o Bluetooth está aparecerá no seu Serial Monitor.

O inverso também é valido tudo o que digitar no Serial Monitor será enviado para o dispositivo Bluetooth emparelhado com o Bluetooth do Arduino.

Notas

Por norma os módulos Bluetooth vem com um serial baud rate definido de 9600 bps, esse valor pode ser alterado mas é preciso entrar no modulo Bluetooth no modo AT.

Para saber mais  sobre os módulos Bluetooth, como configurar e como entrar em modo AT clique aqui. (brevemente)

 

Fonte:  http://www.lingtronic.com/

Deixe um comentário