Вы находитесь на странице: 1из 30

GUIA RÁPIDO DE

AUTOMAÇÃO
RESIDENCIAL

FABIANO ALENCAR , - MAIO 2016 -


GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

ÍNDICE

INTRODUÇÃO …………………………………………………………………………….2
UMA OPORTUNIDADE DE NEGOCIO………………………………………………….3
OQUE É AUTOMAÇÃO RESIDENCIAL………………………………………………...4
MATERIAIS..……………………………………………………………………………….5
HARDWARE……………………………………………………………………………….9
SOFTWARE……………………………………………………………………………….12
APP INVENTOR 2………………………………………………………………………..18
INSTALAÇÃO FINAL……………………………………………………………………..26
CONCLUSÃO……………………………………………………………………………..27

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
1
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

INTRODUÇÃO

Nossa sociedade num geral, está passando por mais uma grande revolução
tecnologia, desde que, os computadores começaram a entrar nos lares ainda nos anos 60 e
70, até o hoje, quando você provavelmente está lendo esse texto em um smartphone ou
tablet, muita coisa aconteceu, e como podemos constatar o que antigamente demora-se
anos para aprimorar e evoluir tecnicamente, hoje leva as vezes dias.

Nesse cenário, onde tudo evolui, é natural que as coisas mais inesperadas se
tornassem inteligente, como um tênis que mede seus passos e a evolução do seu exercício,
ou uma geladeira que gerencia seu consumo, entre varias inovações, dentre estão as
moradias.

Casas que podem abrir e fechar janelas de acordo com o clima externo, ligar um
ar-condicionado ou aquecedor, de acordo com a temperatura interna, regular a
luminosidade usando o máximo de luz natural, enfim, não temos limites quando o assunto é
evolução da tecnologia em moradias.

É fato que com o avanço tecnológico, mais pessoas tem usufruído de mais conforto,
em seus lares, e temos a impressão que se trata de um luxo, imensamente caro, quando
nem sempre é o caso, exemplo, uma automação das mais simples é a instalação de um
sensor de presença num corredor, tem baixo custo e é eficiente.

Mas com esse material, não quero abordar essas automações simplistas, e sim
mostrar que o limite da tecnologia, está no ponto que nós mesmos definimos, e nossa
imaginação e vontade pode levar.

Ao final, essas informações podem ser valiosas para a construção de projetos, e


quem sabe trilhar o rumo da sua historia para um outro final, no melhor estilo Você decide.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
2
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

UMA OPORTUNIDADE DE NEGOCIO…

Em tempos como o atual, onde a palavra crise parece tão presente, é possível
perceber que tudo, extremamente tudo, tem dois lados, a crise por exemplo, é péssima para
o pais, o desenvolvimento, e para as pessoas que sofrem com desemprego e escassez, de
fato ela é presente principalmente se você acredita nela.

Mas a crise também oferece possibilidades, a chance de traçar novas metas e correr
atrás de um futuro diferente, afinal, apenas com muito trabalho podemos mudar esse jogo,
como um time que esta perdendo e vai para o intervalo, se motiva e resolve jogar diferente
e conseguem mudar uma situação que de tão adversa parece impossível.

O mercado de automação residencial esta aquecido, é como pensar que 80% do


dinheiro estão com 20% da população, e esse nicho não recebe o mesmo impacto da crise
que eu e você, uma parcela que ainda precisa desse tipo de atendimento, de mais
profissionais e opções de mercado.

Um grande nicho a ser observado de perto, é a automação de ambientes, como por


exemplo, quartos de hotéis, motéis, pousadas, enfim, alem de desenvolvimento e
instalação, esses locais seguem precisando de manutenções, e saber como certas coisas
funcionam te deixam em avançado.

Eu pessoalmente estive recentemente, fazendo visitas em algumas cidades e fui


surpreendido conversando com algumas pessoas, que relatavam a falta de bons
profissionais, nos locais e nas proximidades, muitas vezes tendo que importar de outros
centros, mão de obra e equipamento para atender a sua necessidade, na área de
automação residencial.

Depois dessas visitas, resolvi então dividir o que aprendi após muito estudo, erros e
acertos, poder então dividir apenas os itens que fazem diferença e podem trazer algum
resultado, claro, tudo depende de um fator que não posso controlar, você e seus objetivos.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
3
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Em resumo, vejo na automação residencial, uma grande oportunidade de criar


negócios do zero, que podem ser lucrativos, e reforço que o pais precisa de movimentos
assim, de pessoas que levantem um dia mais inspiradas que o dia anterior, coloquem a sua
chuteira, puxe o folego e busquem o melhor resultado que seja possível.

OQUE É AUTOMAÇÃO RESIDENCIAL

Afinal, do que se trata essa tal de Automação Residencial? Pois bem, automação ou
mesmo automatização, são ações em que equipamentos inanimados, podem interagir de
maneira inteligente, pode ser através de movimentos ou mudanças de estado.

Uma melhor definição ainda, é o conjunto de equipamentos, que atuam na obtenção


de conforto, buscando uma maior produtividade ao seu usuário. usando um exemplo facil,
poder controlar uma lampada através de um aplicativo de celular, te trara mais conforto e
por vezes mais produtividade, afinal é em casa que recarregamos as energias após um dia
de trabalho.

Ainda a automação pode aparecer em outros itens que dependem ou não de


interação do usuário:

● Janelas inteligentes que abrem no sol e fecham a noite ou em caso de chuva


● Ar condicionado controlando automaticamente a temperatura da casa
● Controle remoto das lampadas através de um smartphone
● Controle de TV, DVDs, Receptores pelo Smartphone
● Encher uma banheira de hidromassagem antes de sua chegada em casa,
proporcionando ganho de tempo e conforto.

Enfim, são tantas coisas, que nem faz sentido ficar listando, podemos notar que o
que a mente permitir pode ser reproduzido usando processadores e circuitos elétricos.

É Fato que a internet hoje em dia está recheada de tutoriais, ou vídeos de sistemas
funcionando, mas é carente de projetos completos, que comessem e terminem e de fato

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
4
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

ensinem o começo, meio e fim de um item, e quando tem, está em inglês, e esse não é
nosso idioma natal, tendo que traduzir ou torcer pra encontrar traduzido por alguém.

Nesse manual rápido, tentarei abordar um dos itens mais recorrentes, o controle das
lampadas de uma casa através de comandos de voz! e vamos executar juntos da sua
concepção ao teste, explicando as fases, considerando que quem está lendo esse material
é iniciante no assunto.

MATERIAIS

Falando de prática, é improvável iniciar um projeto sem conhecer oque existe


atualmente para se trabalhar, como o intuito aqui é informativo e iniciar uma pessoa nesse
ramo, vou tentar de maneira sucinta explicar os elementos necessários (Para a Proposta de
controlar uma lampada de uma casa por comando de voz).:

● Processador de dados
● Meio de comunicação
● Driver de interface
● Processador de voz
● Softwares de desenvolvimento

O ​Processador de dados​, é o elemento necessário, para que os comandos sejam


recebidos, tratados e enviados aos seus itens (Lampadas) a serem controladas, o mercado
hoje oferece uma infinidade de opções, e as melhores sem duvidas são os
microcontroladores​, eles tem baixo custo e podem ser programados, com uso de
softwares e gravadores

Dentre os diversos tipos de microcontroladores estão os PIC da empresa Microchip,


os ATMegas da Atmel, dentre outros, pra não entrar em tantos detalhes e perca de precioso
tempo, vamos tratar desses modelos um outro momento…

Para quem está iniciando, podemos começar por um tipo de processador mais fácil,
de usar e encontrar no mercado, no caso, o Arduino, atende e bem essa necessidade,
didática e porque não, profissional.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
5
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas de I/O, ou
seja 14 portas bidirecionais, onde se configura, qual o estado pode assumir (ligado ou
desligado) tanto para as entradas, como para as saidas. Esse Arduino ainda possui 6
entradas analógicas, para medição de sensores, pinos de alimentação, ajustados em 5V,
3.3V e GND.

Foto retirada do site:https://www.arduino.cc/en/Main/ArduinoBoardUno

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
6
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Especificação técnica de um Arduíno Uno, Será bem útil em breve

Ainda se tratando de Arduíno, uma grande sacada para o seu aprendizado e uso, é
seu software, conhecida como IDE, que pode ser baixada gratuitamente em:
https://www.arduino.cc/en/Main/Software​, nesse site pode escolher para qual o sistema
operacional, como na foto abaixo

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
7
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Com essa IDE, pode-se criar os mais diversos projetos, tem uma fácil estrutura de
software, usa comandos bem parecidos com C++, oque o torna bem intuitivo para as
aplicações diversas, não haveria possibilidade de tratar nesse material o assunto c++, sem
deixar boa parte de seu conteúdo vazio, então vou me atentar a linguagem da IDE do
Arduíno de forma básica mais a frente.

Partindo do Arduíno, existem diversos ​meios de comunicação entre ele e um outro


dispositivo, nesse caso, nosso exemplo, poderíamos usar cabos para a comunicação, ou
um protocolo, sem Fio, para que nosso projeto pareça ainda mais legal e dar maior
liberdade de criação e aplicação, vamos usar o Bluetooth como meio de transmissão de
dados, mais a frente haverá mais detalhes.

Como esta relatado, nas especificações técnicas, os pinos de um Arduíno são


limitados a poucos mA e no máximo a 5 Volts, como poderíamos por exemplo energizar um
lampada 110V ou 220V ? isso só é possível, pela existência dos ​drivers de interface​,
sejam eles de entrada ou saída, no nosso exemplo, usaremos um driver que “transforme” os
5V em 110 ou 220 V para poder ligar a lampada, ou quantas mais sejam possíveis, apenas
repetindo os passos.

Para que o nosso projeto funcione, é preciso que exista um ​processador de voz​,
algo que interprete a voz e traduza em um sinal elétrico, permitindo acender e apagar uma
lampada, a maioria das pessoas carregam um ótimo processador de voz no bolso, eles são
os populares smartphones, para o nosso teste vamos usar um Android, e o proximo
paragrafo explica o porque.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
8
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Os ​softwares de desenvolvimento ​é o que da vida aos mais diversos projetos, e


nessa fase de aprendizado é importante, que custem pouco ou sejam gratuitos, seria muito
ruim para esse material, que usássemos de exemplo um software que para usar custem
caro, ou sejam limitados para testes, isso pesou bastante na escolha do Arduíno, já que a
sua IDE é baixada gratuitamente, como descrito lá atras para que possamos usar um
smartphone Android como processador de voz, precisamos criar um APP que será instalado
no celular e fazer a função que pretendemos que faça, e para desenvolver esse APP,
vamos lançar mão do APP INVENTOR, um projeto on line, gratuito, mantido pelo MIT
(​Massachusetts Institute of Technology) , no endereço ​http://ai2.appinventor.mit.edu/ e para
usar o sistema apenas é necessário ter uma conta google (gratuita).

Esses são os elementos chaves para se executar um projeto, no nosso caso temos
o processador de voz, mas poderia ser um botão numa tela de celular, ou em um site e o
controle dessa lampada pode ser feita pela web, ou mesmo um sensor de entrada que
definira o resultado da saida e controle de uma carga.

HARDWARE

O Primeiro passo para montar nosso sistema de automação de ambiente, é


conhecer o nosso hardware, na imagem a seguir podemos ver do que se trata:

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
9
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Imagem feita no software FRITZING de um Arduíno UNO

Pinos Digitais - são os pinos que vão de 0 a 13, sendo eles bidirecionais, ou seja,
podem se entrada ou saída, de acordo com configuração em software, dentre eles alguns
tem destaque:
** ​Pinos comunicação - São os pinos 0 e 1 RX (Recebe dados) e TX (transmite
dados).
** Pinos de PWM - ​Os pinos 3, 5, 6, 9,10 e 11 , podem ser programados como
PWM, pulsos com modulação, ou seja podemos ter uma saída analógica simulada nesses
pinos, ideal para saídas controladas.

Pinos Analógicos - ​São os Pinos de A0 ao A5, são entradas sensíveis e podem


receber sensores analógicos, como sensores de temperatura, Umidade, Nivel, etc… esses
pinos não são bidirecionais, sendo apenas pinos de entrada.

Pinos de Alimentação - São os pinos, de 5V - 3,3V - GND - alem do Vin que está
ligado diretamente ao positivo do sistema, dessa forma, se precisar, podemos usar esse
pino como entrada de alimentação, muito util, quando vamos integrar o arduino a outro
sistema já existente.

Entrada USB - Tipo B - Essa é a porta que usamos para programar o Arduíno,
também serve de alimentação, essa porta esta fisicamente ligada aos pinos 0 e 1, assim,
evitando maiores problemas, devemos desligar itens desses pinos, durante a gravação da
placa.

Para estabelecer o meio físico de comunicação, no nosso caso, bluetooth,


precisamos de um item externo ligado ao Arduíno, o eleito é o modulo HC-06, mas qualquer
outro atende bem a necessidade desde que se respeitem as ligações descritas:

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
10
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Modulo HC-06 bluetooth - FRITZING.

Sem surpresas até aqui, a alimentação, pode ser direta do Arduino, 5V - VCC , GNG
- GND e um ponto importante adiante, o pino TXD (transmissão) do Bluetooth, conectado no
RX (recebe) do Arduíno.
Essa inversão é necessária, para que o dado que sai de um seja recebido pelo
outro, e o motivo em deixar o RXD do Bluetooth solto, é o fato de nesse projeto o bluetooth
so enviar um dado ao Arduíno e não recebe nada de volta, o ciclo se fecha assim, o
smartphone pareado e conectado ao HC-06, o app instalado no Android, envia um dado via
bluetooth, o sinal, recebido é passado ao RX do Arduino, que então vai processar o dado e
atuar em uma saída pré determinada em software.

Shield Rele, usado nesse caso como Drive de interface. - FRITZING

O Driver utilizado nessa experiência, será um rele, nesse caso um shield Rele, ele
tem pequeno porte e fácil manuseio, e será o responsável em receber o sinal de 0 ou 5 V , e
na saida controlar uma carga de ate 240V com 10A, ideal para usar em uma lampada, como
é o caso dessa montagem,

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
11
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

OBS.: O termo Shield, é normalmente usado quando se referimos as placas


adicionais usadas em um arduino, existem diversas no mercado para os mais variados
projetos, exemplos de shield são, Ethernet, GPS, GSM, Rele, Bluetooth, etc…

Abaixo temos uma noção de como nossa montagem deverá ficar:

Esquema da montagem proposta - FRITZING

Como pode ser observado, adotei o pino D7 do Arduíno para controle da carga, mas
poderia ser qualquer um do D2 ao D13, esse pino esta conectado ao pino IN do Shield
Rele.
Após realizada essa montagem, estamos prontos para o próximo passo… o
Software que fará essa placa funcionar.

SOFTWARE

Agora que você já montou seu hardware, e deve estar louco pra ve-lo funcionar,
vamos aprender como isso acontece.
Primeiro o software IDE do arduino já deve ter sido feito download para o seu
computador, e logo quando abre o programa vemos isso:
FABIANO ALENCAR - MAIO 2016
afmulti@gmail.com
12
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

1 - Botão Verificar - Usamos para verificar nosso código de programação, se ele


não apresenta erros de sintaxe, ou seja, só observa de estamos escrevendo corretamente
as palavras, ele não analisa a logica que usamos, apenas se nossa escrita esta correta.

2 - Botão Enviar - ​Usamos para enviar um código para nossa placa Arduíno, uma
vez que nosso código esta correto ele será gravado e poderemos testar em seguida.

3 - Botão Novo ​- Usado quando queremos iniciar um novo programa.

4 - Botão Abrir - Usamos para abrir um programa que escrevemos e guardamos em


alguma pasta no computador.

5 - Botão Salvar -​ Usamos para Salvar nossa aplicação a qualquer momento

Como a maioria dos software hoje em dia, esses são apenas atalhos, e só estou
mencionando porque eu uso muito eles em um projeto, as vezes em um projeto de grande
porte vou abrindo novos programas, testando as funções separadamente e depois incluo
num único antes de gravar na placa, e esses atalhos são de grande ajuda.

Existem duas linhas já escritas no programa, e elas são a base de tudo que será
feito a seguir.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
13
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

O primeiro é o ​void setup(){......


....}

E basicamente, tudo que for escrito dentro dessas chaves só ocorrem uma vez no
inicio do programa, escrevemos aqui configurações que não precisam ser repetidas, no
nosso exemplo que construiremos, precisamos por exemplo iniciar a comunicação Serial
para leitura dos dados que virão do modulo bluetooth, e essa configuração só precisa ser
feita apenas uma vez.

Depois vem o ​void loop () {.....


…..}

Esse como o nome sugere, as ações escritas dentro de suas chaves, serão
repetidas sem parar, e o processador interpreta da mesma forma que nos enxergamos,
lendo de cima para baixo.
Exemplo, vamos mandar acender a lampada, mas não queremos que isso so
aconteça uma vez, logo seria como se o programa te pergunta, devo acender? e fica
repetindo isso sem parar num loop, ate que voce confirma, e ela liga, em seguida comeca a
pergutar se deve desligar, e assim por diante...mas vamos ver no software, como isso
funciona, passo a passo:

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
14
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Aqui já podemos observar algumas informações importante:

Os comandos do Arduino, possuem cores que nos ajudam a entender se estamos


indo bem, por exemplo, os comando Serial.begin e pinMode estão alaranjados, e o nome
OUTPUT está azul, veremos que dentro dessa IDE as cores nos ajudam a encontrar erros
de sintaxe quando ocorrem,
Outra observação, tudo que esta escrito depois das barras duplas (//), não sera
analisado pelo programa, usamos esse recurso para comentar nosso código, oque facilita
muito o entendimento.
O Comando pinMode(); usado aqui serve para definir a atividade do pino digital. no
nosso caso esta OUTPUT, pois se refere a uma saída, de fosse o caso de receber um sinal
para tomar uma ação, a única mudança seria de INPUT na definição do pino e ele seria de
entrada.
Ainda sobre o pinMode(); estamos nesse caso definindo o pino 7 como saida, mas
podemos usar qualquer outro entre (2 e 13), e ainda se quiser montar um comando para
mais lampadas, use o pinMode , e va dentro de cada um especificando o pino e sua
situação.
o Comando Serial.begin inicia a comunicação, com os pinos 0 (RX) e 1 (TX), com a
velocidade de 9600 kbps. (Kb por segundo).

Para o nosso exemplo de trabalho a configuração esta terminada, como já visto


anteriormente, essa sequencia ocorre somente uma vez ao ligar a placa.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
15
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Na sequencia da programação, dentro do void loop, temos o código responsável em


efetivamente controlar a lampada, ele esta nessa seção por precisar ser repetido durante o
tempo todo, garantindo, o funcionamento do planejado.

Logo começamos criando uma variável, do tipo carácter (char) e chamamos de


Dado.
Como o objetivo desse material não é ensinar programação C++, e sim ajudar no
conhecimento de como funciona um equipamento de automação de ambiente, não entrarei
em detalhes profundos sobre variável, mas podemos dar uma pincelada.
Variável em programação, representa um endereço de memoria, podemos
basicamente associar as memorias como uma grande estante com gavetas, e cada uma
delas tem um endereço, criar uma variável, é o mesmo que dar um nome fixo a um desses
endereços, para que possa enviar dados a essa “gaveta” e busca-lo sempre que quiser.
Existem variáveis dos mais diversos tipos, exemplificando, temos as variáveis, INT
que guardam um valor numérico inteiro, as do tipo FLOAT, que guardam números reais,
CHAR para guardar caracteres e assim por diante, são muitos tipos e não cabe discutir
todas no momento.
Essa variável, que criamos, será capaz de receber um carácter e guardar, ate que
outro chegue e ocupe seu lugar, então para que funcione nosso sistema devemos enviar
esse tipo de dado, para que a placa interprete nosso pedido.

Na sequencia, temos um comando IF que em C++ significa um laço condicional do


tipo SE, ou seja caso uma condição seja atendida ele segue com o programa, caso o
contrario, ele pula as instruções, podemos observar que a estrutura segue da seguinte
forma,

if...condição {...........}

dentro dessas chaves colocamos o que queremos que aconteça se a condição for
satisfeita, e deve pular caso não satisfaça. No nosso exemplo abrimos a chave apos a
condição de que existe dado chegando via serial , e fechamos ela no final do programa, ou
seja caso não entre dado nenhum o programa pula tudo e volta a verificar se tem dado
chegando.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
16
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Na sequencia, informamos ao programa que o Carácter que entrar pela serial, deve
ser guardado na variável Dado, fazemos isso através do comando Dado = Serial.read(); e
com o caracter guardado dentro da nossa gaveta podemos ordenar que funcione.

Na sequencia usamos a função Switch/Case, alguns que lerem esse material e


conheçam mais de programação, podem perguntar o porque não usamos outro laço
condicional aqui, e a resposta é simples, se formos para sempre ligar apenas uma lampada,
serviria e muito bem, porem, se tentar repetir os passos e ligar umas 10 lampadas,
perceberia que se perdem dados, pois o programa fica executando cada laço condicional
antes de evoluir isso gasta tempo e o programa fica instável, então resolvi usar o mesmo
comando que uso nos meus projetos.

A função que usaremos funciona mais ou menos assim, o Switch faz a leitura da
informação e compara com os comando que ativam a case, podemos notar então que o
Switch analisa o carácter e o Case ao encontrar um que esteja atrelado a ele, faz com que o
programa entre nas suas ações ou siga direto caso o dado seja diferente.

Assim, quando enviamos a letra ‘A’ maiuscula, o primeiro case entende que o que
vem na sequencia deve ser executado, ate que encontre a função break, que informa que
aquela rotina acabou. no nosso programa a ação a ser tomada, é a porta 7, ser ligada, isso
é feito através da escrita: digital.write (7, HIGH); se tentar traduzir, verá que esse comando,
manda um comando de escrita para uma saida digital, e dentro dos parenteses, informamos
qual o pino digital, e o que queremos que faça, sendo HIGH para ligar e LOW para desligar.

A Sequência do programa, pode ser explicada no paragrafo anterior, a diferença


apenas é que o carácter que ativa esse case é a letra ‘B’, e o estado do pino deve ser
desligado, e para isso usamos um LOW.

No final podemos ver três chaves ( }}}), e cada uma fecha uma função, a ultima se
refere ao fechamento do Void Loop, a seguinte, fecha o laço condicional IF, e a primeira,
fecha as rotinas, do Switch/Case.

abaixo deixo a descrição completa do programa que pode ser copiada e colada
diretamente na IDE para os testes.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
17
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

// Software para Arduino Uno, controle de uma lampada com Bluetooth e comando
de Voz
// Fabiano Alencar - Maio - 2016 - //
//////////////////////////////////////////////////////////////////////////////////////////////////////////

void setup() {

Serial.begin (9600); // este comando inicia a comunicação serial com os pinos 0 e


1 a uma velocidade de 9600 (padrão)

pinMode ( 7, OUTPUT); // Nessa linha, definimos o pino 7 do Arduino como


SAIDA.

void loop() {
char Dado; // Crio uma variavel do tipo char "character" chamada
Dado
if (Serial.available()){ // Inicia um laço condicional, "SE" para continuar se
houver dados Diponiveis na Serial

Dado = Serial.read (); // Carregamos em Dado a informação que vira pela


Serial (Bluetooth)

switch (Dado) { // Utilizamos a função Switch que vai ler o valor


guardado na variavel Dado

case 'A': // a função Switch é acompanhada da Case, que nessa


caso age se o dado recebido for a letra "A"

digitalWrite (7 , HIGH); // Muda o estado na saida 7 para alto (LIGADO)


break; // indica fim do case

case 'B': // A função case sera acionada se o dado for a letra "B"
digitalWrite (7 , LOW); // Muda o estado da saida 7 para baixo
(DESLIGADO)
break; // Indica o fim da case

default : // Adota o comportamento padrão ou seja não faz nada


break; // fim do Defaut

}
}
}

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
18
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Com esse passo também finalizado, terminamos a segunda parte do nosso projeto e
vamos abordar na ultima parte o APP em android que fara o reconhecimento de voz e
enviara os dados a nossa placa
APP INVENTOR 2 ( APP PARA ANDROID )

Nesse tópico, vamos então, após montar o nosso hardware, e escrever o código que
o faça funcionar, executar a construção de um APP para android que faça a função de
processador de voz, e para isso vamos usar da ferramenta gratuita APP Inventor

Essa ferramenta pode ser acessada no endereço: h ​ ttp://ai2.appinventor.mit.edu/


e só precisa que o usuário possua uma conta google (gratuita).

logo após logar essa tela vai parecer, deve se clicar no botão start new project, para
iniciarmos, vou nomear o programa como APP_BLUETOOTH

Essa é a tela de criação

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
19
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Os itens em destaque na imagem são:

1 - Pallete - ​Nessa guia encontramos os componentes que temos para montar


nosso aplicativo, dentro dela temos de componentes básicos, como um texto ou inserção de
imagem, ate itens mais sofsticados, como bluetooth.

2 - Screen - ​Nesso local, vamos montar o lay out do nosso projeto, inserir os
botoes, nomes, arquivos de bluetooth e etc…

3 - Components - ​nessa área aparecem os componentes que estão inseridos no


projeto e sua ordem no lay out geral.

4 - Properties - Nesse canto podemos editar as propriedades dos elementos,


podemos escolher os elementos através da área components.

Nessa imagem os primeiros componentes foram arrastados para a nossa screen,


em componentes, podemos ver a ordem BT_conectar (Botão), Label1 (Um texto em Branco
apenas para criar um espaço entre eles) e BT_Comando (Botão), os nomes deles devem
ser alterados, selecionando eles no campo dos components e atraves do botão rename.

Com a Screen selecionada, para manter um layout mais centralizado, os


alinhamentos Horizontal e vertical devem estar em “center” na guia de properties.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
20
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Ainda na guia properties, podemos alterar oque esta escrito dentro de um botão,
para isso so devemos alterar o texto no item “TEXT”.

Agora podemos arrastar os componentes que não serão visiveis:

na ordem, LISTA_BLUETOOTH (ListPicker - Pallete Basica), NOTIFICAÇÃO


(Notifier - Pallete Basica), RECONHECIMENTO_DE_VOZ (Speak recognizer - Pallete
Media) e BLUETOOTH (Bluetooth Client - Pallete Connectivity), a troca dos nomes seguem
os passos descritos anteriormente, o unico que requer atenção especial nesse passo , é o
LISTA_BLUETOOTH, nesse item, em proprieties, existe no final o item visible, ele estara
marcado por padrão, porem deve ser desmarcado.

Sei que a cara do APP parece simples,mas esse material não visa aprofundar em
todos os componentes do APP Inventor, estamos lidando apenas com o que precisamos
para cumprir nosso objetivo inicial, sinta-se livre para editar as proprieties, e deixar a sua
cara no APP, e quem sabe se houver interesse de muita gente possa tratar desses itens um
pouco mais aprofundado.

vamos nos próximos passos programar esses componentes

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
21
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

A Programação dos componentes é executada dentro do APP Inventor, para


acessar use o botão BLOCKS, e nesse ambiente, agora em branco, atentaremos aos dois
setores, o “built in” onde estão os blocos de programação logica, e o “screen1” onde os
componentes que usamos na tela anterior esta disponível para usarmos.

O Blocks tem um modelo de programação, bem simplificado, usa as bases de um


c++, porem, usamos blocos de encaixe, tipo quebra cabeças, o que ajuda a programar,
nesse programa não ocorrem erros de sintaxe, pois os blocos que não se relacionam, não
se encaixam. Assim como a parte do Screen, nele também usamos o recurso de arrastar e
soltar, para encontrar os blocos de comando, escolhemos o item no menu, e em seguida,
surge um novo menu com os comando daquele componente.

Os componentes de textos, estão na seção Built In, e tem a cor Rosa como
referencia.

Outra caracteristica, é que os comandos ocorrem sob demanda, conforme as coisas


forem acontecendo, e não uma ordem especifica.

No bloco acima, estamos pedindo que ao iniciar o APP, apareça uma mensagem
informando da necessidade de ativar o bluetooth.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
22
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Para o bloco acima, note o uso de blocos condicionais IF, originalmente eles so vem
com a função if then, porem se clicar na engrenagem azul, abre mais opções com novos
blocos para adicionar, e lá podera arrastar o else para montar um bloco if/else. Esses
blocos estão na seção Built In.

No bloco acima, quando apertamos o botão conectar, o APP checa com um IF se o


Bluetooth está ativado, e se não estiver ele usa uma notificação ao usuário avisando que
deve ativar.
Se a resposta for sim, que esta ativado, ele então, analisa também através de um IF
Se o bluetooth esta Conectado, e se estiver ele ordena que desconecte e renomeie o botão
para o nome “CONECTAR”, (Isso fará sentido nas próximas linhas). Se não estiver
conectado, ele então solicita que a lista de componentes seja mostrado ao usuário.

No primeiro bloco dessa imagem, pedimos ao APP, que inicialmente, carregue na


LISTA_BLUETOOTH, os endereços e nomes dos componentes que estiverem disponivel, e
apresentar os mesmos ao usuario.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
23
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

No bloco seguinte, informamos ao APP, qual ação deve seguir após escolha de um
componente da lista.

O APP ira usar item da lista e fará a conexão do aplicativo com o bluetooth
escolhido, o APP também ira modificar o nome que aparece no botão para
“DESCONECTAR” e uma mensagem aparece ao usuário, informando que esta conectado.
caso não consiga conectar ao endereço escolhido, exibe uma mensagem de erro.

Nesse últimos blocos, estão o segredo do uso do reconhecimento de voz, primeiro,


quando o botão BT_Comando é apertado, inicia o reconhecimento de voz do seu android, e
solicita a ele que envie em formato de texto o áudio que foi falado.

O bloco, seguinte, atua após esse reconhecimento, e em forma de texto,


inicialmente pedimos ao APP, que informe através de uma notificação, o texto interpretado,
pelo android, isso nos ajuda a verificar, se o nosso áudio esta sendo recebido pelo sistema
e reconhecido.

Na sequencia temos umas cascata de laço condicional IF, o primeiro deles, verifica
se o texto gerado após o reconhecimento esta de acordo com o programado, (Os comandos
logicos estão na seção Built in na cor verde).

Na sequencia, verifica se o Bluetooth está conectado e se sim, envia um texto por


meio do Bluetooth.

Agora, repare, o texto enviado, por meio de bluetooth, é o mesmo carácter que esta
programado na nossa placa, onde o “A” liga a nossa saída e “B” desliga.

Se nossa intenção for comandar mais cargas, o APP pode ser facilmente
modificado, copiando o IF que compara o texto falado ao programado, e mudar o texto
enviado pelo bluetooth, e na placa aumentar as situações permitidas, pela Case e pronto, é
quase um copiar e colar.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
24
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Importante - ​O resultado em forma de texto depende as vezes do seu tom de voz,


as vezes de configuração interna, isso varia muito, quando abrir o APP, e enviar o
comando de voz, observe se o que aparece reconhecido em notificação esta exatamente
igual ao que deixou escrito, o APP distingue letras maiusculas de minusculas e caso seja
necessario, reabra o APP inventor e altere para que o texto escrito seja igual ao da
notificação.

Feito isso a programação está terminada e precisamos dentro dela no nosso


Smartphone.

No menu do APP Inventor, temos a opção Build, apertando nela aparacem mais
duas opções,​ APP (Provide QR code for . apk)​ ou​ APP (save .apk to my computer).

A primeira, gera um QR Code, e você pode usar para baixar o arquivo direto
no smartphone.

A segunda faz o download para o seu computador, e vai precisar de um


cabo, para transferir para o celular.

Eu particularmente prefiro a primaira opção, isso agiliza o processo e hoje


em dia na google play temos varios app de leitura QR Code.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
25
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

Essa imagem mostra um QR Code pronto para ser lido e ter o APP baixado ao
celular.

Importante: No seu smartphone a opção de instalar aplicativos de fontes


desconhecidas precisa estar liberada, não se preocupe, se trata de um APP que você
mesmo fez, e não ha nele códigos mal intencionado. E se não souber liberar a opção
descrita, no Android, na primeira tentativa de instalar ele vai te solicitar e guiar até o local
onde poderá liberar.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
26
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

INSTALAÇÃO FINAL

Agora que você montou tudo oque precisava, deve estar louco pra instalar em casa
e fazer seus testes, pois bem, o esquema de blocos abaixo da uma ideia de como vai ficar.

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
27
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

O Esquema mostra que temos que ter 3 cabinhos finos saindo do modulo e indo ao
modulo rele, imaginando que você va montar isso em um quarto inicialmente, monte a sua
placa dentro de uma caixa, e saia dela com os cabos de controle do rele (5 VCC, GND, e
IN-Pino 7).

Para uma melhor aparência acomode o rele com as ligações feitas, dentro da
caixinha onde esta o interruptor, nesse caso os cabos do mesmo são retirados e
conectados ao rele nos bornes C e NO.

Importante - ​Manuseie com cuidados a rede elétrica, faça a montagem com


disjuntor desligado, evitando acidentes, se não tiver conhecimento suficiente, peça auxilio a
um eletricista nesse passo da instalação.

CONCLUSÃO

Esse material, foi desenvolvido com muito carinho, visando que você possa dar os
primeiros passos , nessa área que esta em crescimento. meu principal objetivo é
transformar seus pensamentos e criar uma mentalidade que pode sim aprender e receber
ao executar as minhas dicas de como evoluir nessa incrível atividade.

Nesse material, já foi possível, mesmo que você não conhecesse nada de
automação, ter a noção do tamanho que pode atingir caso se dedique cada vez mais ao
aprendizado.

Espero que tenham gostado do material, envie um e-mail, com suas opiniões ou
acesse nosso facebook e deixe um comentario…

e claro se gostou indique a um amigo...e espalhe nossos ideais.

Abraço a todos,

Fabiano Alencar
afmulti@gmail.com
facebook.com/afmultiautomacao

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
28
GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

****Atualização: Se você leu e gostou desse material, entre em contato no email:


afmulti@gmail.com e solicite informações para se tornar um instalador / integrador do
sistema de automação Residencial...

FABIANO ALENCAR - MAIO 2016


afmulti@gmail.com
29

Вам также может понравиться