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 que pode adquirir aqui). Este tutorial serve para todos os tenrinhos na matéria poderem perceber como se pode fazer esta comunicação e testa-la.
a
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 como eu 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.
- Telemóvel, 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 recomendo esta aplicação, não precisa de explicações, e para mim merece *****.
- 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
Codigo
#include #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)