Buscar

ferramenta_para_gerenciamento_para_arduino

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 141 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 141 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 141 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

HAISSAM YEBAHI 
 
 
 
 
 
 
INOSENSOR: FERRAMENTA PARA GERENCIAMENTO DE 
SENSORES PARA ARDUINO 
 
 
 
Monografia apresentada no Centro de 
Educação do Planalto Norte/CEPLAN, da 
Universidade do Estado de Santa 
Catarina/UDESC, como requisito parcial 
para conclusão do curso de Pós-graduação 
Lato Sensu de Especialização em 
Desenvolvimento de Software. 
Orientador: Alex Luiz de Sousa 
 
 
 
 SÃO BENTO DO SUL, SC 
2013 
HAISSAM YEBAHI 
INOSENSOR: FERRAMENTA PARA GERENCIAMENTO DE 
SENSORES PARA ARDUINO 
Monografia apresentada no Centro de Educação do Planalto 
Norte/CEPLAN, da Universidade do Estado de Santa Catarina/UDESC, 
como requisito parcial para conclusão do curso de Pós-graduação Lato 
Sensu de Especialização em Desenvolvimento de Software. 
 
Banca Examinadora 
 
 
Orientador: __________________________________________ 
 M.Eng. Alex Luiz de Sousa 
 Universidade do Estado de Santa Catarina 
 
 
 
Membro: __________________________________________ 
 Dr. Nilson Ribeiro Modro 
 Universidade do Estado de Santa Catarina 
 
 
 
Membro: __________________________________________ 
 Dr. Mário Ezequiel Augusto 
 Universidade do Estado de Santa Catarina 
 
 
São Bento do Sul, SC, 03/10/2013. 
 
 
 
 
 
 
 
 
 
 
 Ao meu amor, Thalita Gabriela Costa, 
pelo carinho, paciência e apoio durante 
a realização deste trabalho. 
 
 
 
 
 
 
 
 
 
AGRADECIMENTOS 
 
 
Agradeço a todos que direta ou indiretamente contribuíram com 
a concretização deste trabalho. 
Em primeiro lugar agradeço a Deus, por ter me guiado diante de 
tantas dúvidas mesmo quando a esperança parecia não ser suficiente. 
Ao professor e o orientador Alex Luiz de Sousa, de maneira 
especial, por confiar na minha capacidade, pelo apoio e contribuição. 
A minha amiga e coordenadora de TI da empresa Tigre S.A. 
Palmira Bozzola Serpa por sempre apoiar e permitir a ausência do 
trabalho para comparecer às aulas da pós graduação durante os dias de 
semana. 
Ao meu amigo Bruno Hasse por me apresentar o Arduino e que 
serviu de base para este projeto. Ao meu amigo Cleomar Roeper pela 
parceria durante as viagens a São Bento do Sul durante os dias de aula e 
pela indicação do curso de Pós-Graduação. 
As demais pessoas, amigos, professores que apoiaram ou 
contribuíram para este projeto com ideias, sugestões e críticas. 
 
 
 
 
 
 
 
 
RESUMO 
 
 
 
YEBAHI, Haissam. InoSensor: Ferramenta para gerenciamento de 
sensores para Arduino. 2013. 141 f. Monografia apresentada no 
Centro de Educação do Planalto Norte/CEPLAN, da Universidade do 
Estado de Santa Catarina/UDESC, como requisito parcial para 
conclusão do curso de Pós-graduação Lato Sensu de Especialização em 
Desenvolvimento de Software, São Bento do Sul, 2013. 
 
 
As tecnologias estão cada vez mais inseridas no cotidiano das pessoas. 
Com o passar do tempo, novas soluções surgem com o intuito de 
facilitar a execução de tarefas manuais e reduzir o tempo gasto em 
tarefas rotineiras, que poderiam ser executadas por equipamentos 
eletrônicos de maneira mais eficaz e controlada. Independente do 
ambiente em que é aplicada, a Automação pode proporcionar o 
gerenciamento de recursos de forma bastante eficiente e sustentável em 
ambientes residenciais, prediais ou industriais. A Domótica, ou 
automação residencial, é composta por dispositivos e sistemas 
interconectados através de uma rede de comunicação, responsável por 
prover os mecanismos necessários à supervisão e gerenciamento do 
ambiente relacionado. A Domótica está se tornando cada vez mais 
acessível devido principalmente à grande disseminação e ao baixo custo 
oriundo do aumento do número de fabricantes desses dispositivos. O 
emprego de soluções integradas gera inúmeras vantagens como redução 
de custos, facilidade de instalação e expansão do sistema. Estão 
disponíveis no mercado diferentes plataformas para prototipação e 
desenvolvimento de sistemas baseados em microcontroladores de forma 
bastante simples a custos relativamente baixos. Arduino é uma 
plataforma open source que combina diferentes tipos de hardware e 
possui uma arquitetura padrão composta por portas analógicas e digitais 
e um microcontrolador da família Atmel. O microcontrolador é 
responsável pelo gerenciamento de sensores e periféricos conectados ao 
dispositivo. Apesar da simplicidade da plataforma, o desenvolvimento 
de soluções exige conhecimentos básicos de eletrônica e programação 
durante a elaboração do firmware do Arduino. Seguindo esse conceito, a 
ferramenta InoSensor foi desenvolvida com o objetivo de facilitar o uso 
de sensores e permitir o gerenciamento e monitoramento da plataforma 
Arduino remotamente, sem realizar a programação do hardware sempre 
que houver a necessidade de modificar as configurações dos sensores 
conectados. A solução da ferramenta InoSensor é composta dos 
seguintes módulos: (i) Sistema Web para gerenciamento de Arduino, 
responsável por cadastrar o Arduino, seus sensores e as ações que 
devem ser executadas na ocorrência de eventos configurados; (ii) 
Firmware do Arduino, para interpretar as ações e comunicar com o 
sistema gerenciador Web; e (iii) Sistema para atualização de firmware 
do Arduino, desenvolvido para simplificar as etapas de atualização do 
Arduino, sem a necessidade da IDE de desenvolvimento. Entre os 
diferenciais existentes na ferramenta InoSensor, em comparação a 
soluções similares existentes, destaca-se a capacidade de monitoramento 
remoto de sensores através de redes locais ou Internet e de uso da 
solução por pessoas sem conhecimento em programação, pois as 
configurações dos sensores e atuadores são realizadas pelo servidor 
Web. Este projeto teve como objetivo relacionar as diferentes áreas de 
conhecimento estudadas no curso de Especialização em 
Desenvolvimento de Software. A solução desenvolvida é responsável 
por apresentar uma alternativa de baixo custo na área de Domótica e de 
fácil utilização, pois seu uso não necessita de conhecimentos em 
programação. 
 
 
Palavras-chave: Arduino. Monitoramento de sensores. Eletrônica. 
Domótica. 
 
ABSTRACT 
 
 
YEBAHI, Haissam. InoSensor: Management Tool for Arduino 
Sensors. 2013. 141 f. Monograph (Pós-graduação Lato Sensu de 
Especialização em Desenvolvimento de Software) - Universidade do 
Estado de Santa Catarina. Programa de Pós-graduação em 
Desenvolvimento de Software, São Bento do Sul, 2013. 
 
 
The technologies are becoming more present on people's lives. Over 
time, new solutions come up to facilitate the execution of manual works 
and reduce the time spent on routine tasks that could be executed by 
electronic devices more effectively and controlled. Regardless the 
environment that it is applied, Automation can provide resource 
management more efficiently and sustainably in residential and 
industrial environments. Home Automation consists in devices and 
systems interconnected through a network, which are responsible for 
providing a mechanism for monitoring and managing the related 
environment. Home Automation is increasing its accessibility due to the 
large spread and low cost provided by the growing number of 
manufacturers of these devices. The use of integrated solutions 
generates numerous advantages such as cost reduction, simple 
installation and system expansion. There are available different 
platforms for development of systems based on microcontrollers fairlysimple and with a relative low costs. Arduino is an open source platform 
that combines different hardware types and a standard architecture made 
by analog and digital ports with an Atmel microcontroller. This 
microcontroller is responsible for managing sensors and peripherals 
connected to the Arduino. Despite the simplicity of the platform, the 
development for solutions requires basic knowledge about electronics 
and programming. According to this concept, the InoSensor tool was 
developed to facilitate the use of sensors and enable easy management 
and monitoring of the Arduino platform remotely, with no need to 
perform programming of the firmware whenever is needed to modify 
sensors settings. The InoSensor solution consists in the following 
modules: (i) a Web management system, responsible to register the 
Arduino, its sensors and the actions that must be performed when an 
event occurs; (ii) Arduino firmware, to interpret the action and 
communicate with the Web Management System; and (iii) firmware 
update wizard, developed to simplify the steps for updating the Arduino 
with no need to use Arduino’s IDE. Among the existing differentials in 
InoSensor tool, compared to existing solutions, there is the ability of 
remote monitoring sensors across a local network or the Internet, and 
the use of the solution by people without programming knowledge 
because the sensors and actuators setting are carried out on the Web 
server. This Project aimed to relate the different knowledge areas 
studied in the course of Software Development Specialization. The 
developed solution is responsible for presenting a low-cost and easy to 
use alternative in Home Automation area, because no programming 
knowledge is required to use this tool. 
 
Keywords: Arduino. Sensors monitoring. Electronic 
Automation. Home automation. 
 
 
LISTA DE ILUSTRAÇÕES 
Figura 1 – Interdisciplinaridade na Automação .................................... 26 
Figura 2 – Exemplos de sensores para Arduino .................................... 28 
Figura 3 – Exemplo de sensor de umidade do solo ............................... 31 
Figura 4 – Módulo de comunicação sem fio Xbee ................................ 33 
Figura 5 – Transmissor X10 .................................................................. 34 
Figura 6 – Exemplo de Receptor ........................................................... 35 
Figura 7 – Esquemática de comunicação dos módulos IHC ................. 37 
Figura 8 – Primeiro modelo de Arduino projetado ............................... 40 
Figura 9 – Modelo atual do Arduino Uno ............................................. 40 
Figura 10 – Arduino Mega .................................................................... 41 
Figura 11 – Principais componentes do hardware do Arduino ............. 41 
Figura 12 – Alimentação de energia do Arduino .................................. 42 
Figura 13 – Portas de alimentação de energia para sensores ................. 43 
Figura 14 – Identificação de operação na comunicação serial .............. 44 
Figura 15 – Microcontrolador Atmel no Arduino ................................. 45 
Figura 16 – Estrutura interna de um microcontrolador Atmel .............. 46 
Figura 17 – Arquitetura Harvard ........................................................... 47 
Figura 18 – Botão para reiniciar o Arduino........................................... 49 
Figura 19 – Conectores de expansão ..................................................... 51 
Figura 20 – Shields sobrepostos e conectados sobre um Arduino ......... 52 
Figura 21 – Exemplo de circuito integrado em um sensor .................... 53 
Figura 22 – Portas utilizadas pelo shield ethernet no Arduino Mega.... 56 
Figura 23 – Exemplo de sketch carregada na IDE do Arduino ............. 57 
Figura 24 – Seleção do modelo do Arduino na IDE ............................. 58 
Figura 25 – Framework Noduino .......................................................... 60 
Figura 26 – Ferramenta Breakout .......................................................... 61 
Figura 27 – Visão macro da representação do sistema .......................... 65 
Figura 28 – Sensor Temperatura e Umidade DHT11 ............................ 66 
Figura 29 – Fotoresistor ........................................................................ 66 
Figura 30 – Sensor de chama ................................................................ 67 
Figura 31 – Sensor de gás ..................................................................... 67 
Figura 32 – Sensor de vibração ............................................................. 68 
Figura 33 – Sensor magnético ............................................................... 68 
Figura 34 – Sensor presença PIR .......................................................... 69 
Figura 35 – Relé .................................................................................... 69 
Figura 36 – LED RGB .......................................................................... 70 
Figura 37 – Buzzer ................................................................................ 70 
Figura 38 – Arduino conectado à protoboard ....................................... 72 
Figura 39 – Modelo de protoboard ....................................................... 72 
Figura 40 – Shield ethernet ................................................................... 73 
Figura 41 – Diagrama de casos de uso .................................................. 82 
Figura 42 – Diagrama de pacotes PHP do framework CodeIgniter ...... 84 
Figura 43 – Diagrama de pacotes ExtJS ............................................... 87 
Figura 44 – Diagrama de classes Java................................................... 88 
Figura 45 – Diagrama entidade relacionamento ................................... 90 
Figura 46 – Diagrama de atividades...................................................... 92 
Figura 47 – Diagrama MVC da aplicação InoSensor ........................... 96 
Figura 48 – Prompt de comando do Arduino Builder ........................... 98 
Figura 49 – Estrutura simplificada do arquivo CSV ........................... 100 
Figura 50 – Tela inicial da ferramenta InoSensor ............................... 102 
Figura 51 – Tela de usuários da ferramenta InoSensor ....................... 103 
Figura 52 – Tela de detalhes do sensor ............................................... 104 
Figura 53 – Exibição das configuração de portas do Arduino ............ 105 
Figura 54 – Lista de Arduinos cadastrados ......................................... 106 
Figura 55 – Tela de cadastro de Arduino ............................................ 107 
Figura 56 – Lista de sensores e ações do Arduino .............................. 108 
Figura 57 – Tela para cadastro de sensor ............................................ 109 
Figura 58 – Tela para cadastro de ação de um sensor ......................... 110 
Figura 59 – Tela de verificação de configuração ................................ 111 
Figura 60 – Tela de notificações ......................................................... 112 
Figura 61 – Tela do assistente de configuração .................................. 113 
Figura 62 – Memória utilizada pelo Arduino Mega2560 .................... 119 
Figura 63 – Memória utilizada pelo Arduino Uno .............................. 120 
 
LISTA DE QUADROS 
Quadro 1 – Comparação da especificação dos Arduinos ...................... 51 
Quadro 2 – Comparativo com ferramentas similares ............................ 62 
Quadro 3 – Tipos de portas utilizadas por cada sensore ....................... 71 
Quadro 4 – Componentes eletrônicos do projeto ................................116 
Quadro 5 – Equipamentos para testes do projeto ................................ 117 
 
LISTA DE ABREVIATURAS E SIGLAS 
ADC Analog Digital Convert 
AJAX Asynchronous JavaScript And XML 
ALU Arithmetic Logic Unit 
API Application Programming Interface 
CABA Continental Automated Buildings Associations 
CEDIA Custom Electronic Design and Installation Association 
CI Circuito Integrado 
CPU Central Processing Unit 
DHCP Dynamic Host Configuration Protocol 
EEPROM Electrically Erasable Programmable Read-Only Memory 
ER Entidade Relacionamento 
FTDI Future Technology Devices International 
GLP Gás Liquefeito de Petróleo 
GND Ground 
GPRS General Packet Radio Service 
GSM Global System for Mobile 
HTML Hyper Text Markup Language 
HTTP Hyper Text Transfer Protocol 
I2C Inter Integrated Circuit 
IDE Integrated Development Environment 
IHC Intelligent Home Control 
IP Internet Protocol 
JSON JavaScript Object Notation 
KB Kilobyte 
LCD Liquid Crystal Display 
LDR Light Dependent Resistor 
LED Light Emitting Diode 
MAC Media Access Control 
MISO Master In Slave Out 
MOSI Master Out Slave In 
MVC Model View Controller 
OSGI Open Service Gateway Initiative 
OSI Open System Interconnection 
PC Program Counter 
PDT PHP Development Tool 
PHP Hypertext Preprocessor 
PING Packet Internet Grouper 
PIR Passive InfraRed 
PWM Pulse Width Modulation 
P2P Peer to Peer 
RAM Random Access Memory 
RGB Red Green Blue 
ROM Read Only Memory 
RX Receiver 
SCK Serial Clock 
SMD Semi Metalic Disc 
SPI Serial Peripheral Interface 
SRAM Static Random Access Memory 
TCP Transmission Control Protocol 
TX Transmitter 
UDP User Datagram Protocol 
UML Unified Modeling Language 
USART Universal Synchronous Asynchronous Receiver Transmitter 
USB Universal Serial Bus 
 
 
 
 
 
 
SUMÁRIO 
1 INTRODUÇÃO ....................................................................... 18 
1.1 FORMULAÇÃO DO PROBLEMA ......................................... 19 
1.2 SOLUÇÃO PROPOSTA ........................................................... 20 
1.3 OBJETIVOS .......................................................................... 201 
1.3.1 Objetivo geral .......................................................................... 21 
1.3.2 Objetivos específicos ............................................................... 21 
1.4 METODOLOGIA ..................................................................... 22 
2 FUNDAMENTAÇÃO TEÓRICA ......................................... 25 
2.1 AUTOMAÇÃO ......................................................................... 25 
2.1.1 Sensores .................................................................................... 27 
2.2 DOMÓTICA ............................................................................. 29 
2.3 SOLUÇÕES PARA AUTOMAÇÃO DOMÓTICA ................. 33 
2.3.1 X10 ............................................................................................ 33 
2.3.3 Sistema Lonworks ................................................................... 38 
2.4 ARDUINO ................................................................................ 39 
2.4.1 Hardware ................................................................................. 39 
2.4.1.1 Fonte de alimentação ................................................................ 41 
2.4.1.3 Microcontrolador ...................................................................... 44 
2.4.1.4 Reset .......................................................................................... 49 
2.4.1.5 Conectores de expansão e portas ............................................... 49 
2.4.1.6 Shields ....................................................................................... 52 
2.4.1.7 Sensores .................................................................................... 53 
2.4.2 Comunicação ........................................................................... 53 
2.4.2.1 Redes e Internet ......................................................................... 54 
2.4.3 Armazenamento de Dados Externo ....................................... 55 
2.4.4 Plataforma de Desenvolvimento ............................................. 56 
2.4.4.1 Compilação de código ............................................................... 59 
2.4.5 Modelos e variantes ................................................................. 59 
2.5 FERRAMENTAS SIMILARES ................................................ 60 
2.5.1 Noduino .................................................................................... 60 
2.5.2 Breakout ................................................................................... 61 
2.5.3 Arduino-Homebot ................................................................... 61 
2.6 ANÁLISE COMPARATIVA ENTRE AS FERRAMENTAS . 62 
2.7 CONCLUSÕES DO CAPÍTULO ............................................. 63 
3 PROJETO ................................................................................ 64 
3.1 COMPOSIÇÃO DO SISTEMA ................................................ 64 
3.1.1 Sensores Utilizados .................................................................. 65 
3.1.2 Plataforma de Prototipação .................................................... 71 
3.1.3 Shield ethernet e SD ................................................................. 73 
3.2 COMPORTAMENTO DO SISTEMA ...................................... 73 
3.2.1 Ações ......................................................................................... 74 
3.3 PROTOCOLO DE COMUNICAÇÃO...................................... 75 
3.3.1 Monitor de Notificações .......................................................... 75 
3.4 MODELAGEM DO SISTEMA ................................................ 76 
3.4.1 Requisitos ................................................................................. 76 
3.4.1.1 Requisitos Funcionais ............................................................... 76 
3.4.1.2 Regras de Negócio .................................................................... 77 
3.4.1.3 Requisitos Não-Funcionais........................................................ 79 
3.4.2 Casos de Uso ............................................................................ 80 
3.4.3 Diagramas de Pacotes e Classes ............................................. 83 
3.4.4 Diagrama Entidade-Relacionamento..................................... 89 
3.4.5 Diagrama de Atividades ......................................................... 92 
3.5 CONCLUSÕES DO CAPÍTULO ............................................. 93 
4 IMPLEMENTAÇÃO .............................................................. 94 
4.1 PADRÕES DE PROJETO MVC .............................................. 94 
4.2 TECNOLOGIAS E FERRAMENTAS ..................................... 94 
4.2.1 Servidor Web ........................................................................... 94 
4.2.2 ExtJS ........................................................................................ 95 
4.2.3 C/C++ ....................................................................................... 96 
4.2.4 Java ..........................................................................................97 
4.2.5 Arduino Builder ...................................................................... 97 
4.3 BANCO DE DADOS................................................................ 98 
4.4 PROTOCOLO DE CONFIGURAÇÕES DO ARDUINO ........ 99 
4.5 APRESENTAÇÃO DA FERRAMENTA .............................. 101 
4.5.1 Módulo Web InoSensor ........................................................ 101 
4.5.1.1 Cadastro de Usuários .............................................................. 102 
4.5.1.2 Configuração Geral ................................................................. 103 
4.5.1.3 Configuração de E-mail .......................................................... 103 
4.5.1.4 Tipo de Ação ........................................................................... 103 
4.5.1.5 Sensor ...................................................................................... 104 
4.5.1.6 Tipo de Porta ........................................................................... 104 
4.5.1.7 Modelo de Arduino ................................................................. 105 
4.5.1.8 Arduino ................................................................................... 105 
4.5.1.9 Monitoramento ........................................................................ 111 
4.5.2 Módulo Atualização de Firmware ....................................... 113 
4.6 CONCLUSÕES DO CAPÍTULO ........................................... 113 
5 TESTES E VALIDAÇÃO .................................................... 115 
5.1 TESTES DO FIRMWARE DO ARDUINO ........................... 115 
5.2 TESTES DE INTEGRAÇÃO ................................................. 117 
5.3 TESTE DE ESCALABILIDADE DO FIRMWARE .............. 118 
5.4 PROBLEMAS IDENTIFICADOS .......................................... 119 
5.5 CONCLUSÕES DO CAPÍTULO ........................................... 121 
6 CONCLUSÕES ..................................................................... 122 
6.1 TRABALHOS FUTUROS ...................................................... 124 
 REFERÊNCIAS .................................................................... 125 
 APÊNDICES .......................................................................... 128 
18 
1 INTRODUÇÃO 
 
O uso de dispositivos eletrônicos, seja para a realização de 
tarefas do cotidiano ou para Automação industrial, está presente nos 
mais variados ambientes. O simples fato de utilizar um sensor 
infravermelho para detectar a presença de movimento, ou ligar uma 
lâmpada automaticamente ao escurecer, envolve componentes 
eletrônicos que reduzem a necessidade de executar tarefas manualmente. 
Independente da aplicação, o uso de tecnologia para 
Automação, seja para residências, empresas ou indústrias, proporciona o 
gerenciamento de recursos de forma bastante eficiente e sustentável, 
além de obter diversos benefícios como redução de custos, manutenção 
e segurança (DIAS; PIZZOLATO, 2004). 
A automação residencial, também conhecida como Domótica, é 
formada por um conjunto de dispositivos e equipamentos 
interconectados através de uma rede para comunicação. Nesse contexto, 
as informações são coletadas e processadas, conforme as regras são 
definidas. Determinadas ações podem ser executadas com o objetivo de 
supervisionar ou gerenciar o ambiente em que estão inseridas e assim 
satisfazer as necessidades de comunicação, conforto e segurança (DIAS; 
PIZZOLATO, 2004). 
Devido às constantes mudanças e às necessidades individuais de 
cada cenário, o comportamento de sistemas automatizados deve 
proporcionar flexibilidade e uma fácil adaptação às condições do 
ambiente (SGARBI; TONIDANDEL, 2006). 
Para Sousa (2009), com a crescente popularização da Internet, 
tornou-se possível desenvolver novos modelos de sistema baseados em 
ações executadas de forma remota e transparente para controle e atuação 
de forma bastante rápida e segura. Atualmente a velocidade de acesso a 
rede mundial de computadores, possibilita que as informações sejam 
transmitidas por diferentes meios e entre dispositivos geograficamente 
distribuídos, sem a necessidade de altos investimentos em infraestrutura. 
Estão disponíveis no mercado, plataformas que permitem a 
programação de microcontroladores de forma bastante simplificada a 
custos relativamente baixos se comparados à prototipação de hardware 
customizado para Automação. 
Arduino é uma das plataformas para prototipação e 
desenvolvimento baseada em microcontroladores mais populares da 
atualidade. Em 2011, já haviam sido vendidas mais de trezentas mil 
19 
 
unidades da versão original. Isso se deve principalmente à sua 
característica open source1, o que torna possível o desenvolvimento de 
diversas soluções para uma mesma arquitetura (TORRONE, 2011). Sua 
concepção envolve a combinação de diferentes modelos de hardware, 
empregados através de uma arquitetura e software padrão para a 
prototipação de circuitos eletrônicos sem exigir grandes conhecimentos, 
pois grande parte dos componentes são construídos para facilitar a 
utilização de sensores. 
Desenvolvida para controlar o ambiente em que está inserida, a 
interação entre os componentes na plataforma Arduino ocorre por meio 
dos sinais recebidos por sensores conectados as portas analógicas e 
digitais existentes na placa principal. O gerenciamento é realizado por 
um microcontrolador Atmel AVR. A programação é feita com o uso de 
uma variante da linguagem C, que permite criar projetos autônomos ou 
a comunicação com software de outros dispositivos eletrônicos 
(Arduino, 2013). 
Ainda que a simplicidade da plataforma facilite o 
desenvolvimento das mais variadas soluções, é necessário que os 
interessados, além de conhecimento em eletrônica básica, também 
tenham conhecimentos mais avançados de lógica e programação. 
Devido à ausência de um sistema operacional, a codificação de 
microcontroladores com limitações de processamento e memória exige 
maior atenção na elaboração do software que estará embarcado no 
dispositivo, pois todo controle necessário deve estar presente na solução. 
 
1.1 FORMULAÇÃO DO PROBLEMA 
 
Muitas das ações envolvidas ao se criar projetos baseados em 
sensores incluem padrões e rotinas em código programado bastante 
semelhantes, mas que necessitam de retrabalho para ajustar as ações 
executadas. Essas atividades despendem tempo e dificultam a 
manutenção, quando uma simples parametrização poderia adaptar as 
regras e comportamentos desejados a um novo contexto. 
Segundo alguns princípios presentes na Automação e Domótica, 
é necessário que haja uma forma simples de gerenciar os dispositivos e 
 
1 Software de utilização livre e sem custo que permite a alteração e distribuição 
de cópias de forma gratuita de acordo com a licença de software livre, visando 
beneficiar a comunidade de todos os desenvolvedores e usuários (SEABRA, 
2007) 
20 
as ações que devem ser executadas com base nas regras estabelecidas. 
Levando-se em conta o ambiente que se deseja controlar ou monitorar, é 
preciso que se considere a possibilidade de realizar um monitoramento 
remoto de forma centralizada, para facilitar e acelerar o processo de 
análise de informações. 
A plataforma Arduino possui soluções simples para as mais 
variadas tarefas, porém é necessário programar os sensores sempre que 
for preciso ajustar as condições e ações que devem ser automatizadas. 
Estão disponíveis na Internet soluções com as quais é possível 
executar comandos de forma remota no Arduino como uso da 
comunicação serial. Isso acaba por limitar a autonomia do dispositivo 
em ambientes distribuídos, devido à necessidade de um computador 
para prover o serviço de conexão da rede ou Internet para o Arduino. 
 
1.2 SOLUÇÃO PROPOSTA 
 
Neste trabalho, foi desenvolvida a ferramenta InoSensor, com o 
propósito de facilitar e simplificar o processo de adição de sensores e 
permitir o monitoramento e controle de Arduino em uma rede local ou 
Internet. Sua utilização estende-se como uma ferramenta de apoio para 
disciplinas como Eletrônica Básica e Redes de Computadores, pois pode 
facilitar a compreensão de conceitos teóricos aprendidos em cursos de 
graduação com foco em tecnologia ou para pessoas interessadas em 
alternativas para Automação de baixo custo. 
A proposta da solução InoSensor contempla o desenvolvimento 
dos seguintes módulos: (i) Sistema Web para gerenciamento de Arduino; 
(ii) Firmware para interpretar as ações e comunicar com o sistema 
gerenciador Web; e (iii) Sistema para atualização de firmware de 
Arduino. 
A execução e desenvolvimento deste projeto justificam-se por 
contemplar e integrar diversas áreas do curso de Especialização de 
Desenvolvimento de Software, como engenharia de software, sistemas 
web, padrões de projeto, programação, sistemas distribuídos, redes de 
computadores e banco de dados, além de contribuir para o meio 
acadêmico como uma ferramenta de apoio para disciplinas como 
Eletrônica Básica, Programação e Sistemas Distribuídos. 
 
 
 
 
 
21 
 
1.3 OBJETIVOS 
 
Esta subseção define as metas e características necessárias para 
que a proposta da ferramenta desenvolvida atinja os objetivos definidos 
para a solução do problema. 
 
1.3.1 Objetivo geral 
 
Desenvolver um sistema de monitoramento de sensores para a 
plataforma Arduino por meio de uma rede local ou Internet para 
simplificar o processo de ajuste de configurações, sem a necessidade de 
reprogramar o firmware em caso de mudanças de regras e ações. 
 
1.3.2 Objetivos específicos 
 
 Estudar os conceitos relacionados à Domótica, sensores, 
comunicação via rede ethernet e armazenamento de dados para 
Arduino; 
 Pesquisar soluções similares de ferramentas para gerenciamento 
de sensores com Arduino; 
 Pesquisar as tecnologias necessárias para o desenvolvimento do 
projeto; 
 Elaborar a modelagem conceitual do sistema; 
 Implementar o sistema; 
 Módulo para gerenciamento de Arduino; 
 Módulo para cadastro de sensores; 
 Sensor de temperatura e umidade; 
 Relé; 
 Foto resistor; 
 Sensor de fogo; 
 Sensor de vibração; 
 Sensor magnético; 
 LED RGB; 
 Buzzer; 
 Sensor de presença infravermelho. 
 Módulo para cadastro de ações 
 Enviar e-mail; 
 Acionar sensor; 
 Ligar LED RGB. 
22 
 Módulo para reset remoto de alarme; 
 Módulo para atualização de configurações; 
 Firmware para controle de sensores e ações para Arduino; 
 Sistema de apoio à atualização de firmware; 
 Desenvolver protocolo para troca de informações entre 
gerenciador e Arduino. 
 Testar e validar a implementação das funcionalidades propostas 
pela ferramenta; 
 Documentar o desenvolvimento e resultados alcançados. 
 
1.4 METODOLOGIA 
 
A estrutura deste trabalho foi dividida em seis grandes etapas, 
listadas abaixo: 
 
 Levantamento bibliográfico: Documentar os temas envolvidos 
neste trabalho para facilitar a compreensão e selecionar as 
soluções mais adequadas para o desenvolvimento da ferramenta 
InoSensor; 
 Fundamentação teórica sobre a área de Automação e 
Domótica na área da Computação; 
 Fundamentação teórica sobre Arduino, shields e sensores 
com o objetivo de identificar as características e 
particularidades da plataforma, bem como os mecanismos 
necessários para gerenciar os dispositivos conectados; 
 Pesquisa de soluções similares para Automação com 
Arduino a fim de avaliar inovações e soluções eficazes 
existentes. 
 Análise técnica: Estudo das tecnologias necessárias para o 
desenvolvimento da ferramenta proposta, suas particularidades 
e compatibilidades; 
 Estudo das tecnologias envolvidas na ferramenta: 
JavaScript Object Notation (JSON), framework ExtJS, 
Javascript, PHP, MySQL, Java e C++ para 
microcontroladores Atmel presentes no Arduino; 
 Padrões de projetos Model View Controller (MVC) para 
PHP e JavaScript, com o objetivo de facilitar a ampliação 
da ferramenta em versões futuras; 
 Avaliar os protocolos de comunicação e bibliotecas 
disponíveis para Arduino, tanto para comunicação via 
23 
 
ethernet quanto para armazenamento de dados em cartão de 
memória SD; 
 Pesquisar soluções para atualização de firmware sem a 
necessidade da IDE de desenvolvimento para Arduino. 
 Levantamento de requisitos e modelagem: Definição dos 
requisitos e funcionalidades da ferramenta proposta; 
 Definição dos requisitos e regras de negócio necessários 
para contemplar o funcionamento da ferramenta InoSensor; 
 Modelagem Unified Modeling Language (UML) do 
sistema, a análise deverá abranger a especificação e 
componentes de software necessários para desenvolver os 
módulos propostos no escopo do trabalho. Para isto serão 
modelados, casos de uso, diagrama de atividades e 
diagrama de pacotes e diagrama de classes; 
 Definição do modelo Entidade Relacionamento (ER) para o 
banco de dados utilizado no servidor Web. 
 Desenvolvimento: Desenvolvimento do sistema, seguindo o 
escopo e a definição do projeto; 
 Definição da estrutura de banco de dados para suprir as 
necessidades do sistema; 
 Implementação dos módulos propostos conforme a 
definição dos requisitos. Todo o desenvolvimento deve 
seguir a modelagem e as funcionalidades descritas no 
escopo do trabalho. 
 Testes e validação: Executar testes e validações da solução 
proposta e verificar as funcionalidades desenvolvidas, 
corrigindo-as caso seja necessário; 
 Testes das funcionalidades presentes, avaliando se os 
serviços implementados alcançaram os resultados 
esperados; 
 Testes de comunicação de rede e atualização de 
dispositivos via ethernet para certificar-se de que a 
atualização é executada corretamente. 
 Documentação: Durante o projeto, são registradas as etapas 
executadas desde o levantamento do problema, a 
fundamentação teórica, a proposta da solução, o 
desenvolvimento, testes, validações, os resultados finais e as 
conclusões. Esta documentação deve permitir que interessados 
possam compreender a solução, acrescentar novas 
24 
funcionalidades em versões futuras e efetuar os mesmos testes 
executados para a validação do projeto. 
 
1.5 ESTRUTURA DO TRABALHO 
 
No primeiro capítulo, é apresentada uma introdução sobre o 
projeto, objetivos, a devida importância do projeto na assimilação e 
aplicação dos temas abordados no curso de Especialização em 
Desenvolvimento de Software. 
No segundo capítulo (Fundamentação Teórica), são definidos os 
conceitos relacionados a Automação, Domótica, soluções para 
automação residencial e Arduino e meios de comunicação, além de um 
estudo de soluções similares disponíveis, para comparação com a 
ferramenta InoSensor. 
O terceiro capítulo (Projeto) descreve as especificações das 
funcionalidades da ferramenta InoSensor, sua documentação, diagrama 
de atividades da UML, requisitos e regras de negócio, diagrama de 
pacotes, diagrama de classes e modelo ER do banco de dados. 
No quarto capítulo (Implementação) e quinto capítulo 
(Apresentação da Ferramenta), são apresentados os resultados obtidos 
durante a implementação da ferramenta, descrevendo as funcionalidades 
implementadas. 
O quinto capítuloapresenta os resultados dos testes aplicados 
para avaliar a conformidade dos requisitos e verificar a integração entre 
os módulos desenvolvidos. 
O sexto e último capítulo apresentam as conclusões, 
dificuldades encontradas durante o desenvolvimento e sugestões para 
trabalhos futuros que possam aprimorar e expandir as funcionalidades 
presentes na ferramenta. 
 
 
 
 
 
 
 
 
 
 
 
 
25 
 
2 FUNDAMENTAÇÃO TEÓRICA 
 
Neste capítulo, são abordados os conceitos necessários para o 
projeto, a fim de servir como base para o desenvolvimento da solução 
proposta pela ferramenta InoSensor. A seção 2.1 apresenta o estudo 
sobre Automação, sua evolução com o uso de computadores e os 
conceitos relacionados a esse trabalho, como sensores e atuadores. Na 
seção 2.2, são abordados os temas relacionados a Domótica e os 
benefícios que podem ser gerados com o seu uso. Na seção 2.3, são 
apresentadas algumas das soluções existentes no mercado para a 
Automação residencial e predial. Os estudos da plataforma Arduino, 
suas particularidades e os conceitos necessários ao desenvolvimento da 
solução proposta, são apresentados na seção 2.4. A seção 2.5 apresenta 
um estudo de ferramentas similares existentes e um comparativo entre 
as funcionalidades das ferramentas pesquisadas e a ferramenta 
InoSensor. Por fim, na seção 2.6, são apresentadas as considerações dos 
estudos da fundamentação teórica. 
 
2.1 AUTOMAÇÃO 
 
Desde a antiguidade o homem tem buscado ferramentas para 
reduzir a carga de trabalho e para facilitar a execução de tarefas de 
forma automatizada, desenvolvendo instrumentos que o auxiliem a 
controlar e alcançar seus objetivos de forma mais rápida. A área de 
Automação foi impulsionada com o crescimento adjunto da Revolução 
Industrial e trouxe diversos benefícios, tanto para o setor industrial, com 
a introdução das máquinas para substituir o homem e melhorar os 
processos produtivos, quanto para as pessoas, que puderam despender 
seu tempo em atividades mais importantes para melhorar a sua condição 
de vida (BIONDO, 2011). 
Para Martins (2012), a Automação pode ser definida por um 
conjunto de técnicas que possibilitam construir sistemas ativos, capazes 
de atuar de forma autônoma com base em informações recebidas no 
meio que atuam, de forma bastante eficiente. Uma das características 
presentes na Automação é a realização de trabalhos por sistemas 
apoiados por computadores, com o objetivo de reduzir a intervenção 
humana e obter maior segurança, qualidade e rapidez. Um erro comum é 
confundir a Automação com automatização, que está relacionada à 
execução de movimentos automáticos, repetitivos e mecânicos. 
26 
A Automação permite a integração de conhecimentos, 
substituindo observação, esforços e decisões humanas por dispositivos 
(mecânicos, elétricos e eletrônicos) e software desenvolvido para 
gerenciamento e controle. Essa integração é ilustrada na Figura 1 e 
demonstra a interdisciplinaridade entre áreas afins como: (i) a 
computação, responsável por prover os mecanismos necessários à 
modelagem, análise e simulação do software, (ii) a eletrônica, 
responsável por processar os sinais e controlar os equipamentos, (iii) a 
mecânica, formada por todos os equipamentos conectados que formam a 
parte física do sistema e (iv) sistema de controle, responsável por definir 
o comportamento e ações desejadas do sistema (MARTINS, 2012). 
 
Figura 1 – Interdisciplinaridade na Automação 
 
 
 
Fonte: ROSARIO (2009) 
 
Antes da Automação ser realizada por computadores, o controle 
de tarefas e comandos de máquinas era feito por circuitos com válvulas 
eletrônicas e equipamentos de controle, medição elétrica e pneumática 
conectados a fios elétricos. A adaptação a um novo contexto exigia a 
modificação nas conexões, sendo que em muitos casos tornava-se mais 
barato substituir o sistema por um novo painel controlador (ROSARIO, 
2009). 
27 
 
Por volta da década de 70, os avanços tecnológicos permitiram 
a substituição das válvulas por transistores e dos fios por circuitos 
integrados, trazendo inúmeros benefícios. Esses avanços possibilitaram 
transferir as modificações de hardware para o software e deram origem 
aos Controladores Lógicos Programáveis (CLPs), que possuem memória 
programável e executam instruções de entrada e saída (MARTINS, 
2012). 
A produção desses equipamentos em larga escala, possibilitou o 
desenvolvimento de microprocessadores dedicados a um baixo custo. A 
utilização de componentes eletrônicos como sensores, atuadores e 
circuitos controladores não está mais limitada a ambientes industriais e 
são empregados em diversas áreas de aplicações como robótica, 
medicina, automação predial e Domótica (MARTINS, 2012). 
Qualquer que seja o emprego da Automação, é necessário que 
existam mecanismos para determinar condições variáveis (e.g., 
temperatura, luminosidade, umidade) do ambiente e informar ao circuito 
eletrônico a ocorrência de eventos para avaliar e comandar a execução 
de ações desejadas (WENDLING, 2010). Dois dos principais elementos 
que podem ser encontrados na Automação são os sensores e os 
atuadores. 
 
2.1.1 Sensores 
 
Um sensor pode ser descrito como um dispositivo 
eletroeletrônico que possui a propriedade de transformar uma grandeza 
física (e.g., calor, luz, som, movimento) relacionada ao material 
utilizado na fabricação do sensor em um sinal elétrico. Pode-se citar 
como exemplos: (i) sensores de fotodiodos para conversão 
elétrica/luminosa, (ii) termistores para conversão elétrica/térmica e (iii) 
sensores magnéticos para conversão elétrica/magnética (WENDLING, 
2010). A Figura 2 ilustra diferentes tipos de sensores que podem ser 
utilizados com a plataforma Arduino. 
 
 
 
 
 
 
 
 
28 
Figura 2 – Exemplos de sensores para Arduino 
 
 
 
Fonte: Adaptado de DX2 (2013) 
 
Os sinais gerados por sensores podem ser manipulados, 
armazenados ou servir como base para processamento por outros 
dispositivos. Podem ser utilizados em sistemas de monitoramento para 
detectar abertura de portas, movimento de pessoas, vibrações, ruídos, 
princípios de incêndio e temperatura (SOUSA, 2009). 
Alguns sensores não possibilitam a leitura do sinal gerado 
diretamente pelo sistema de controle, sendo necessário um circuito de 
interface responsável por produzir um sinal que possa ser lido pelo 
controlador. O dispositivo completo, formado pelo sensor e o circuito de 
interface, é denominado transdutor. Como exemplos, podem ser citados 
os transdutores de temperatura, detecção de presença, velocidade, 
campo eletromagnético, etc. (WENDLING, 2010). 
 
2.1.2 Atuadores 
 
Um sistema automatizado deve possibilitar a execução de ações 
baseadas em eventos e informações coletadas do ambiente pelos 
sensores. Os atuadores agem sobre o ambiente através de um sinal 
gerado pelo controlador e normalmente são compostos por uma 
interface eletromecânica que tem suas características alteradas conforme 
os impulsos elétricos recebidos (PINHEIRO, 2013). 
Como os atuadores estão relacionados à interface de saída, 
existem basicamente dois tipos: 
 
2 Disponível em: http://www.dx.com/ 
29 
 
 Saídas digitais: representadas por valores discretos, que 
permitem determinar se uma grandeza física atingiu um valor 
predeterminado e admitem o estado ligado e desligado. Essas 
saídas possibilitam controlar dispositivos como relés, 
solenoides, LEDs (WENDLING, 2010); 
 Saídas analógicas: convertem valores contínuos em sinais de 
saída de tensão, normalmentevariando entre 0V e 5V. Essas 
saídas podem controlar motores e luminosidade (ALIEVI, 
2005). 
 
2.2 DOMÓTICA 
 
Por volta dos anos 80, a Automação presente nas indústrias 
alcançou as edificações corporativas e originou um novo conceito 
denominado de edifício inteligente, que possibilitou o emprego de 
componentes e soluções para proporcionar diversos benefícios, tais 
como: gerenciamento, conforto, economia e prevenção de acidentes 
(DIAS, PIZZOLATO, 2004). 
A aplicação dos conceitos de Automação em edifícios torna os 
ambientes mais produtivos, saudáveis e eficientes, além de contribuir 
para o aumento da produção e redução de custos operacionais. Estes 
fatores permitiram o emprego mais fácil da Automação em ambientes 
comerciais e industriais, em relação aos habitacionais (DIAS, 
PIZZOLATO, 2004). 
Com o passar dos anos, os mesmos princípios de Automação 
passaram a ser aplicados nas residências, utilizando equipamentos 
direcionados a criação de casas inteligentes com ênfase no controle de 
recursos, iluminação, segurança, temperatura, conforto e entretenimento. 
Com a grande popularização, a Automação residencial passou a 
ter uma designação própria, conhecida como Smart House ou Intelligent 
House. No Brasil, é empregado o termo Domótica, sob influência do 
termo francês Domotique (ROSARIO, 2009). 
A Domótica agrega diversos conceitos de outras ciências, como 
arquitetura, engenharia, computação e possui o objetivo de oferecer 
novas possibilidades, introduzidas pelas tecnologias digitais frente as 
necessidades do usuário, e uma maior interação com a residência 
(BOLZANI, 2007). 
Um sistema Domótico é formado por diversos componentes, 
dispositivos e sistemas interconectados por meio de uma rede de 
comunicação. Essa rede é responsável pela troca de informações e pela 
30 
execução de ações para supervisionar e gerenciar o ambiente no qual o 
sistema está inserido (DIAS, PIZZOLATO, 2004). 
A Automação residencial está cada vez mais acessível, devido 
ao barateamento das tecnologias e ao aumento da concorrência no setor. 
O uso de soluções integradas gera ainda mais vantagens, podendo ser 
citadas a redução de custos, maior facilidade para a instalação e 
expansões do sistema (ROSARIO, 2009). 
No Brasil, a Associação Brasileira de Automação residencial 
(AURESIDE) menciona que o emprego da Domótica em construções 
residenciais e prediais, além de ser uma ferramenta de marketing, é um 
diferencial para o setor, pois agrada tanto os desejos de pessoas 
interessadas por tecnologia, que estão sempre em busca de novidades, 
quanto pessoas que anseiam por maior segurança, ambas características 
que podem ser encontradas em sistemas de automação predial (DIAS, 
PIZZOLATO, 2004). 
As inúmeras soluções tecnológicas que podem ser incorporadas 
na Domótica criam novas oportunidades, aumentando a qualidade de 
vida das pessoas e até mesmo removendo impedimentos que dificultam 
a mobilidade de pessoas portadoras de necessidades especiais, além de 
possibilitar um maior racionamento no consumo de recursos como água 
e luz e auxiliar na preservação do meio ambiente (DIAS, PIZZOLATO, 
2004). 
Uma das utilidades da Domótica é aliar o uso de dispositivos 
eletrônicos à equipamentos da informática de forma sistêmica e 
possibilitar uma gestão integrada de recursos presentes em um ambiente. 
Segundo Rosário (2009), essa ciência tem tornado a vida mais 
confortável, segura e até mais divertida, com a programação de tarefas 
rotineiras para serem executadas de acordo com as necessidades. 
De face a essa nova realidade, as residências podem usufruir de 
benefícios de sistemas denominados complexos, que não atuam somente 
como controladores, mas sim como gerenciadores, com a troca de 
informações entre todos os sistemas que compõem as instalações 
automatizadas, para que as funcionalidades possam ser personalizadas 
pelo cliente (DIAS, PIZZOLATO, 2004). 
As necessidades de economia, conforto e segurança criam as 
condições ideais para viabilizar o emprego da Domótica em questões 
como (ROSÁRIO, 2009): 
 
 Controle de Energia e Água: O uso de módulos apropriados 
possibilita uma melhor gestão de recursos, levando-se em 
consideração os aspectos do ambientes que se deseja controlar. 
31 
 
É possível, por exemplo, o acionamento noturno de 
equipamentos, detecção de presença e desligamento automático 
após um determinado tempo. Já para o racionamento de água, é 
possível realizar o controle com o emprego de sensores de 
presença, botão temporizador, irrigação do solo conforme as 
condições de umidade da terra (Figura 3); 
 
Figura 3 – Exemplo de sensor de umidade do solo 
 
 
 
Fonte: DX (2013) 
 
 Controle de Segurança: Existem diversos sensores para 
controle da segurança em diferentes níveis, que determinam as 
ações a serem executadas, baseadas nos eventos ocorridos. Com 
apenas alguns componentes, é possível detectar situações de 
emergência como: vazamento de gás, detecção de presença, 
prevenção de incêndios, controles de acessos, abertura de portas 
e janelas e emissão de sinais sonoros ou luminosos. O uso de 
sensoriamento em um sistema de alarme possibilita proteger 
áreas comercias e residências e foi desenvolvido para manter as 
dependências seguras de forma simples, executando ações 
como disparo de alarmes, acendimento de lâmpadas, etc; 
 Controle de Temperatura e Umidade: São fatores de 
comodidade. Através do controle térmico, é possível programar 
equipamentos de aquecimento, ventilação, desumidificadores e 
condicionadores de ar para serem ligados ou desligados e 
propiciar um melhor nível de conforto, além de gerar maior 
comodidade e propiciar o uso racional de energia. 
 
32 
Levando-se em conta as necessidades da Automação, é 
primordial que os equipamentos sejam integrados e interligados com o 
objetivo de oferecer aos usuários a ampliação dos resultados desejados. 
Em relação à tecnologia empregada, os sistemas de automação podem 
ser categorizados de duas formas (DIAS, PIZZOLATO, 2004): 
 
 Centralizado: São os sistemas nos quais o processamento 
ocorre de forma centralizada em uma central de controle, onde 
são conectados todos os dispositivos presentes no circuito. Essa 
central é responsável por receber os sinais e informações dos 
sensores e enviar os comandos das ações e ajustes que devem 
ser executados no sistema; 
 Distribuído: Os dispositivos conectados possuem 
processamento inteligente, cada qual com uma função 
específica para atender uma necessidade do sistema. Os 
dispositivos apresentam-se conectados por meio de uma rede, 
realizando a comunicação e troca de informações entre sensores 
e atuadores, além de possibilitar o controle e monitoramento do 
sistema. 
 
Independente da arquitetura, um sistema de Automação deve 
prover flexibilidade no desenvolvimento das soluções e na integração 
dos dispositivos, dessa forma é necessário escolher a tecnologia 
adequada ao projeto de Automação. 
Apesar dos benefícios propostos pela Domótica, ainda existem 
diversos desafios a serem superados principalmente por existirem 
poucos protocolos e dispositivos padronizados para a aplicação de 
soluções em residências, onde muitas destas soluções são herdadas dos 
ambientes de Automação industrial. Devido à crescente demanda, 
existem diversas entidades nacionais e internacionais que buscam 
definir mecanismos para padronizar o emprego de soluções tecnológicas 
residenciais, como a Continental Automated Buildings Associations 
(CABA), a Open Service Gateway Initiative (OSGI) e a Custom 
Electronic Design and Installation Association (CEDIA) (BOLZANI, 
2007).Atualmente, no Brasil, existem normas internacionais 
relacionadas à definição dos padrões de cabeamento para sistemas de 
Automação. Destacam-se a ANSI/EIA/TIA-570-A para cabeamento 
residencial e a norma ANSI/EIA/TIA-862, para edifícios comerciais 
(PINHEIRO, 2004). 
33 
 
Um dos destaques no cenário atual do mercado é a Zigbee 
Alliance, responsável por desenvolver um padrão de redes sem fio 
(Figura 4) de baixo custo, também conhecido como Xbee, destinado a 
aplicações embarcadas, formada por dezenas de empresas como 
Mitsubishi, Samsung, Cisco, Philips, Motorola, entre outras (DIAS, 
PIZZOLATO, 2004). 
 
Figura 4 – Módulo de comunicação sem fio Xbee 
 
 
 
Fonte: DX (2013) 
 
2.3 SOLUÇÕES PARA AUTOMAÇÃO DOMÓTICA 
 
Grandes corporações estão se unindo para formar consórcios e 
associações para aperfeiçoar e desenvolver soluções integradas de 
produtos e sistemas de Automação residencial. Nas subseções a seguir, 
são descritas algumas das soluções convencionais existentes para 
aplicação da Domótica. 
 
2.3.1 X10 
 
Desenvolvida na década de 70 pela empresa escocesa Pico 
Electronics, é uma tecnologia para controlar dispositivos em residências 
através da transmissão de dados binários pela corrente elétrica. 
Atualmente, o protocolo também está disponível para operar via rádio 
frequência (WOLLZ, 2012). 
Devido ao tempo de mercado, o sistema X10 é um dos 
protocolos mais utilizados no mundo para Automação residencial, 
principalmente devido a expiração da patente no ano de 1997, que 
possibilitou a fabricação dos dispositivos por diferentes empresas, além 
de uma grande difusão e diversificação de produtos (WOLLZ, 2012). 
34 
Uma das grandes vantagens desse sistema é a facilidade de 
instalação, já que a comunicação é feita na própria estrutura de rede 
elétrica (DIAS, PIZZOLATO, 2004). Existem dois tipos de dispositivos 
no sistema X10, os transmissores e os receptores. 
Os transmissores (Figura 5) são responsáveis por enviar sinais 
de comando para os equipamentos que serão controlados (ROSARIO, 
2009). Existem diferentes tipos de controladores, podendo ser citados: 
(i) módulo transmissor serial, para envio de comandos para a rede 
elétrica e gerenciamento dos receptores pelo computador; (ii) módulo 
transmissor termostato, que possibilita ligar e desligar equipamentos 
com base na temperatura ajustada; (iii) módulo transmissor para 
controle via telefone, pelo qual pode-se receber comandos via linha 
telefônica e controlar os equipamentos da rede. 
 
Figura 5 – Transmissor X10 
 
 
 
Fonte: ROSARIO (2009) 
 
Os receptores são os equipamentos que recebem os comandos 
dos transmissores, sendo que um receptor pode ser controlado por mais 
de um controlador (ROSARIO, 2009). Entre os modelos convencionais 
de receptores, podem ser citados: (i) o módulo receptor de lâmpada com 
função de ligar, desligar, ajuste de intensidade luminosa (dimmer); (ii) 
módulo receptor para tomada, para ligar e desligar equipamentos 
elétricos. 
35 
 
O funcionamento é bastante simples. Cada receptor (Figura 6) 
deve ser configurado com um endereço formado por um código da casa 
representado por uma letra (A-P), seguido por um identificador para o 
receptor (A1-A16), totalizando 256 endereços possíveis de serem 
configurados. Após a configuração, um transmissor conectado na 
mesma rede elétrica ou frequência pode enviar um comando para 
controlar um equipamento em um endereço específico ou até mesmo 
todos os equipamentos configurados em um mesmo código de casa 
(ROSARIO, 2009). 
 
Figura 6 – Exemplo de Receptor 
 
 
Fonte: ROSARIO (2009) 
 
Os modelos mais simples de receptores não permitem que seu 
status seja detectado pelos transmissores. Os modelos que possibilitam 
desenvolver sistemas mais robustos com comunicação em mão dupla e 
retroalimentação de status, custam de duas a quatro vezes mais 
(WOLLZ, 2012). 
Apesar dos benefícios propostos pelo X10, existem limitações 
que devem ser consideradas e solucionadas com o emprego de técnicas e 
recursos apropriados. Em relação à segurança, é necessário instalar 
filtros nas entradas da residência para impedir a entrada ou saída de 
36 
sinais gerados por outros módulos X10. Para casos em que a residência 
utilize circuito bifásico ou trifásico, a transmissão do sinal deve ser feita 
em diferentes fases. Outro fator importante é a limitação da velocidade 
de comunicação, pois a taxa máxima de transmissão é de 60bps. Em 
condições que necessitam de maior velocidade e confiabilidade, deve-se 
optar por soluções mais robustas e confiáveis (DIAS, PIZZOLATO, 
2004). 
 
2.3.2 IHC 
 
A Inteligent Home Control (IHC) é uma tecnologia proprietária 
para Automação residencial com comunicação via cabeamento 
estruturado. Baseada em uma arquitetura centralizada, os dispositivos 
presentes na instalação do sistema são conectados a um equipamento 
central, responsável pelo gerenciamento local por um controle remoto 
ou, remotamente, com o uso de telefone, Internet e smartphones (DIAS, 
PIZZOLATO, 2004). 
A configuração do sistema é feita através da programação das 
funções dos dispositivos em um software baseado em perguntas e 
respostas, responsável por adaptar as necessidades e preferências do 
usuário. Como o IHC é desenvolvido em uma plataforma modular 
padronizada, suas funcionalidades podem ser adaptadas e expandidas de 
forma gradativa e implantadas em etapas (TERUEL, 2008). 
Entre os principais módulos responsáveis pelo funcionamento 
existentes no sistema IHC (Figura 7), podem ser citados (DIAS, 
PIZZOLATO, 2004): 
 
 Módulo gerenciador: responsável pelo gerenciamento do 
sistema, é uma unidade composta por um microprocessador 
responsável por receber os comandos dos dispositivos e pelas 
ações feitas com base nas configurações do usuário. Possui uma 
capacidade máxima de 128 entradas e 128 saídas 
(SCHNEIDER ELECTRIC, 2013); 
 Módulos de Entrada: Possibilitam ao sistema ler informações 
do ambiente e são responsáveis por receber os sinais 
provenientes de dispositivos acionadores conectados na rede. 
Cada módulo de entrada possui 16 portas digitais; 
 Módulo de Saída: Possui a função de acionar os dispositivos 
de saída conectados e ativar luzes e LEDs de acordo com o 
37 
 
estado dos equipamentos e do sistema. Cada módulo de saída 
suporta 8 saídas digitais ou dimmerizadas; 
 Módulos de alimentação de energia: São empregados quando 
os módulos de entrada e saída não fornecem corrente elétrica 
suficiente para equipamentos que necessitam de tensão própria 
para o funcionamento; 
 Módulo de comunicação remota: Permite gerenciar e 
controlar os equipamentos do sistema pela linha telefônica ou 
Internet. 
 
Figura 7 – Esquemática de comunicação dos módulos IHC 
 
 
 
Fonte: SCHNEIDER ELECTRIC (2013) 
 
A tecnologia IHC pode ser considerada uma plataforma 
bastante sólida com inúmeras soluções para Automação de residências e 
edifícios, porém a arquitetura proprietária reduz a possibilidade de 
38 
integrar os equipamentos a outros sistemas e as funcionalidades de 
software estão limitadas às soluções disponibilizadas pela empresa. 
 
2.3.3 Sistema Lonworks 
 
Também conhecido como LON, foi projetado pela empresa 
Echelon Corporation em 2005. Foi originado de um grande conjunto de 
protocolos e do sistema Fieldbus, empregado na Automação Industrial 
na década de 60 (BIONDO, 2011). 
A principal motivação no desenvolvimento de um novo padrão 
era fornecer uma plataforma comum para a interoperabilidade de 
dispositivos de diferentes fabricantes. A comunicação entre os 
equipamentos é feitapor cabeamento estruturado através do protocolo 
LonTalk, implementado com base no modelo Open Systems 
Interconnection (OSI) que permite distribuir o processamento de carga e 
controlar de dois até trinta e dois mil dispositivos (TERUEL, 2008). 
No sistema LON, o controle é descentralizado. Os dispositivos 
denominados “Nós”, são compostos por um microcontrolador Neuron, 
comunicando-se por um protocolo Peer to Peer (P2P) entre os atuadores 
e sensores, sem a necessidade de transmitir as informações para uma 
central de processamento. Esse sistema também faz a comutação das 
mensagens em diferentes meios físicos, como fibra ótica, infravermelho, 
radio frequência, par trançado, bastando para isso que transmissores e 
receptores sejam compatíveis a um mesmo meio (BIONDO, 2011). 
Todo o controle é realizado pelo software Lonwork Network 
Service, composto por uma Application Programming Interface (API) 
para permitir a programação, gerenciamento e diagnóstico, além de 
suportar o protocolo IP que possibilita a integração da rede com a 
Internet (BIONDO, 2011). 
A aplicação da tecnologia LON é reconhecida pela American 
National Standards Institute (ANSI) e é adotada como padrão aberto 
para instalação em ambientes industriais, prediais e residenciais, além de 
ser uma das três tecnologias recomendadas para automação predial pela 
Inteligent Building Institute (IBI) (WOLLZ, 2012). 
Apesar dos benefícios propostos, a interoperabilidade entre 
equipamentos desenvolvidos por diferentes fabricantes é baixa pois, por 
serem equipamentos importados, o custo de implantação torna-se caro 
para o uso na Domótica. 
 
 
 
39 
 
2.4 ARDUINO 
 
Arduino é uma plataforma open source criada para a 
prototipação de circuitos eletrônicos de forma flexível e foi 
desenvolvida com o intuito de ser utilizado por pessoas com 
conhecimentos básicos em eletrônica, engenharia ou programação 
(GERTZ; JUSTO, 2012). 
Criado originalmente na Itália no ano de 2005 por Massimo 
Banzi e David Cuartielles, Arduino é um nome próprio originado de um 
rei italiano que significa “forte amigo” (WHEAT, 2011). 
A placa normalmente na cor azul é o objeto mais conhecido da 
plataforma e é composta por portas de conexão para comunicação com 
outros dispositivos. Um dos principais componentes presentes na placa 
principal do Arduino é o microcontrolador AVR Atmel, responsável 
pelo processamento e que pode ser facilmente programado com 
instruções para possibilitar a interação com o meio externo por meio das 
portas de entradas e saída (GERTZ; JUSTO, 2012). 
 
2.4.1 Hardware 
 
Apesar de existirem diferentes modelos de placas, sua 
arquitetura de hardware é bastante semelhante, sendo que as principais 
diferenças estão na capacidade de memória, processamento e o número 
de portas analógicas e digitais disponíveis (BOXALL, 2013). 
O Arduino Uno (Figura 8) foi anunciado em setembro de 2011 
e foi o marco inicial para o lançamento oficial da versão 1.0 do software 
de desenvolvimento. Nessa versão, a comunicação serial era feita com 
um conector SRS-232 e o hardware era equipado com um 
microcontrolador ATmega8 com frequência máxima de 16MHz e 8KB 
de memória de programa (WHEAT, 2011). 
Desde o lançamento oficial, novas versões foram lançadas e 
suas funcionalidades aprimoradas. Nos modelos mais recentes (Figura 
9), a comunicação serial é feita por uma interface Universal Serial Bus 
(USB), com um circuito Future Technology Devices International 
(FTDI), que faz a conversão de SRS-232 para USB (WHEAT, 2011). 
 
 
 
 
 
40 
Figura 8 – Primeiro modelo de Arduino projetado 
 
 
 
Fonte: WHEAT (2011) 
 
Figura 9 – Modelo atual do Arduino Uno 
 
 
 
Fonte: WHEAT (2011) 
 
Semelhante ao Arduino UNO, o Arduino Mega (Figura 10) 
diferencia-se pelo tamanho um pouco maior, pela quantidade de portas 
disponíveis e pelo emprego de um processador ATmega com maior 
capacidade de memória. 
 
 
 
41 
 
Figura 10 – Arduino Mega 
 
 
 
Fonte: WHEAT (2011) 
 
O diagrama da Figura 11 apresenta uma arquitetura simplificada 
dos principais componentes presentes na placa de um Arduino: porta 
serial USB, fonte de energia, portas de entrada e saída (também 
conhecidas como conectores de expansão) e o microcontrolador. Os 
componentes deste diagrama são descritos nas subseções a seguir. 
 
Figura 11 – Principais componentes do hardware do Arduino 
 
Interface 
Serial USB
Conectores de Expansão
Placa de I/O Arduino
Microcontrolador 
Atmel
Conectores de Expansão
Fontes de 
Alimentação
 
 
Fonte: Adaptado de WHEAT (2011) 
 
2.4.1.1 Fonte de alimentação 
 
Por se tratar de um dispositivo eletrônico, é necessário que 
exista uma fonte de energia para o funcionamento do Arduino. A 
42 
alimentação de energia pode ser fornecida de três formas (Figura 12): 
pela porta USB, pelo conector de alimentação externa ou pela porta de 
tensão não regulada (VIn) com limite de 5V. Nas placas atuais, mais de 
uma alimentação de energia pode ser usada, devido à presença de um 
circuito inteligente capaz de identificar e selecionar a fonte de 
alimentação com maior voltagem. Este circuito regulador também 
possui a função de estabilizar a tensão de 5V que será fornecida para o 
circuito (WHEAT, 2011). 
 
Figura 12 – Alimentação de energia do Arduino 
 
 
 
Fonte: WHEAT (2011) 
 
A alimentação de energia, quando fornecida pela porta USB, 
provê uma tensão de 5V e corrente variando de 100mA quando 
conectado como um dispositivo não enumerado, e até 500mA quando 
conectado como um dispositivo enumerado (WHEAT, 2011). 
Essa energia pode ser suficiente para fornecer tensões de 3.3V e 
5V nas portas de alimentação, para sensores de baixo consumo (Figura 
13), porém para sensores e dispositivos que necessitam de maior carga 
(e.g., reles, motores, solenoides), deve-se considerar uma fonte de 
alimentação alternativa para ligá-los, caso contrário poderá ocorrer uma 
sobrecarga de tensão, ocasionando a queima do circuito. Em alguns 
modelos de Arduino, existe um regulador de tensão de 3.3V utilizado 
principalmente por modelos de placas mais antigos na interface de 
comunicação USB FTDI (WHEAT, 2011). 
No mesmo conjunto de portas de energia, existe uma porta 
denominada reset, para reinicializar o dispositivo ao se fornecer uma 
tensão de 5V. Os conectores também são equipados com duas portas 
GND, que estão relacionadas com o polo negativo do circuito. 
 
 
43 
 
Figura 13 – Portas de alimentação de energia para sensores 
 
 
 
Fonte: WHEAT (2011) 
 
É importante ressaltar que a alimentação fornecida afeta 
diretamente a frequência com que o processador irá operar. Por 
exemplo, o microcontrolador ATmega328 (Arduino Uno) pode operar 
com tensão variando entre 1.8V e 5.5V, o que permite trabalhar com 
frequências entre 4MHz e 20 MHz. Para o modelo ATmega2560 
(Arduino Mega) a frequência é de 16MHz e não possui variação com 
tensão menor (WHEAT, 2011). 
 
2.4.1.2 Porta USB 
 
Nos modelos convencionais do Arduino, a interface USB possui 
três funções básicas (BOXALL, 2013): 
 
 Alimentação de energia: Fornece energia para o circuito do 
Arduino e sensores conectados às portas; 
 Gravação de firmware: Um dos mecanismos básicos para a 
atualização de código do microcontrolador é feito com o envio 
das instruções programadas através da porta USB, também 
conhecido como upload de código. Essa tarefa normalmente é 
feita pela Integrated Development Environment (IDE) do 
Arduino; 
 Troca de informações: A interface USB oferece conectividade 
para a troca de informações do computadorcom os dispositivos 
conectados e vice-versa. 
 
44 
O modo de operação para comunicação serial é realizado pelo 
padrão SRS-232. Esse mecanismo é baseado em um modo assíncrono, 
que opera no mesmo clock do processador durante a comunicação serial. 
Quando a comunicação serial é feita via interface USB, duas 
portas são utilizadas para essa tarefa, a porta zero RX para recepção e a 
porta um TX para transmissão, portanto o uso destas portas para outros 
fins depende da necessidade da comunicação serial ou não. As placas do 
Arduino normalmente são equipadas com Light Emitting Diode (LED) 
para facilitar a identificação da recepção e a transmissão de informações 
pela comunicação serial (Figura 14). 
 
Figura 14 – Identificação de operação na comunicação serial 
 
 
 
Fonte: WHEAT (2011) 
 
2.4.1.3 Microcontrolador 
 
O microcontrolador (Figura 15) é responsável pelo 
processamento das instruções do firmware e pelo controle das operações 
do Arduino. Esse componente pode estar presente de duas formas: 
soldado na placa no modelo Semi Metalic Disc (SMD) ou montado sob 
um invólucro conectado na placa principal, sendo que o segundo modelo 
permite a troca do chip apenas desconectando-o da placa principal 
(WHEAT, 2011). 
 
Os microcontroladores são circuitos integrados caracterizados 
por incorporar diversos elementos dentro de um mesmo componente. 
Um microprocessador necessita que outros componentes sejam 
adicionados para poder operar, como por exemplo memória, chipset e 
barramentos para enviar e receber dados. A existência desses 
45 
 
componentes dentro do mesmo circuito é o principal aspecto que 
diferencia um microprocessador de um microcontrolador, tornando-o 
um sistema computacional completo (SALLES, 2009). 
 
Figura 15 – Microcontrolador Atmel no Arduino 
 
 
 
 
Fonte: WHEAT (2011) 
Nota: Na parte superior da figura, um exemplo de microcontrolador 
montado, na parte inferior exemplo de um microcontrolador soldado. 
 
Os microcontroladores Atmel AVR possuem a característica de 
serem eficientes em termos de consumo energético e desempenho. São 
desenvolvidos com a tecnologia Reduced Complexity Instruction Set 
Computer (RISC) de 8 bits formado por instruções de 16 e 32 bits 
(ATMEL, 2013). Apesar de muitos acharem que a arquitetura RISC 
objetiva reduzir o número de instruções, na realidade o objetivo é 
reduzir a complexidade das instruções para serem executadas no menor 
número de ciclos possíveis, fazendo com que não seja necessário 
executar processamentos adicionais para decodificar as instruções 
(ATMEL, 2013). 
O software escrito para Arduino, também denominado 
firmware, é carregado para a área de memória dos microcontroladores 
Atmel através de um software conhecido como bootloader. O 
bootloader fica armazenado na área de memória de programa e sua 
46 
responsabilidade é possibilitar a comunicação do dispositivo com a 
interface USB pela qual o firmware é carregado. Esse código é sempre 
executado na inicialização e permite ao ambiente de desenvolvimento 
enviar o comando de reinicialização para começar o envio do novo 
firmware. 
Em processadores, a velocidade pode ser medida em Million 
Instructions Per Second (MIPS). Uma característica importante na 
família dos microcontroladores AVR é a velocidade de processamento, 
pois o seu conjunto de instruções necessita de apenas um ciclo de 
máquina para executar a maioria das instruções. Tomando como 
exemplo um microcontrolador AVR operando com um oscilador de 
4MHz, pode-se considerar que a velocidade de processamento é de 4 
MIPS. Essa informação pode ser de grande importância quando for 
necessário executar operações com alta velocidade e desempenho 
(SOARES, 1998). 
A Figura 16 mostra um diagrama simplificado dos principais 
componentes existentes em um microcontrolador Atmel AVR, descritos 
na sequência (WHEAT, 2009): 
 
Figura 16 – Estrutura interna de um microcontrolador Atmel 
 
 
 
Fonte: WHEAT (2011) 
 
 Central Processing Unit (CPU): As instruções presentes no 
firmware são executadas pela CPU e normalmente são 
compostas por: uma Arithmetic Logic Unit (ALU) responsável 
47 
 
por executar operações lógicas e aritméticas, registradores de 8 
bits, registrador de status, Program Counter (PC), um 
decodificador de instruções, interfaces para acesso a memória 
interna e periféricos (WHEAT, 2009). São baseados na 
arquitetura Harvard (Figura 17), que utiliza dois barramentos, 
um para memória de dados e outro para memória de programa, 
que possibilitam maior velocidade no processamento 
(SOARES, 1998). 
 
Figura 17 – Arquitetura Harvard 
 
Modelo Harvard
CPU
Memória de 
Dados
Memória de 
Programas
 
 
Fonte: Adaptado de SOARES (1998) 
 
 Memória de programa e dados (ROM, Flash, RAM, 
EEPROM): As memórias presentes nos microcontroladores são 
caracterizadas pela volatilidade. Normalmente a capacidade é 
bastante reduzida (na ordem de KBs) se comparada aos 
computadores atuais e varia com o modelo. Vale ressaltar que 
as memórias não voláteis possuem a vida útil reduzida a cada 
escrita. A Read Only Memory (ROM) é uma memória não 
volátil responsável por armazenar o conjunto de instruções que 
formam a aplicação. Um microcontrolador possui apenas um 
programa na memória que é sempre executado quando é 
inicializado ou reiniciado (desconsiderando o bootloader). Já a 
memória Random Access Memory (RAM) é responsável por 
armazenar as variáveis durante a execução do programa. Como 
as aplicações são pequenas, não há a necessidade de copiá-las 
para a memória RAM (WHEAT, 2011). Memória Flash é uma 
memória não volátil e regravável, cujas informações 
permanecem salvas mesmo após o desligamento do Arduino. 
48 
Suporta até dez mil gravações e pode gravar configurações ou 
persistir dados em caso de queda de energia. A Electrically 
Erasable Programmable Read-Only Memory (EEPROM) é 
semelhante à memória Flash, mas usa uma tecnologia mais 
antiga. Essa é uma memória bastante limitada (menor que 
1KB), porém com uma vida útil bem maior, em torno de cem 
mil gravações (ARDUINO, 2013); 
 Clock: Também conhecido como circuito de relógio, é um 
circuito oscilador responsável por controlar a sincronização das 
operações do sistema. A frequência é ajustada por um cristal de 
quartzo, presente na placa principal do Arduino. O ajuste da 
frequência é dependente da alimentação fornecida, permitindo 
trabalhar em modo de economia de energia ou alto desempenho 
(WHEAT, 2013); 
 Periféricos: Os microcontroladores Atmel são formados por 
circuitos adicionais que facilitam a comunicação com outras 
partes do sistema e a integração com novos componentes. Pode-
se citar: (i) a presença de portas de entrada e saída, sendo essas 
divididas em analógicas ou digitais, utilizadas para 
comunicação com outros dispositivos, (ii) interrupção externa 
para executar ações na ocorrência de eventos externos ao 
sistema, (iii) temporizador ou contador com a função de 
controlar tempo ou até mesmo interrupções para serem tratadas 
por outros sistemas, (iv) watchdog timer para reinicialização do 
sistema periodicamente para se recuperar de falhas e o (v) 
Universal Synchronous Asynchronous Receiver Transmitter 
(USART), um padrão universal para comunicação serial de 
forma síncrona ou assíncrona; 
 Conversores analógicos-digitais: Os microcontroladores 
usados no Arduino possuem um periférico Analog Digital 
Converter (ADC) para a conversão de sinais analógicos em um 
respectivo sinal digital variando entre 0 e 1023. Estes 
conversores tornam-se importantes quando se trabalha com 
dispositivos

Outros materiais