Olá Garagista! Neste tutorial mostraremos como você pode fazer acionamentos via Bluetooth. Como demonstração utilizaremos o Bluetooth Shield para parear o Arduino com um dispositivo Android, criando um link serial sem fio. Com o aplicativo Arduino Bluetooth Kawalan você pode facilmente executar até 8 acionamentos, e o mesmo é um programa configurável, onde você pode por exemplo alterar o nome dos dispositivo que vai controlar.
Material Utilizado:
2x LED 3mm (1x Vermelho / 1x Amarelo)
1. Bluetooth Shield
Imagem 1 - Bluetooth Shield
Este shield possui um módulo bluetooth integrado e pode ser facilmente utilizado com uma placa Arduino para uma comunicação serial sem fio com algum outro dispositivo com suporte a Bluetooth. Ele tem a opção de escolher dois pinos do Arduino (de D0 a D7), e utilizar a biblioteca SoftwareSerial.h para se fazer com que o Arduino se comunique com o Bluetooth Shield através desses pinos.
Para mais informações sobre o Bluetooth Shield, como os comandos AT e mais exemplos de funcionamento, acesse a wiki do Bluetoot Shield clicando aqui.
2. Aplicativo Android (Arduino Bluetooth Kawalan)
Figura 1 - Aplicativo utilizado para comunicar o bluetooth shield com um dispositivo android
O aplicativo utilizado neste tutorial pode ser encontrado neste link. Ele é bastante versátil, disponibilizando até 8 botões para acionamentos, onde cada botão envia um caractere pelo link serial para o dispositivo da outra ponta. Para o primeiro botão é enviado "A" quando em estado ON e "a" quando em estado OFF, para o segundo botão os caracteres "B" e "b" e assim por dia até os caracteres "H" e "h", pois o aplicativo disponibiliza até 8 botões. É possível alterar o nome dos botões, como por exemplo, o primeiro botão você nomear como Lâmpada e segundo como Motor.
3. Montagem
Faça as ligações de sua lâmpada com o módulo relé, conforme a imagem abaixo:
Imagem 2 - Montagem do módulo relé com tomada e bocal de lâmpada
Faça a montagem na Protoboard, conforme a figura abaixo:
Figura 2 - Circuito utilizado na demonstração
4. Sketch
#include <SoftwareSerial.h> //Inlcui a biblioteca SoftwareSerial.h
#define RxD 6 //Define RxD como 6
#define TxD 7 //Define TxD como 7
#define LED_AMARELO 2 //LED_AMARELO_BLINK como 2
#define LED_VERMELHO 3 //LED_VERMELHO_FADE como 3
#define RELE_LAMPADA 4 //RELE_LAMPADA como 4
SoftwareSerial blueToothSerial(RxD,TxD); //Instância a biblioteca SoftwareSerial.h
void setup()
{
pinMode(LED_AMARELO, OUTPUT); //Configura o pino 2 como saída
pinMode(LED_VERMELHO, OUTPUT); //Configura o pino 3 como saída
pinMode(RELE_LAMPADA, OUTPUT); //Configura o pino 4 como saída
parear_dispositivo(); //Executa a função para parear o dispositivo
}
void loop()
{
char letra; //Variável char para armazenar o caractere recebido
if(blueToothSerial.available()) //Se algo for recebido pela serial do módulo bluetooth
{
letra = blueToothSerial.read(); //Armazena o caractere recebido na variável letra
if(letra == 'A') digitalWrite(LED_AMARELO, HIGH); //Se o caractere recebido for a letra A, liga o LED Amarelo
else if(letra == 'a') digitalWrite(LED_AMARELO, LOW); //Senão se o caractere recebido for a letra a, desliga o LED Amarelo
else if(letra == 'B') digitalWrite(LED_VERMELHO, HIGH); //Senão se o caractere recebido for a letra B, liga o LED Vermelho
else if(letra == 'b') digitalWrite(LED_VERMELHO, LOW); //Senão se o caractere recebido for a letra b, delisga o LED Vermelho
else if(letra == 'C') digitalWrite(RELE_LAMPADA, HIGH); //Senão se o caractere recebido for a letra C, liga a Lâmpada
else if(letra == 'c') digitalWrite(RELE_LAMPADA, LOW); //Senão se o caractere recebido for a letra c, desliga a Lâmpada
else if(letra == 'H') digitalWrite(9, LOW);
else if(letra == 'h') digitalWrite(9, HIGH);
}
}
void parear_dispositivo()
{
blueToothSerial.begin(38400); // Configura o baud rate do bluetooth como 38400
blueToothSerial.print("\r\n+STWMOD=0\r\n"); // Configura o módulo bluetooth para trabalhar como slave
blueToothSerial.print("\r\n+STNA=SeedBTShield\r\n"); // Configura o nome do disopsitivo bluetooth
blueToothSerial.print("\r\n+STOAUT=1\r\n"); // Permite que outros dispositivos encontrem o módulo bluetooth
blueToothSerial.print("\r\n+STAUTO=0\r\n"); // Desabilita a auto conexão
delay(2000); // Aguarda 2 segundos
blueToothSerial.print("\r\n+INQ=1\r\n"); // Habilita modo de paridade
delay(2000); // Aguarda 2 segundos
blueToothSerial.flush(); // Dá um flush na serial do módulo bluetooth
}
Referências:
https://play.google.com/store/apps/details?id=com.app.control
http://androidcontrol.blogspot.com.br/2012/02/android-bluetooth-control-8-devices.html
Comentar
Eu estou usando o BluetoothShield V2, no momento de parear com o aparelho não aparece SeedBTShield aparece HMSoft e não consigo enviar os comandos com o meu aparelho Moto G.
Se alguém me puder ajudar, agradeço
Gostaria de saber se posso usar este APK em um módulo de Bluetooth que não seja este do exemplo acima?
Um módulo de Bluetooth normal desses que vendem na net?
Boa noite a todos. Tenho uma dúvida, tentei baixar o programa do celular, mas o mesmo só funciona para celulares Motorola com Androide. Qual outra app devo baixar se meu aparelho é um Nokia C3-00?
Se alguém poder me auxiliar. Agradeço antecipadamente.
tem como eu usar o Bluetooth shiele com o garagino rev1
Boa tarde,
Existe alguma luz no modulo do bluetooth que diz se o bluetooth está pareado com o celular??
Foi o tempo que o pessoas respondiam os posts :(
Funciona com HC-06?
Esse shield funciona com o Bluetooth do iphone/ipad??
Esse tutorial ficou excelente! Parabéns!!
Eu gostaria de aproveitar e tirar uma dúvida: eu notei que os LED’s (incluindo a lâmpada) se acionam automaticamente assim que o Smartphone é pareado com a Shield, correto? A minha duvida é: isso acontece apenas quando usamos o App “Arduino Bluetooth Kawalan” ou vale para qualquer outro aplicativo?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)