Tutorial: Acionamentos via Bluetooth utilizando Bluetooth Shield e aplicativo Android

 

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:

1x Arduino UNO

1x Bluetooth Shield

1x Módulo Relé

2x LED 3mm (1x Vermelho / 1x Amarelo)

2x Resistor 330R

1x Protoboard

Alguns Jumpers

 

 

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

 

 

Exibições: 63158

Comentar

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)

Comentário de Eduardo Rodrigues Santos em 21 setembro 2016 às 16:05

Boa tarde,

Eu estou interessado em montar esse projeto (acionamentos via Bluetooth), gostaria de saber se vocês vendem o Kit ou  os componentes separados como o arduino uno e o bluetooth shield.

Desde já muito obrigado

 

 

Comentário de Gilberto Rosa Gomes da Silva em 12 abril 2016 às 7:42
Bom dia, gostaria de saber se vcs vendem o kit desse tutorial completo e se sai mais em conta do q comprar separado?
Comentário de Cosme Costa do Sacramento em 12 fevereiro 2016 às 20:51

posso utilizar o módulo bluetooth

Comentário de camila em 9 outubro 2015 às 20:48

com o meu celular que é lg g3 ta dando o mesmo problema do rapaz que tem o moto g... como eu resolvo isso?

Comentário de camila em 9 outubro 2015 às 8:07
Olá, eu queria saber uma coisa. Eu usarei o mesmo bt Shield, mas com um módulo relé de oito pinos... No caso, como eu faria para colocar os nomes de cada relé? Posso colocar módulo relé em todos os pinos?? Desde já, obrigada
Comentário de Fernando Kyoshi Tanaka em 14 setembro 2015 às 15:04

posso utilizar um módulo bluetooth rs232 hc-05 substituido o shield? para economizar?

Comentário de Alberio Lima em 28 julho 2015 às 23:27

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

Comentário de Francisco Paulo da Silva em 23 julho 2015 às 20:44
Comentário de Francisco Paulo da Silva em 23 julho 2015 às 20:43

César de uma olhada em https://www.google.com.br/search?q=HC+06&tbm=isch&imgil=SUi...

Acredito que vai te ajudar

Comentário de César Augusto em 23 julho 2015 às 19:43

Tem como usar o HC 06 em vez desse Shield Bluetooth ?

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2020   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço