raphael a. m. de paula -...

57
UNIVERSIDADE SÃO FRANCISCO Engenharia de Computação RAPHAEL A. M. DE PAULA DETECTOR DE CAMPOS ELETROMAGNÉTICOS DE FREQUÊNCIAS ULTRA BAIXAS UTILIZANDO A PLATAFORMA ARDUINO DUEMILANOVE Itatiba 2011

Upload: letruc

Post on 10-Mar-2018

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

UNIVERSIDADE SÃO FRANCISCO

Engenharia de Computação

RAPHAEL A. M. DE PAULA

DETECTOR DE CAMPOS ELETROMAGNÉTICOS DE

FREQUÊNCIAS ULTRA BAIXAS UTILIZANDO A

PLATAFORMA ARDUINO DUEMILANOVE

Itatiba

2011

Page 2: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

RAPHAEL AUGUSTO MALHEIROS DE PAULA

RA 002200500027

DETECTOR DE CAMPOS ELETROMAGNÉTICOS DE

FREQUÊNCIAS ULTRA BAIXAS UTILIZANDO A

PLATAFORMA ARDUINO DUEMILANOVE

Monografia apresentada ao Curso de

Engenharia de Computação da

Universidade São Francisco, como

requisito parcial para obtenção do título

de Bacharel em Engenharia de

Computação.

Orientador: Prof. Dr. Cláudio K. Umezu

Itatiba

2011

Page 3: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

Agradecimentos

Inicialmente agradeço a Deus por conceder sua iluminação e perseverança, e, embora

com participação sutil, foi determinante para bom andamento desta longa caminhada.

Valorizo o apoio irrestrito e multidisciplinar de minha mãe Mércia e meu pai Murilo,

sempre me orientando para o caminho correto.

Demonstro meu apreço por Mestres que felizmente cruzaram esta jornada, tais como

Eduardo Sartori, Edval de Matos, Percival de Lucena e Raimundo Vasconcelos, que não tem por

objetivos apenas a formação acadêmica do aluno, área na qual atuam com excelência, mas

também se preocupam em preparar seus pupilos para a vida de uma maneira geral, e também a

meu orientador Claudio Umezu.

As felicidades nas belíssimas amizades conquistadas, que espero levar pelos meus dias

nesta dimensão, principalmente nos nomes de Felipe “Tossi” Rossi, Franco “Francis” Altieri,

Natacha “Jaime” Feliciani, Rafael “Palminha” Gonçalves, Raquel “Esquilo Quik” Dalcin, Renato

“Lady Lacraia” Miraglia, que animaram e confortaram de maneira inestimável o fluxo corrente

de todos esses anos, bem como outras formas de contribuição provenientes do falecido Toninho,

aos poderes Shazam, à Constante de King, a mesa da diretoria e ao pessoal do Tigre Faminto.

Por fim agradeço enormemente à minha amada Carolina, que sempre me ajudou em

todos esses anos de diversos modos e por todos os motivos.

Vocês todos foram essenciais.

Page 4: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

RESUMO

As redes de computadores tem desempenhado cada vez mais um papel vital em todas as

atividades comerciais e industriais, onde quaisquer falhas na comunicação de informações podem

adquirir proporções gigantescas. Com adaptações não profissionais às novas tecnologias de

comunicação, muitos ambientes de trabalho apresentam redes Ethernet com grande

suscetibilidade a interferências e falhas. Uma causa muito comum é a utilização de conduítes

elétricos para a instalação de cabos ethernet, normalmente cabo de pares trançados, categoria

cinco. Mesmo com a instalação de cabos blindados, estão expostos à severa interferência

eletromagnética de frequência ultra baixa, emanada por cabos de energia comuns, bem como

outros equipamentos eletrônicos em seu caminho, que também geram interferências em outras

faixas de frequência, e que podem comprometer o desempenho geral. Neste contexto, projeto

visou o desenvolvimento de um detector de interferência eletromagnética, utilizando a plataforma

opensource Arduino, cuja informação será exibida de maneira visual, e não métrica, a fim de

facilitar sua compreensão, permitindo uma instalação otimizada do cabeamento, com chances

reduzidas de exposição a interferências de frequências ultra baixas, beneficiando o desempenho

coletivo da infraestrutura de rede ethernet.

Palavras-chave: Arduino, Campo elétrico, Campo eletromagnético, Campo magnético,

Detecção, Interferência eletromagnética, Micro controlador, Ruído.

Page 5: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

ABSTRACT

Computer networks have played an increasingly vital role in all commercial and

industrial activities, where any gaps or failures in communication may acquire gigantic

proportions. With barely professional adaptations to new communication technologies, many

workplaces have Ethernet networks highly susceptible to interference and failures. A very

common cause is the use of electrical conduit for the installation of Ethernet cables, usually

twisted pair cables, category five. Even with the installation of shielded cables, they are exposed

to severe ultra-low frequency electromagnetic interference, emanating from common power

cables and other electronic equipment on it's way, which also emanate interference in other

frequency bands, and can compromise the network's overall performance. This project aims to

develop a detector of electromagnetic interference, using the open source Arduino platform, with

visually displayed readings, not metric, in order to facilitate the understanding, allowing an

optimized installation of cabling, with reduced chances of exposure to ultra-low frequency

interference, benefiting the collective performance of the Ethernet network infrastructure.

Keywords: Arduino, Detection, Electric field, Electromagnetic field, Electromagnetic

Interference, Magnetic field, Microcontroller, Noise.

Page 6: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

SUMÁRIO

LISTA DE FIGURAS . …………………………………………………………………….9

LISTA DE SIGLAS……………………………………………………………………….10

1 INTRODUÇÃO …………………………………………………………..……………..11

1.1 Objetivo………………………………………………………………….………..……12

2 METODOLOGIA………………………………………………………………………13

3 ESTUDOS DOS FENÔMENOS FÍSICOS................................................................. 14

3.1 Corrente elétrica ......................................................................................................... 14

3.2 Campo elétrico..................................................................................................................15

3.3 Condutores........................................................................................................................15

3.4 Campo Magnético ...................................................................................................... 16

3.5 Linhas de campo magnético ....................................................................................... 17

3.6 Teorema da amostragem...................................................................................................17

3.7 Filtros eletrônicos.............................................................................................................19

4 ARDUINO DUEMILANOVE .................................................................................... 22

4.1 Atrativos...........................................................................................................................25

5 PROGRAMAÇÃO ...................................................................................................... 26

5.1 Estrutura .................................................................................................................... 26

5.2 Funções ...................................................................................................................... 27

5.3 Chaves ....................................................................................................................... 27

5.4 Ponto e vírgula ........................................................................................................... 28

Page 7: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

5.5 Comentários ............................................................................................................... 28

5.5.1 Comentários de linha ..................................................................................................... 28

5.5.2 Comentários em bloco ................................................................................................... 28

5.6 Variáveis .................................................................................................................... 29

5.6.1 Declaração de variáveis ................................................................................................. 29

5.6.2 Escopo de variáveis ....................................................................................................... 29

5.6.3 Tipos de variável ........................................................................................................... 30

5.6.3.1 Byte ........................................................................................................................ 30

5.6.3.2 Inteiro ..................................................................................................................... 30

5.6.3.3 Long ....................................................................................................................... 31

5.6.3.4 Float ....................................................................................................................... 31

5.6.3.5 Vetores ................................................................................................................... 32

5.7 Operadores ................................................................................................................. 32

5.7.1 Operadores aritméticos .................................................................................................. 33

5.7.2 Operadores compostos ................................................................................................... 33

5.7.3 Operadores de comparação ............................................................................................ 34

5.7.4 Operadores lógicos ........................................................................................................ 34

5.8 Constantes .................................................................................................................. 35

5.8.1 Verdadeiro/falso ............................................................................................................ 34

5.8.2 Alto/Baixo ..................................................................................................................... 35

5.8.3 Entrada/Saída ................................................................................................................ 36

5.9 Fluxo de controle ....................................................................................................... 36

5.9.1 Se .................................................................................................................................. 36

5.9.2 Se - Então ...................................................................................................................... 37

5.9.2 Para ............................................................................................................................... 38

5.9.3 Enquanto ....................................................................................................................... 39

5.9.4 Faça - enquanto ............................................................................................................. 39

5.10 Entradas e saídas digitais .......................................................................................... 40

5.10.1 Tipo do pino ................................................................................................................ 40

5.10.2 Leitura digital .............................................................................................................. 41

5.10.3 Escrita digital .............................................................................................................. 41

5.11 Entradas e saídas analógicas ..................................................................................... 42

5.11.1 Leitura analógica ......................................................................................................... 42

5.11.2 Escrita analógica.......................................................................................................... 43

5.12 Comandos temporais ................................................................................................ 43

5.12.1 Atraso .......................................................................................................................... 43

5.13 Comunicação ........................................................................................................... 44

5.13.1 Iniciar porta serial ........................................................................................................ 44

Page 8: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

6 PROJETO………………………………………………………………………………45

6.1 Visualização……………………………………………………………………………45

6.1.1 LCD………………………………………………………….……………………….….45

6.1.2 Bargraph…………………………………………………………………………………48

6.2 Implementação de filtro……………………………………………….………………48

6.3 Codificação…………………………………………………………………………....51

6.3.1 Definição……………………………………………………………………..….………51

6.3.2 POST…………………………………………………………………………………….51

6.3.4 Tratamento……………………………………………………………………………....51

6.3.5 Visualização……………………………………………………………………………..51

6.4 Componentes…………………………………………………………………………..51

6.5 Testes…………………………………………………………………………………..52

7 CONCLUSÃO………………………………………………………………………….55

REFERÊNCIAS BIBLIOGRAFICAS………………………………………………….57

Page 9: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

9

LISTA DE FIGURAS

Figura 1-1: Exemplo de instalação errada em conduíte..........................................11

Figura 2-1: Diagrama de metodologias...................................................................13

Figura 3-1: Exemplo de fio condutor......................................................................16

Figura 3-2: Campo eletromagnético ao redor de condutor retilíneo.......................17

Figura 3-3: Circuito LPF ativo básico, com fonte não simétrica............................20

Figura 3-4: Diferentes slopes de um filtro Butterworth..........................................21

Figura 4-1: Arduino Duemilanove..........................................................................22

Figura 4-2: Arduino Duemilanove, vista superior e inferior...................................23

Figura 4-3: Esquema elétrico do Arduino Duemilanove........................................24

Figura 6-1: LCD 16x2.............................................................................................45

Figura 6-2: Esquema de ligação de LCD 16x2..….................................................46

Figura 6-3. LED Bargraph......................................................................................48

Figura 6-4: Resposta simulada de filtro Butterworth..............................................49

Figura 6-5: Esquema elétrico do filtro....................................................................49

Figura 6-6: Simulação de filtro...............................................................................50

Figura 6-7: Diagrama de blocos..............................................................................50

Figura 6-8: Protótipo...............................................................................................50

Page 10: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

10

LISTA DE SIGLAS

DC (Direct Current) Corrente direta;

DSP Digital Signal Processing;

EEPROM Electrically-Erasable Programmable Read-Only Memory;

E/S Entrada/Saída;

GND (Ground) Terra;

HPF (High Pass Filter) Filtro passa-alta;

IC (Integrated Circuit) Circuito integrado;

KB Kilobyte (1024 bytes ou 8192 bits);

LED (Light Emitting Diode) Diodo emissor de luz;

LPF (Low Pass Filter) Filtro passa-baixa.

mA Mili Amperes (0,001A);

POST Power on self-test;

PWM (Pulse Width Modulation) Modulação de largura de pulso;

SI Sistema internacional de unidades;

SMD (Surface Mount Devices) Dispositivo de montagem em superfície;

SRAM Static Random Access Memory;

USB Universal Serial Bus;

VIN Entrada de tensão.

Page 11: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

11

1 INTRODUÇÃO

O desenvolvimento deste projeto visou a escolha de rotas otimizadas para instalação de

cabeamento de rede, de forma a diminuir problemas por causa de ruídos provenientes da rede

elétrica, em instalações erradas (Figura 1-1), detectando in loco, com um dispositivo portátil, a

presença de campos eletromagnéticos, e exibindo, de maneira visual, a intensidade dos mesmos.

Figura 1-1: Exemplo de instalação errada em conduíte.

Portanto, para sua realização são necessários sólidos conhecimentos sobre os fenômenos

físicos envolvidos, tais como campos eletromagnéticos e a teoria geral do eletromagnetismo,

efeitos e características de blindagens, teorias das pontas e efeito de pele (skin effect), apontados

de maneira primária como mais pertinentes ao tema, além do estudo e teste de antenas.

Pode-se também citar o estudo da linguagem de programação utilizado na plataforma

Arduino, semelhante à linguagem C, porém com suas particularidades de construção.

Dessa maneira, estabeleceu-se uma ordem de prioridades para a realização do projeto.

Porém, ao invés de focar-se em um objetivo de estudo por vez, decidiu-se optar por um estudo

concorrente entre a física teórica e desenvolvimento computacional, a fim de permitir a

prevenção de incompatibilidades entre as propostas e soluções adotadas, bem como a

programação de um código sólido, funcional e com menor complexidade.

Page 12: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

12

Este trabalho tem por objetivo o desenvolvimento de um detector capaz de auxiliar na

instalação otimizada de cabeamento de rede ethernet, evitando o contato de possíveis

interferências prejudiciais em seu desempenho, consistindo no estudo dos fenômenos envolvidos,

das possíveis necessidades para a solução do problema, e do desenvolvimento de protótipo que

englobe essas necessidades e permita cumprir o objetivo.

Page 13: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

13

2 METODOLOGIA

Para o desenvolvimento deste trabalho foi utilizada a combinação de diferentes

metodologias de pesquisa, resultando numa metodologia híbrida (Figura 2-1) concorrente,

consistindo primeiramente em uma pesquisa teórica inicial sofre os fenômenos físicos, evoluindo

para uma breve pesquisa histórica, permitindo selecionar os tópicos mais importantes, e de uma

reforçada pesquisa empírica, para conhecer a relevância dos fenômenos mencionados.

E em um segundo momento, a utilização de uma metodologia experimental, com teste

em ambiente parcialmente controlado (onde embora não se possa quantificar os fenômenos, é

possível a certificação de sua ocorrência) e de testes de campo, em ambiente profissional, nesse

caso uma coordenadoria especial de tecnologia de informação.

Figura 2-1: Diagrama de metodologias utilizadas.

TEÓRICA

EXPERIMENTAL

METODOLOGIA HÍBRIDA

EMPÍRICA

HISTÓRICA

Page 14: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

14

3 ESTUDOS DOS FENÔMENOS FÍSICOS

De acordo com numerosas fontes, os primórdios do descobrimento do eletromagnetismo

remetem a Grécia antiga, onde notaram que ao atritar um pedaço de âmbar com pele de carneiro

podia-se atrair pequenos pedaços de palha, além do conhecimento sobre pedras capazes de atrair

o ferro (magnetita). Essas raízes históricas originam a palavra eletricidade, derivada de eléktron,

que é o grego para âmbar.

As ciências da eletricidade e do magnetismo desenvolveram-se de maneira independente

até 1820, quando H. C. Oersted notou, acidentalmente, a relação entre ambas, ao visualizar a

atração de uma agulha imantada de uma bússola próxima a um fio condutor de corrente elétrica.

Este novo ramo científico foi então desenvolvido por numerosos cientistas, dos quais

podemos destacar Michael Faraday, James Maxwell, entre outros.

Para simplificar o entendimento, os fenômenos físicos foram divididos em assuntos

delimitados, para abranger as diversas facetas do tema.

3.1 Corrente elétrica

A corrente elétrica é um conjunto de cargas elétricas em movimento, podendo ou não

estar em função do tempo. A corrente, denominada i, e cuja grandeza é medida em Ampères [A],

e seu comportamento, devido a carga negativa dos elétrons, é atraído pelo polo positivo e repelida

pelo polo negativo.

3.2 Campo elétrico

A força elétrica é uma força que age à distância, de maneira que não haja interação física

entre as partes. A noção de campo elétrico [2] é atribuída ao inglês Michael Faraday, que define

um campo elétrico se estendendo de cada carga e permeia todo o espaço. Se uma segunda carga é

aplicada próxima a primeira carga, ela sentirá a força exercida pelo campo elétrico presente.

Para cargas em repouso, o campo elétrico no condutor é zero com as cargas em repouso

[2]. Outra propriedade importante é que um campo elétrico é sempre perpendicular a superfície

fora de um condutor.

Page 15: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

15

3.3 Condutores

Nesta parte foram apresentadas algumas propriedades e características de fios condutores

(Figura 3-1). Condutores normalmente são compostos de algum material com afinidade para

cargas elétricas, isto é, que oferece menor resistência para o fluxo de elétrons, e revestido por

algum material dielétrico, que age como uma barreira isolante. Além das diferentes bitolas

(comumente especificadas em mm² ou AWG), dependendo de sua aplicação podem ocorrer

diversas variações.

Materiais:

- Cobre (Cu) puro;

- Ligas de Cobre (Cu) e Alumínio (Al);

- Cobre (Cu) revestido de Prata (Ag);

- Prata pura (Ag);

- Prata (Ag) e Ouro (Au);

- Ouro (Au) puro.

Além da adição de outros materiais incomuns, como Tungstênio ou Zinco, também

possuem diferentes graus de pureza, bem como métodos de processamento, presença de oxigênio,

resíduos.

Alguns fios condutores possuem uma camada de blindagem, cuja função é eliminar ou

atenuar interferências. Dependendo do formato aplicado, as blindagens podem ser classificadas

em:

- malha;

- folha.

Diferentes geometrias visam alterar o comportamento dos campos eletromagnéticos

internamente gerados num condutor, resultando em uma maior resistência a interferências, por

exemplo. As geometrias mais comuns são:

- Litz (normalmente utilizada em cabos UTP e STP);

- Kimber;

Page 16: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

16

- Oval.

Figura 3-1: Exemplo de fio condutor.

Convém adiantar que condutores também apresentam a influência de campos magnéticos

além de campos elétricos.

3.4 Campo Magnético

Análogo aos campos elétricos, um campo magnético é um campo vetorial ao entorno de

um objeto de estudo. Porém, manifesta-se apenas quando a carga elétrica está em movimento, e

não por cargas estáticas.

Diversos exemplos de campos magnéticos podem ser encontrados na natureza, e também

podem ser artificialmente criados. Envolvendo-se um núcleo ferroso com um fio condutor e

aplicando uma corrente elétrica obtêm-se um campo magnético B, cuja grandeza é medida em

Tesla [T] pelo SI, e sua intensidade é intimamente ligada e grandeza da corrente elétrica presente.

Page 17: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

17

3.5 Linhas de campo magnético

Um campo magnético pode ser representado por linhas vetoriais. Citando diretamente

Halliday, têm-se duas regras básicas:

“(1) a direção da tangente a uma linha de campo magnético, em qualquer ponto, nos dá a direção de B naquele ponto, e (2) o espaçamento das linhas é uma

medida do módulo de B, portanto o campo é forte onde as linhas estão mais próximas

umas das outras e inversamente”. [1]

Dado este comportamento, pode-se observar a orientação do fluxo de um campo

magnético baseando-se no sentido da corrente elétrica presente. Este é um ponto chave deste

projeto, pois permite denotar a presença de um campo magnético circular ao redor de um

condutor retilíneo.

Na Figura 3-2 pode-se notar a orientação de um campo magnético em relação a corrente i

ao redor de um condutor retilíneo isolado por material dielétrico.

Figura 3-2: Campo magnético ao redor de condutor retilíneo.

3.6 Teorema da amostragem

Nesta sessão abordou-se o teorema da amostragem. Originalmente desenvolvido por

Harry Nyquist, também é conhecido por Teorema da amostragem de Shannon, ou Nyquist-

Shannon-Kotelnikov, Whittaker-Shannon-Kotelnikov, Whittaker-Nyquist-Kotelnikov-Shannon,

WKS, ou simplesmente, Teorema da Amostragem.

É de suma importância na área de telecomunicações e processamento de sinais (DSP),

pois trata da conversão de sinais analógicos para domínios digitais. O teorema pode ser descrito

da seguinte maneira:

Page 18: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

18

"Seja um sinal, limitado em banda, e seu intervalo de tempo dividido em

partes iguais, de forma que se obtenham intervalos tais que, cada subdivisão

compreenda um intervalo com período T segundos, onde T é menor do que 1/2*FM, e se uma amostra instantânea é tomada arbitrariamente de cada subintervalo, então o

conhecimento da amplitude instantânea de cada amostra somado ao conhecimento dos

instantes em que é tomada a amostra de cada subintervalo contém toda a informação

do sinal original." [5]

Ou seja, um sinal analógico amostrado, de banda limitada, pode ser corretamente

recuperado se a taxa de amostragem for igual ou superior a 2 * FMAX amostras por segundo, onde

FMAX é a maior frequência, em Hertz, do sinal original. Embora existam algumas particularidades

em relação ao Teorema, esta definição é abrangente e atende a maioria dos processos de

amostragem.

Em termos práticos, pode-se dizer que:

- Caso a maior frequência (B) do sinal seja conhecida, o teorema fornece o limite

inferior da frequência de amostragem para garantir uma reconstrução perfeita. A taxa

de Nyquist é definida por 2 * B;

- Caso a frequência de amostragem seja conhecida, o teorema fornece um limite

superior para os componentes de frequência para a reconstrução perfeita, B < FS / 2.

Este limite superior para é a frequência de Nyquist, denominada FN.

Se a frequência de amostragem for conhecida, o teorema fornece um limite superior para

os componentes de freqüência, B <fs / 2, do sinal para permitir a reconstrução perfeita. Este

limite superior é a freqüência de Nyquist, denotado fN.

3.7 Filtros eletrônicos

Filtros eletrônicos são circuitos que visam executar funções de processamento de sinais,

a fim de remover componentes de frequências indesejadas do sinal. Os filtros podem ser

categorizados de diversas maneiras.

Dependendo da construção, pode-se utilizar diferentes tecnologias:

Page 19: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

19

- Filtros passivos (RLC): combinação de resistores, capacitores e indutores, onde

podem ainda existir apenas filtros RC e RL, dependendo do efeito desejado;

- Filtros ativos: combinam componentes passivos com componentes ativos, ou seja,

utiliza um componente amplificador, normalmente um circuito integrado, e utiliza

alimentação externa;

- Filtros digitais: efetuam operações matemáticas em um sinal previamente

amostrado.

Além destes, existe filtros mecânicos, filtros atômicos, filtros Garnet, entre outros.

Existem diversas topologias que norteiam o projeto de um filtro:

- Topologia de Cauer – Indutores e capacitores (passivo);

- Topologia Sallen-Key – Resistores e capacitores (ativo);

- Topologia Realimentação (feedback) múltipla - Resistores e capacitores (ativo);

- Topologia Biquadrática - Resistores e capacitores (ativo) ;

- Entre outras topologias.

Dependendo do grau polinomial da derivação matemática do filtro, podem ser

classificados por classes:

- Butterworth: sem ganho de ondulação na banda passante e na banda rejeita, corte

lento;

- Chebyshev (Tipo I): sem ganho de ondulação na banda passante, corte moderado;

- Chebyshev (Tipo II): sem ganho de ondulação na banda rejeita, corte moderado;

- Bessel: sem ondulação no atraso, sem ganho de ondulação em ambas as bandas,

corte lento;

- Filtro Elíptico - ganho de ondulação em ambas as bandas, corte rápido.

- Entre outras classes.

Page 20: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

20

Conforme o efeito do filtro, podem ser classificados de acordo com sua terminologia:

- Filtro passa alta (HPF): é um filtro que permite a passagem de frequências acima da

frequência de corte;

- Filtro passa baixa (LPF): é um filtro (Figura 3-3) que permite a passagem de

frequências abaixo da frequência de corte;

- Filtro passa banda: permite a passagem da uma banda intermediária de frequências,

como uma combinação entre filtros HPF e LPF;

- Filtro rejeita banda: rejeita a passagem de uma banda intermediária de frequências,

realizando o inverso do filtro passa banda;

- Filtro Notch: é um filtro que rejeita a banda ao extremo, reduzindo a um valor muito

baixo uma frequência específica;

- Filtro All-pass: é um filtro que permite a passagem de todas as frequências do sinal,

porém altera a fase do mesmo. Embora todos os filtros alterem a fase de um sinal, este filtro é

focado exclusivamente neste objetivo.

Figura 3-3: Circuito LPF ativo básico, com fonte não simétrica. [7]

Os filtros também variam conforme a intensidade de atenuação, caracterizado por seu

slope, que indica qual a atenuação em decibéis (dB) por agrupamentos de frequências,

normalmente oitavas (cada oitava representa o dobro da frequência) ou décadas. Dessa forma, os

filtros recebem a atribuição de ordem, sendo os mais comuns de 1ª ordem até 4ª ordem:

- Primeira ordem: 6 dB/8ª ou 20 dB/Década;

Page 21: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

21

- Segunda ordem: 12 dB/8ª ou 40 dB/Década;

- Terceira ordem: 18 dB/8ª ou 60 dB/Década;

- Quarta ordem: 24 dB/8ª ou 80 dB/Década.

A Figura 3.4 ilustra a diferença na resposta de frequência de um filtro passa-baixa

Butterworth conforme a variação de sua ordem.

Figura 3-4: Diferentes slopes de um filtro Butterworth.

Embora existam diversos tipos de filtros, métodos de desenvolvimento, esta visão,

embora simplificada, é suficiente para auxiliar na implementação de um filtro útil ao projeto

deste trabalho.

Page 22: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

22

4 ARDUINO DUEMILANOVE

Figura 4-1: Arduino Duemilanove [4]

O modelo Arduino Duemilanove (2009, em Italiano) é um modelo intermediário da

família Arduino. Consiste em uma plataforma baseada no controlador ATmega168 ou

Atmega328. Neste projeto foi utilizado o modelo ATMEL Atmega328.

Esta plataforma possui 14 (catorze) pinos digitais que podem ser usados como entradas

ou saídas, dos quais 6 (seis) podem ser usadas como saídas PWM (Pulse Width Modulation), 6

(seis) entradas analógicas, um oscilador de cristal de 16MHz, conexão USB (modelo B), entrada

para alimentação, LEDs SMD de estado e operação e botão de reset.

As especificações técnicas do modelo em questão são:

- Micro controlador: Atmega328;

- Tensão de operação: 5V ;

- Tensão de entrada (recomendada): 7-12V;

- Tensão de entrada (limite): 6-20V;

- E/S Digitais: 14 (6 saídas PWM);

- Entradas analógicas: 6;

Page 23: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

23

- Corrente DC por pin: 40 mA;

- Memória Flash: 32 KB;

- SRAM: 2 KB;

- EEPROM: 1 KB;

- Velocidade de clock: 16MHz;

- Comunicação serial.

A alimentação, que pode ser feita pela própria porta USB ou por fonte externa, é dotada

de um seletor automático. Tensões abaixo de 7Volts podem causar instabilidades na placa e

tensão insuficiente nos pinos 5V. Já uma tensão superior a 12Volts pode causar

superaquecimentos no regulador de tensão e danificar a placa.

Figura 4-2: Arduino Duemilanove, vista superior e inferior. [4]

O Arduino Duemilanove utiliza os seguintes pinos para o gerenciamento de energia:

- VIN: Responsável pela entrada quando utilizando fonte externa;

- 5V: Utilizado pelo microcontrolador e outros ICs na placa, pode ser obtido

pela entrada USB ou pelo VIN;

- 3V3: Tensão de 3,3Volts gerada na placa;

- GND: Pinos de aterramentos.

Page 24: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

24

Os métodos utilizados para E/S e comunicação serão abordados na sessão sobre a

linguagem de programação. Como informação complementar, a Figura 3 apresenta o esquema

elétrico do Arduino Duemilanove.

Figura 4-3: Esquema elétrico (Arduino Duemilanove) [4]

Page 25: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

25

4.1 Atrativos

Os principais atrativos para utilização da plataforma Arduino em relação a outras (Ex:

PIC), de maneira sucinta, são:

- Maior acessibilidade para usuários sem conhecimentos sólidos em tecnologias

correlatas;

- Grande comunidade de desenvolvimento e compartilhamento orientada ao Open

Source;

- Prototipagem simples e rápida;

- Diversas bibliotecas para facilitar o desenvolvimento;

- Comunicação serial e alimentação via USB;

- Compilação rápida, sem necessidade de aplicativos de terceiros.

Page 26: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

26

5 PROGRAMAÇÃO

A plataforma Arduino utiliza uma linguagem de programação semelhante à linguagem

computacional C, porém com respectivas particularidades na sintaxe e construção.

Neste estágio foram abordadas as diretivas básicas [3] para montagem de código na

linguagem.

5.1 Estrutura

A estrutura utiliza dois componentes fechados, um Void Setup(), executada apenas uma

vez e responsável pela preparação (declaração de variáveis, pinos, comunicação serial) e um Void

Loop(), responsável pela execução (leitura de entradas, execução de saídas, lógicas de

programação). Ambos são requeridos para execução.

Exemplo de Void Setup():

void setup()

{

pinMode(pin, OUTPUT); // ativa o pino como saída

}

Exemplo de Void Loop():

void loop()

{

digitalWrite(pin, HIGH); // liga o pino

Page 27: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

27

delay(1000); // pausa por um segundo

digitalWrite(pin, LOW); // desliga o pino

delay(1000); // pausa por um segundo

}

5.2 Funções

As funções são blocos de códigos com variáveis e comandos específicos, ativados

quando a função é chamada. Para declarar uma função, primeiro especifica-se o tipo, sendo que

se não houver tipo (int, por exemplo) deve ser declarado como void. A seguir o nome da função,

e entre parênteses os parâmetros a serem utilizados.

Genericamente, a declaração de uma função é feita da seguinte forma:

tipo Nomedafuncao(parametros)

{

código;

}

5.3 Chaves

São utilizadas para definir o início e o fim de blocos de função, tais como o Void loop()

e Void setup(). Toda chave aberta deve ser balanceada, isto é, fechada, para evitar erros de

compilador. O ambiente de programação fornecido disponibiliza a iluminação dos pares de

chaves, para facilitar a localização de possíveis erros.

Page 28: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

28

5.4 Ponto e vírgula

Utiliza-se o ponto e vírgula para finalizar uma linha do programa e para separar

elementos de um laço. A ausência do ponto e vírgula irá resultar em erro de compilador.

5.5 Comentários

A linguagem pode ser documentada por duas maneiras diferentes, comentários de linha

ou comentários em bloco.

5.5.1 Comentários de linha

Utiliza-se apenas uma linha para realiza um comentário. Exemplo:

//Comentário de uma linha

5.5.2 Comentários em bloco

O comentário se entende por algumas linhas, formando um bloco. Iniciados por ‘ /* ’ e

finalizados por ‘ */ ’. Conforme outras funções, devem ser balanceados. Exemplo:

/*

Bloco de comentário

Bloco de comentário

Bloco de comentário

*/

Page 29: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

29

5.6 Variáveis

Uma variável precisa ser declarada e opcionalmente assinalada com o valor a ser

guardado. Exemplo:

int inputVariable = 0; // declara a variável e

// assinala o valor 0

inputVariable = analogRead(2); // set a variável para o

// valor do pino analógico 2

O comando inputVariable é a própria variável, neste caso declarando um int. A segunda

linha seta a variável para o valor do pino analógico 2. Isso permite o valor do pino 2 ser acessado

em outras partes do código. Embora qualquer nome possa ser usado para descrever uma variável,

uma boa prática é adotar nomes que remetem facilmente ao seu uso.

5.6.1 Declaração de variáveis

Todas as variáveis devem ser declaradas antes do uso. A declaração nada mais é que

definir o tipo de seu valor (int, long, float et al), um nome específico e opcionalmente um valor

inicial. Uma variável pode ser declarada em diversas partes do programa, o que determina seu

escopo.

5.6.2 Escopo de variáveis

O escopo de uma variável determina quais partes do programa podem fazer seu uso.

Uma variável global é declarada no início do programa, antes da função void setup().

Page 30: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

30

Uma variável local é definida dentro de uma função ou como parte de um laço. Só é

visível e utilizável dentro da função na qual foi declarada. Dessa forma é possível ter variáveis

completamente diferentes como o mesmo nome, em diferentes partes do código. Exemplificando:

int value; // 'value' é visível

// para qualquer função

void setup()

{

// sem necessidade de setup

}

void loop()

{

for (int i=0; i<20;) // 'i' é visível apenas

{ // dentro do laço for

i++;

}

float f; // 'f' é visível apenas

// dentro de loop

}

5.6.3 Tipos de variável

A seguir serão apresentados os tipos de dados mais utilizados na plataforma Arduino.

5.6.3.1 Byte

Byte arquiva um valor numérico sem pontos decimais de 8 bit, de 0 a 255.

Page 31: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

31

byte VariavelByte = 17;7 //declara variavelByte como tipo byte

5.6.3.2 Inteiro

Inteiros são a forma básica para o arquivamento de números de ponto decimal. Varia de

32.767 até -32.768 (16 bit).

int variavelInt = 1999; //declara variavelInt como tipo inteiro

Caso forçada além de seus limites uma variável irá para seu outro valor extremo.

Considerando x - 32676, caso x seja incrementado seu novo valor será x = -32768.

5.6.3.3 Long

Semelhante aos inteiros, porém com 32 bit, variando de 2.147.647 até

-2.147.483.648.

long variavelLong = 90000;// declara variavelLong com o tipo long

5.6.3.4 Float

Um tipo de dados para ponto flutuante, ou números com pontos decimais. Arquivados

em 32 bit variando de 3.4028235E+38 até -3.4028235E+38.

Page 32: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

32

float variavelFloat = 3.14; // declara variavelFloat com o tipo float

Operações com ponto flutuante não são exatas e podem apresentar resultados estranhos

em comparações, além de tornar as operações matemáticas mais lentas.

5.6.3.5 Vetores

Um vetor é um conjunto de valores, acessados com um número indexador, partindo do

zero. Pode-se chamar qualquer valor de um vetor através de seu nome e seu índice.

int Vetor[] = {valor0, valor1, valor2...}

int Vetor[5]; // declara vetor de inteiros com 6 posições

Vetor[3]= 10; // atribuí ao 4º índice o valor 10

x = Vetor[3]; // x é igual a 10

5.7 Operadores

São utilizados para executar diversas operações na execução do código.

5.7.1 Operadores aritméticos

As operações aritméticas incluem adição, subtração, multiplicação e divisão,

retornando, respectivamente, a soma, diferença, produto ou quociente de dois operandos.

Page 33: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

33

a = 3 + 4;

b = 9 - a;

c = 2 * b;

d = c / 2;

Dependendo dos tipos de variável dos operandos, o resultado pode ser alterado. No caso

de um inteiro, a divisão 9 / 4 resulta 2 ao invés de 2.25.

5.7.2 Operadores compostos

Combinam operações aritméticas com uma variável. Os mais comuns são:

x ++ // semelhante a x = x + 1, ou incrementa x por +1

x -- // semelhante a x = x - 1, ou decrementa x por -1

x += y // semelhante a x = x + y, ou incrementa x por +y

x -= y // semelhante a = x - y, ou decrementa x por -y

x *= y // semelhante a x = x * y, ou multiplica x por y

x /= y // semelhante a x = x / y, ou divide x por y

5.7.3 Operadores de comparação

São utilizados para comparação entre variáveis, normalmente para atestar a veracidade

de uma condição.

Page 34: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

34

x == y // x é igual a y

x != y // x não é igual a y

x < y // x é menor que y

x > y // x é maior que y

x <= y // x é menor ou igual que y

x >= y // x é maior ou igual que y

5.7.4 Operadores lógicos

Utilizados para comparação de duas expressões, retornando TRUE ou FALSE,

dependendo do operador. Existem três operadores lógicos: AND, OR e NOT.

AND Lógico:

if (x > 3 && x < 7) //verdadeiro apenas se ambas expressões forem verdadeiras

OR Lógico:

if (x > 2 || y > 4) //verdade se alguma das expressões for verdadeira

NOT Lógico:

if (!x > 0) //verdadeiro apenas se a expressão for falsa

Page 35: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

35

5.8 Constantes

São particularidades pré-definidas na linguagem utilizada no Arduino, separadas em

grupos e utilizadas para simplificar a leitura do código.

5.8.1 Verdadeiro/falso

São constantes booleanas para definir níveis lógicos. FALSE é definido por 0 (zero) e,

embora TRUE normalmente seja definido como 1(um), ele pode qualquer valor exceto zero.

if (bool == FALSE);

{

Execução;

}

5.8.2 Alto/Baixo

Essas constantes atribuem níveis HIGH e LOW para leitura ou escrita de pinos digitais.

Por definição HIGH é nível lógico 1, Ligado, ou tensão de 5Volts e LOW é nível lógico 0,

Desligado, ou tensão de 0Volts.

digitalWrite(13, HIGH);

5.8.3 Entrada/Saída

Constantes usadas com o comando pinMode(), para definição de um pino digital como

INPUT ou OUTPUT.

Page 36: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

36

pinMode(13, INPUT);

pinMode(5, OUTPUT);

5.9 Fluxo de controle

Determinam o sequenciamento de instruções, execuções e chamadas de função dentro

da linguagem computacional.

5.9.1 Se

A condicional If (se) testa a veracidade de certa condição, e então executa ações dentro

das chaves. Caso negativo o código não executa as ações. Sua construção básica possui a seguinte

forma:

if (Variável ?? Valor){

Ação;

}

O programador deve observar o uso de operadores comparadores "==" (é igual a) ao

invés de apenas "=" (igual).

5.9.2 Se - Então

O conjunto If - Else permite ações diferentes dependendo do resultado. Por exemplo:

Page 37: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

37

if (inputPin == HIGH)

{

ExecuçãoA;

}

else

{

ExecuçãoB;

}

É possível utilizar diversos Else para a realização de testes mutuamente exclusivos:

if (inputPin <500)

ExecuçãoA;

else if (inputPin >= 1000)

{

ExecuçãoB;

}

else

{

ExecuçãoC;

}

5.9.2 Para

O comando For é utilizado como laço de repetição, normalmente acompanhado de um

contador incremental para finalizar o loop. É dividido em três partes, separadas por ponto e

virgula.

Page 38: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

38

for (inicialização; condição; expressão)

{

Execução;

}

O exemplo a seguir inicia um inteiro em 0, compara até seu valor ser menor que 20, e

caso afirmativo, incrementa i em 1 e executa os comandos:

for (int i=0; i<20; i++) // declara i, testa até menor que 20,

{ // incrementa i por 1

digitalWrite(13, HIGH); // liga o pino 13

delay(250); // pausa por 1/4 de segundo

digitalWrite(13,LOW); // desliga o pino 13

delay(250); // pausa por 1/4 de segundo

}

5.9.3 Enquanto

O comando While executa um loop continuamente e indefinidamente, até que a

expressão entre parênteses seja falsa. Algo deve alterar a variável testar ou o loop não terminará.

Normalmente utilizada com uma variável incremental ou alguma condição externa, como um

sensor de teste.

Page 39: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

39

while (variável ?? valor){

Execução;

}

5.9.4 Faça - enquanto

A combinação de comandos do - while funciona da mesma maneira que o loop

enquanto, porém a condicional é testada apenas ao final do loop, de maneira a garantir sua

execução pelo menos uma vez.

do {

fazerAlgo;

}

enquanto (variável ?? valor);

O exemplo a seguir assinala lerSensor() para a variável 'x', pausa por 50ms, e repete o

loop indefinidamente até que 'x' não seja menor que 100:

do

{

x = lerSensor(); // assinala o valor de

// lerSensor() para x

delay(50); // pausa por 50 ms

}

while (x < 100); // repete se x é menor que 100

Page 40: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

40

5.10 Entradas e saídas digitais

Comandos utilizados para especificação e utilização de E/S Digitais.

5.10.1 Tipo do pino

Usado no void setup() para configurar o comportamento de um pino específico como

ENTRADA ou SAÍDA.

pinMode(pin, OUTPUT); // especifica o pino como saída

A pinos digitais do Arduino por default recebem atribuição de entrada, não sendo

necessária a declaração com o pinMode(). Pinos de entrada são ditos em estado de alta

impedância.

O CI Atmega possui resistores de 20K Ohms de fábrica, que podem ser acessados via

software da seguinte maneira:

pinMode(pin, INPUT); // especifica o pino como entrada

digitalWrite(pin, HIGH); // ativa os resistores

Esses resistores são normalmente utilizados para conectar interruptores. Pinos

configurados como saída são ditos num estado de baixa impedância, e provê até 40 mA para

outros dispositivos/circuitos.

Curtos-circuitos causados por sobre corrente podem danificar ou mesmo destruir o pino,

o danificar o CI Atmega. Recomenda-se o uso de resistores de 470 Ohms ou 1K Ohms em série

com o dispositivo externo.

Page 41: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

41

5.10.2 Leitura digital

Lê o valor de um pino digital único, cujo resultado é HIGH ou LOW.

value = digitalRead(Pin); // especifica 'valor' igual o pino de entrada

5.10.3 Escrita digital

Atribui a um pino específico o nível lógico HIGH ou LOW (liga ou desliga).

digitalWire(pin, HIGH)

O código a seguir lê um botão conectado a uma entrada digital e aciona um LED

conectado uma saída digital.

int led = 13; // Conecta o LED ao pino 13

int pin = 7; // conecta o botão ao pin 7

int value = 0; // variável auxiliar

void setup(){

pinMode(led, OUTPUT); // Especifica o pino 13 como saída

pinMode(pin, INPUT); // Especifica o pino 7 como entrada

}

Page 42: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

42

void loop()

{

value = digitalRead(pin); // Especifica 'valor' igual ao pino de entrada

digitalWrite(led, value); // Escreve no 'led' o valor do botão

}

5.11 Entradas e saídas analógicas

Comandos utilizados para especificação e utilização de E/S Analógicas.

5.11.1 Leitura analógica

Lê o valor de um pino específico, com resolução de 10 bit. Esta função funciona apenas

com os pinos analógicos (0-5). O inteiro resultante varia de 0 até 1023.

value = analogRead(pin); // Especifica 'valor' igual a 'pino'

Ao contrário dos pinos digitais, pinos analógicos não necessitam ser declarados como

INPUT ou OUTPUT.

5.11.2 Escrita analógica

Escreve um valor pseudo-analógico utilizando a modulação de largura de pulso nos

pinos de saída PWM.

Page 43: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

43

analogWrite(pin, value); // Atribui 'valor' ao 'pino'

Um valor de 0 gera 0Volts fixos na saída de um pino específico, um valor de 255 gera

5Volts fixos na saída de um pino específico.

5.12 Comandos temporais

Embora a plataforma Arduino possua variados comandos para trabalhar com

informações temporais, citaremos apenas a o comando Delay devido a sua pertinência ao tema.

5.12.1 Atraso

Pausa o programa pela quantidade de tempo especificada em milisegundos, sendo que

1000ms = 1s.

delay(1000); // espera por um segundo

5.13 Comunicação

Comandos que regem a utilização das ferramentas de comunicação universais da

plataforma Arduino.

5.13.1 Iniciar porta serial

Page 44: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

44

Proporciona a abertura da porta serial, e ajusta a taxa de Bauds para transmissão de

dados serial. Embora outras velocidades sejam suportadas,

a taxa típica é de 9600 bps (bauds per second).

void setup()

{

Serial.begin(9600); // abre a porta serial

} // ajusta velocidade para 9600 bps

Enquanto a comunicação serial estiver em uso, os pinos digitais 0 (RX) e 1 (TX) não

podem ser usados.

Page 45: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

45

6 PROJETO

Nesta sessão foram abordadas questões relevantes ao desenvolvimento do protótipo

deste projeto de conclusão de curso.

6.1 Visualização

A seguir foram discutidas formas para a apresentação de dados.

6.1.1 LCD

Este projeto utilizou um LCD de 16 caracteres por 2 linhas, dotado de luz de fundo de

cor azulada, com controle de contraste.

Figura 6-1: LCD 16x2.

O LCD possui uma interface paralela, o que significa que o microcontrolador tem que

manipular pinos interface de várias ao mesmo tempo para controlar a exibição. A interface

consiste dos seguintes pinos:

Um pino register select (RS), que controla onde na memória do LCD a escrita será

efetuada. Pode-se selecionar o registro de dados, que detém o que se passa na tela, ou um

Page 46: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

46

registrador de instrução, que é onde o controlador de LCD de procura por instruções sobre o que

fazer em seguida.

Um pino de Leitura / Escrita (R / W) que seleciona a leitura ou o modo de escrita, e um

pino Enable que ativa escrita nos registradores.

Oito pinos de dados (D0-D7). Os estados desses pinos (alto ou baixo) são os bits

escritos em um registrador quando a operação é escrita, ou os valores lidos, quando a operação é

leitura.

Há também um pino de contraste do display (Vo), pinos de alimentação (+5 V e GND)

e luz de fundo (backlight) LED, BKLT + e BKLT, pinos pode-se usar para ligar o LCD, controlar

o contraste do display, e ligar e desligar o LED backlight, respectivamente.

Figura 6-2: Esquema de ligação de LCD 16x2.

Page 47: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

47

Trecho de código para inicialização do LCD:

/ inclui biblioteca de código:

#include <LiquidCrystal.h>

// inicializa a biblioteca com os valores dos pinos de interface.

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {

// seta o número de linhas e posições do LCD.

lcd.begin(16, 2);

// Imprime uma mensagem no LCD..

lcd.print("hello, world!");

}

void loop() {

// seta o cursor para coluna 0, linha 1.

// (note: linha 1 é a 2ª posição, já que a contagem começa em 0):

lcd.setCursor(0, 1);

// Imprime o numero de segundos desde o reset.

lcd.print(millis()/1000);

}

Infelizmente no final do desenvolvimento do projeto o display LCD apresentou

problemas. E embora o backlight ainda funcionasse, o display estava incapacitado, não exibindo

caracteres corretamente, independente do nível de contraste. Após buscas, foi constatado que este

Page 48: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

48

é um defeito crônico em algumas linhas de LCD 16X2, e a única solução é a troca. Não havendo

tempo hábil nem recurso financeiro para tal, optou-se pelo uso de um bargraph.

6.1.2 Bargraph

Um bargraph (Figura 6-4) nada mais é que um segmento de diodos emissores de luz, de

variadas cores e tamanhos.

Figura 6-3: Exemplo de bargraph LED.

Devido a quantidade de pinos disponível para conexão do Arduino Duimilanove, a

melhor escolha foi usar um bargraph de 10 LEDs.

6.2 Implementação de Filtro

A plataforma a ser utilizada, o Arduino Duemilanove, apresenta uma taxa máxima de

amostragem de 10.000Hz, ou seja, atende um frequência de Nyquist de até 5.000 Hz, ou 5kHz.

Considerando que os sinais elétricos alvo oscilam numa frequência de 60 Hz, o Arduino

Duemilanove atende os critérios necessários. Porém, conforme o teorema informa, é necessário

limitar a banda do sinal, o que nos leva ao desenvolvimentos de um filtro eletrônico.

Devido as características do projeto, optou-se pela implementação de um Filtro passa

baixa (LPF), RC Ativo, Butterworth, e utilizando a topologia Sallen-Key, de primeira ordem.

Page 49: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

49

Conforme a Figura 6-4, a implementação de um filtro Butterworth visa resposta em

frequência plana (sem picos ou ondulações) na banda passante, e se aproxima do zero na banda

rejeitada.

Figura 6-4: Resposta simulada de filtro Butterworth.

A Figura 6-5 ilustra o esquema elétrico para um filtro passa-baixa Butterworth

de topologia Sallen-Key.

Figura 6-5: Esquema elétrico do filtro.

Page 50: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

50

Nota-se na Figura 6-4 existe uma atenuação de aproximadamente 3dB na frequência de

corte. Para evitar atenuações na faixa de 60Hz, optou-se por um corte de 80Hz, que também

atende aos critérios do Teorema de Nyquist.

Utilizando o software FILTER PRO, produzido pela Texas Instruments, em licença

freeware, pode-se simular os valores para o desenvolvimento do filtro desejado.

Figura 6-6: Simulação de filtro.

Utilizando as informações colhidas, possibilitou-se o desenvolvimento de um filtro,

atendendo as necessidades especificadas, utilizando o circuito integrado TL071 e os componentes

descritos, utilizando a fonte de tensão provida pelo Arduino Duemilanove.

Page 51: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

51

6.3 Codificação

O código utilizado no Arduino Duemilanove para o funcionamento desde dispositivo é

dividido em quatro blocos principais: definição, POST, tratamento e exibição. Embora o código

não seja divulgado, podemos comentar sobre as características de cada bloco.

6.3.1 Definição

O bloco de definição atribui às funções dos respectivos pinos, entrada, saídas, valores

iniciais, bibliotecas necessárias, entre outras particularidades.

6.3.2 POST

A sessão de POST (Power on self test) é responsável pelo teste elétrico do dispositivo,

checando o funcionamento dos LEDs, por exemplo.

6.3.3 Tratamento

O bloco de tratamento recebe os dados provenientes da detecção e os converte em

valores relativos aceitáveis para o dispositivo.

6.3.4 Visualização

Realiza o controle do bargraph, recebendo dados do bloco de tratamento e os

convertem para a exibição visual.

6.4 Componentes

Nesta sessão ilustra-se o diagrama de blocos (Figura 6-7) dos diferentes grupos de

componentes deste projeto. Cada bloco é composto pelos seguintes componentes:

- Detecção: antena, resistor 3M3;

- Filtro: CI TL071, resistores 18KΩ e 1K5Ω, capacitores 1 μF e 150nF;

- Micro controlador: Arduino Duemilanove;

- Exibição: Bargraph, resistores 470Ω.

Page 52: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

52

Figura 6-7: Diagrama de blocos.

Além dos componentes mencionados neste projeto também foram utilizados os

seguintes recursos:

- Fiação de interconexão;

- LED diversos;

- Baterias (9V);

- Conector de bateria;

- Ferramentas diversas.

Devido à necessidade de alimentação do filtro requisitar uma fonte simétrica, foi

realizada uma associação de baterias 9V para obter as tensões positivas e negativas necessárias.

6.5 Testes

Utilizando um protótipo (Figura 6-8), realizaram-se testes para aferir o funcionamento e

as características do projeto.

Inicialmente utilizou-se uma antena (fio 24 AWG) de aproximadamente 0,10 metros,

porém a sensibilidade resultante provou ser insatisfatória, necessitando de uma grande

proximidade para efetuar uma detecção.

Num teste subsequente, utilizou-se uma antena, das mesmas características, porém com

comprimento de aproximadamente 0,20 metros. Neste caso a sensibilidade foi satisfatória,

permitindo a detecção há alguns centímetros de distância.

DETECÇÃO

FILTRO

MICRO

CONTROLADOR

EXIBIÇÃO

Page 53: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

53

Figura 6-8: Protótipo.

Utilizando-se um fio 2x1.5mm, aplicando uma tensão elétrica de 127V em 60Hz, foram

efetuadas as medições exibidas na Tabela 6-1:

DISTÂNCIA DETECÇÃO

0,02 m 7 níveis

0, 04 m 5 níveis

0, 06 m 3 níveis

0,08 m 0 níveis

0,10 m 0 níveis

Tabela 6-1: Níveis detectados conforme distância.

Page 54: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

54

Com o comportamento apresentado. o projeto possibilitou a detecção a uma distância

relativamente aceitável, exibindo equipamentos que podem influenciar negativamente, e inclusive

permitindo seguir o caminho de conduítes instalados em paredes.

Page 55: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

55

7 CONCLUSÃO

Neste capítulo foram apresentadas e debatidas ideias acerca das realizações deste

projeto, a começar por uma breve menção ao tema deste trabalho.

Normalmente, quando opta-se por uma expansão da infraestrutura de rede ethernet, na

maioria dos casos, os objetivos principais são custo mínimo e tempo mínimo, descartando

estudos prévios e a possibilidade de problemas. Com a parcela de mão de obra desqualificada

para efetuar tais instalações, é neste momento que um serviço mal executado acaba criando um

risco maior.

A metodologia híbrida atendeu as expectativas, permitindo que o projeto crescesse em

conjunto, sem a necessidade de revisar ou modificar áreas finalizadas devido a novos

desdobramentos, permitindo um efetivo desenvolvimento concorrente das áreas teóricas e

práticas.

Durante o desenvolvimento deste projeto, as maiores dificuldades encontradas foram

acerca do Teorema de Nyquist e o processamento digital de sinais, que são áreas ausentes no

curso de Engenharia de Computação e também o desenvolvimento do filtro passa-baixa. Embora

na grade curricular existam algumas disciplinas relacionadas ao tema, não há embasamento

teórico e prático suficiente, exigindo estudos complementares.

Devido à presença de entradas analógicas no Arduino Duemilanove, foi possível a

detecção de níveis de tensão (oriunda de campos eletromagnéticos), e sua conversão em valores

digitais, de 0 a 1023, níveis que são adaptados para corresponder ao resultado exibido. Reitera-se

que ao atender ao os critérios de Nyquist, o projeto apresenta uma correta capacidade de amostrar

e reconstruir corretamente os sinais necessários. onde procurou-se um ponto de equilíbrio, para

não tornar a detecção uma tarefa extremamente minuciosa, e nem permitir um comportamento de

detecção omnidirecional, que em ambientes com maior incidência de interferências.

De maneira geral, o conjunto destas etapas permitiu o desenvolvimento de um detector

que atende, com sucesso, a ideia original, e, verificando os resultados obtidos, pode-se afirmar

que o projeto auxilia no descobrimento de pontos a serem evitados na instalação de uma rede

ethernet.

Page 56: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

56

Caso houvesse mais tempo e recursos, as principais melhorias e mudanças deste projeto

seriam na troca de outro display LCD e no aprofundamento do estudo dos fenômenos físicos.

Embora a documentação seja suficiente para o desenvolvimento e compreensão, talvez fosse

interessante o desenvolvimento de alguns outros temas, permitindo uma explicação mais

abrangente. E, embora tenham sido realizados, uma maior quantidade de testes, melhor

documentação, em outros tipos de ambientes e com a verificação do comportamento de diversos

equipamentos normalmente encontrados em ambientes residenciais, comerciais, e industriais,

bem como, se possível, alguns equipamentos específicos.

Na parte de codificação, para um resultado diferenciado, a implementação de uma

função média de visualização, podendo compensar por eventuais picos e vales na resposta.

Como implementações futuras, talvez utilizando outra plataforma controladora, ou

mesmo com o desenvolvimento de um circuito próprio, de um detector que possa trabalhar com

frequências mais elevadas, podendo detectar e amostrar outros tipos de sinais de interferências.

E, num exercício mental, a concepção de um detector deste porte acoplado a um

dispositivo de mapeamento, que permitir criar um mapa tridimensional de fontes ruidosas em um

ambiente, criando um mapa tridimensional de suas localizações e intensidades.

Page 57: RAPHAEL A. M. DE PAULA - lyceumonline.usf.edu.brlyceumonline.usf.edu.br/salavirtual/documentos/2066.pdf · aos poderes Shazam, ... As redes de computadores tem desempenhado cada vez

57

REFERÊNCIAS BIBLIOGRAFICAS

[1] HALLIDAY, David; RESNICK, Robert, et al: Fundamentos de Física 3:

Eletromagnetismo;

[2] GIANCOLI, Douglas C.: Physics for Scientists and Engineers with Modern Physics, 4ª Ed;

[3] EVANS, Brian: Arduino Programming Notebook, ed6, e-book;

[4] ARDUINO, disponível online em http://www.arduino.cc;

[5] SHANNON, Claude E.: Communication in the presence of noise, Institute of Radio

Engineers, vol.37;

[6] SELF, Douglas. The Design of Active Crossovers, Focal Press, 2011;

[7] CARTER, Bruce. Filter Design in Thirty Seconds, Texas Instruments, relatório de aplicação,

SLOA093 – December 2001;

[8] DRAKA, disponível online em http://communications.draka.com/, SuperCat 5 24 Cat.5e,

2009;