GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA...

30
GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIAL FABIANO ALENCAR , - MAIO 2016 -

Transcript of GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA...

Page 1: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIAL

FABIANO ALENCAR , - MAIO 2016 -

Page 2: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

1

Page 3: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

2

Page 4: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

3

Page 5: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

4

Page 6: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

5

Page 7: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

6

Page 8: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

7

Page 9: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

8

Page 10: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

9

Page 11: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

10

Page 12: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

11

Page 13: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

12

Page 14: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

13

Page 15: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

14

Page 16: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

15

Page 17: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

16

Page 18: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

17

Page 19: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

18

Page 20: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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: http://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 [email protected]

19

Page 21: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

20

Page 22: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

21

Page 23: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

22

Page 24: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

23

Page 25: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

24

Page 26: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

25

Page 27: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

26

Page 28: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected]

27

Page 29: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

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 [email protected] facebook.com/afmultiautomacao

FABIANO ALENCAR - MAIO 2016 [email protected]

28

Page 30: GUIA RÁPIDO DE AUTOMAÇÃO RESIDENCIALsites.google.com/site/afmulti/fotos/GUIA DA AUTOMAÇÃO... · 2018-12-16 · Nosso exemplo está baseado em um Arduino Uno R3, ele tem 14 Portas

GUIA RAPIDO DE AUTOMAÇÃO RESIDENCIAL

****Atualização: Se você leu e gostou desse material, entre em contato no email: [email protected] e solicite informações para se tornar um instalador / integrador do sistema de automação Residencial...

FABIANO ALENCAR - MAIO 2016 [email protected]

29