PRÁTICA 8 – ARDUÍNO E SERIAL BLUETOOTH HC-06
Objetivos:
- Conectar um módulo HC-06 Serial Bluetooth no Arduíno.
- Parear o Serial Bluetooth com um celular.
- Enviar dados do celular para o Arduino e vice versa.
INTRODUÇÃO
A placa FC-114/JY-MCU/HC-06 é um conversor serial Bluetooth capaz de parear e receber dados sem que nenhum programa seja necessário no Arduíno. Bastando a conexão de VCC e GND pode-se fazer um pareamento com qualquer dispositivo.
O Arduíno então pode receber dados da placa, oriundas de um dispositivo pareado, criando-se uma porta serial por software.
O uso desta placa permite controlar cargas via celular/PC/tablet via bluetooth, além de comunicação bi-direcional com os mesmos.
Tarefas:
- Montar o circuito abaixo. NÃO INVERTER A POLARIDADE DE VCC E MASSA!
Programa 1 – Enviar dados do celular para o Arduíno
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#include <SoftwareSerial.h> SoftwareSerial mySerial(10, 11); // RX, TX char command; char command; void setup() { Serial.begin(9600); mySerial.begin(9600); pinMode(13, OUTPUT); } void loop() { if (mySerial.available()) { command = mySerial.read(); Serial.write(command); if (command == 'H') { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); } } if (Serial.available()) { mySerial.write(Serial.read()); } } |
Para Enviar dados via celular Android, siga os passos abaixo:
- Procurar o dispositivo Bluetooth em qualquer celular ou tablet Android em Configurações -> Bluetooth
- Parear o dispositivo (HC-06). A senha PIN é 1234.
- Baixar o aplicativo Bluetooth Terminal no Google Play
- Apertar Connect no aplicativo Bluetooth Terminal e esperar o LED da placa JY-MCU ficar aceso permanentemente, indicando conexão.
- No APP Bluetooth Terminal, digite qualquer texto e envie. Digite H para ligar o LED SMD no pino 13 por um segundo.
Desafio: Coloque para responder com “B” quando o bluetooth enviar “A”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include <SoftwareSerial.h> SoftwareSerial mySerial(10, 11); // RX, TX char command; char command; void setup() { Serial.begin(9600); mySerial.begin(9600); pinMode(13, OUTPUT); } void loop() { if (mySerial.available()) { command = mySerial.read(); Serial.write(command); if (command == 'A') { mySerial.write('B'); delay(100); } } if (Serial.available()) { mySerial.write(Serial.read()); } } |