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
posso utilizar o módulo bluetooth
com o meu celular que é lg g3 ta dando o mesmo problema do rapaz que tem o moto g... como eu resolvo isso?
posso utilizar um módulo bluetooth rs232 hc-05 substituido o shield? para economizar?
Vicente Farias, acredito que para o moto-G você terá que usar o HC-08 ou outro compativel, o hc 05 e 06 não funcionam
César de uma olhada em https://www.google.com.br/search?q=HC+06&tbm=isch&imgil=SUi...
Acredito que vai te ajudar
Tem como usar o HC 06 em vez desse Shield Bluetooth ?
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)