Tutorial: Sistema Simples de Automação com Bluetooth

Olá Garagistas!

Neste tutorial vamos mostrar como criar um sistema simples de automação para controlar luzes, ventiladores, contatores e outros dispositivos em uma residência ou comércio.

Este projeto permite que cada relé da placa AutomationBoard seja acionando pelo celular, através do aplicativo "Arduino Bluetooth Control", que envia caracteres para o módulo bluetooth HC-06 (4 pinos). O Arduino, ou no caso, a AutomationBoard, por sua vez, recebe esses caracteres via serial (vindos através) do módulo e toma a ação de ligar ou desligar os relés conforme a programação que explicaremos mais à frente.

Assim, conforme a imagem acima, configuramos cada botão do aplicativo para ligar ou desligar um relé específico na placa.

Materiais

1x Placa AutomationBoard (incluir conversor e cabo com plug de tomada)

1x Módulo Bluetooth HC-06 (4 pinos)

4x Jumpers M/F

Funcionamento

O funcionamento deste projeto é muito simples. O aplicativo "Arduino Bluetooth Control" envia para o módulo bluetooth um caracter diferente para cada botão e em cada situação. Assim, se apertarmos o primeiro botão, ele muda para "ON", fica verde e envia o caracter "A". Se apertarmos o mesmo botão novamente, ele muda para "OFF", fica vermelho e envia o caracter "a" para o módulo bluetooth. E assim sucessivamente, "B" ou "b" para o segundo botão, "C" ou "c" para o terceiro botão, etc. 

O módulo bluetooth HC-06 que utilizamos, funciona como um conversor, entre o padrão bluetooth e serial. Assim, os caracteres recebidos pelo circuito de rádio são retransmitidos via serial para a AutomationBoard.

A AutomationBoard funciona exatamente como um Arduino UNO. Criamos uma porta serial nos pinos 10 e 11, via programação. No nosso código ela recebe os caracteres enviados pelo módulo e decide o que fazer: se receber o caracter "A", liga o relé 1, se receber o caracter "a", desliga o relé 1, se receber o caracter "B", liga o relé 2, e assim por diante.

Conexões

Graças às facilidades proporcionadas pela AutomationBoard (fonte onboard, relés onboard, headers, etc), são necessários apenas 4 jumpers. Confira a foto acima ou siga a tabela abaixo para fazer as conexões:

Módulo HC-06 VCC <---> AutomationBoard 5V

Módulo HC-06 GND <---> AutomationBoard GND

Módulo HC-06 RXD <---> AutomationBoard Pino 11

Módulo HC-06 TXD <---> AutomationBoard Pino 10

O módulo HC-06 é tolerante ao nível 5V, então não é necessário usar conversores de nível lógico.

Mostraremos mais para frente como conectar cargas como lâmpadas, ventiladores, contatores, etc. Por enquanto, vamos nos concentrar em acionar os relés e verificar o acendimento dos seus respectivos LEDs.

Feitas as conexões acima, e tendo o cabo de energia já ligado à AutomationBoard, conecte o módulo conversor USB/Serial para programar a placa e envie o código a seguir. Se você está usando a AutomationBoard pela primeira vez dê uma olhada neste tutorial para entender como programar a placa: Tutorial: Primeiros Passos com a Automation Board

Código comentado

//########################################

#include <SoftwareSerial.h>
/* Para que a comunicaçao com o modulo nao interfira na programacao da placa,
criamos uma nova porta serial para ele.
*/

SoftwareSerial minhaSoftSerial(10, 11); // pinos RX/TX para o modulo

void setup()
{
Serial.begin(9600); //porta serial (hardware) para monitorar os caracteres enviados
Serial.println("labdegaragem.com"); // mensagem de inicializacao

minhaSoftSerial.begin(9600); // inicializacao da porta serial para o modulo

pinMode(5, OUTPUT); // declara pino 5 como saida para o Rele 1
pinMode(6, OUTPUT); // declara pino 6 como saida para o Rele 2
pinMode(7, OUTPUT); // declara pino 7 como saida para o Rele 3
pinMode(8, OUTPUT); // declara pino 8 como saida para o Rele 4
}

void loop()
{
if (minhaSoftSerial.available()){ // Se a serial estiver disponivel, tem caracter para ler
char caracter = minhaSoftSerial.read(); // salva o caracter lido na variavel 'a'
Serial.write(caracter); // escreve o caracter recebido via bluetooth na serial do PC para conferencia
if (caracter=='A'){ digitalWrite(5, HIGH); } // Liga Rele 1
if (caracter=='a'){ digitalWrite(5, LOW); } // Desliga Rele 1
if (caracter=='B'){ digitalWrite(6, HIGH); } // Liga Rele 2
if (caracter=='b'){ digitalWrite(6, LOW); } // Desliga Rele 2
if (caracter=='C'){ digitalWrite(7, HIGH); } // Liga Rele 3
if (caracter=='c'){ digitalWrite(7, LOW); } // Desliga Rele 3
if (caracter=='D'){ digitalWrite(8, HIGH); } // Liga Rele 4
if (caracter=='d'){ digitalWrite(8, LOW); } // Desliga Rele 4
}
}

//############################################

Aplicativo

Baixe e instale o aplicativo "Arduino Bluetooth Control". Você poderá encontrá-lo na Google Play Store usando a busca e digitando "arduino bluetooth". Ele aparecerá como na imagem abaixo, na segunda posição.

Após aberto, o aplicativo aparecerá conforme a tela abaixo, você só precisa clicar em "Connect", na parte de baixo. 

Uma lista de dispositivos bluetooth irão aparecer, selecione HC-06. A senha é "1234". Caso tenha problemas para conectar o dispositivo, feche o aplicativo e conecte diretamente através do Android em "Configurações -> Bluetooth", depois abra novamente o aplicativo e repita o processo.

No momento que você parear o módulo com o celular, o LED vermelho no módulo HC-06 irá parar de piscar e ficará aceso, indicando que ele está pareado.

Pronto! Agora é só apertar os 4 primeiros botões e ouvir os estalos dos relés acionando na AutomationBoard. Os LEDs correspondentes a cada relé irão acender também. Você poderá personalizar os botões com os nomes das suas cargas, exemplo: "Lâmpada da Sala", "Cozinha", etc. Para isso, clique em "More->Button Name Settings".

Adicionando cargas

Ver os LEDs acender e escutar os estalos dos relés é legal. Mas o que vale mesmo é acionar cargas maiores. Então vamos lá...

Atenção:

1. Verifique a capacidade dos relés e não tente acionar cargas maiores que essa capacidade.

2. Não toque na placa sempre que ela estiver energizada. Há risco de choque.

3. Se você não tem experiência com instalações elétricas, procure um profissional habilitado para lhe auxiliar. Com rede elétrica não se brinca.

Uma pausa para entender o funcionamento dos relés

Os relés são dispositivos eletromecânicos que funcionam como um interruptor (liga/desliga). Repare que na placa AutomationBoard existem 3 conectores com parafusos para cada relé, abaixo deles os dizeres: NA, C e NF. Esses identificam cada pino conectado ao relé para que você possa conectar a sua carga da maneira correta.

NA: Normalmente Aberto - É o pino que só fechará contato quando o relé for acionado.

C: Comum - Esse pino alterna o contato entre os pinos NA e NF.

NF: Normalmente Fechado - É o pino que está em contato com o C quando o relé não está acionado e terá o contato aberto quando o relé acionar.

Veja a imagem abaixo para maior clareza:

Conectando uma lâmpada

Assim, para cada relé você poderá adicionar uma carga, conforme o exemplo da foto a seguir, onde conectamos uma lâmpada ao relé 4. Repare a conexão da lâmpada ao relé.

É isso aí! Boa sorte com o seu sistema. E não esqueça de compartilhar seu projeto com a comunidade.

Referências

http://labdegaragem.com/profiles/blogs/primeiros-passos-com-a-autom...

Exibições: 29075

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 Marcelo Rodrigues em 18 fevereiro 2016 às 9:08

Paulo,

A AutomationBoard é uma placa que melhor organiza tudo isso que você citou. Além disso, ela tem fonte embutida na placa. Para ligar tudo com cada parte avulsa você precisa fazer várias ligações, alimentações e usar conversores de nível lógico e reguladores de tensão.

Os 3 relés precisam ser módulos ou você também terá que colocar os transistores de acionamento (na AB existem 4 módulos embutidos).

Além disso ela inclui transistores para acionamento de infravermelho (controle remoto) e chip para interface RS485.

A placa possui vários capacitores para filtragem de ruído, evitando problemas como os relatados pelo Carlos.

Outra vantagem é que o sistema fica mais compacto, já com furação para fixação em painél ou caixa plástica.

Ainda incluímos os headers para XBee que são módulos muito utilizados em sistemas de automação.

Para finalizar, a placa tem um excelente acabamento e já tem diversos ScrewTerminals que facilitam muito a conexão de fios e cabos, especialmente de energia.

Para fazer um sistema robusto assim, com as partes avulsas, é preciso bastante atenção e tempo investido do desenvolvedor para deixar tudo seguro, bem organizado e protegido de curtos ou ruídos.

Mas obrigado pela oportunidade em falar do produto, mas eu sou suspeito. kkkkkk

Forte abraço!

Comentário de Paulo Farnocchi em 18 fevereiro 2016 às 8:33

Por quê faria isto ? Só o modulo de automação custa 180, se fizer com o ESP8266 + Arduino UNO + 3 relês fica MUITO mais barato. Não entendi o propósito. 

Comentário de Angelo Santos em 17 fevereiro 2016 às 20:16

Boas Pessoa! fiz a compilação para arduino e da-me erro na libraria <SoftwareSerial.h> onde a posso descarregar?

Comentário de Carlos Barini em 17 fevereiro 2016 às 19:48

Eu fiz um sistema de automação de luzes na minha residencia utilizando arduíno, mas tive que desmontá-lo totalmente porque a instabilidade da rede elétrica fazia com que as luzes 'piscassem', se desligassem, enfim.... virou um regaço.

E eu não consegui entender se o que estava gerando essa zoeira toda esta a alimentação da placa de arduíno ou se esta a variação da energia do relê.

Tem idéia do que estou falando?

Alguém já passou por isso e pode trocar uma idéia comigo?

Obrigado.

Carlos Barini

Comentário de Giusepp Paiva de Souza em 17 fevereiro 2016 às 16:42

Olá Marcelo ! Gostaria saber como faço pra compra esta placa, 

atenciosamente

Giusepp Paiva

 

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço