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 ).
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
#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/