Baixe aqui o arquivo.
Transcrição
Baixe aqui o arquivo.
Eixo Temático: Inovação e Tecnologia Comandos de voz com arduino e Shield Easyvr Voice commands using Arduino and the Shield Easyvr. RESUMO: Este artigo tem como objetivo analisar a importância da democratização do conhecimento com Arduino, contribuindo ao meio social e acadêmico. A escolha do Arduino para construção deste pequeno exemplo deve-se principalmente por ser uma crescente tecnologia de código fonte aberto e ainda pelo baixo custo financeiro na aquisição do hardware. O projeto mostra de forma simples, um passo-a-passo de montagem de um sistema de automação residencial onde as automações abordaram o uso da placa Easyvr, possibilitando o uso da voz humana para comandar ou automatizar a residência. Palavras-Chaves: Arduino, Automação Residencial, Easyvr. ABSTRACT: This article aims to analyze the importance of the democratization of knowledge with Arduino, contributing to the social and academic environment. The choice of the Arduino to build this small example is mainly to be a growing technology open source and also by the low financial cost in acquiring the hardware. The project shows in a simple, step-by-step assembly of a home automation system where the automation addressed the use of Easyvr plate, enabling the use of the human voice to control or automate the residence. Keywords: Arduino, Home Automation, Easyvr. 1 INTRODUÇÃO Levando em consideração que em tempos atuais o tempo e tecnologia são as palavras chaves do dia a dia das pessoas pois uma complementa a outra resultando em maior desempenho nas tarefas do dia a dia e ainda proporcionando satisfação e conforto com baixo custo operacional e alto custo benefício na vida das pessoas, principalmente no dia a dia dos amantes da tecnologia. Pensando um pouco nisso percebe-se que desde o começo da humanidade até os dias de hoje, a evolução, acontece por meio de novas descobertas, de novas técnicas e formas que possam melhorar o desempenho do processo da vida humana. Obviamente que hoje, não se realiza novas descobertas como antigamente, mas hoje, os detalhes podem fazer a diferença bastando apenas uma percepção de melhoramento que tudo pode acontecer, e quem sabe, um novo produto ou startup pode surgir em questão dessa percepção. Para alguns pode ser simples, para outros, nem tanto e quem sabe para alguns, isso não seja possível. Como vimos, sabemos que o sucesso existe e está esperando ser percebido. Os profissionais da área de tecnologia devem estar atualizados em tempo real, para serem capazes de perceber o que pode ser criado ou melhorado, para então, disponibilizar às pessoas algo que possa ser útil em todos os aspectos como por exemplo: os dispositivos moveis, que hoje, tornaram-se indispensáveis no dia a dia das pessoas. A tecnologia arduino também pode-se citar como um leque de possibilidades, pois ela desperta interesse, motivação às pessoas que trabalham nesse gigantesco mundo da tecnologia. Por meio de protótipos pode-se viajar na imaginação, e, com apenas um básico conhecimento em programação e eletrônica é possível criar projetos simples é claro mas capazes de tornar essa ferramenta indispensável no auxílio ao desenvolvimento técnico dos futuros profissionais da área. 2 TECNOLOGIA DA INFORMAÇÃO Tecnologia da informação pode ser entendida ou definida como um conjunto de atividades e soluções derivadas de recursos computacionais que visam a produção, armazenamento, transmissão, acesso, segurança e o uso de informações. Pode haver inúmeras outras definições para essa tecnologia, devida a amplitude de sua aplicação, onde talvez nenhuma delas pode determina-la por completo. Resumindo, é a área da informática que trata da informação de forma organizada, classificando-a facilitando às tomadas de decisões, entre outras funções vitais de uma empresa. Para BATISTA, E. O.(2013), a tecnologia da informação integra o nosso cotidiano, em praticamente todos os lugares ou setores em que frequentamos ou atuamos. Esse perfil caracteriza-se pela grande aplicabilidade da tecnologia da informação. Hoje, com o advento da telemática1 e o desenvolvimento exponencial2 da internet em conjunto com as necessidades dinâmicas impostas pela globalização, criou -se um ambiente em que os proprietários e gestores de empresas necessitam de razoável conhecimento sobre o universo tecnológico para estarem cientes dos novos prováveis aliados para o desenvolvimento de sua empresa. BATISTA, E. O. (2013, p. 78) Antigamente esses conceitos, se faziam necessários somente para os responsáveis por tecnologia, hoje precisam ser abordados por todos os envolvidos com as tomadas de decisões das organizações. 1 Comunicação à distância de um conjunto de serviços informáticos fornecidos através de uma rede de telecomunicações. 2 Representativa da sua classe, profissão, ramo de atividade. 2.1 AUTOMAÇÃO Automação é a tecnologia aplicada à sistemas elétricos, eletrônicos, mecânicos e na atualidade podemos incluir na lista os sistemas processados, ou seja, no controle de sistemas de produção. Com o objetivo de agilizar, ampliar ou substituir o trabalho humano. (LUÍS FELIPE BATISTA, 2013) Ainda conforme o artigo, Introdução à automação de (LUÍS FELIPE BATISTA, 2013, p. 4) o termo correto em português é automatização ao em vez de automação. O termo automação popularizou-se devido ao termo derivado do inglês “automation”, por se tratar de um termo mais usual na literatura. A figura 1 exemplifica de forma gradual o significado de automação ou automatização, onde o mesmo processo, sofreu várias melhorias, passando de um processo manual até o final sem a intervenção humana; logo é um processo 100% automatizado. Observe a imagem à baixo. Figura 1: Exemplo de Automatização. Fonte: Luís Felipe Batista, 2013. Como já vimos, estamos em meio à era da tecnologia, onde ouvimos com muita frequência o termo tão sonhado por todos os setores da Industria, do comercio e até mesmo em nossos lares. Todos querem uma forma de interagir com as máquinas; “vimos que é possível, então queremos pôr as máquinas para trabalhar”. O homem, nessa situação, necessita cada vez mais usar o seu cérebro e cada vez menos seus músculos. Porém essa mudança faz com que os profissionais necessitem cada vez mais se especializar, buscando competências para o desenvolvimento de suas atividades. (GEOMAR MARTINS, 2007/2012, p. 15) É preciso estar atento às novas e frequentes mudanças em que o mundo tecnológico proporciona, para alcançarmos o sucesso com os nossos projetos. 2.2 AUTOMAÇÃO RESIDENCIAL Após uma breve noção de automatização ou automação, prossegue-se com uma abordagem ao assunto: Automação Residencial, pois esse trabalho tem em seus objetivos, a automatização de residências. (LUZ et al., 2014), define-se Automação Residencial como uma técnica ou um conjunto de técnicas que proporcione algum tipo de melhoria, de forma automática, relacionado à conforto e segurança de residências e conjuntos habitacionais, tais como: biometria3, portões eletrônicos, câmeras de segurança, controle de luminosidade, umidade, temperatura, ou 3 Verificação da identidade de uma pessoa através de uma característica única inerente a essa pessoa. EX; Digitais. (TESTECH, 2014, http://www.geomok.com.br/view.asp?cod_secao=26) qualquer outro dispositivo eletroeletrônico. Já para Muratori e Bó (2013), eles definem automação residencial como, “um processo que, usando diferentes soluções e equipamentos que possibilita ao usuário usufruir o máximo de qualidade de vida na sua habitação.”. Há pouco tempo atrás, esse tema (Automação Residencial) era visto apenas como luxo, mas os tempos passaram e surgiram novos conceitos tecnológicos, capazes de fazer-se necessário rever esses conceitos, pois muitos daqueles conceitos futuristas, hoje, são utilizados com naturalidade por muitas famílias brasileiras. Se pararmos para analisar, podemos lembrar que os carros há alguns anos, não havia direção hidráulica, freios ABS, injeção eletrônica, vidros, travas e espelhos elétricos e, antigamente, abríamos o carro usando a chave, e não o controle remoto; esses itens, eram conceituados como supérfluos no passado, mas agora no presente, todos esses acessórios, com ampla acessibilidade aos mesmos passaram a equipar até mesmo os carros populares. (MURATORI; BÓ, 2013) É importante lembrar que a automação residencial, assim como os carros, é impulsionada por argumentos como conforto, segurança ou status e ultimamente, pela sustentabilidade; e em um futuro próximo, esses acessórios serão “itens de série” em nossas residências. (MURATORI; BÓ, 2013) Nos tempos atuais, temos inúmeras maneiras de automatizar uma residência ou parte dela. Mas para que seja possível fazer um bom trabalho, a empresa responsável pela árdua tarefa de automatização, deve ter em muita experiência no assunto, pois não é nada fácil executar o projeto em uma residência mais antiga, já construída, sem um certo grau de projeção para essa finalidade, a melhor forma seria trabalhar em parceria com Arquitetos para planejar a estrutura da melhor forma possível; diminuindo tempo e o valor final do projeto, com maior qualidade no acabamento. (MURATORI; BÓ, 2013). 2.2.1 Benefícios da Automação Residencial Anteriormente, automação residencial, era considerada um status importante para quem tinha condições financeiras para automatização de sua residência, isso era algo muito importante para mostrar aos seus amigos. Observando dessa forma, de fato a automação residencial, era considerada como luxo, pois apenas pessoas com alto poder aquisitivo tinham condições de automatizar sua residência, ou parte dela. Mas felizmente, novas tecnologias surgiram, consequentemente, novos sistemas foram criados, gerando uma certa concorrência nessa área, pois novos fabricantes surgiram e logo o custo financeiro ficou mais acessível para o usuário final, viabilizando de vez a automatização residencial inclusive em residências de menor porte. (MURATORI; BÓ, 2013) A partir desses pontos percebe-se que hoje, a automatização residencial, passa a ser mencionada como conforto, pois atividades rotineiras podem ser programadas, facilitando assim o dia-a-dia na residência, e essa é a verdadeira razão de existência e fortalecimento da automação residência; tornar as atividades rotineiras, programáveis conforme às necessidades ou exigências do(s) usuário(s). Vejamos alguns fatores importantes na hora de decidir implantar um sistema de automação em qualquer residência: Quem não gostaria de chegar em casa e o caminho, à noite, ficar iluminado sem que ninguém acione um interruptor, apagar as luzes ao ir dormir, irrigar o jardim se não chover em um determinado tempo, controlar a temperatura ambiente, ou até mesmo da água do banho ou quando você chegar em casa com as mãos cheias de compras e a porta se abrir para você sem ter que largar suas compras ao chão. Também é possível obter um grau mais elevado de segurança, por meio de uma integração de sistemas; Se o usuário sair em viagem, sua casa continuará ativa, monitorando e enviando informações do ambiente interno ou externo para o proprietário, possibilitando ao mesmo, tomar ou não alguma atitude se assim for necessária. (MURATORI; BÓ, 2013) Outro fator muito importante, na hora de decidir automatizar ou não, é o fato de que podemos economizar energia elétrica ao automatizar a residência. Pois o simples fato de desligar lâmpadas ou motores, quando estão ligados desnecessariamente, e ainda, estudos mostram que uma lâmpada, quando limitada em 90% de sua capacidade, não causam nenhuma alteração visual, mas com isso se reduz 10% no consumo de energia e aumenta a vida útil da mesma. Se o usuário preferir ou por necessidade, a automação disponibiliza uma série de interfaces para controlar todo o sistema, podendo interagir com o sistema, utilizando comandos de voz, sensores de presença, sensores de proximidade, ou um sensor de queda para identificar uma queda do usuário por exemplo, ou qualquer outra pessoa ou objeto e então enviar um pedido de socorro, via mensagem ou ligação telefônica. (MURATORI; BÓ, 2013) Ainda, um fator interessante, é a escolha do sistema a ser usado, pois envolve fatores como o estágio atual do andamento da obra, o capital a ser investido, e por final, o tipo de tecnologia que será usada na automação. Nesse caso utiliza-se a ferramenta Arduino, por motivos de que, o Arduino atende todos os itens mencionados à cima perfeitamente, e por ser uma das tecnologias que mais se destacam nos últimos tempos, e não esquecendo que ainda facilita muito a sua implantação e uso final por parte do usuário. (MURATORI; BÓ, 2013) 3 A TÉCNOLOGIA ARDUINO Esta Tecnologia ou essa poderosa ferramenta de prototipagem, foi recentemente desenvolvida, no ano de 2005 na cidade de Ívrea na Itália. Inicialmente, com a intenção de auxiliar alunos de design a desenvolver seus projetos e, ainda, o custo da ferramenta não poderia ultrapassar o valor que um aluno gastaria quando saísse a noite para comer uma pizza. De início foram produzidas 200 placas micro controladoras baseadas na ferramenta Arduino, que cujo o nome foi escolhido em homenagem à um bar da cidade. (EVANS MARTIN, 2013). Formado por apenas dois elementos, uma placa eletrônica, que é o elemento de hardware possibilitando a construção física do projeto, e o IDE, que o elemento de software, executado inicialmente em um computador, possibilitando a configuração para escolher o tipo de hardware em questão e consequentemente a criação de um sketch (Pequeno programa de computador), após isso será feito upload para a placa Arduino e então a placa saberá o que fazer. (BANZI, 2011) Ainda conforme Banzi (2011), que foi um dos desenvolvedores do projeto Arduino. Ele afirma que o Arduino é diferente de todas as outras plataformas disponíveis no mercado, apontando 7 (sete) itens para justificar a sua afirmação, os quais são: Ambiente multiplataforma; Baseia-se em um IDE de programação; Pode ser programado por meio de um cabo USB, sem a necessidade de porta serial; Possui o hardware e software, ambos de fonte aberta; Baixo custo financeiro; Ajuda por meio de comunidade de usuários; Ideal para iniciantes que desejam resultados imediatos. (BANZI, 2011, p. 36) Para construir os protótipos é necessário, um Arduino, uma protoboard4, jumpers e algum tipo de componente, que pode ser um simples LED vermelho. Até o presente momento, já existem uma série de versões do Arduino ambas baseadas no microprocessador de 8bits Atmega AVR reduced instruction set computer (RISC). A primeira placa era baseada no ATmega8, com velocidade de 16MHz e memória flash de 8KB; 4 É uma placa com furos e conexões condutoras para montagem de circuitos elétricos experimentais. (WIKIPÉDIA, 2014) <http://pt.wikipedia.org/wiki/Placa_de_Ensaio> sucessivamente as versões NG Plus e Diecimila (nome italiano para 10.000) usavam o ATmega168 sendo que esse já veio com memória flash de 16KB. Outra versões ainda mais recentes, como a Duemilanove e Uno, usam o ATmega328 com memória de 32KB, podendo comutar, entre USB e corrente contínua (DC), para os projetos que exijam mais entrada e saída e memória. Há também outras duas versões, o Arduino Mega1280, com memória de 128KB e também o mais recente Arduino Mega2560, este com memória de 256KB. (EVANS MARTIN, 2013). Todas as placas tem 14 pinos digitais, onde por meio da programação, cada um pode ser definido como entrada ou saída e mais 6 entradas analógicas. Ainda, dos 14 pinos digitais, 6 deles podem ser programados para fornecerem uma saída de modulação por largura de pulso (PWM). Também estão disponíveis, diversos protocolos de comunicação, como: Serial, Bus serial de interface periférica (SPI) e 12C/TWI; incluídos e cada placa como recurso padrão, estão um conector de programação serial in-circuit (ICSP) e um botão reset. Como podemos ver o Arduino é integrado por uma pequena placa, alguns componentes eletrônicos, inclusive um microchip que efetua o processamento dos dados, seja, eles de entrada ou saída, é como um minicomputador e que utiliza uma linguagem de programação, baseada na linguagem de programação C/C++. Também não podemos esquecer uma dos detalhes mais interessantes da ferramenta, que sua planta ou projeto foi desenvolvido livremente, ou seja, todos os interessados, poderão ter acesso ao projeto e consequentemente efetuar cópias, baseadas ou semelhantes ao Arduino. A ferramenta não foi patenteada, apenas o nome ARDUINO foi patenteado, tornando obrigatório ao menos as últimas 3 letras do nome, acompanhar o novo projeto. (EVANS MARTIN, 2013, p. 26). 3.1 ARDUINO VERSÕES As duas versões mais usadas como forma de adquirir conhecimento na área são as versões UNO e MEGA, mas logicamente que uma ferramenta tão poderosa como o Arduino não se limitaria em apenas duas versões, embora essas sejam muito poderosas e nos oferecem grandes possibilidades para implementar nossos protótipos. Existem várias outras versões e cópias legais do Arduino, cada uma delas com uma característica específica e além disso, se todas essas versões existentes, ainda não atendam às exigências de um possível projeto, há a possibilidade de ser criada uma nova cópia, baseada em Arduino, ou quem sabe melhorar as que já existam, adaptando-as à novas necessidades; pois o hardware do Arduino é de código aberto onde os projetos e códigos fontes estão disponíveis para downloads no site oficial do Arduino, possibilitando portanto, a criação de novas cópias legais. Nessas versões adicionais, destacam-se o Lilypad Arduino e o Arduino Roboot. O Lilypad é um Arduino ótimo para projetos têxteis e esteira industrial; seus grandes blocos, podem ser costurados ao tecido, juntamente com uma gama de acessórios à ele desenvolvidos, como: sensores de luz, campainha, LEDs, Sensores de temperatura, kits de costura e acelerômetros; e o legal dele é que depois de tirar ele da fonte de alimentação, ainda é possível lavar ele. (EVANS MARTIN, 2013 p. 30) O Arduino Roboot, caracteriza-se por ter dois processadores e ser o primeiro Arduino sobre rodas, onde cada roda possui um processador, seu micro controlador é o ATmega32U4 com 32KB de memória flash. Como o próprio nome já diz, ele é ideal para desenvolvimento de robôs. (EVANS MARTIN, 2014). Para obter uma conceito mais amplo sobre as diversas versões de placas Arduino, basta acessar o site oficial do Arduino no seguinte endereço eletrônico: http://arduino.cc/en/Main/Products. 3.2 SCHIELDS Segundo o site oficial (Arduino, 2013), shield nada mais é do que uma placa que pode ser conectada ou encaixada em cima do Arduino, com isso aumentará as suas respectivas capacidades. Como visto, existem várias versões de placas Arduino, isso acontece também com os Shields que também podemos encontrar os mais variados tipos, para as mais diversas funções. Existem Shields usados como entrada, como saída, e ainda também coas as duas funções de entrada e saída. Um exemplo de uso de Shields assim é possível por exemplo, uma comunicação de rede Ethernet com o Arduino, podendo interagir com servidores, locais ou remotos, ou ainda transmitir dados para qualquer dispositivo via Bluetooth, Wi-Fi. Há Shields com circuitos integrados para controlar motores sem que precise se preocupar com complicações eletrônicas envolvidas, outros possuem leitor de cartão SD, acelerômetro, GPS e muitos outros sensores que podem gerar dados importantes para o software que estão rodando no micro controlador. (JUSTEN, 2013). Figura 2: Arduino Uno com Shield Ethernet. Fonte: < http://waihung.net/arduino-ethernet-shield-r3/> Outro exemplo de Shield, é o EasyVR Arduino Escudo 2.0, ele é capaz de reconhecer a voz, multi-idiomas para qualquer aplicação desenvolvida na plataforma Arduino. O EasyVR introduz a capacidade aos usuários de criar até 32 comandos independentes via microfone. Além disso, o EeasyVR 2.0 inclui tecnologia SonicNet para comunicação sem fio entre os módulos ou qualquer outra fonte de som. A geração de tons DTMF5 também está incluído. Alguns exemplos de aplicação incluem automação residencial, tais como interruptores de luz controlando-os por meio de comandos de voz, abrir ou fechar portas, ou até mesmo controlar a TV ou qualquer outro dispositivo eletro eletrônico. 5 É a sigla em inglês de "Dual-Tone Multi-Frequency", os tons de duas frequências utilizados na discagem dos telefones mais modernos. Figura 3: EasyVR. Fonte: (VEEAR, 2014) Na figura 3 (três), podemos a colocar a imaginação para funcionar, onde literalmente, podemos pegar as malas e viajar em um mundo de possibilidades que a imaginação nos proporciona. Com o EasyVR é possível conversar com o Arduino, e pedir à ele efetuar as ações programadas, simplesmente falando o comando gravado. Com certeza isso é uma grande possibilidade que temos em mãos, ou melhor na voz, pois nos tempos modernos, todas as pessoas tem muita pressa e sempre estão muito ocupadas, portanto as mãos são muito importantes para inúmeras tarefas diárias. Usando a voz, podemos liberá-las para novas tarefas ou evitar a interrupção de um processo manual, e poderemos efetuar inúmeras tarefas diárias usando a voz e o Arduino. 3.2 SOFTWARE IDE Para entender o que significa a sigla IDE, observe a citação a baixo: É um programa especial executado em seu computador que permite a criação de sketch para a placa Arduino em uma linguagem simples, a partir da linguagem processing6. O truque na verdade ocorre quando você pressiona o botão que faz upload do sketch7 para a placa: o código escrito é traduzido na linguagem C/C++ e é transmitido para o compilador avr-gcc. (BANZI, 2011, p. 36) Como podemos observar, é dessa maneira que o Arduino, simplificas as coisas, tornando atividades complexas na programação em relação ao micro controlador, logo entendemos que o IDE, traduz o código escrito para facilitar o desenvolvimento dos projetos. São 4 as etapas para que seja possível efetuar a criação de um sketch ou programa para o Arduino, elas são: Comunicação da placa Arduino e um computador, por meio de cabo USB; Criar um sketch utilizando o IDE; Testar e Fazer upload do sketch para a placa; A placa irá executar o sketch criado. 6 É uma linguagem de programação, ambiente de desenvolvimento e comunidade on-line. Desde 2001, tem vindo a promover a alfabetização de Processamento de software dentro das artes visuais e alfabetização visual dentro da tecnologia. (http://www.processing.org/) 7 É um esboço é o nome que usa Arduino para um programa. É a unidade de código que é enviado para o e executado em uma placa Arduino. (www.arduino.cc/en/Tutorial/Sketch) Para que seja possível o uso do IDE, e programar sketch para a placa Arduino, é necessário fazer a comunicação entre o Arduino e o computador que será usado, isso acontece por meio da instalação do drive que o Arduino disponibiliza em seu site oficial para download (www.arduino.cc/en/Main/Software). Após acessar o site, basta escolher a ver a versão correta para o sistema operacional que o computador hospedeiro utiliza e efetuar o download, lembrando que o Arduino é multi-plataforma, podendo operar em vários sistemas operacionais, por isso é importante saber o sistema operacional a ser usado. (BANZI, 2011, p.37) 4 METODOLOGIA A metodologia é onde estuda-se as etapas à serem seguidas no projeto, ou seja é, uma maneira de conduzir a pesquisa explicando de forma minuciosa, os instrumentos utilizados, o tempo previsto, a equipe de pesquisadores e a divisão do trabalho, as formas de tabulação e tratamento dos dados, enfim, de tudo aquilo que se utilizou no projeto de pesquisa. (CONCEITO.DE, 2010) 4.1 CARACTERÍSTICAS DA PESQUISA A pesquisa realizada caracteriza-se como teórico-empírico, onde foram utilizados dados absorvidos de ampla bibliografia, como: Livros, Artigos, Homepage, Mídias removíveis (DVDs), objetivando coletar o maior número de dados possíveis para que a informação contenha o máximo de precisão possível, para realização do projeto e logo em seguida foi colocado em prática todo o conteúdo absorvido na pesquisa, onde foi então, desenvolvido um protótipo de automatizado, buscando chegar aos resultados esperados. Segundo Fae (2014), a pesquisa é um procedimento racional e sistemático que tem por objetivo proporcionar respostas aos problemas que são propostos. Em relação ao tratamento dos dados essa pesquisa é classificada como pesquisa teórica, pois a principal fonte de coleta de dados para o desenvolvimento do projeto, é por meio bibliográfico. O processo de desenvolvimento do sistema proposto, (Automatização residencial) será utilizado o micro controlador Arduino. Sobre a pesquisa teórica, Educação (2013) afirmam que “este tipo de pesquisa faz uma análise de determinada teoria, sempre utilizando embasamentos teóricos para explicar a pesquisa que está sendo levantada. Artigos científicos é um exemplo de uma pesquisa teórica.”. A pesquisa quanto aos procedimentos técnicos, caracteriza-se pelo o alcance dos objetivos propostos por tanto agora essa pesquisa torna-se uma pesquisa ação. Esse tipo de pesquisa (Pesquisa Ação) obtém-se por meio da união entre a pesquisa e a ação ou o desenvolvimento prático, buscando solucionar o problema, automatização de portão eletrônico e esse por sua vez tem o propósito de satisfazer as exigências do proprietário da residência, a qual será implantado o sistema. 5 DESENVOLVIMENTO No Desenvolvimento, será abordado o caminho pelo qual o projeto seguirá quanto ao desenvolvimento de um protótipo de automação residencial. 5.1 REQUISITOS DO PROBLEMA Pretende-se desenvolver um sistema de automação residencial usando o micro controlador Arduino, bem como, a escolha de alguns componentes externos como por exemplo a Shield EASYVR que se encaixam ao arduino, possibilitando a iteração de voz ao sistema. Desta forma será iniciada a segunda parte desse projeto, o desenvolvimento, onde foram feitos inúmeros testes, para então apontar as formas que melhor atendem os objetivos do projeto. . 5.1.1 Requisitos Específicos Como já pode-se ver anteriormente, nesse projeto, o Easyvr é um modulo que faz o reconhecimento por voz e executa comandos, possibilitando o controle de aparelhos eletroeletrônicos com o a integração com o arduino em suas versões Mega, Uno R3, Leonardo ou Duemilanove. Mas para que a placa possa alcançar um bom desempenho em suas tarefas, são necessários alguns requisitos: 5.1.1.1 Requisitos Funcionais Reconhecimento da voz ou som: Pode ser usado para várias aplicações, podendo efetuar facilmente o reconhecimento de voz de forma versátil, robusta e com baixo custo. O sistema pode ser implantado em automações residenciais, tais como, interruptores de luz controlados por comandos de voz, cortinas ou utensílios de cozinha, ou até mesmo em robôs, para que possam ouvir e detectar a voz humana; Suporta diversos idiomas personalizados: UK English, German, French, Italian, LA Spanish, Korean, Japanese; Suporta até 32 Comandos de voz definidos pelo usuário: Dentre os comando, o usuário poderá adicionar senhas de voz, e inúmeras outras formas de sons, podendo ser reconhecidos posteriormente pelo sistema; Reconhecimento por Tom DTMF: "Dual-Tone Multi-Frequency" é uma frequência utilizada por telefones mais modernos, ou seja, o sistema é capaz de reconhecer as teclas pressionadas do telefone ouvindo o som das teclas; 5.1.1.2 Requisitos não Funcionais Quatro carros de impressão, reutilizados de impressoras da marca HP; Uma Placa Arduino compatível com o modulo Easyvr: para permitir a programação da placa Arduino e o modulo; Um modulo Easyvr: para que possibilite gravar sons ou comandos para posteriormente efetuar o reconhecimento da voz e executar a ação gravada por comandos; Um alto-falante de 8Ω (oito ohms): Compatível com o modulo Easyvr ou adaptado à um amplificador, para ser usado como saída de áudio; Instalação de drivers do dispositivo: Inicialmente, o usuário deverá dispor de um computador com sistema operacional Windows ou Linux; para que o dispositivo possa se conectar com ao computador possibilitando sua configuração posteriormente; tanto do Arduino, quanto do Easyvr. Chapas de MDF: para a construção de uma maquete que suporte a estrutura de um mini portão eletrônico; Cabos de rede descartados; Um motor de corrente contínua (DC) 12v: Para propulsionar o portão; Um modulo relé: Para efetuar o acionamento do motor, funciona como um interruptor (Chave liga/desliga). Uma fonte auxiliar de alimentação: Para possibilitar o acionamento do modulo relé, pois o mesmo necessita de 12v (doze volts) para ser acionado. 5.2 Especificações Para especificar o trabalho, foram adicionadas imagens ilustrativas usadas para demonstração do desenvolvimento do sistema de automação residencial simples controlado por voz ou som. 5.2.1 Placa Arduino, easyvr e modulo relé Na Figura 4 – visualizamos as placas do Arduino em sua versão Mega 2560 a placa de reconhecimento de voz, o modulo Easyvr e o modulo relé fabricado pela DFROBOT. Nesta figura, observamos as três placas principais do projeto ainda não acopladas ao Arduino, mas a figura 5 ilustrará o sistema com as placas já montadas de maneira correta. Figura 4 – Arduino Mega, Easyvr e Relé. Fonte: Dados primários – 2014. Figura 5 – Placas acopladas. Fonte: Dados primários – 2014 OBS: O sistema está agora com as placas principais acopladas, lembrando que para isso, deve-se ter alguns cuidados ao acoplar as placas umas nas outras; observe se ao encaixar as placas, os pontos de soldas da parte inferior da placa superior não encostem nos pinos da placa inferior. Caso aconteça isso, a placa inferior, poderá ser danificada. Observe também se os pinos da placa superior irão ou estão encaixados corretamente, isso determina um bom funcionamento do sistema. 5.2.2 Iniciando o sistema Considerando que os drivers do Arduino já esteja devidamente instalados no sistema, execute os passos a seguir: 1- Baixe o Easyvr setup Devkit de drivers e documentação do modulo Easyvr 2.0 no site do fabricante: http://www.veear.eu/downloads/ 2- Instale os drivers clicando duas vezes em "EasyVR_DevKit_Setup.exe" 3- Se a instalação teve êxito, você verá uma nova porta COM virtual no seu gerenciador de dispositivos, assim que você conectar o cabo USB ao DevKit EasyVR: (O número da porta COM exato pode variar) 4- Agora inicie o Commander Software EasyVR 5- Escolha aconselhou Porta COM e clique em Conectar 6- Então aproveite a sua EasyVR! OBS: Conectado o módulo EasyVR a uma placa Arduino, basicamente, pode-se ser usado de duas formas: Modo Bridge - Você pode controlar o módulo usando uma biblioteca de série do software e conectar-se ao módulo EasyVR Commander já instalado em seu computador, com a mesma configuração de pinos; Modo adaptador - Você pode usar a placa Arduino como um adaptador USB/ Serial segurando o micro controlador em reset, mas você precisa mudar as conexões uma vez que você quiser controlar o módulo do micro controlador. 5.2.3 Primeiros testes Após todos os drivers de dispositivos instalados, podemos então prosseguir com o desenvolvimento do sistema. Ainda no site do fabricante, deve-se baixar o Easyvr Arduino Biblioteca e após o download, abra a pasta EasyVR-Arduino-library e copie a pasta Easyvr para o diretório do seu Arduino, ou seja da IDE do Arduino dentro da pasta Libraires. Desta forma, podemos abrir a IDE do Arduino e testar o Easyvr. Figura 6 – Exemplos de uso disponíveis. Fonte: Dados primários – 2014 A Figura – 6 ilustra a IDE do Arduino com os exemplos do Easyvr disponível para testes, tanto em modo bridge quanto em modo de teste. 5.2.4 Criando sons para comandos Para criar sons de comandos, é um processo trabalhoso, pois exige a criação e edição de arquivos de áudio no formato (.WAV8). Este formato de áudio é indicado, pois permite a compactação do arquivo em bits, isso para reduzir o tamanho do arquivo, facilitando o armazenamento e consequentemente o processamento do mesmo, por meio da placa Easyvr. Os arquivos de áudio podem ser criados baseados na própria voz do usuário ou uma voz programada, como por exemplo a voz do Windows, que existe 2 versões em português; uma voz feminina e uma voz masculina. Neste caso, será exemplificado com o uso da voz do Windows em sua versão feminina. Considerando que a voz já esteja instalada na máquina do usuário, siga os passos à seguir, para criação dos comandos: 8 É um formato-padrão de arquivo de áudio da Microsoft e IBM para armazenamento de áudio em PCs. 1 - Acesse a conversão de texto em fala do Windows: “Menu iniciar – Painel de Controle – Reconhecimento de fala – Conversão de Texto em fala” Figura 7 – Voz do Windows Fonte: Dados primários – 2014 A Figura – 7 exemplifica como é a janela onde iremos gravar os comandos de voz. Após a abertura dessa janela, na caixa de texto editável, escreva os comandos desejados e então clique no botão “Demonstração de voz” o sistema falará em voz alta o texto contido na caixa editável. 2 – Instalar um sistema de captura de áudio interno: Nesse caso o programa usado é o Camtasia Studio que possibilita a gravação da tela do computador, bem como do áudio nele executado. Figura 8 – Voz do Windows Fonte: Dados primários – 2014 A figura 8 Exemplifica o Camtasia Studio em execução; para gravar o áudio, basta clicar em “Record the Screen” e a tela de gravação irá aparecer na área de trabalho com algumas opções de gravação, veja: Figura 9 – Camtasia Studio gravando o áudio Fonte: Dados primários – 2014 A figura 9 exemplifica como pode ser gravado os comandos de áudio que posteriormente serão usados para comandar o Easyvr. 3 – Após a gravação de todos os comandos, agora esse arquivo deve ser salvo e exportado para que possivelmente possamos editar o mesmo. Primeiramente esse arquivo será salvo como um projeto do Camtasia Studio, e posteriormente terá que ser exportado para um formato de vídeo, pois a o Camtasia gravou a tela toda do PC, então veja como exportar: Figura 10 – Camtasia Studio gravando o áudio. Fonte: Dados primários – 2014 A figura 10 exemplifica os procedimentos para exportar o arquivo gerado pelo Camtasia Studio. Quando visualizar esta tela, então clique em avançar, defina um nome para o arquivo e pronto já está salvo; agora é a hora de retirarmos o áudio desse arquivo, utilizando um programa chamado de Format Factory. Esse programa permite a edição de diversos arquivos de mídia, veja na figura a baixo: Figura 11 – Format factory Fonte: Dados primários – 2014 A figura 11 exemplifica o programa Format Factory convertendo todos os arquivos de mídia para arquivo de áudio no formato que pretendemos e aceito pela placa Easyvr nesse caso o formato WAV. Selecione o arquivo salvo anteriormente, e clique em “Abrir”, depois em “OK” e finalmente em “Start”. Finalmente agora teremos um arquivo de áudio para que possamos editar da forma que desejarmos. Após o salvamento do arquivo, o Format Factory, geralmente salva dentro da pasta “C:\documentos\ FFOutput\” ou em “C:\ FFOutput”. 4 – Agora já com o arquivo de áudio gerado, podemos editar o arquivo usando um outro programa, bem simples de ser usado; chama-se Audacity. Baixe e instale ele também, veja a demonstração: Figura 12 – Audacity Fonte: Dados primários – 2014 A figura 12 ilustra o programa editor de áudios Audacity em execução, depois que chegar a essa etapa, então carregue o arquivo de áudio salvo anteriormente; clicando em “Ficheiro – Abrir”, ou pressionando as teclas “Ctrl + O” ou simplesmente arrastando o áudio para dentro do Audacity. 5 - Após carregar o áudio para o Audacity, observamos que os nossos comandos estão em um único arquivo de áudio e para que funcione precisamos dividir um por um, criando para cada comando um arquivo de áudio separadamente. Observe o arquivo carregado: Figura 13 – Áudio carregado Fonte: Dados primários – 2014 Na figura 13 pode-se ver o áudio carregado, agora para começar a divisão dos arquivos, recomenda-se abrir uma nova aba do Audacity para que ao selecionar e cortar uma determinada área do áudio carregado, seja possível colar a parte cortada na outra aba do Audacity; Desta forma teremos um novo arquivo de áudio separadamente dos demais, ou seja, teremos um comando para o Easyvr já praticamente pronto. Agora já podemos salvar esse novo arquivo e para isso faça o seguinte: clique em “Ficheiro – Exportar áudio”, depois dê um nome ao novo arquivo e clique em “Salvar”. Abrirá uma janela para inserir dados sobre este arquivo, informe se desejar ou deixe em branco se preferir. Repita esse processo aos outros comandos disponíveis no arquivo principal. 6 - Após a edição de todos os comandos, antes de carregar eles na memória do Easyvr, é preciso ainda fazer uma edição, mas agora é bem simples: retorne ao programa Format Factory e novamente em “Áudio – WAV”, veja: Figura 14 – Áudio carregado Fonte: Dados primários – 2014 Observe na figura 14 que agora precisamos efetuar uma alteração na configuração de saída, para que os comandos criados sejam do tipo WAV com apenas 1 Canal de áudio e taxa de transferência de no máximo 8000Hz. Para tal configuração, clique em “Output Setings” e então na nova janela que abrir, faça as determinadas configurações e clique em “OK”; agora poderá carregar todos os comandos no Format factory selecionando e arrastando eles para dentro do programa e então clique em “OK” e depois em “Start”. Feito isso, os comandos estarão prontos para serem compactados e posteriormente carregados ao Easyvr. 7 - Agora poderemos usar um programa instalado na máquina juntamente com os drivers do Easyvr é o QuickSynthesis. Esse sistema compacta os arquivos em um único arquivo novamente, mas agora em especifico para a placa, veja como: Figura 15 – QuickSynthesis em execução. Fonte: Dados primários – 2014 OBS: O QuickSynthesis necessita ser executado como Administrador para funcionar corretamente. Na figura 15 podemos observar a interface do programa QuickSynthesis. Agora para prosseguirmos, Faça o seguinte: clique em “create a new project” Clique em “OK” e defina um local e nome do projeto, salve e então adicione os arquivos de áudio criados clicando no sinal de “mais” na cor verde (Add WAV File), salve e clique em “Build” e “OK”. Pronto, apesar do processo trabalhoso, agora temos um arquivo pronto para exportar para a placa, com todos os comandos para que o Easyvr possa interagir com o Usuário. Agora teremos que finalmente exportar o arquivo para a placa, e para isso o Jumper da placa Easyvr, deve ser posicionado na posição “UP”. Após completar essa etapa, abra o software “Easyvr Commander”, pois é esse programa, o principal programa de controle da placa; embora a sua linguagem padrão seja o Inglês, é muito simples de opera-lo. Considerando que a placa Easycr esteja devidamente conectada ao Arduino e este ao computador por meio de um cabo USB; E o jumper da Easyvr na posição “UP”, abra o EasyvrCommander e clique em “Update Custon Data”. Figura 16 – Easyvr Commander Fonte: Dados primários – 2014 A figura 16 ilustra o procedimento de como efetuar o carregamento dos arquivos de áudios criados anteriormente, os quais serão usados como comandos para a placa Easyvr. Após abrir essa janela do EasyvrCommander, basta clicar no botão “Import” e então selecionar o arquivo de som gerado no software QuickSynthesis e em seguida clique em “Abrir”; então o sistema efetuará o download dos comandos para a memória da placa Easyvr tornando possível a gravação e treinamento dos comandos diretamente na placa. Considerando que o arquivo com os comandos já tenham sido gravados na memória da placa Easyvr, já é possível criar os comandos e trina-los com voz do usuário, para que desta forma a placa possa entender o que é falado, ou seja, quando o usuário falar um comando igual ao comando gravado, a placa responderá à aquele comando executando a ação programada. Para que seja possível efetuar a criação dos comandos e o treinamento dos mesmos, deve ser efetuados os seguintes procedimentos: Posicione o jumper da placa Easyvr na posição “PC”; Fazer a conexão via porta serial do computador, clicando em “Connect”; Observe que ao clicar em SoundTable, já é possível visualizar os sons criados; Para criar comandos, selecione um grupo, e clique em “Add Command”; Escreva algo sobre o comando, pode ser qualquer texto; Selecione o novo comando criado e clique sobre “Train Command”, abrirá uma pequena janela com duas opções: Phase1 e Cancel, Clique em Phase1 fale o comando e a placa salvará a voz ou som e abrirá a janelinha novamente, com as opções: Phase2 e Cancel, clique em Phase2 e fale novamente o mesmo comando. A placa Easyvr salvou os comandos em sua memória e então é possível treiná-la clicando em “Test Group” e quando abrir uma janelinha, fale o comando gravado, se a placa conseguir fazer o reconhecimento ela pulsará na cor verde a linha do comando. Observe a figura à baixo: Figura 17 – Easyvr Commander em reconhecimento do comando Fonte: Dados primários – 2014 OBS: para gravar os comandos e ter um bom resultado no reconhecimento, é necessário gravar os mesmos, no ambiente onde o sistema se encontra e com o menor número possível de ruídos ao fundo. Caso o reconhecimento falhar aparecerá uma mensagem de alerta informando a falha. Ainda observando a figura 17, nota-se que tem 15 grupos de comando diferentes e um grupo especial para senhas, que é o “Password” onde é possível criar e treinar senhas que poderão ser solicitadas pelo sistema durante uma ação. Nos demais grupos podem ser criados diversos comandos, e no caso da figura 23, no grupo 1 (um) foram criados 7 (sete) comandos diferentes e para ordená-los de forma à facilitar a programação e até mesmo o reconhecimento da voz, quando por exemplo, for falado o comando portão, o sistema fará o reconhecimento e por meio da programação no Arduino ele efetuará a ação; como o portão pode ter 3 ações que podem ser: “Abrir”, “Fechar” e “Parar”, será criado em outro grupo as ações reais do portão, onde da mesma forma, cria-se os comandos e treina-se pela voz o uso deles deforma que ao ser falado o comando “Portão” , o sistema ao reconhece-lo, pule para o grupo onde encontram-se os comando correspondentes ao portão. Veja como ficaria a programação nesse caso: Figura 18 – Easyvr Commander em reconhecimento do comando Fonte: Dados primários – 2014 A figura 24 ilustra parte do código de programação, onde fica claro a forma com o Easyvr efetuará os comandos de forma ordenada. O restante do código a parte principal, onde é feita a ligação entre as placas do Arduino e o Easyvr são feitas automaticamente pelo sistema EasyvrCommander. Para isso, basta clicar em “Generate Code” e escolha onde quer salvar. Agora basta apenas abrir a IDE do Arduino e carregar o Arquivo gerado anteriormente e teremos o código do Arduino praticamente pronto, onde com um breve conhecimento em programação já é o suficiente para dar início aos testes e aprofundar-se nos estudos melhorando cada vez mais o código, dando mais inteligência à placa, tornando o sistema mais limpo, leve e prático de ser usado pelo usuário final. 6 RESULTADOS O projeto foi dividido em partes, o que facilitou o desenvolvimento e o entendimento do mesmo. Ainda foi possível visualizar a forma de utilização de alguns programas externos que neste caso fizeram-se necessários no desenvolvimento desse pequeno exemplo. O projeto desenvolvido facilitará muito o dia-a-dia do possível usuário, pois permite o gerenciamento da residência de forma simplificada, proporcionando maior segurança, conforto e praticidade. OBS: Este foi uma de várias possibilidades de uso com a shield Easyvr. Esta shield pode ser usadas em inúmeras formas de utilização ou implantação que necessite ou seja interessante o uso da voz para comandar dispositivos. Lembrando ainda que o uso de comando voz é recomendado em locais de pouca poluição sonora. 7 REFERÊNCIAS AFRAC. Automação e Tecnologia. 2014. Disponível em: <http://www.afrac.org.br/automacao-e-tecnologia.php>. Acesso em: 15 maio 2014. ARDUINO 1. Direção de Neri Aldoir Neitzke. Produção de Neri Aldoir Neitzke. Carazinho: Informaticon, 2012. Son., color. ARDUINO 2. Direção de Neri Aldoir Neitzke. Produção de Neri Aldoir Neitzke. Carazinho: Informaticon, 2013. Son., color. ARDUINO. Roboot. 2014. Disponível em: <http://arduino.cc/en/Main/ArduinoShields>. Acesso em: 18 maio 2014. ARDUINO. Shields. 2014. Disponível em: <http://arduino.cc/en/Main/ArduinoShields>. Acesso em: 18 maio 2014. ARDUINO. Uno. 2013. Disponível em: <http://arduino.cc/en/Main/arduinoBoardUno>. Acesso em: 16 maio 2014. BATISTA, Emerson de Oliveira. Sistemas de Informação: O uso Consciente da Tecnologia para o Gerenciamento. 2. ed. São Paulo: Saraiva, 2013. 270 p. BATISTA, Luís Felipe. Introdução à Automação. 2014. Disponível em: <http://www.enautica.pt/publico/professores/Baptista/Automacao/Slides_Aut_ca p1.pdf>. Acesso em: 02 maio 2014. CONCEITO.DE. Conceito de metodologia. 2010. Disponível em: <http://conceito.de/metodologia>. Acesso em: 29 maio 2014. DLTEC. Você sabe o que significa Gestão da Tecnologia da Informação ou TI? 2010. Disponível em: <http://www.dltec.com.br/blog/gestao-de-ti/vocesabe-o-que-significa-gestao-da-tecnologia-da-informacao-ou-ti/>. Acesso em: 16 maio 2014. EDUCAÇÃO, Portal. Metodologia Científica: Tipos de Pesquisa. 2013. Disponível em: <http://www.portaleducacao.com.br/pedagogia/artigos/50264/metodologiacientifica-tipos-de-pesquisa>. Acesso em: 13 maio 2014. ESCOLA, Info. Stakeholders. 2014. Disponível em: <http://www.infoescola.com/administracao_/stakeholders/>. Acesso em: 16 maio 2014. IBGC. Governança Coorporativa. [1995]. Disponível em: <http://www.ibgc.org.br/inter.php?id=18056>. Acesso em: 16 maio 2014. JUSTEN, Álvaro. Curso de Arduino. 2013. Disponível em: <http://www.cursodearduino.com.br/apostila/apostila-rev4.pdf>. Acesso em: 18 maio 2014. LUZ, Gabriela Yoshitani da et al. AUTOMAÇÃO RESIDENCIAL: A tecnologia em nosso favor. 2014. Disponível em: <http://www.arq.ufsc.br/arq5661/trabalhos_20091/automacao_residencial/automacao_residencial.pdf>. Acesso em: 06 maio 2014. MARTIN, Evans; JOSHUA, Noble; JORDAN, Hochenbaum. ARDUINO EM AÇAO. Brasil: Novatec, 2013. 424 p. MARTINS, Geomar Machado. Princípios de Automação Industrial. 2014. Disponível em: <http://coral.ufsm.br/desp/geomar/automacao/Apostila_032012.pdf>. Acesso em: 02 maio 2014. MASSIMO, Banz. Primeiros Passos com Arduino. Brasil: Novatec, 2011. 152 p. MCROBERTS, Michael. Beginning arduino: Arduino Básico. São Paulo: Novatec, 2010. 453 p. MIX, Cultura. PLug-and-play. 2014. Disponível em: <http://tecnologia.culturamix.com/hardware/plug-and-play>. Acesso em: 20 maio 2014. MOURA, Instituto Jn. AUTOMAÇÃO COMERCIAL. 2014. Disponível em: <http://177.69.143.161:8889/moodle_instituto/>. Acesso em: 16 maio 2014. MURATORI, José Roberto; BÓ, Paulo Henrique dal. Automação Residencial: Conceitos e aplicações. Belo Horizonte: Educere, 2013. 200 p. TI, Governança. O que é Governança de TI e para que existe ? 2010. Disponível em: <http://www.governancadeti.com/2010/07/o-que-e-governancade-ti-e-para-que-existe/>. Acesso em: 16 maio 2014. VEEAR, Tigal. EasyVR. 2014. Disponível em: <http://www.veear.eu/products/easyvr-arduino-shield/>. Acesso em: 18 maio 2014. WESTER, Info. O que é ERP. 2014. Disponível em: <http://www.infowester.com/erp.php>. Acesso em: 15 maio 2014. WIKIPÉDIA. Metodologia. 2014. Disponível em: <http://pt.wikipedia.org/wiki/Metodologia>. Acesso em: 13 maio 2014.
Documentos relacionados
reconhecimento de voz utilizando arduino
Arduino é uma plataforma eletrônica open-source baseada em hardware e software de fácil utilização. O Projeto foi iniciado em 2005 e possuía, primeiramente, cunho educacional e interagia com aplica...
Leia mais