You are on page 1of 30

GUIARPIDODE

AUTOMAO
RESIDENCIAL

FABIANOALENCAR,MAIO2016

GUIARAPIDODEAUTOMAORESIDENCIAL

NDICE

INTRODUO.2
UMAOPORTUNIDADEDENEGOCIO.3
OQUEAUTOMAORESIDENCIAL...4
MATERIAIS...5
HARDWARE.9
SOFTWARE.12
APPINVENTOR2..18
INSTALAOFINAL..26
CONCLUSO..27

FABIANOALENCARMAIO2016
afmulti@gmail.com
1

GUIARAPIDODEAUTOMAORESIDENCIAL

INTRODUO

Nossa sociedade num geral, est passando por mais uma grande revoluo
tecnologia, desde que,oscomputadorescomearamaentrarnoslaresaindanosanos60e
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 demorase
anosparaaprimorareevoluirtecnicamente,hojelevaasvezesdias.

Nesse cenrio, onde tudo evolui, natural que as coisas mais inesperadas se
tornassem inteligente, comoum tnisquemedeseus passoseaevoluodoseuexerccio,
ou uma geladeira que gerencia seu consumo, entre varias inovaes, dentre esto as
moradias.

Casas que podem abrir e fechar janelas de acordo com o clima externo, ligar um
arcondicionado ou aquecedor, de acordo com a temperatura interna, regular a
luminosidade usando o mximo de luz natural,enfim,notemoslimitesquando oassunto
evoluodatecnologiaemmoradias.

fato que com o avanotecnolgico,maispessoas temusufrudodemaisconforto,


em seus lares, e temos a impresso que se trata de um luxo, imensamente caro, quando
nem sempre o caso, exemplo, uma automao das mais simples a instalao de um
sensordepresenanumcorredor,tembaixocustoeeficiente.

Mas com esse material, no quero abordar essas automaes simplistas, e sim
mostrar que o limite da tecnologia, est no ponto que ns mesmos definimos, e nossa
imaginaoevontadepodelevar.

Ao final, essas informaes podem ser valiosas para a construo de projetos, e


quemsabetrilharorumodasuahistoriaparaumoutrofinal,nomelhorestiloVocdecide.

FABIANOALENCARMAIO2016
afmulti@gmail.com
2

GUIARAPIDODEAUTOMAORESIDENCIAL

UMAOPORTUNIDADEDENEGOCIO

Emtemposcomooatual,ondeapalavracriseparecetopresente,possvel
perceberquetudo,extremamentetudo,temdoislados,acriseporexemplo,pssimapara
opais,odesenvolvimento,eparaaspessoasquesofremcomdesempregoeescassez,de
fatoelapresenteprincipalmentesevocacreditanela.

Masacrisetambmoferecepossibilidades,achancedetraarnovasmetasecorrer
atrsdeumfuturodiferente,afinal,apenascommuitotrabalhopodemosmudaressejogo,
comoumtimequeestaperdendoevaiparaointervalo,semotivaeresolvejogardiferente
econseguemmudarumasituaoquedetoadversapareceimpossvel.

Omercadodeautomaoresidencialestaaquecido,comopensarque80%do
dinheiroestocom20%dapopulao,eessenichonorecebeomesmoimpactodacrise
queeuevoc,umaparcelaqueaindaprecisadessetipodeatendimento,demais
profissionaiseopesdemercado.

Umgrandenichoaserobservadodeperto,aautomaodeambientes,comopor
exemplo,quartosdehotis,motis,pousadas,enfim,alemdedesenvolvimentoe
instalao,esseslocaisseguemprecisandodemanutenes,esabercomocertascoisas
funcionamtedeixamemavanado.

Eupessoalmenteestiverecentemente,fazendovisitasemalgumascidadesefui
surpreendidoconversandocomalgumaspessoas,querelatavamafaltadebons
profissionais,noslocaisenasproximidades,muitasvezestendoqueimportardeoutros
centros,modeobraeequipamentoparaatenderasuanecessidade,nareade
automaoresidencial.

Depoisdessasvisitas,resolvientodividiroqueaprendiapsmuitoestudo,errose
acertos,poderentodividirapenasositensquefazemdiferenaepodemtrazeralgum
resultado,claro,tudodependedeumfatorquenopossocontrolar,voceseusobjetivos.

FABIANOALENCARMAIO2016
afmulti@gmail.com
3

GUIARAPIDODEAUTOMAORESIDENCIAL

Emresumo,vejonaautomaoresidencial,umagrandeoportunidadedecriar
negciosdozero,quepodemserlucrativos,ereforoqueopaisprecisademovimentos
assim,depessoasquelevantemumdiamaisinspiradasqueodiaanterior,coloquemasua
chuteira,puxeofolegoebusquemomelhorresultadoquesejapossvel.

OQUEAUTOMAORESIDENCIAL

Afinal, do que setrataessataldeAutomaoResidencial?Poisbem,automaoou


mesmo automatizao, so aes em que equipamentos inanimados, podem interagir de
maneirainteligente,podeseratravsdemovimentosoumudanasdeestado.

Uma melhor definio ainda, oconjuntodeequipamentos, queatuamnaobteno


de conforto, buscando uma maior produtividade ao seu usurio. usando um exemplo facil,
poder controlar uma lampada atravs de um aplicativo de celular, te trara mais conforto e
por vezes mais produtividade, afinal em casa que recarregamosasenergiasapsumdia
detrabalho.

Ainda a automao pode aparecer em outros itens que dependem ou no de


interaodousurio:

Janelasinteligentesqueabremnosolefechamanoiteouemcasodechuva
Arcondicionadocontrolandoautomaticamenteatemperaturadacasa
Controleremotodaslampadasatravsdeumsmartphone
ControledeTV,DVDs,ReceptorespeloSmartphone
Encher uma banheira de hidromassagem antes de sua chegada em casa,
proporcionandoganhodetempoeconforto.

Enfim, so tantas coisas, que nem faz sentido ficar listando, podemos notar que o
queamentepermitirpodeserreproduzidousandoprocessadoresecircuitoseltricos.

Fatoqueainternethojeemdiaestrecheadadetutoriais,ouvdeosdesistemas
funcionando,mascarentedeprojetoscompletos,quecomessemeterminemedefato
FABIANOALENCARMAIO2016
afmulti@gmail.com
4

GUIARAPIDODEAUTOMAORESIDENCIAL

ensinemocomeo,meioefimdeumitem,equandotem,estemingls,eesseno
nossoidiomanatal,tendoquetraduziroutorcerpraencontrartraduzidoporalgum.

Nessemanualrpido,tentareiabordarumdositensmaisrecorrentes,ocontroledas
lampadasdeumacasaatravsdecomandosdevoz!evamosexecutarjuntosdasua
concepoaoteste,explicandoasfases,considerandoquequemestlendoessematerial
iniciantenoassunto.

MATERIAIS

Falando de prtica, improvvel iniciar um projeto sem conhecer oque existe


atualmente para se trabalhar, como o intuito aqui informativo e iniciar uma pessoanesse
ramo, vou tentar demaneirasucintaexplicaroselementosnecessrios(ParaaPropostade
controlarumalampadadeumacasaporcomandodevoz).:

Processadordedados
Meiodecomunicao
Driverdeinterface
Processadordevoz
Softwaresdedesenvolvimento

O
Processador de dados
, o elemento necessrio, para que os comandos sejam
recebidos, tratados e enviados aos seus itens (Lampadas)aseremcontroladas,omercado
hoje oferece uma infinidade de opes, e as melhores sem duvidas so os
microcontroladores
, eles tem baixo custo e podem ser programados, com uso de
softwaresegravadores

Dentre os diversos tipos de microcontroladores esto osPICdaempresaMicrochip,


os ATMegas daAtmel,dentreoutros,pranoentraremtantosdetalhesepercadeprecioso
tempo,vamostratardessesmodelosumoutromomento

Para quem est iniciando, podemos comear por umtipodeprocessadormaisfcil,


de usar e encontrar no mercado, no caso, o Arduino, atende e bem essa necessidade,
didticaeporqueno,profissional.

FABIANOALENCARMAIO2016
afmulti@gmail.com
5

GUIARAPIDODEAUTOMAORESIDENCIAL

Nosso exemplo est baseado em um Arduino Uno R3, ele tem 14PortasdeI/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 analgicas, para medio de sensores, pinos de alimentao, ajustados em 5V,
3.3VeGND.


Fotoretiradadosite:
https://www.arduino.cc/en/Main/ArduinoBoardUno

FABIANOALENCARMAIO2016
afmulti@gmail.com
6

GUIARAPIDODEAUTOMAORESIDENCIAL

EspecificaotcnicadeumArdunoUno,Serbemtilembreve

Ainda se tratando de Arduno, uma grande sacada para o seu aprendizadoeuso,


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,comonafotoabaixo

FABIANOALENCARMAIO2016
afmulti@gmail.com
7

GUIARAPIDODEAUTOMAORESIDENCIAL

Com essa IDE, podese criar os mais diversos projetos, tem uma fcil estrutura de
software, usa comandos bem parecidos com C++, oque o torna bem intuitivo para as
aplicaes diversas, no haveria possibilidade de tratar nesse material o assuntoc++,sem
deixar boa parte de seu contedo vazio, ento vou me atentar a linguagem da IDE do
Ardunodeformabsicamaisafrente.

Partindo do Arduno, existem diversos


meiosdecomunicaoentreeleeumoutro
dispositivo, nesse caso, nosso exemplo, poderamos usar cabos para a comunicao, ou
um protocolo, sem Fio, para que nosso projeto parea ainda mais legal e dar maior
liberdade de criao e aplicao, vamos usar o Bluetooth como meio de transmisso de
dados,maisafrentehavermaisdetalhes.

Como esta relatado, nas especificaes tcnicas, os pinos de um Arduno so


limitados a poucosmAenomximoa5Volts,comopoderamosporexemploenergizarum
lampada 110V ou 220V ? isso s possvel, pela existncia dos
drivers de interface
,
sejamelesdeentradaousada,no nossoexemplo,usaremosumdriverquetransformeos
5V em 110 ou 220 V para poder ligaralampada,ou quantasmaissejampossveis,apenas
repetindoospassos.

Para que o nosso projeto funcione, preciso que exista um


processador de voz
,
algo que interprete a voz e traduza em um sinal eltrico, permitindo acendereapagaruma
lampada, a maioria das pessoas carregam umtimoprocessadordevoznobolso,elesso
os populares smartphones, para o nosso teste vamos usar um Android, e o proximo
paragrafoexplicaoporque.
FABIANOALENCARMAIO2016
afmulti@gmail.com
8

GUIARAPIDODEAUTOMAORESIDENCIAL

Os
softwares de desenvolvimento
o que da vida aos mais diversos projetos, e
nessa fase de aprendizado importante, que custem poucoousejamgratuitos,seriamuito
ruim para esse material, que usssemos de exemplo um software que para usar custem
caro, ou sejam limitados para testes, isso pesou bastante na escolha do Arduno, j que a
sua IDE baixada gratuitamente, como descrito l atras para que possamos usar um
smartphoneAndroidcomoprocessadordevoz,precisamos criarumAPPqueserinstalado
no celular e fazer a funo que pretendemos que faa, e para desenvolver esse APP,
vamos lanar mo do APP INVENTOR, um projeto on line, gratuito, mantido pelo MIT
(
Massachusetts Institute ofTechnology),noendereo
http://ai2.appinventor.mit.edu/ epara
usarosistemaapenasnecessrioterumacontagoogle(gratuita).

Esses so os elementos chaves para se executar um projeto, no nossocasotemos


o processador de voz, mas poderia ser um boto 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
definiraoresultadodasaidaecontroledeumacarga.

HARDWARE

O Primeiro passo para montar nosso sistema de automao de ambiente,


conheceronossohardware,naimagemaseguirpodemosverdoquesetrata:
FABIANOALENCARMAIO2016
afmulti@gmail.com
9

GUIARAPIDODEAUTOMAORESIDENCIAL

ImagemfeitanosoftwareFRITZINGdeumArdunoUNO

Pinos Digitais so os pinos que vo de 0 a 13, sendo eles bidirecionais, ouseja,


podem se entrada ou sada, de acordo com configurao em software, dentre eles alguns
temdestaque:
**
Pinos comunicao So 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 modulao, ou seja podemos ter uma sada analgica simulada nesses
pinos,idealparasadascontroladas.

Pinos Analgicos
So os Pinos de A0 ao A5, so entradas sensveis e podem
receber sensores analgicos, como sensores de temperatura, Umidade, Nivel, etc esses
pinosnosobidirecionais,sendoapenaspinosdeentrada.

Pinos de Alimentao So os pinos, de 5V 3,3V GND alem do Vin queest


ligado diretamente ao positivo do sistema, dessa forma, se precisar, podemos usar esse
pino como entrada de alimentao, muito util, quando vamos integrar o arduino a outro
sistemajexistente.

Entrada USB Tipo B Essa a porta que usamos para programar o Arduno,
tambm serve de alimentao, essa porta esta fisicamente ligada aos pinos 0 e 1, assim,
evitando maiores problemas, devemos desligar itens desses pinos, durante a gravao da
placa.

Para estabelecer o meio fsico de comunicao, no nosso caso, bluetooth,


precisamos de umitemexternoligadoaoArduno,oeleitoomodulo HC06,masqualquer
outroatendebemanecessidadedesdequeserespeitemasligaesdescritas:
FABIANOALENCARMAIO2016
afmulti@gmail.com
10

GUIARAPIDODEAUTOMAORESIDENCIAL

ModuloHC06bluetoothFRITZING.

Sem surpresas at aqui,aalimentao,podeserdireta doArduino,5VVCC,GNG


GNDeumpontoimportanteadiante,opinoTXD(transmisso)doBluetooth,conectadono
RX(recebe)doArduno.
Essa inverso necessria, para que o dado que sai de um seja recebido pelo
outro, e o motivo em deixar o RXD do Bluetoothsolto,ofatodenesseprojetoobluetooth
so enviar um dado ao Arduno e no recebe nada de volta, o ciclo se fecha assim, o
smartphone pareado e conectado ao HC06, oappinstaladonoAndroid,enviaumdadovia
bluetooth, o sinal, recebido passado ao RX do Arduino,que entovaiprocessarodadoe
atuaremumasadaprdeterminadaemsoftware.

ShieldRele,usadonessecasocomoDrivedeinterface.FRITZING

O Driver utilizado nessa experincia, ser um rele, nesse caso um shield Rele, ele
tempequenoporteefcilmanuseio,esero responsvelemreceberosinalde0ou5V,e
nasaidacontrolarumacarga deate240Vcom10A,idealparausaremumalampada,como
ocasodessamontagem,

FABIANOALENCARMAIO2016
afmulti@gmail.com
11

GUIARAPIDODEAUTOMAORESIDENCIAL

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,exemplosdeshieldso,Ethernet,GPS,GSM,Rele,Bluetooth,etc

Abaixotemosumanoodecomonossamontagemdeverficar:

EsquemadamontagempropostaFRITZING

Como pode ser observado,adotei opinoD7doArdunoparacontroleda carga,mas


poderia ser qualquer um do D2 ao D13, esse pino esta conectado ao pino IN do Shield
Rele.
Aps realizada essa montagem, estamos prontos para o prximo passo o
Softwarequefaressaplacafuncionar.

SOFTWARE

Agora que voc j montou seu hardware, e deve estar louco pra velo funcionar,
vamosaprendercomoissoacontece.
Primeiro o software IDE do arduino j deve ter sido feito download para o seu
computador,elogoquandoabreoprogramavemosisso:
FABIANOALENCARMAIO2016
afmulti@gmail.com
12

GUIARAPIDODEAUTOMAORESIDENCIAL

1 Boto Verificar Usamos para verificar nosso cdigo de programao, se ele


no apresenta erros de sintaxe, ou seja, s observa deestamosescrevendocorretamente
aspalavras,elenoanalisaalogicaqueusamos,apenassenossaescritaestacorreta.

2 Boto Enviar
Usamos para enviar um cdigo para nossa placa Arduno, uma
vezquenossocdigoestacorretoelesergravadoepoderemostestaremseguida.

3BotoNovo
Usadoquandoqueremosiniciarumnovoprograma.

4 Boto AbrirUsamospara abrirumprogramaqueescrevemose guardamosem


algumapastanocomputador.

5BotoSalvar
UsamosparaSalvarnossaaplicaoaqualquermomento

Como a maioria dos software hoje em dia, esses so apenas atalhos, e s estou
mencionando porque eu uso muito eles em um projeto, as vezes em um projetode grande
porte vou abrindo novos programas, testando as funes separadamente e depois incluo
numnicoantesdegravarnaplaca,eessesatalhossodegrandeajuda.

Existem duas linhas j escritas no programa, e elas so a base de tudo que ser
feitoaseguir.

FABIANOALENCARMAIO2016
afmulti@gmail.com
13

GUIARAPIDODEAUTOMAORESIDENCIAL

Oprimeiroo
voidsetup(){......
....}

E basicamente, tudo que for escrito dentro dessas chaves s ocorrem uma vez no
inicio do programa, escrevemos aqui configuraes que no precisam ser repetidas, no
nosso exemplo que construiremos, precisamos por exemplo iniciar a comunicao Serial
para leitura dos dados que viro do modulo bluetooth, e essa configurao s precisa ser
feitaapenasumavez.

Depoisvemo
voidloop(){.....
..}

Esse como o nome sugere, as aes escritas dentro de suas chaves, sero
repetidas sem parar, e o processador interpreta da mesma forma que nos enxergamos,
lendodecimaparabaixo.
Exemplo, vamos mandar acender a lampada, mas no queremos que isso so
acontea uma vez, logo seria como se o programa te pergunta, devo acender? e fica
repetindo isso sem parar num loop,atequevoceconfirma,eelaliga,emseguidacomecaa
pergutar se deve desligar, e assim por diante...mas vamos ver no software, como isso
funciona,passoapasso:

FABIANOALENCARMAIO2016
afmulti@gmail.com
14

GUIARAPIDODEAUTOMAORESIDENCIAL

Aquijpodemosobservaralgumasinformaesimportante:

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


indo bem, por exemplo, os comando Serial.begin e pinMode esto alaranjados, e o nome
OUTPUT est azul, veremos que dentro dessa IDE ascoresnosajudamaencontrarerros
desintaxequandoocorrem,
Outra observao, tudo que esta escrito depois das barras duplas (//), no sera
analisado pelo programa, usamos esse recurso para comentar nosso cdigo, oque facilita
muitooentendimento.
O Comando pinMode() usado aqui serve para definir a atividade do pino digital. no
nosso caso esta OUTPUT, pois se refereaumasada,defosseocasodereceberumsinal
para tomar uma ao, a nica mudana seria de INPUT na definiodopinoeeleseriade
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
situao.
o Comando Serial.begin inicia a comunicao, com os pinos 0 (RX)e1(TX),coma
velocidadede9600kbps.(Kbporsegundo).

Para o nosso exemplo de trabalho a configurao esta terminada, como j visto


anteriormente,essasequenciaocorresomenteumavezaoligaraplaca.

FABIANOALENCARMAIO2016
afmulti@gmail.com
15

GUIARAPIDODEAUTOMAORESIDENCIAL

Na sequencia da programao, dentro dovoidloop,temosocdigoresponsvelem


efetivamente controlar a lampada, ele esta nessa seo por precisarser repetidoduranteo
tempotodo,garantindo,ofuncionamentodoplanejado.

Logo comeamos criando uma varivel, do tipo carcter (char) e chamamos de


Dado.
Como o objetivo desse material no ensinar programao C++, e sim ajudar no
conhecimento de como funciona um equipamento de automao de ambiente,noentrarei
emdetalhesprofundossobrevarivel,maspodemosdarumapincelada.
Varivel em programao, representa um endereo de memoria, podemos
basicamente associar as memorias como uma grande estante com gavetas, e cada uma
delas tem um endereo, criar uma varivel, o mesmo que darumnomefixoaumdesses
endereos,paraquepossaenviardadosaessagavetaebuscalosemprequequiser.
Existem variveis dos mais diversos tipos, exemplificando, temos as variveis, INT
que guardam um valor numrico inteiro, as do tipo FLOAT, que guardam nmeros reais,
CHAR para guardar caracteres e assim por diante, so muitos tipos e no cabe discutir
todasnomomento.
Essa varivel, que criamos, ser capaz de receber um carcter e guardar, ate que
outro chegue e ocupe seu lugar, ento para que funcione nosso sistema devemos enviar
essetipodedado,paraqueaplacainterpretenossopedido.

Na sequencia, temos um comando IF que em C++ significa um lao condicional do


tipo SE, ou seja caso uma condio seja atendida ele segue com o programa, caso o
contrario, ele pula as instrues, podemos observar que a estrutura segue da seguinte
forma,

if...condio{...........}

dentro dessas chaves colocamos o que queremos que acontea se a condio for
satisfeita, e deve pular caso no satisfaa. No nosso exemplo abrimos a chave apos a
condio de que existe dado chegando via serial , e fechamoselanofinaldoprograma,ou
seja caso no entre dado nenhum o programa pula tudo e volta a verificar se tem dado
chegando.
FABIANOALENCARMAIO2016
afmulti@gmail.com
16

GUIARAPIDODEAUTOMAORESIDENCIAL

Na sequencia, informamos ao programa que o Carcter que entrarpelaserial,deve


ser guardado na varivel Dado, fazemos isso atravs do comando Dado = Serial.read() e
comocaracterguardadodentrodanossagavetapodemosordenarquefuncione.

Na sequencia usamos a funo Switch/Case, alguns que lerem esse material e


conheam mais de programao, podem perguntar o porque no usamos outro lao
condicional aqui, earespostasimples, seformosparasempreligarapenasumalampada,
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 lao condicional
antes de evoluir isso gasta tempo e o programa fica instvel, ento resolvi usar o mesmo
comandoqueusonosmeusprojetos.

A funo que usaremos funciona mais ou menos assim, o Switch faz a leitura da
informao e compara com os comando que ativam a case, podemos notar ento que o
SwitchanalisaocarctereoCaseao encontrarumqueestejaatreladoaele,fazcomqueo
programaentrenassuasaesousigadiretocasoodadosejadiferente.

Assim, quando enviamos a letra A maiuscula, o primeiro case entende que o que
vem na sequencia deve ser executado, ate que encontre a funo break, que informa que
aquela rotina acabou. no nosso programa a ao asertomada, aporta7,serligada,isso
feito atravsdaescrita: digital.write(7,HIGH)setentartraduzir,verqueessecomando,
manda um comandodeescritaparaumasaidadigital,edentrodos parenteses,informamos
qualopinodigital,eoquequeremosquefaa,sendoHIGHparaligareLOWparadesligar.

A Sequncia do programa, pode ser explicada no paragrafo anterior, a diferena


apenas que o carcter que ativa esse case a letra B, e o estado do pino deve ser
desligado,eparaissousamosumLOW.

No final podemos ver trs chaves ( }}}), e cada uma fecha uma funo, a ultima se
refere ao fechamento do Void Loop, a seguinte, fecha o lao condicional IF, e a primeira,
fechaasrotinas,doSwitch/Case.

abaixo deixo a descrio completa do programa que pode ser copiada e colada
diretamentenaIDEparaostestes.

FABIANOALENCARMAIO2016
afmulti@gmail.com
17

GUIARAPIDODEAUTOMAORESIDENCIAL

// Software para Arduino Uno, controle de uma lampada com Bluetooth e comando
deVoz
//FabianoAlencarMaio2016//
//////////////////////////////////////////////////////////////////////////////////////////////////////////

voidsetup(){

Serial.begin (9600) // estecomandoiniciaa comunicaoserialcomospinos0e


1aumavelocidadede9600(padro)

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


SAIDA.

voidloop(){
char Dado
//Crioumavariaveldotipochar"character"chamada
Dado
if (Serial.available()){
// Inicia um lao condicional, "SE" para continuar se
houverdadosDiponiveisnaSerial

Dado = Serial.read ()
//CarregamosemDadoainformaoquevirapela
Serial(Bluetooth)

switch (Dado) {
// Utilizamos a funo Switch que vai ler o valor
guardadonavariavelDado

case 'A':
// afunoSwitchacompanhadadaCase, quenessa
casoageseodadorecebidoforaletra"A"

digitalWrite(7,HIGH)//Mudaoestadonasaida7paraalto(LIGADO)
break//indicafimdocase

case'B'://Afunocaseseraacionadaseodadoforaletra"B"

digitalWrite (7 , LOW)
// Muda o estado da saida 7 para baixo
(DESLIGADO)
break//Indicaofimdacase

default://Adotaocomportamentopadroousejanofaznada
break//fimdoDefaut

}
}

FABIANOALENCARMAIO2016
afmulti@gmail.com
18

GUIARAPIDODEAUTOMAORESIDENCIAL

Com esse passotambmfinalizado,terminamos asegundapartedonossoprojeto e


vamos abordar na ultima parte o APP em android que fara o reconhecimento de voz e
enviaraosdadosanossaplaca
APPINVENTOR2(APPPARAANDROID)

Nesse tpico, vamosento,apsmontaronossohardware,eescreverocdigoque


o faa funcionar, executar a construo de um APP para android que faa a funo de
processadordevoz,eparaissovamosusardaferramentagratuitaAPPInventor

Essaferramentapodeseracessadanoendereo:
http://ai2.appinventor.mit.edu/
esprecisaqueousuriopossuaumacontagoogle(gratuita).

logo aps logar essa tela vai parecer,deveseclicarnobotostartnewproject,para


iniciarmos,vounomearoprogramacomoAPP_BLUETOOTH

Essaateladecriao

FABIANOALENCARMAIO2016
afmulti@gmail.com
19

GUIARAPIDODEAUTOMAORESIDENCIAL

Ositensemdestaquenaimagemso:

1 Pallete
Nessa guia encontramos os componentes que temos para montar
nosso aplicativo,dentrodela temosdecomponentesbsicos, comoumtextoouinserode
imagem,ateitensmaissofsticados,comobluetooth.

2 Screen
Nesso local, vamos montar o lay out do nosso projeto, inserir os
botoes,nomes,arquivosdebluetootheetc

3 Components
nessa rea aparecem os componentes que esto inseridos no
projetoesuaordemnolayoutgeral.

4 Properties Nesse canto podemos editar as propriedades dos elementos,


podemosescolheroselementosatravsdareacomponents.

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


em componentes, podemos ver aordemBT_conectar(Boto),Label1(UmtextoemBranco
apenas para criar um espao entre eles) e BT_Comando (Boto), os nomes deles devem
seralterados,selecionandoelesnocampodoscomponentseatravesdobotorename.

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


alinhamentosHorizontaleverticaldevemestaremcenternaguiadeproperties.
FABIANOALENCARMAIO2016
afmulti@gmail.com
20

GUIARAPIDODEAUTOMAORESIDENCIAL

Ainda na guia properties, podemos alterar oque esta escrito dentro de um boto,
paraissosodevemosalterarotextonoitemTEXT.

Agorapodemosarrastaroscomponentesquenoserovisiveis:

na ordem, LISTA_BLUETOOTH (ListPicker Pallete Basica), NOTIFICAO


(Notifier Pallete Basica), RECONHECIMENTO_DE_VOZ (Speak recognizer Pallete
Media) e BLUETOOTH (Bluetooth Client Pallete Connectivity),atrocadosnomesseguem
os passos descritos anteriormente, o unico que requer ateno especial nesse passo , o
LISTA_BLUETOOTH, nesse item, em proprieties, existe no final o item visible, ele estara
marcadoporpadro,poremdeveserdesmarcado.

Sei que a cara do APP parece simples,mas esse material no visa aprofundar em
todos os componentes do APP Inventor, estamos lidando apenas com o que precisamos
para cumprir nosso objetivo inicial, sintase livre para editar as proprieties, e deixar a sua
cara no APP,equemsabesehouverinteressedemuitagentepossatratardessesitensum
poucomaisaprofundado.

vamosnosprximospassosprogramaressescomponentes

FABIANOALENCARMAIO2016
afmulti@gmail.com
21

GUIARAPIDODEAUTOMAORESIDENCIAL

A Programao dos componentes executada dentro do APP Inventor, para


acessar use o boto BLOCKS, e nesse ambiente, agora em branco, atentaremos aos dois
setores, o built in onde esto os blocos de programao logica, e o screen1 onde os
componentesqueusamosnatelaanteriorestadisponvelparausarmos.

O Blocks tem um modelo de programao, bem simplificado, usa as bases de um


c++, porem, usamos blocos de encaixe, tipo quebra cabeas, o que ajuda a programar,
nesse programa no ocorrem erros de sintaxe, pois os blocos que no se relacionam, no
se encaixam. Assim como a parte do Screen, nele tambm usamoso recursodearrastare
soltar, para encontrar os blocos de comando, escolhemos o item no menu, e em seguida,
surgeumnovomenucomoscomandodaquelecomponente.

Os componentes de textos, esto na seo Built In, e tem a cor Rosa como
referencia.

Outra caracteristica, que os comandosocorrem sobdemanda,conformeascoisas


foremacontecendo,enoumaordemespecifica.

No bloco acima, estamos pedindo que ao iniciar o APP, aparea uma mensagem
informandodanecessidadedeativarobluetooth.

FABIANOALENCARMAIO2016
afmulti@gmail.com
22

GUIARAPIDODEAUTOMAORESIDENCIAL

Para o bloco acima, noteousodeblocoscondicionaisIF,originalmenteelessovem


com a funo if then, porem se clicar na engrenagem azul, abre mais opes com novos
blocos para adicionar, e l podera arrastar o else para montar um bloco if/else. Esses
blocosestonaseoBuiltIn.

No bloco acima, quando apertamos o boto conectar, o APP checa comumIFseo


Bluetooth est ativado, e se no estiver ele usa uma notificao ao usurio avisando que
deveativar.
Se a resposta for sim, queestaativado,eleento,analisatambmatravs deumIF
Se o bluetooth esta Conectado, e seestivereleordenaquedesconecteerenomeieoboto
para o nome CONECTAR, (Isso far sentido nas prximas linhas). Se no estiver
conectado,eleentosolicitaquealistadecomponentessejamostradoaousurio.

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


LISTA_BLUETOOTH, os endereos e nomes doscomponentesqueestiveremdisponivel,e
apresentarosmesmosaousuario.

FABIANOALENCARMAIO2016
afmulti@gmail.com
23

GUIARAPIDODEAUTOMAORESIDENCIAL

No bloco seguinte, informamos ao APP, qual ao deve seguir aps escolhadeum


componentedalista.

O APP ira usar item da lista e far a conexo do aplicativo com o bluetooth
escolhido, o APP tambm ira modificar o nome que aparece no boto para
DESCONECTAR e uma mensagem aparece ao usurio, informando que esta conectado.
casonoconsigaconectaraoendereoescolhido,exibeumamensagemdeerro.

Nesse ltimos blocos, esto o segredo do uso do reconhecimento de voz, primeiro,


quando o boto BT_Comando apertado,iniciaoreconhecimentodevozdoseuandroid,e
solicitaaelequeenvieemformatodetextooudioquefoifalado.

O bloco, seguinte, atua aps esse reconhecimento, e em forma de texto,


inicialmente pedimos ao APP, que informe atravs deumanotificao,otextointerpretado,
pelo android, isso nos ajuda a verificar, se o nosso udioestasendorecebidopelosistema
ereconhecido.

Na sequencia temos umas cascata de lao condicional IF, o primeiro deles, verifica
seotextogeradoapsoreconhecimentoestadeacordocomoprogramado,(Oscomandos
logicosestonaseoBuiltinnacorverde).

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


meiodoBluetooth.

Agora, repare, o texto enviado, por meio de bluetooth,omesmocarcterqueesta


programadonanossaplaca,ondeoAligaanossasadaeBdesliga.

Se nossa inteno 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 aumentarassituaespermitidas,pelaCaseepronto,
quaseumcopiarecolar.

FABIANOALENCARMAIO2016
afmulti@gmail.com
24

GUIARAPIDODEAUTOMAORESIDENCIAL

Importante
O resultado em forma de texto depende as vezesdoseutomdevoz,
as vezes de configurao interna, isso varia muito, quando abrir o APP, e enviar o
comando de voz, observe se o que aparece reconhecido em notificao 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
notificao.

Feito isso a programao est terminada e precisamos dentro dela no nosso


Smartphone.

No menu do APP Inventor, temos a opo Build, apertando nela aparacem mais
duasopes,
APP(ProvideQRcodefor.apk)
ou
APP(save.apktomycomputer).

A primeira, gera um QR Code, e voc podeusarparabaixaroarquivodireto


nosmartphone.

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


cabo,paratransferirparaocelular.

Eu particularmente prefiro a primaira opo, isso agiliza o processo e hoje


emdianagoogleplaytemosvariosappdeleituraQRCode.

FABIANOALENCARMAIO2016
afmulti@gmail.com
25

GUIARAPIDODEAUTOMAORESIDENCIAL

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

Importante: No seu smartphone a opo de instalar aplicativos de fontes


desconhecidas precisa estar liberada, no se preocupe, se trata de um APP que voc
mesmo fez, e no ha nele cdigos mal intencionado. E se no souber liberar a opo
descrita, no Android, na primeira tentativa de instalar ele vai te solicitar e guiar at o local
ondepoderliberar.

FABIANOALENCARMAIO2016
afmulti@gmail.com
26

GUIARAPIDODEAUTOMAORESIDENCIAL

INSTALAOFINAL

Agora que voc montou tudo oque precisava, deve estar louco prainstalarem casa
efazerseustestes,poisbem,oesquemadeblocosabaixodaumaideiadecomovaificar.

FABIANOALENCARMAIO2016
afmulti@gmail.com
27

GUIARAPIDODEAUTOMAORESIDENCIAL

O Esquema mostra que temos que ter 3 cabinhos finos saindo domoduloe indoao
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
INPino7).

Para uma melhor aparncia acomode o rele com as ligaes feitas, dentro da
caixinha onde esta o interruptor, nesse caso os cabos do mesmo so retirados e
conectadosaorelenosbornesCeNO.

Importante
Manuseie com cuidados a rede eltrica, faa a montagem com
disjuntor desligado, evitando acidentes, se no tiverconhecimentosuficiente,peaauxilioa
umeletricistanessepassodainstalao.

CONCLUSO

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
aoexecutarasminhasdicasdecomoevoluirnessaincrvelatividade.

Nesse material, j foi possvel, mesmo que voc no conhecesse nada de


automao, ter a noo do tamanho que pode atingir caso se dedique cada vez mais ao
aprendizado.

Espero que tenham gostado do material, envie um email, com suas opinies ou
acessenossofacebookedeixeumcomentario

eclarosegostouindiqueaumamigo...eespalhenossosideais.

Abraoatodos,

FabianoAlencar
afmulti@gmail.com
facebook.com/afmultiautomacao

FABIANOALENCARMAIO2016
afmulti@gmail.com
28

GUIARAPIDODEAUTOMAORESIDENCIAL

FABIANOALENCARMAIO2016
afmulti@gmail.com
29