87
PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física 1 ESPECTROFOTÔMETRO CONTROLADO REMOTAMENTE ESPECTROFOTÔMETRO CONTROLADO REMOTAMENTE ESPECTROFOTÔMETRO CONTROLADO REMOTAMENTE ESPECTROFOTÔMETRO CONTROLADO REMOTAMENTE JOSÉ NERES DE ALMEIDA JR. ORIENTADORA: Profa. Dra. MARISA ALMEIDA CAVALCANTE (Depto. de Física – PUC-SP) SÃO PAULO, 2012 Monografia apresentada como parte dos requisitos para obtenção do Grau de Bacharel no Curso de Física Médica

Tcc 2ºsemestre aremot corrigido2

Embed Size (px)

DESCRIPTION

 

Citation preview

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

1

ESPECTROFOTÔMETRO CONTROLADO REMOTAMENTEESPECTROFOTÔMETRO CONTROLADO REMOTAMENTEESPECTROFOTÔMETRO CONTROLADO REMOTAMENTEESPECTROFOTÔMETRO CONTROLADO REMOTAMENTE

JOSÉ NERES DE ALMEIDA JR.

ORIENTADORA:

Profa. Dra. MARISA ALMEIDA CAVALCANTE

(Depto. de Física – PUC-SP)

SÃO PAULO, 2012

Monografia apresentada como parte dos

requisitos para obtenção do Grau de Bacharel no

Curso de Física Médica

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

2

__________________________________

__________________________________

__________________________________

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

3

ESPECTROFOTÔMETRO CONTROLADO REMOTAMENTEESPECTROFOTÔMETRO CONTROLADO REMOTAMENTEESPECTROFOTÔMETRO CONTROLADO REMOTAMENTEESPECTROFOTÔMETRO CONTROLADO REMOTAMENTE

JOSÉ NERES DE ALMEIDA JR.

ORIENTADORA:

Profa. Dra. MARISA ALMEIDA CAVALCANTE

(Depto. de Física – PUC-SP)

SÃO PAULO, 2012

Monografia apresentada como parte dos

requisitos para obtenção do Grau de Bacharel no

Curso de Física Médica

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

4

DEDICATÓRIADEDICATÓRIADEDICATÓRIADEDICATÓRIA

Ao Senhor Jesus Cristo, que por obra do

Espírito Santo de Deus, me deram vida,

estrutura física, psicológica e espiritual, e a

oportunidade de terminar esse ciclo, e a

capacitação para outros que se inserem nesta

caminhada. A Deus, por me sustentar, me

amar e me amparar quando estive em

tribulações, e por saber que por mais que me

sentisse sozinho, eu encontraria Nele meu

porto seguro, onde pude descansar e manter

minha mente tranquila. Louvado seja o

Senhor. Toda a honra e toda glória sejam

dadas a Ele. Amém.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

5

AGRADECIMENTOSAGRADECIMENTOSAGRADECIMENTOSAGRADECIMENTOS

Ao meu pai, José, minha mãe, Cristiane, minha irmã, Gabriele, e a minha tia, Joselita, por me segurarem e me disciplinarem. Graças ao amor, educação e princípios que vocês me ensinaram, eu pude me tornar uma pessoa consciente de meus direitos e deveres, e melhor quem eu sou hoje em dia.

À Comissão Nacional de Pesquisas (CNPq) pelo apoio financeiro ao projeto do Laboratório Remoto (Webduino), e pelo financiamento aos diversos produtos usados durante a implementação dos experimentos, dentre eles sensores, furadeiras, a caixa onde está contido o experimento, etc ...

À minha professora e orientadora, Profª. Drª Marisa Almeida Cavalcante, por seu bom ânimo, disposição e vontade, em particular por me dar suporte nas diversas construções do experimento, desde o projeto inicial até a montagem final, seja por todas as dúvidas que foram ocorrendo e que foram prontamente resolvidas, seja pelos momentos de descontração, os quais sem eles, o desenvolvimento deste projeto teria sido muito sem graça...e também pelas revisões do texto da monografia, por me mostrar muitas vezes que o que escrevia poderia ser mais resumido ou melhor explicado. Agradeço em especial por sua perseverança em tornar este projeto cada vez mais qualificado, tanto nas correções, quanto nas idéias para novos testes e experiências, e discussões.

Ao coorientador Prof. Ms. Mario Madureira Fontes, por diversas situações, e principalmente pelas aulas particulares de programação, em C#, C++, html, php, e por mostrar-me que programação envolve raciocínio lógico e não um monte de palavras sem ligação. E que modelar um programa pode ser uma arte. Agradeço a ele também pelas diversas conversas envolvendo temas da Física, além de sua conduta exemplar frente às diversas situações que ocorreram no projeto, sempre mostrando disposição e inteligência ao resolvê-los e me orientando também em como conduzi-los e superá-los.

Ao Bruno Stábile, pela programação montada em Processing que possibilitou a comunicação entre a saída serial e a parte virtual, além de seus conhecimentos sobre computação, servidores e comunicação remoto. Seus conhecimentos juntos ao do Professor Mário foram essenciais a parte do experimento on-line, e acesso remoto do experimento.

Finalmente agradeço à Profª Msª Crisitiane Rodrigues Caetano Tavolaro, pelas suas orientações durante a monografia e pelas dicas em como e o que apresentar durante seminários e dúvidas gerais que foram surgindo durante ao projeto. Aos meus amigos de licenciatura, também agradeço pelas conversas, desabafos, momento de aflições que sempre acabaram em alegria: Cadu, Thaís, Darlene, Maria Carolina, Rita e Ricardo.

Agradeço a todos aqueles que me fizeram suportar todos os momentos até aqui. A todos vocês, meu muito obrigado!

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

6

SUMÁRIOSUMÁRIOSUMÁRIOSUMÁRIO DEDICATÓRIA ................................................................................................................................ 4 AGRADECIMENTOS........................................................................................................................ 5 ÍNDICE DE FIGURAS ....................................................................................................................... 7 RESUMO ...................................................................................................................................... 10 1. Objetivos ............................................................................................................................. 11

1.1. OBJETIVOS GERAIS ...................................................................................................... 11 1.2. OBJETIVOS ESPECÍFICOS .............................................................................................. 11

2. JUSTIFICATIVA ..................................................................................................................... 12 3. INTRODUÇÃO ...................................................................................................................... 13

3.1. Resumo teórico ........................................................................................................... 13 3.1.1. A placa arduino® .................................................................................................. 13 3.1.2. Interferência e Difração ...................................................................................... 13 3.1.3. Rede de difração através de CD .......................................................................... 19 3.1.4. Espectrofotômetros e seu Princípio de Funcionamento ..................................... 21 3.1.5. O Espectrofotômetro montado a partir da estrutura de um Scanner ................ 25

3.2. Laboratórios Remotos ................................................................................................. 25 3.2.1. Importância e Justificativa................................................................................... 25 3.2.2. Laboratórios Remotos e Laboratórios Virtuais ................................................... 27 3.2.3. Comunicação Experimento-Servidor ................................................................... 29 3.2.4. Metodologia para Desenvolvimento de Laboratórios Remotos via Web ........... 29 3.2.5. Sistemas Teleoperados Via Internet ................................................................... 31 3.2.6. Interface com o Usuário ...................................................................................... 33 3.2.7. Acesso Remoto: Arduino e Comunicação com Servidor Remoto – Webduino/PUC-SP .............................................................................................................. 33

3.3. O espectrofotômetro com Acesso Remoto ................................................................. 35 4. METODOLOGIA EXPERIMENTAL .......................................................................................... 36

4.1. Materiais e procedimentos ......................................................................................... 36 4.1.1. Experimento Off-line ........................................................................................... 36 4.1.2. Experimento Remoto .......................................................................................... 59 4.1.3. Configurações Finais ............................................................................................ 69

5. RESULTADOS ....................................................................................................................... 71 5.1. Resultados com CF-TSL235R ....................................................................................... 71

6. ANÁLISES E DISCUSSÕES ..................................................................................................... 75 6.1. Análise com CF-TSL235R ............................................................................................. 75

7. CONCLUSÕES E CONSIDERAÇÕES FINAIS ............................................................................ 77 REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................................... 79 ANEXOS ....................................................................................................................................... 82

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

7

ÍNDICE DE FIGURASÍNDICE DE FIGURASÍNDICE DE FIGURASÍNDICE DE FIGURAS FIGURA 1 - INTERFERÊNCIA FENDA DUPLA (EXPERIÊNCIA DE YOUNG). PARA L≫D PODEMOS

CONSIDERAR OS TRIÂNGULOS ABC E BAP SEMELHANTES. (CAVALCANTE & TAVOLARO, 2002) ...... 14

FIGURA 2 - INTERFERÊNCIA DE FENDAS DUPLAS DE YOUNG (ALONSO & FINN, 2002). ............................. 15

FIGURA 3 - DIFRAÇÃO (TABACNICKS, 2008) DA FENDA ÚNICA, NA CONDIÇÃO A ≈ Λ ............................... 15

FIGURA 4 – DUAS FENDAS F1 E F2 DE LARGURA A E ESPAÇADAS DE UMA DISTÂNCIA D. ......................... 16

FIGURA 5 – FENDAS DUPLAS DE FRAUNHOFER. ......................................................................................... 16

FIGURA 6 - DIFRAÇÃO DE N FENDAS (FRAGNITO, RODRIGUEZ, & COSTA, 2003) DE LARGURA A E

ESPAÇAMENTO D; A LINHA SERRILHADA REPRESENTA A FUNÇÃO DE DIFRAÇÃO DE DUPLA FENDA,

EXTRAPOLADA PARA N FENDAS (SEN(Α/Α))². .................................................................................... 17

FIGURA 7 - CONTRIBUIÇÃO VISÍVEL DO ESPECTRO DO HIDROGÊNIO, OBTIDO A PARTIR DE UMA REDE DE

DIFRAÇÃO. NO ESPECTRO DE 1ª ORDEM OBSERVAM-SE DUAS LINHAS VIOLETAS, UMA AZUL E UMA

VERMELHA. JÁ PARA A 2ª ORDEM ESPECTRAL NÃO CONSEGUIMOS OBSERVAR A LINHA HΔ, DEVIDO A

SUA BAIXA INTENSIDADE. (CAVALCANTE & TAVOLARO, FÍSICA MODERNA EXPERIMENTAL: ESPECTROS

COM REDE DE DIFRAÇÃO - SIMULAÇÕES, 2010). LINK PARA IMAGEM:

HTTP://3.BP.BLOGSPOT.COM/_MWT_IGO8AZC/SBGIC3O9MKI/AAAAAAAACCK/75ZYXOXKSOU/S16

00-H/ESPECTRO+DO+H2.JPG. ............................................................................................................ 19

FIGURA 8 - RANHURAS NA CAMADA DE POLICARBONATO (SHUMAN, 2000) ........................................... 20

FIGURA 9 - TRILHA ESPIRALADA EM UM CD (MARSHALL, ALMEIDA, & TAKASE, 2007) E A

REPRESENTAÇÃO ESQUEMÁTICA DOS PITS E LANDS COM A INDICAÇÃO DAS DIMENSÕES

ASSOCIADAS....................................................................................................................................... 20

FIGURA 10 - IMAGEM DE MICROSCOPIA ELETRÔNICA DAS TRILHAS DE UM CD (WISSNER, 2005). .......... 21

FIGURA 11 - RANHURAS DE UMA REDE DE DIFRAÇÃO .............................................................................. 22

FIGURA 12 - REDE DE DIFRAÇÃO POR REFLEXÃO ....................................................................................... 22

FIGURA 13 - ESQUEMA PARA UM ESPECTROFOTÔMETRO COM A REDE DE DIFRAÇÃO GIRANDO AO

REDOR DE UM EIXO. .......................................................................................................................... 22

FIGURA 14 - DIFRAÇÃO OCORRIDA NA REDE DE TRANSMISSÃO E DIFERENÇA DE CAMINHO ÓPTICO

OCASIONANDO INTERFERÊNCIA (LOPES, 2007). ............................................................................... 23

FIGURA 15 - ESQUEMA PARA UM ESPECTROFOTÔMETRO COM REDE DE DIFRAÇÃO POR FEIXE TRANSMITIDO.

NESTE TIPO DE ANÁLISE, O CF-TSL235R É QUE SE MOVE. A CAMADA REFLETORA DO CD PODE SER

FACILMENTE RETIRADA, UTILIZANDO FITA ADESIVA (CAVALCANTE, TAVOLARO, & HAAG, 2005)

(CATELLI, 2010). .................................................................................................................................. 24

FIGURA 16 - ESQUEMA DE MONTAGEM USADA NA ANÁLISE POR FEIXE TRANSMITIDO. ......................... 24

FIGURA 17 - EXEMPLO DE ARQUITETURA DE TELEOPERAÇÃO DE LABORATÓRIO REMOTOS (EXEMPLO

RETIRADO DE (FERREIRA & ESPÍNDOLA, 2003)). ............................................................................... 29

FIGURA 18 – EXEMPLO DE ARQUITETURA DE TELEOPERAÇÃO DE LABORATÓRIO REMOTOS. .................. 32

FIGURA 19A - COMPONENTES DAS MONTAGENS UTILIZADAS DURANTE A ETAPA DE CALIBRAÇÃO PARA

OBTENÇÃO DAS DISTÂNCIAS ENTRE OS SULCOS DO CD: (A) PONTEIRA LASER, CD (B), TRILHO DE

MADEIRA (C), SCANNER (D), EM CUJA CABEÇA DE IMPRESSÃO ESTÁ FIXADA UM FOTOSENSOR (CF-

TSL235R, EM E). NA IMAGEM, PODE SER OBSERVADO O ESPECTRO DO LASER PROJETADO NO

ANTEPARO (F) COLOCADO JUNTO AO SUPORTE NO QUAL CF-TSL235R ESTÁ COLOCADO. .............. 36

FIGURA 20 – (A) CIRCUITO DE ACIONAMENTO DO MOTOR DE PASSO, MONTADO NO PROGRAMA

FRITZING®, COMO DESCRITO NO TEXTO, E COMO MONTADO NA VERSÃO FINAL. (B) CIRCUITO

PARA VERIFICAÇÃO DA IDA DA CABEÇA DE LEITURA, CONFORME O PINO 3 SEJA ACIONADO,

DEPOIS DE ENCONTRADA A FENDA, E COMO MONTADO NA VERSÃO FINAL DO CIRCUITO. ........... 40

FIGURA 21 – DETALHE DO CF-TSL235R, E NO EXPERIMENTO. ................................................................... 49

FIGURA 22 - CIRCUITO DE DETERMINAÇÃO DA DISTÂNCIA, PELO ULTRASSOM (CIRCUITO A), E DE

VARREDURA COM CF-TSL235R (CIRCUITO B). ................................................................................... 49

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

8

FIGURA 23 - RESPOSTA DE FREQUÊNCIA (EM KHZ) EM RELAÇÃO A IRRADIÂNCIA (EM µW/CM²). A NÃO-

LINEARIDADE SE ESTABELECE SOMENTE EM REGIÕES QUE NÃO SÃO UTILIZADAS DURANTE O

EXPERIMENTO VIGENTE. ................................................................................................................... 49

FIGURA 24 - DIAGRAMA ESQUEMÁTICO DO CF-TSL235R, INCLUINDO FOTODIODO E SISTEMA DE

CONVERSOR DE CORRENTE PARA FREQUÊNCIA, COM A SAÍDA EM FORMA DE ONDA QUADRADA.

........................................................................................................................................................... 50

FIGURA 25 - RESPOSTA ESPECTRAL DO FOTODIODO DO CF-TSL235R TSL235R. ........................................ 51

FIGURA 26 – (A) IMAGEM DO SENSOR DE FRENTE E DE TRÁS; (B) VISTA DO CIRCUITO FORMADO PELO

ULTRASSOM (ITEADSTUDIO, 2012)E SENSOR DE TEMPERATURA (DALLAS SEMICONDUCTOR -

MAXIM, 2012) .................................................................................................................................... 51

FIGURA 27 - FUNCIONAMENTO DE IDA E RECEPÇÃO DO SINAL ULTRASSÔNICO, USADO PARA

DETERMINAÇÃO DE DISTÂNCIAS ATRAVÉS DA DIFERENÇA DE TEMPO ENTRE CADA SINAL. ............ 52

FIGURA 28 – (A) DESCRIÇÃO DOS PINOS: GND – TERRA, DQ - DATA IN/OUT, VDD – PINO DE

ALIMENTAÇÃO. (B) MONTAGEM NO MÓDULO EMPREGADO NO EXPERIMENTO ............................ 53

FIGURA 29 - IMAGEM DO (A) MÓDULO RELÉ() E DO MESMO (B) NO EXPERIMENTO ............................... 54

FIGURA 30 - CONFIGURAÇÃO DO ESQUEMA UTILIZADO PARA LIGAR A LÂMPADA, DURANTE O

COMANDO DE COLETA DE DADOS, E PARA DESLIGAMENTO DA MESMA, APÓS ENCONTRADA A

POSIÇÃO DA FENDA, VIA PROGRAMAÇÃO NO ARDUINO. ................................................................ 54

FIGURA 31 – (A) VISTA FRONTAL DO ESPECTROFOTÔMETRO. (B) DETALHES DOS SULCOS (1CM LARGURA

VS 0,5MM DE PROFUNDIDADE), PARA DESLOCAR O CD, CASO NECESSÁRIO, PARA DIFERENTES

DISTÂNCIAS DA REDE DE DIFRAÇÃO. ................................................................................................. 55

FIGURA 32 - IMAGEM MOSTRANDO O MOTOR DE PASSO E SUAS ENGRENAGENS (ENGRENAGEM 1, QUE

ACIONA O CARRO, E ENGRENAGEM 2, COMANDADA PELA ENGRENAGEM 1). ................................ 56

FIGURA 33 - MONTAGEM PARA A MEDIÇÃO DOS SULCOS DA REDE DE DIFRAÇÃO (CD). SOBRE UM TRILHO DE

MADEIRA (A), O LASER EMITIDO PELA PONTEIRA (B) É DIFRATADO NO CD (C), FORMANDO-SE OS

PONTOS CENTRAIS DE PRIMEIRA ORDEM NO ANTEPARO (D) ONDE ESTÁ POSICIONADO O CF-TSL235R

(E). ...................................................................................................................................................... 58

FIGURA 34 - ANGULO DE VISÃO DA CÂMERA PARA VISUALIZAÇÃO DO EXPERIMENTO, EM (A); EM (B)

IMAGEM DO EXPERIMENTO CAPTADA PELA CÂMERA ...................................................................... 63

FIGURA 35 - PÁGINA HTML CRIADA COM BASE EM TEMPLATE DE DOTEMPLATE.COM: PÁGINA DO

EXPERIMENTO (INDEX). ..................................................................................................................... 64

FIGURA 36 - PÁGINA HTML CRIADA COM BASE EM TEMPLATE DE DOTEMPLATE.COM: PÁGINA DOS

RESULTADOS. ..................................................................................................................................... 65

FIGURA 37 - PÁGINA HTML CRIADA COM BASE EM TEMPLATE DE DOTEMPLATE.COM: PÁGINA DAS

TABELAS. ............................................................................................................................................ 66

FIGURA 38 – PÁGINAS MOSTRADAS (A) AO SE APERTAR O BOTÃO, MOSTRANDO, EM PHP, QUE A

COLETA DE DADOS SE INCIOU, E AO FIM DA COLETA, (B) O ARQUIVO DOS DADOS GERADOS, QUE

PODEM SER BAIXADOS ...................................................................................................................... 66

FIGURA 39 - PÁGINA HTML CRIADA COM BASE EM TEMPLATE DE DOTEMPLATE.COM: PÁGINA DA

TEORIA (A) E DAS REFERÊNCIAS (B). .................................................................................................. 67

FIGURA 40 - PÁGINA HTML CRIADA COM BASE EM TEMPLATE DE DOTEMPLATE.COM: PÁGINA DOS

SIMULADORES, EMPREGADOS COMO UMA FERRAMENTA PARA ENTENDER OS CONCEITOS

EXPERIMENTAIS, COM ABORDAGEM DIFERENTE. ............................................................................. 67

FIGURA 41 - PÁGINA HTML CRIADA COM BASE EM TEMPLATE DE DOTEMPLATE.COM: PÁGINA DOS

DOWNLOADS DE CÓDIGOS FONTES DO EXPERIMENTO ON-LINE E DO OFF-LINE. ............................ 68

FIGURA 42 - PÁGINA HTML CRIADA COM BASE EM TEMPLATE DE DOTEMPLATE.COM: “FAÇA VOCÊ

MESMO” CRIADA COM INTUITO DE INCENTIVAR QUE O EXPERIMENTO E OUTRAS PROPOSTAS SEJA

REPRODUZIDAS PELO USUÁRIO, COMO UMA FORMA DO PRÓPRIO TIRAR SUAS CONCLUSÕES E

APRENDIZAGEM. ................................................................................................................................ 69

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

9

FIGURA 43 - GRÁFICO DA IRRADIÂNCIA (W/M2) EM FUNÇÃO DA DISTÂNCIA X. O PARÂMETRO D SERÁ

OBTIDO CONSIDERANDO-SE A DISTÂNCIA X, DADA PELA DIFERENÇA ENTRE O PONTO DE MAIOR

INTENSIDADE (X1) E O PONTO DE MENOR INTENSIDADE (X2). ......................................................... 71

FIGURA 44 - GRÁFICO DA IRRADIÂNCIA (W/M2) EM FUNÇÃO DE Λ, O COMPRIMENTO DE ONDA DAS

RAIAS DO ESPECTRO DIFRATADO (EM NM). NO DETALHE, INDICAÇÃO DO SENTIDO DA FENDA. .... 72

FIGURA 45 – IMAGENS (A) DA TABELA DOS RESULTADOS DE IRRADIÂNCIA (W/M2) EM FUNÇÃO DE Λ

(EM NM) E (B) DO GRÁFICO DA IRRADIÂNCIA (W/M2) EM FUNÇÃO DE Λ (EM NM), AMBOS

GERADOS NA PÁGINA DO ACESSO REMOTO, AO SE APERTAR O BOTÃO, O EXPERIMENTO É

ACIONADO E COLETAM-SE OS DADOS............................................................................................... 73

FIGURA 46- MESMO GRÁFICO ANTERIOR (EXPERIMENTO ON-LINE, DA IRRADIÂNCIA, W/M², VS

COMPRIMENTO DE ONDA, NM), MOSTRANDO A ESCOLHA DA REGIÃO DE INTERESSE, AO SE CLICAR

COM O MOUSE NA MESMA, O GRÁFICO REMETE AO ZOOM DESEJADO. ......................................... 74

FIGURA 47 - ESPECTRO DO HG DISPONÍVEL EM HTTP://PROFMOKEUR.CA/QUIMICAP/ (NOELS, 1997). . 75

FIGURA 48 - REPRESENTAÇÃO DOS COMPRIMENTOS DE ONDA DO ESPECTRO OBTIDO

EXPERIMENTALMENTE. ..................................................................................................................... 75

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

10

ESPECTROFOTÔMETRO COESPECTROFOTÔMETRO COESPECTROFOTÔMETRO COESPECTROFOTÔMETRO CONTROLADO REMOTAMENTENTROLADO REMOTAMENTENTROLADO REMOTAMENTENTROLADO REMOTAMENTE

JOSÉ NERES DE ALMEIDA JR.

RESUMORESUMORESUMORESUMO

O Arduino® é uma placa de controle I/O, baseada no microcontrolador Atmega

(Atmel) e foi projetado com finalidades educativas. Contudo, o fato de ser um sistema

com software e hardware livres (open source), passou a ser difundido em diversas

áreas. O objetivo deste trabalho foi a construção de um espectrofotômetro didático a

partir do Arduino. O equipamento foi construído a partir da reciclagem da estrutura de

um scanner antigo que permite a varredura de um fotosensor (CF-TSL235R) em uma

tela em que espectro da luz obtido por difração em um CD, é projetado. Neste

trabalho apresentamos todo o equipamento desenvolvido, sua calibração e os códigos

fontes utilizados de modo a permitir que o arranjo proposto possa ser reproduzido

incentivando a abordagens de conteúdos de Física Moderna no Ensino Médio

alicerçado no uso de novas tecnologias.

Pretendemos ainda possibilitar o controle e sensoriamento remoto do

espectrofotômetro, aproveitando a estrutura que vem sendo desenvolvida no projeto

Webduino que conta com apoio do CNPq.

Palavras-Chave: Espectrofotometria, Fotosensor, Arduino, Laboratório Remoto

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

11

1.1.1.1. ObjetivosObjetivosObjetivosObjetivos

1.1.1.1.1.1.1.1. OBJETIVOS GERAISOBJETIVOS GERAISOBJETIVOS GERAISOBJETIVOS GERAIS

Este trabalho tem como principal objetivo utilizar o Arduino® no controle e

tomada de dados de um espectrofotômetro montado a partir da reciclagem da

estrutura de um scanner, para estudar o comportamento dos comprimentos de onda

em função da variação de luminosidade, do espectro difratado por um CD.

Uma das intenções deste projeto é justamente difundir o uso do Arduino para

fins educacionais, na área de Física, como forma de incentivar as abordagens de

conteúdos de Física Moderna, como difração e analise de espectros, nas séries do

Ensino Médio.

Este experimento pretende contribuir no projeto e desenvolvimento do

Weblab da PUC/SP constituído por uma equipe multidisciplinar, com a finalidade de

criar um ambiente de controle e sensoriamento de experimentos didáticos voltados ao

ensino e aprendizagem de Ciências. No experimento proposto uma webcam permite a

visualização, enquanto os dados estão sendo coletados, permitindo maior

compreensão e interatividade do público com o fenômeno a ser estudado.

Pretendemos, com isso, contribuir para a criação de um recurso pedagógico

importante para a implementação de conteúdos de Física Moderna tanto no ensino

médio quanto na formação de professores.

1.2.1.2.1.2.1.2. OBJETIVOS ESPECÍFICOSOBJETIVOS ESPECÍFICOSOBJETIVOS ESPECÍFICOSOBJETIVOS ESPECÍFICOS

Este projeto pretende desenvolver diferentes recursos didáticos que

possibilitem não apenas ensinar conceitos Físicos, mas também que possa trazer ao

público, um maior domínio da tecnologia.

Um dos aspectos inovadores deste projeto está associado ao desenvolvimento

de um laboratório de controle e sensoriamento remoto, voltado ao ensino de Ciências,

inteiramente apoiado em uma plataforma de código aberto (open-source) em

hardware e software conhecida e difundida na internet – Arduino.

O projeto alia-se ao desenvolvimento de recursos destinados ao ensino de

ciências em nível fundamental/médio. Para isso pretendemos criar aplicativos que

possibilitem manipular e interagir com experimentos remotos, utilizando plataformas

de programação visual, integradas à interface Arduino. Estes aplicativos deverão

possibilitar que usuários destas plataformas de diferentes faixas etárias, possam

manipular os equipamentos através de mídias interativas adaptadas a sua realidade.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

12

2.2.2.2. JUSTIFICATIVAJUSTIFICATIVAJUSTIFICATIVAJUSTIFICATIVA

Um espectrofotômetro é um equipamento capaz de diferenciar comprimentos

de onda, por meio da decomposição de cores e sua utilização principal se dá na

caracterização de substâncias químicas, usando para tanto o espectro de absorção (ou

emissão) difratado por uma rede de difração.

Assim, com o estudo espectrofotométrico é possível investigar assuntos como

composição química e estrutura de materiais, bem como fenômenos físicos como a

difração e a interferência, em ambiente experimental, assuntos presentes em

disciplinas dos cursos de Engenharia e Física, em matérias que envolvem conteúdos da

Física Moderna. Poder estudar tais conteúdos e implementá-los em anos anteriores do

Ensino Médio através da investigação experimental se torna uma proposta atraente,

que vem por se adequar às necessidades de compreensão das formas contemporâneas

de linguagem e de princípios científico-tecnológico que atuam na produção moderna

(Cavalcante & Benedetto, 1999)

Além disso, outra proposta que atrai a este projeto é a possibilidade de acessá-

lo remotamente, fato que vem a diminuir os custos de laboratórios físicos, abrindo

diversas possibilidades de aprendizagem a distância, relacionada a possibilidade de

interação com com diversos simuladores que estejam disponíveis junto a página da

internet, bem como de análises remotas, e maior interatividade usuário-experimento

(Cavalcante, Fontes, Santos, & Tavolaro, 2012).

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

13

3.3.3.3. INTRODUÇÃOINTRODUÇÃOINTRODUÇÃOINTRODUÇÃO

3.1. Resumo teóricoResumo teóricoResumo teóricoResumo teórico

3.1.1. A placa arduino®A placa arduino®A placa arduino®A placa arduino®

O Arduino® é uma plataforma de código aberto (Banzi, Cuartielles, Igoe,

Martino, & Mellis, arduino.cc, 2009) de protótipos eletrônicos flexíveis com base

em hardware e software fáceis de usar. Ele é destinado a artistas,

designers, aficionados, estudantes, e qualquer pessoa interessada em criar objetos ou

ambientes interativos.

O Arduino® pode perceber variações em parâmetros de tensão em um circuito

montado, ao receber a entrada variável de tensão, por uma vasta gama de sensores

que convertem sinais analógicos (relacionados seja à pressão, intensidade luminosa,

quanto ao movimento, que podem afetar motores, LEDs e outros atuadores, indicando

a variação do sinal captado) em sinais binários.

Resumidamente, o Arduino atua não apenas como uma placa de aquisição e

conversão de sinais, mas como um microprocessador que pode ser programado para

exercer funções a partir de sinais de entrada. O microcontrolador na placa é

programado usando uma linguagem baseada em Wiring (programação híbrida entre

C# e C++) e o ambiente de desenvolvimento Arduino é baseado na linguagem

Processing. Os projetos com Arduino são processados em computador, pela saída USB.

As placas podem ser construídas manualmente ou compradas pré-montadas e

o software pode ser baixado gratuitamente. Os projetos da montagem física de

referência estão disponíveis sob uma licença de código aberto, de modo que se pode

adaptá-los livremente de acordo com a necessidade/vontade do usuário.

3.1.2.3.1.2.3.1.2.3.1.2. Interferência e DifraçãoInterferência e DifraçãoInterferência e DifraçãoInterferência e Difração

3.1.2.1.3.1.2.1.3.1.2.1.3.1.2.1. Interferência e Lei Interferência e Lei Interferência e Lei Interferência e Lei de Youngde Youngde Youngde Young

Um arranjo simples para o estudo do fenômeno de interferência é aquele

usado por Thomas Young (1773-1829) em que se pode comprovar a teoria ondulatória

da luz, através da medida doe comprimentos de onda.

Dois raios luminosos coerentes, que atravessam as fendas A e B, encontram-se

sobre a tela no ponto P, onde ocorre interferência. Se a diferença de percurso dos

raios desde as fendas A e B até o anteparo no ponto P, contiver um número inteiro de

comprimentos de onda, a interferência será construtiva e resulta uma franja clara em

P. Se a diferença de percurso contiver um número ímpar de meios comprimentos de

onda, a interferência no ponto P será destrutiva, originando uma franja escura.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

14

Na Figura 1 (sem escala), se a distância “d” entre os centros das duas fendas for

da ordem de grandeza do comprimento de onda da luz, observam-se no anteparo as

franjas claras e escuras.

Figura 1 - Interferência fenda dupla (Experiência de Young). Para L≫≫≫≫d podemos considerar os triângulos ABC e BAP semelhantes. (Cavalcante & Tavolaro, 2002)

Uma análise matemática da superposição das ondas nos fornece para a

intensidade da luz a Eq. 1:

=

λ

θπθ

dsenII

2

0 cos (1)

Onde representa a intensidade de luz em ponto desviado em uma angulo θ.

Nota-se que teremos um ponto de máxima intensidade (máxima interferência),

quando Iθ = I0, ou seja, cos² deve ser igual a 1, o que nos leva a Eq. 2:

( )π

λ

θπn

dsen= (2)

O que conduz a Eq. 3:

( ) ndsen λθ = (3)

Na Figura 1, nota-se que para ocorrer uma interferência construtiva em um

ponto P da tela é necessário que a diferença de percurso (D) entre os raios BP e CP seja

igual a um número inteiro de comprimentos de onda, que também conduz a relação

(3).

3.1.2.2. 3.1.2.2. 3.1.2.2. 3.1.2.2. Difração de Fenda ÚnicaDifração de Fenda ÚnicaDifração de Fenda ÚnicaDifração de Fenda Única

Se nos atentarmos nos resultados da equação (3), notamos que a intensidade

da luz se mantém constante para todos os pontos de máximo. No entanto, na prática,

o que se observa é que a intensidade de luz decresce à medida que se afasta da

posição central, como indica a Figura 2:

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

15

Figura 2 - Interferência de fendas duplas de Young (Alonso & Finn, 2002).

Para compreender esta variação na intensidade é necessário estudar o

fenômeno da difração.

Quando um feixe luminoso atravessa uma fenda de largura “a”, sendo a >> λ, o

feixe luminoso passa pela fenda sem sofrer mudança de direção (Braun & Braun,

1994). Se, no entanto, a largura da fenda for reduzida, de modo que tenha um valor da

mesma ordem de grandeza do comprimento de onda da luz utilizada, isto é, a ≈ λ, no

anteparo tem-se uma imagem central intensa, acompanhada de regiões de

intensidade menor, distribuídas simetricamente em relação à imagem central.

Este conjunto luminoso, projetado no anteparo, recebe o nome de difração da

fenda única. A Figura 3 representa as intensidades relativas da luz no anteparo, para a

difração da fenda única, com a condição a ≈ λ satisfeita. A máxima intensidade da luz

projetada no anteparo está representada no ponto P0. Em P1, tem-se o primeiro

mínimo (m = 1), em P2, o segundo mínimo (m = 2), e assim sucessivamente.

Figura 3 - Difração (Tabacnicks, 2008) da fenda única, na condição a ≈ λ

Um estudo matemático detalhado da superposição de ondas nos fornece a Eq.

4, para a intensidade de luz (Iθ) em função do ângulo de desvio (Tabacnicks, 2008):

2

0

sin

I =I

λ

θπλ

θπ

θ asen

asen

(4)

Onde a é a largura da fenda, I0 é o ponto de máxima intensidade de luz para θ = 0 e λ é

o comprimento de onda da luz.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

16

Os pontos de interferência destrutiva devem ocorrer quando a função seno for

igual a 0 (zero), o que significa que seu argumenta seja igual a mπ, com m = 1, 2, 3,...

(Eq. 5):

λ

θπasen = mπ (5).

Assim, teremos (Eq. 6) pontos de intensidade mínima quando:

⋅ () = m = 1, 2, 3,... (6)

3.1.2.3.3.1.2.3.3.1.2.3.3.1.2.3. Difração de Fendas Duplas de FraunhoferDifração de Fendas Duplas de FraunhoferDifração de Fendas Duplas de FraunhoferDifração de Fendas Duplas de Fraunhofer

Considere duas fendas de largura “a” espaçadas de uma distancia d, como

indica a Figura 4.

Figura 4 – Duas fendas F1 e F2 de largura a e espaçadas de uma distância d.

A intensidade da luz incidente em tela é dada pela Eq. 7 e conduz a curva

representada na Figura 5, em que se observa a redução de intensidade da figura de

interferência em razão do fenômeno de difração que ocorre em cada uma das fendas.

Figura 5 – Fendas duplas de Fraunhofer.

θπ

λ

θπλ

θπ

θ

dsen

asen

asensen

II2

0 cos (7)

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

17

3.1.2.4.3.1.2.4.3.1.2.4.3.1.2.4. Rede de difraçãoRede de difraçãoRede de difraçãoRede de difração

Se o número de fendas for aumentado, de dois para um número muito maior,

resultará uma rede de difração. Uma rede de difração é uma lâmina contendo um

número elevado de fendas paralelas entre si. Estas fendas têm a mesma largura e

estão espaçadas a intervalos regulares e iguais. A distância entre duas fendas

consecutivas é denominada espaçamento da rede, representada por d. Assim, uma

rede de difração é constituída por N fendas (de largura “a”), equidistantes de uma

distancia d, como indica a Figura 6:

Figura 6 - Difração de N fendas (Fragnito, Rodriguez, & Costa, 2003) de largura a e espaçamento d; a linha serrilhada representa a função de difração de dupla fenda, extrapolada para N fendas (sen(α/α))².

O caso da rede de difração (Freijlich, 2011) corresponde ao caso de N fendas de

larguras, por exemplo, a, equidistantes pelo espaçamento d, como na figura anterior, a

partir da qual as amplitudes podem ser relacionadas às intensidades da seguinte forma

(Eq. 8):

=

=

θλ

π

θλ

π

θλ

π

θλ

π

δ

δ

α

send

sen

sendN

sen

A

send

sen

send

Nsen

A

sen

Nsen

AI2

2

2

0

2

2

2

0

2

2

2

0

2

2

2

2

2

2 (8)

O termo A02 representa a contribuição da estrutura de uma fenda (eq. 4).

Sendo assim, ficamos com a Eq. 9:

=

θλ

π

θλ

π

θλ

π

θλ

π

send

sen

sendN

sen

sena

sena

sen

II2

2

2

0 (9)

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

18

Para simplificar a relação vamos considerar que (Eq. 10):

βθλ

π=sen

a (16) e αθ

λ

π=

sen

d (10)

Então (Eq.11): 22

0

=

α

α

β

β

sen

senNsenII (11)

Se analisarmos a componente senNα

senα

2

, da Eq. 11, verificamos que teremos

máximos principais quando senNα

senα =N, isto é para α = 0, ±π, ±2π,...

De acordo com a Eq. 11, teremos a Eq.12:

= (n=1, 2, 3,...) (12)

Onde n é um número inteiro, que se designamos por ordem espectral.

Assim, um feixe de luz que incide nesta rede de difração é difratado (IF - UFRGS,

2011) e os raios provenientes das diversas fendas interferem formando uma figura de

intensidade variável. Esta figura apresenta máximos de intensidade em diversas

posições sempre que a diferença de caminho ótico d.sen(θ) entre os raios

provenientes de duas fendas adjacentes, distantes d entre si, for igual a um número

inteiro (n = 0, 1, 2,...) de comprimentos de onda λ. Portanto, ocorrem máximos de

intensidade quando θ é o ângulo de difração, para o máximo de ordem n.

Ao incidirmos um feixe de luz composto por vários comprimentos de onda em

uma rede de difração teremos a sua decomposição. A informação espectral se repete

para cada valor de N (ordem do espectro). À medida que aumentamos o valor de N,

temos um ganho na resolução da medida efetuada, porém reduzimos a intensidade

espectral.

Na Figura 7 mostramos a contribuição visível para o espectro de Hidrogênio

obtido com uma rede de difração de 600 linhas/mm. Observa-se um maior

espaçamento entre as linhas para a 2ª ordem espectral, porém uma redução

considerável para a intensidade.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

19

Figura 7 - Contribuição visível do espectro do Hidrogênio, obtido a partir de uma rede de difração. No espectro de 1ª ordem observam-se duas linhas violetas, uma azul e uma vermelha. Já para a 2ª ordem espectral não conseguimos

observar a linha Hδ, devido a sua baixa intensidade. (Cavalcante & Tavolaro, Física Moderna Experimental: Espectros com Rede de Difração - Simulações, 2010). Link para imagem:

http://3.bp.blogspot.com/_MWt_Igo8aZc/SbgIc3O9mkI/AAAAAAAACck/75ZYXoXKsOU/s1600-h/espectro+do+H2.jpg.

3.1.3.3.1.3.3.1.3.3.1.3. Rede de difração através de CDRede de difração através de CDRede de difração através de CDRede de difração através de CD

Um exemplo de rede de difração amplamente disponível é o CD. As ranhuras

do CD se comportam como uma rede de difração, o que é facilmente observado

quando o CD é iluminado com uma fonte de luz branca; a luz forma faixas coloridas,

que representam as figuras de difração associadas aos diferentes comprimentos de

onda da luz incidente.

Neste item faremos uma descrição técnica da sua construção para que

possamos compreender melhor o processo de decomposição da luz através de um CD.

3.1.3.1.3.1.3.1.3.1.3.1.3.1.3.1. Estrutura e FuncionamentoEstrutura e FuncionamentoEstrutura e FuncionamentoEstrutura e Funcionamento

O CD-ROM (sigla para: Compact Disc Read-Only Memory), foi desenvolvido em

1985 (Magalhães, Lunazzi, Figueroa, & Dartora, 2002). Os CD-ROM podem armazenar

qualquer tipo de conteúdo, desde dados genéricos, vídeo e áudio, ou mesmo conteúdo

misto.

A técnica de fabricação dos CD-ROM consiste basicamente na prensagem da

camada de policarbonato sobre um molde, que possui os sulcos, podendo ou não

conter os dados. Primeiramente, um molde de vidro do mesmo tamanho de um CD

normal é criado, este recebe uma camada sensível à luz e é queimado por um feixe de

laser, o qual faz sulcos no CD. O molde é examinado e refeito diversas vezes até que

esteja seguro de que não existam falhas.

A partir do molde de vidro é produzido outro metálico que será utilizado para a

fabricação do CD (Figura 8). A camada de policarbonato (Cabello, Martinez, &

Junquera, 2008) é prensada neste molde e, sobre ela, é prensada a camada reflexiva.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

20

Por fim, anexa-se ao CD uma camada protetora de verniz. As depressões que serão

formadas na carcaça do policarbonato são chamadas pits, as áreas normais entre eles

são chamadas lands.

Figura 8 - Ranhuras na camada de policarbonato (Shuman, 2000)

Esta camada de policarbonato é constituída, portanto, de uma trilha, em forma

de espiral com pits (cavidades) e lands (regiões planas), que circula do lado interno

para o externo do disco, apresentando cerca de 1/2 µm de espessura (comprimento

mínimo de 0,83μm e altura de 125 nm) e com espaçamento entre si da ordem de 1600

nm conforme pode ser visto na Figura 9 .

Figura 9 - Trilha espiralada em um CD (Marshall, Almeida, & Takase, 2007) e a representação esquemática dos Pits e Lands com a indicação das dimensões associadas.

A Figura 10 mostra em escala microscópica os sulcos demarcados no CD.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

21

Figura 10 - Imagem de microscopia eletrônica das trilhas de um CD (Wissner, 2005).

Tais características fazem do CD uma excelente rede de difração didática, com

distância entre os sulcos da ordem de 1,6µm, ou seja, aproximadamente 625

sulcos/mm.

3.1.4.3.1.4.3.1.4.3.1.4. Espectrofotômetros e seu Princípio de FuncionamentoEspectrofotômetros e seu Princípio de FuncionamentoEspectrofotômetros e seu Princípio de FuncionamentoEspectrofotômetros e seu Princípio de Funcionamento

Um espectrofotômetro é um equipamento capaz de discriminar os

comprimentos de onda, por meio da decomposição de cores em prismas ou redes de

difração. A luz branca comum tem seus vários comprimentos de ondas que são

separados e analisados pelo equipamento, em função da variação da intensidade

luminosa. O espectrofotômetro pode ter um custo elevado, considerando os

disponíveis no mercado comercial e para usos didáticos (Lüdke, 2010). Apesar de boa

precisão (PASCO, 2008) estes equipamentos apresentam custos ainda muito elevados

para a maioria das escolas brasileiras.

Podemos ter dois tipos de espectrofotômetros com rede de difração: aqueles

que analisam o feixe de luz refletido (item 3.1.4.1) e e aqueles que analisam o feixe de

luz transmitido (item 3.1.4.2).

3.1.4.1.3.1.4.1.3.1.4.1.3.1.4.1. Análise Espectral do Feixe TransmitidoAnálise Espectral do Feixe TransmitidoAnálise Espectral do Feixe TransmitidoAnálise Espectral do Feixe Transmitido

As redes de difração por reflexão (Lopes, 2007) consistem em uma superfície

com muitas ranhuras, ou sulcos (Figura 11) com espaçamento d entre cada ranhura. As

dimensões dessas ranhuras são muito pequenas, podendo variar de 600 a 2400 linhas

por mm dependendo da rede. Quanto maior o número de ranhuras ou sulcos, maior a

capacidade de decomposição/resolução da rede.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

22

Figura 11 - Ranhuras de uma rede de difração

Aqui ocorre o fenômeno da interferência construtiva, devido à diferença de

caminho óptico ∆ em que a luz sofre após ser refletida em diferentes ranhuras (Figura

12).

Figura 12 - Rede de difração por reflexão

Para este tipo de espectrofotômetro (Alfons, 2010) fixa-se a posição da fonte

de luz e um fotosensor (LDR, CF-TSL235R,...) como indica a Figura 13. Girando a rede

de difração observamos o ângulo de desvio observado para cada linha a partir da

fenda.

Figura 13 - Esquema para um espectrofotômetro com a rede de difração girando ao redor de um eixo.

O valor do comprimento de onda pode então ser obtido a partir da Eq. 12.

CF-TSL235R

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

23

3.1.4.2.3.1.4.2.3.1.4.2.3.1.4.2. Análise Espectral do Feixe RefletidoAnálise Espectral do Feixe RefletidoAnálise Espectral do Feixe RefletidoAnálise Espectral do Feixe Refletido

Consiste numa rede de difração por transmissão uma película com muitíssimas

fendas. Ao atravessar a rede, a radiação transmitida sofre difração em cada fenda e

consequentemente interferências construtivas para cada comprimento de onda

semelhante. A Figura 14 mostra um esquema da difração ocorrida em uma rede de

difração.

Figura 14 - Difração ocorrida na rede de transmissão e diferença de caminho óptico ocasionando interferência

(Lopes, 2007).

Muitos dos espectrofotômetros (Lüdke, 2010) (PASCO, 2008) (Cavalcante,

Tavolaro, & Haag, 2005) didáticos são baseados na análise por feixe transmitido. Neste

caso o espectrofotômetro é constituído por uma ampola de lâmpada (de certa

substância), de alta intensidade, alinhada com uma lente convergente (Lc), de modo a

colimar o feixe da lâmpada e defini-lo para que seja decomposto, por exemplo, por

uma rede de difração (CD), e projetado em um anteparo, em seus vários

comprimentos de onda (Figura 15). Um fotosensor faz uma varredura ao longo da tela

e fornece a informação da intensidade de luz em função do angulo de desvio da

radiação.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

24

Figura 15 - Esquema para um espectrofotômetro com rede de difração por feixe transmitido. Neste tipo de análise, o CF-TSL235R é que se move. A camada refletora do CD pode ser facilmente retirada, utilizando fita adesiva (Cavalcante,

Tavolaro, & Haag, 2005) (Catelli, 2010).

Na Figura 16, o ponto F representa a fenda, θ representa o ângulo de projeção

do feixe difratado, x é a distância entre o ponto central (máximo da interferência

construtiva) e as raias do espectro (na região de primeira ordem), e D é a distância

entre o CD e o CF-TSL235R.

O esquema da Figura 16 mostra como é possível se determinar o comprimento

de onda da radiação em função do desvio x observado na tela

Figura 16 - Esquema de montagem usada na análise por feixe transmitido.

Do ângulo formado entre as distâncias D e L, temos a Eq. 13:

() = / (13)

Se L = ²² Dx + (14), então temos (Eq. 15):

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

25

() = / ²² Dx + (15)

Para a determinação do comprimento de onda da radiação devemos

determinar o ângulo θ para o qual a radiação de comprimento de comprimento de

onda λ produz um ponto de máxima intensidade. Fixando uma dada distancia D entre

o CD e a tela, podemos obter os valores de comprimentos de onda a partir da Eq. 16,

obtida pela substituição da Eq. 15 na Eq. 12:

²² xD

xddsenN

+== θλ

(16)

3.1.5.3.1.5.3.1.5.3.1.5. O Espectrofotômetro montado a partir da estrutura de um ScannerO Espectrofotômetro montado a partir da estrutura de um ScannerO Espectrofotômetro montado a partir da estrutura de um ScannerO Espectrofotômetro montado a partir da estrutura de um Scanner

O experimento proposto é baseado na analise por feixe transmitido. Ou seja,

adotamos como esquemas representados na Figura 15 e na Figura 16. Neste trabalho

optou-se por utilizar um espectrofotômetro baseado no estudo do feixe transmitido, já

que um dos objetivos era a reciclagem de “lixo eletrônico”, no caso a estrutura de um

scanner antigo. Assim o espectro obtido por difração é projetado em uma tela e o

motor de passo permite a varredura do fotosensor (CF-TSL235R), associando a

variação de luminosidade ao comprimento de onda da radiação. Tanto os sinais de

tensão advindos do CF-TSL235R, quanto o controle do motor de passo são realizados

através do Arduino.

Apresentaremos no item Erro! Fonte de referência não encontrada. uma descrição

detalhada da montagem desenvolvida e no apêndice apresentamos o código fonte do

programa desenvolvido. A seguir será apresentada a fundamentação do

sensoriamento remoto para uso nos laboratórios remotos, com o intuito do controle a

distância do experimento real.

3.2.3.2.3.2.3.2. Laboratórios RemotosLaboratórios RemotosLaboratórios RemotosLaboratórios Remotos

3.2.1.3.2.1.3.2.1.3.2.1. Importância e JustificativaImportância e JustificativaImportância e JustificativaImportância e Justificativa

Experimentos interativos em sistemas reais (Ferreira & Espíndola, 2003)

motivam os estudantes e também desenvolvem uma abordagem de resolução de

problemas reais, em diferentes áreas científicas. Desta forma o ensino em

determinadas áreas das Ciências (Engenharia, Física, Química, etc...) requer,

obrigatoriamente, atividades de laboratório que deverão ser executadas/ministradas

de forma presencial ou baseadas no Ensino a Distância (EAD) através de mecanismos e

metodologias que viabilizem a sua execução de forma remota.

Em geral a utilização de laboratórios didáticos presenciais é pouco otimizada,

visto que atendem a um número reduzido de alunos, tão somente no horário de aulas.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

26

Assim, laboratórios de alto custo acabam ociosos e a relação custo benefício é

bastante discutível. Por esta razão muitas instituições de ensino estão revendo o

conceito de aulas experimentais, optando pelo desenvolvimento de laboratórios que

permitam a realização de experimentos remotos.

Por um lado, estes laboratórios não apresentam restrição de horário e estão

disponíveis ao aluno em qualquer horário, de outro há uma grande redução no espaço

físico necessário para o seu funcionamento. Vale ressaltar que a metodologia

apresentada e a sua implementação permitem aos estudantes, ou mesmo outros

usuários remotos, terem acesso aos sistemas remotamente através da Internet e

realizarem os experimentos desejados/disponíveis.

Com a abordagem de laboratórios remotos, é possível que várias universidades

que já possuem algum laboratório específico na área compartilhem este espaço com

outras universidades e estas com as demais, formando assim uma rede de laboratórios

integrados e compartilhados, minimizando os custos e maximizando seus recursos

através da integração dos diferentes laboratórios em um verdadeiro “Clusters de

Universidades”.

Em alguns projetos pilotos existentes, participam a Universidade de Brasília,

através do GRACO - Grupo de Automação e Controle (http://www.graco.unb.br) e a

Universidade Federal de Santa Catarina através do GRUCON/GRIMA - Grupo de

Integração da Manufatura (http://www.grima.ufsc.br), as quais possuem laboratórios

integrados mais voltados às áreas de automação e controle nas engenharias. Com a

experimentação em laboratórios remotos, um determinado equipamento poderá ser

compartilhado entre diferentes Universidades. Devido a este fato, uma grande gama

de recursos de laboratórios podem ser disponibilizados, aumentando-se a variedade

de experimentos e equipamentos a serem utilizados pelos estudantes num contexto

de EAD com enfoque em aulas práticas remotas.

Estas possibilidades abrem espaço para um enfoque de aprendizagem voltada a

projetos, aos usuários remotos, isso porque, se pode disponibilizar experimentos que

se situem em certos temas específicos, o que possibilita um melhor desenvolvimento

destas qualidades.

Além disso, como se está na Internet, é possível que além do experimento, o

servidor disponibilize também tópicos teóricos e conceitos necessários ao melhor

entendimento, para o usuário, de qual fenômeno científico o experimento está

alicerçado. Por exemplo, em um experimento de óptica física, se pode disponibilizar

materiais (confiáveis conceitualmente) sobre a teoria do Espectro Eletromagnético e

fenômenos associados (como difração e interferência), possibilitando um melhor

entendimento ao usuário do que é e, de como ocorre o experimento, e do por que os

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

27

resultados que ele coleta, ou observa (através de WebCam ou Vídeo), aparecem do

modo específico.

3.2.2.3.2.2.3.2.2.3.2.2. Laboratórios Remotos e Laboratórios VirtuaisLaboratórios Remotos e Laboratórios VirtuaisLaboratórios Remotos e Laboratórios VirtuaisLaboratórios Remotos e Laboratórios Virtuais

Os laboratórios virtuais são simulações de dispositivos físicos por meio de

software (Ferreira & Espíndola, 2003). Ou seja, os resultados são provenientes de

equações matemáticas previamente conhecidas e programadas. Os laboratórios

virtuais podem ser uma bancada de testes de um sistema visando elaborar métodos

para o seu controle, ou mesmo a simulação de um sistema, baseado em Teoria de Filas

(A teoria das filas (Costa, 2010) foi desenvolvida para prover modelos que retratem

previamente o comportamento de um sistema que forneça serviços, através de um

servidor, que possuam demandas - vindas de clientes chegando e esperando –, e que

aumentem aleatoriamente).

Se a simulação for muito detalhada, pode ser um excelente recurso didático,

especialmente se acompanhado de animação. Os laboratórios virtuais acessíveis

através da Internet/Intranet estão se transformando em uma nova maneira e de se

tratar conceitos através do laboratório em cursos presenciais e a distância. Estes tipos

de laboratórios usam geralmente softwares comerciais como: LabView, MATLAB,

Sistemas CAD/CAM, etc.

Outros mais simples como, animações em Flash e Java possibilitam igualmente

o tratamento de conceitos e a compreensão de leis muitas vezes distantes da

realidade e do cotidiano dos estudantes.

Conceitualmente, usar um browser como interface para o laboratório virtual

tem muitas vantagens em conexões Intranet e/ou Internet. É uma plataforma

independente e fácil de usar e o software adicional necessário no lado do cliente

(usuário remoto) é mínimo. Entretanto, a conexão Web também fornece alguns

desafios: necessita-se de meios para que o usuário incorpore os parâmetros do

controle, que usem preferivelmente uma interface gráfica amigável, e de meios de

simular a resposta do sistema. O código padrão do HTML não pode realizar todas estas

tarefas (Ferreira & Espíndola, 2003).

As páginas interativas da Web com indicadores gráficos para dados de entrada,

parâmetros de controle, podem ser escritas usando programas em Commom Gateway

Interface (CGI) ou Java Applets (aplicativos em formato de programação JAVA,

linguagem esta centrada em objetos e criada em 1995, por uma equipe de americanos

da empresa Sun Microsystems). Os programas em CGI são os executáveis que residem

no lado do servidor em uma Arquitetura Cliente/Servidor, onde o browser e as

aplicações em Java representam o cliente, por exemplo.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

28

Mais recentemente, Java Applets estão sendo usados como entrada de dados

em aplicações para Web, ou seja, centrada em rede e distribuída. Programas na

linguagem Java diferem dos programas em CGI, pois são executados no lado do cliente

executando o código localmente. Os programas em CGI não mantêm, geralmente, a

conexão Internet persistentemente aberta, o que pode ser um impedimento em

aplicações em tempo real.

Um exemplo de laboratório virtual localiza-se na Universidade de Edimburgo

(Merrick & Ponton, 1996), que busca demonstrar os conceitos básicos do controle do

processo. O laboratório virtual consiste de experimentos de controle do processo

químico. Cada "experiência" é acompanhada por uma descrição da teoria junto a uma

fotografia de um dado real. Os estudantes podem introduzir parâmetros de controle e

então simular o sistema em malha fechada (em que, informações sobre como a saída

de controle está evoluindo são utilizadas para determinar o sinal de controle que deve

ser aplicado, em um instante específico. Isto é feito a partir de uma realimentação da

saída para a entrada, em um processo continuo (Silva, 2000)). Os resultados são

apresentados aos estudantes na forma de gráficos.

De outro lado temos os “laboratórios remotos”, que ao contrário de uma

simulação computacional, normalmente baseada em formulas matemáticas

conhecidas, permitem que experimentos “reais” sejam controlados remotamente

através de uma conexão Internet via Web, por exemplo. Este tipo de laboratório é bem

adequado aos cursos de EAD onde os estudantes não necessitam estar fisicamente no

laboratório, para desenvolver um dado experimento. Os parâmetros de controle

podem ser ajustados em uma página Web e enviados para o servidor que controla o

experimento. Os dados reais são gravados durante o experimento retornando ao

usuário através da conexão Web.

Um método comum para executar o controle remoto do equipamento ou de

um experimento é através de uma conexão remota via telnet (emulação de terminal)

em um outro computador que esteja controlando um experimento, chamado de

servidor (Ferreira & Espíndola, 2003). Entretanto, uma desvantagem deste método é a

necessidade de uma conta no servidor além da ausência de uma interface gráfica, pois

sendo textual ela é pouco amigável. A utilização de terminais gráficos (XFree ou

Windows) requer uma maior velocidade de transmissão de dados, sendo viável em

conexões Internet de alta velocidade (protocolos ATM – Assynchronous Transfer Mode

(Duque, 2001)). O uso da rede wireless, mais atuais, é uma opção viável para a questão

da velocidade na comunicação, podendo chegar a velocidades de 10Gbits de

transmissão (Duque, 2001).

Usar a Web para a conexão Internet é melhor que o telnet, pois requer apenas

um browser padrão no lado do usuário (cliente). Além disso, o browser é uma

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

29

plataforma independente no lado do usuário. O uso da Web em laboratórios remotos

incluem alguns exemplos: laboratório remoto de medições, controle de robô (Álvarez

& Romariz, 2002), controle de processo químico (Shaheen, Loparo, & Buchner, 1998),

entre outros.

3.2.3.3.2.3.3.2.3.3.2.3. Comunicação Comunicação Comunicação Comunicação ExperimentoExperimentoExperimentoExperimento----ServidorServidorServidorServidor

Os componentes da arquitetura de controle via Web são ilustrados na Figura

17. Aqueles relacionados aos aspectos remotos são os clientes (usuário remoto)

conectados através de um modem, conexão ADSL ou conexão de alta velocidade

(wireless, por exemplo) ao Servidor HTTP (Web) dedicado, que reside em um

computador no local do laboratório. Os componentes relacionados diretamente ao

experimento são o controlador/computador podendo ser o mesmo que o servidor

Web, onde se realiza realmente o experimento, e os equipamentos associados (placas,

conversor A/D, microcontroladores, Shields de comunicação ethernet, CNC, Robôs, ou

experimento automatizado, etc.). Os laboratórios são desenvolvidos utilizando

programas em C++ ou software comercial específico, tal como LabVIEW, que residem

no computador local, coordenando os experimentos.

Figura 17 - Exemplo de Arquitetura de Teleoperação de Laboratório Remotos (Exemplo retirado de (Ferreira &

Espíndola, 2003)).

3.2.4.3.2.4.3.2.4.3.2.4. Metodologia para Desenvolvimento de Laboratórios Remotos via WebMetodologia para Desenvolvimento de Laboratórios Remotos via WebMetodologia para Desenvolvimento de Laboratórios Remotos via WebMetodologia para Desenvolvimento de Laboratórios Remotos via Web

A Internet possui uma grande facilidade de criação de ambientes gráficos, o

que facilita a interface com o usuário, além de possuir um baixo custo em relação ao

equipamento operado a distância (Ferreira & Espíndola, 2003). Sendo uma rede de

comunicação, é possível enviar e receber informações, que podem ser comandos para

serem executados em algum dispositivo ligado à rede. Esse dispositivo pode ser um

sistema robótico, ou uma máquina-ferramenta, ou ainda um experimento de

sensoriamento remoto.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

30

Uma das características mais importantes sobre o funcionamento de uma rede

é a taxa de transmissão. Como normalmente os comandos transmitidos não exigem

uma grande taxa de transmissão, isto não se torna um empecilho à implementação de

sistemas de robôs operados a distância (teleoperação), via Internet. Outro aspecto

importante é a possibilidade da teleoperação ser executada a partir de qualquer local

conectado à Internet a um custo insignificante, o que se apresenta como uma solução

bastante interessante (Álvarez & Romariz, 2002). A teleoperação baseada na Internet

pode ser realizada através de várias metodologias (Álvarez & Romariz, 2002) a partir

de uma arquitetura cliente/servidor. Dentre as quais se destacam:

3.2.4.1.3.2.4.1.3.2.4.1.3.2.4.1. Acesso Remoto via "Telnet"Acesso Remoto via "Telnet"Acesso Remoto via "Telnet"Acesso Remoto via "Telnet"

Uma forma de se obter o acesso a um sistema teleoperado via Internet é a

conexão direta do usuário via interface Telnet ou SSH ( Secure Shell) disponível em

ambientes de rede. A simplicidade de operação é perdida pelo fato de se necessitar de

contas de usuários nas máquinas servidoras, o que é inviável dentro de um sistema de

ampla abrangência, e ser mais susceptível a falhas de segurança.

3.2.4.2.3.2.4.2.3.2.4.2.3.2.4.2. Programação CGI Programação CGI Programação CGI Programação CGI

A programação CGI, ou Programação Common Gateway Interface, com simples

páginas html, baseada em páginas HTML ("Hiper Text Markup Language") é a

abordagem mais utilizada no momento para o controle de sistemas através da

Internet, baseada na interface WWW ("World Wide Web"). A sua desvantagem é a

limitação de interatividade com o usuário, e pelo fato de sobrecarregar o servidor

(teoria das filas). Uma alternativa é a utilização da abordagem Java Servlets (Ferreira &

Espíndola, 2003) onde é necessário a instalação de um servidor Java Servlets (TomCat,

por exemplo) trabalhando em conjunto com o Servidor HTTP (Apache, por exemplo).

3.2.4.3.3.2.4.3.3.2.4.3.3.2.4.3. Cliente Java Cliente Java Cliente Java Cliente Java

Utilizando servidores genéricos HTTP (Apache) e servidores específicos via

Sockets – mecanismo utilizado para possibilitar comunicação entre aplicações (Nunes,

2002) , a linguagem de programação Java, através de aplicativos (applets), atualmente

é a forma mais comum de programação para a Internet (Ferreira & Espíndola, 2003).

Suas vantagens incluem a interatividade com o usuário, a fácil programação e a sua

natureza voltada para a Internet. Sua desvantagem principal é a velocidade de

operação, além do tempo para inicialização dos applets. O sistema de teleoperação do

lado do servidor pode ser baseado integralmente em uma solução através do servidor

WWW (servidor http) permitindo ao cliente ações de comando via CGI ou mesmo de

Servlets (Ricarte, 2002).

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

31

Neste sistema não é necessário o desenvolvimento do servidor, apenas dos

programas que permitirão o controle do equipamento, normalmente desenvolvidos

em linguagem C#, ou Perl no caso de CGI, e Java, no caso de Servlets.

Em Java é necessário a instalação de outras APIs (ou Interfaces de Programação

de Aplicativos, usadas em plug-ins, ferramentas que complementam a funcionalidade

dos programas amplamente utilizados nas plataformas Java, através dos Servlets

(Orenstein, 2000) além do JDK padrão (ou J2SDK – Java to Standard Development Kit,

é o kit de desenvolvimento do Java, que contém as API padrões (Destro, 2002)) para

ter acesso a interface serial do servidor, por exemplo. Utilizando-se de servidores

específicos, orientados a conexão via sockets, é necessário desenvolver os servidores

além dos programas para teleoperação do equipamento.

3.2.5.3.2.5.3.2.5.3.2.5. Sistemas Teleoperados Via InternetSistemas Teleoperados Via InternetSistemas Teleoperados Via InternetSistemas Teleoperados Via Internet

Sistemas teleoperados remotamente necessitam de dados e/ou imagens do

objeto de controle, bem como da transmissão de comandos através de um link de

comunicação, que neste caso é baseado em conexão via Rede de Comunicação

(Ferreira & Espíndola, 2003), através do Protocolo Internet (IP).

A metodologia a ser proposta, implementada e testada para controle a

distância, utilizando a Internet como link de comunicação, é baseada na Arquitetura

Cliente/Servidor utilizando o Protocolo HTTP (Hypertext Transfer Protocol) através de

um Servidor WWW convencional (CERN, NCSA, APACHE ou Webduino, da

GoogleProjects, vide item Erro! Fonte de referência não encontrada.) que disponibiliza

uma interface multimídia. Esta pode ser acessada através de um Cliente WWW

(browser) como o Netscape ou Internet Explorer. A arquitetura proposta do sistema é

apresentada na Figura 18.

Neste contexto, o Servidor HTTP deve disponibilizar dois tipos de serviços

básicos, que estão respresentados na Figura 18, através de dois módulos:

• WebCam: Visualização do objeto controlado remotamente, através de vídeo e/ou

imagem;

• WebRobot: Disponibilização de funções de controle remoto do objeto controlado

remotamente.

O módulo WebCam é responsável pela captura de imagens através de câmeras

CCD (Charge Coupled Device). Imagens estáticas podem ser adquiridas em vários

formatos como GIF (Graphics Interchaning Format) e JPEG (Joint Photographic Experts

Group). O formato preferido devido à compressão de dados obtida é o JPEG. Imagens

dinâmicas, no formato de vídeo digital, podem ser utilizadas com ou sem compressão

de dados. Entre os padrões utilizados os mais conhecidos são o MPEG (Moving Picture

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

32

Experts Group) e o M-JPEG (seqüência de imagens JPEG). O sistema de vídeo (placa de

captura mais software) deve capturar, digitalizar e comprimir um sinal de vídeo NTSC

ou PAL não modularizado. O vídeo comprimido pode então ser armazenado em disco

e/ou transmitido via rede para o cliente em um determinado padrão de compressão.

Figura 18 – Exemplo de Arquitetura de Teleoperação de Laboratório Remotos.

O módulo WebRobot necessita que o sistema automatizado, controlado a

distância, tenha como pré-requisito alguma capacidade de comunicação remota

utilizando um protocolo de comunicação aberto através de uma interface serial,

paralela ou mesmo de uma Ethernet wireless, permitindo a conexão a um

Microcomputador ou a uma Workstation.

Utilizando-se desta capacidade é possível que qualquer equipamento industrial

possa ser teleoperado via Internet. A partir desta abordagem, disponibiliza-se um

Servidor Robótico, denominado WebRobot, conectado ao equipamento industrial

através da interface de comunicação do equipamento. Este servidor pode ser um

servidor HTTP, de forma similar ao descrito para o WebCam.

O mecanismo de acesso às funções do objeto teleoperado é também baseado

em programas CGI e HTML. Para cada função disponibilizada pelo protocolo de

comunicação do Robô existe um programa CGI que é acessado no servidor WebRobot

pelo cliente utilizando um browser WWW. Pode-se utilizar o mesmo equipamento

para disponibilizar os dois serviços: WebCam e WebRobot (Ferreira & Espíndola, 2003).

Por outro lado, pode-se também utilizar dois ou mais servidores para realizar as

funções de WebCam e WebRobot.

Uma segunda abordagem é utilizar um único Servidor WWW conectado a um

ou mais PC servidores via sockets TCP/IP. Estes PC servidores não são necessariamente

servidores WWW. São servidores específicos para controle do experimento,

automatizado, e para captura de imagem, sendo que todo o tratamento das

informações obtidas é realizado pelo Servidor WWW, concentrando todas as ações.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

33

3.2.5.1.3.2.5.1.3.2.5.1.3.2.5.1. Restrições do Protocolo Internet Restrições do Protocolo Internet Restrições do Protocolo Internet Restrições do Protocolo Internet ---- TCP/IPTCP/IPTCP/IPTCP/IP

A Rede de Comunicação Internet apresenta uma largura de banda heterogênea

e com taxas de transmissão não determinísticas que podem variar de 10 kbps (ligação

discada) a mais de 100 Mbps em rede local (Fast Ethernet e Banda Larga), dependendo

da conexão Internet e do tráfego (e mais, até, se considerarmos a internet sem fio).

Tendo limitação de largura de banda, aplicações em tempo real para captura de vídeo

apresentam sérias restrições. Para vencer estas restrições é necessário utilizar

compressão de dados e conexão de grande velocidade à Internet. Taxas típicas de

transmissão de vídeo com compressão necessitam de 20 Kbps (RealVideo), e sem

compressão, de 100 Kbps (sequência de imagens JPEG), com 5 quadros/s (Ferreira &

Espíndola, 2003).

Outra limitação é o delay (atraso) inerente ao protocolo TCP/IP, o que não é

desejável para aplicações em tempo real. Esta restrição pode ser resolvida adicionando

algum grau de autonomia para a aplicação, no caso um experimento automatizado, de

tal forma a contornar situações de emergência, bem como, situações perigosas.

Recomenda-se, sempre que possível, que o sistema de teleoperação seja concebido

para trabalhar em uma arquitetura baseada no controle supervisório (Ferreira &

Espíndola, 2003), ou seja, as ações de controle são executadas e monitoradas

localmente. Apesar dos datagramas com informações de controle enviados para o

experimento real, pelo cliente via Protocolo TCP/IP, serem pequenos, da ordem de 2 a

3 Kbytes, o Protocolo TCP não garante aplicações em tempo real.

3.2.6.3.2.6.3.2.6.3.2.6. InterfaceInterfaceInterfaceInterface com o Usuáriocom o Usuáriocom o Usuáriocom o Usuário

A interface gráfica com o usuário (GUI - Graphical User Interface) deve ser

baseada nas linguagens de programação HTML, JavaScript e Java. A utilização de Java

permite uma independência de arquitetura de hardware, pois o applet escrito em Java

(aplicação Java) pode ser executado em qualquer plataforma com um browser WWW

que tenha suporte para esta linguagem. O programa em Java/HTML permite que o

cliente tenha uma interface amigável com o sistema de teleoperação aceitando

comandos e disparando os programas CGI necessários para executar as funções

disponibilizadas e apresentando as informações necessárias para o usuário, que são

recebidas pelo servidor.

3.2.7.3.2.7.3.2.7.3.2.7. Acesso ReAcesso ReAcesso ReAcesso Remoto: Arduino e Comunicação com Servidor Remotomoto: Arduino e Comunicação com Servidor Remotomoto: Arduino e Comunicação com Servidor Remotomoto: Arduino e Comunicação com Servidor Remoto –––– Webduino/PUCWebduino/PUCWebduino/PUCWebduino/PUC----

SPSPSPSP

3.2.7.1.3.2.7.1.3.2.7.1.3.2.7.1. O que é Webduino dO que é Webduino dO que é Webduino dO que é Webduino da PUC/SP a PUC/SP a PUC/SP a PUC/SP

O Webduino-PUC-SP é um projeto e desenvolvimento de um laboratório de

sensoriamento remoto utilizando o Arduino. Webduino é um projeto que está sendo

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

34

desenvolvido como o apoio do CNPq pelo GoPEF (Grupo de Pesquisa em Ensino de

Física da PUC/SP), na área de tecnologia educacional e em poucas palavras é um

laboratório de controle e sensoriamento remoto baseado no uso da plataforma

Arduino.

3.2.7.2.3.2.7.2.3.2.7.2.3.2.7.2. Porque o ArduinoPorque o ArduinoPorque o ArduinoPorque o Arduino

Dentre as inúmeras justificativas para sua utilização está na existência de um

grande número de projetos disponíveis na web em diferentes idiomas e em diferentes

áreas do conhecimento caracterizando esta plataforma, como uma tecnologia

essencialmente interdisciplinar.

Este projeto pretende desenvolver diferentes recursos didáticos que

possibilitem não apenas ensinar conceitos Físicos, mas também traga aos nossos

jovens e professores um maior domínio da tecnologia.

Pretendemos neste projeto também utilizar plataformas (como Cosm®, Partcl®,

entre outras API’s que possibilitam a coleta remota de dados, via serial, ethernet,

entre outras), para compartilhar experimentos on-line possibilitando incorporar o

Ensino de Ciências na já conhecida rede de sensores, agregando valores à

experimentação didática.

Por outro lado, a implantação de laboratórios de sensoriamento e controle

baseado em plataformas livres como as do Arduino, torna o weblab deste projeto

muito próximo a realidade do usuário, potencializando os recursos disponíveis e

amplamente compartilhados na web, desmistificando a experimentação como um

todo. Em outras palavras, o usuário terá acesso à documentação do projeto, seus

códigos fontes e poderá, se assim o desejar, montar o seu sistema, manipulá-lo e

disponibilizá-lo em redes remotas, através de servidores remotos (com APPACHE,

WebDeusto, entre outras).

3.2.7.3.3.2.7.3.3.2.7.3.3.2.7.3. O que o Webduino traz de novoO que o Webduino traz de novoO que o Webduino traz de novoO que o Webduino traz de novo

Um dos aspectos inovadores deste projeto está associado ao desenvolvimento

de um laboratório de controle e sensoriamento remoto, voltado ao ensino de Ciências,

totalmente apoiado em uma plataforma open-source em hardware e software

conhecida e amplamente difundida na internet - Arduino - numa perspectiva a médio

prazo de aplicações concomitantes à Realidade Virtual Aumentada.

Tratando-se de uma plataforma Open Source o usuário terá acesso à

documentação pertinente a cada experimento proposto, qual seja: códigos fontes,

esquemas elétricos e vídeos ilustrativos mostrando cada etapa de construção e

montagem, etc.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

35

Pretendemos no Webduino disponibilizar diferentes modos de interação com

os experimentos que vão desde manipulação via interface gráfica até uma imersão em

ambiente 3D através de RVA, o que por si lhe atribui uma característica inovadora.

Igualmente inovador será o desenvolvimento de recursos destinados ao ensino

de ciências em nível fundamental em que se pretende criar aplicativos que possibilite

manipular e interagir com experimentos remotos utilizando o Physical EToys, que é um

ambiente de programação visual integrado a interface Arduino e baseado do Squeak

EToys já muito utilizado com fins educacionais. Estes aplicativos deverão possibilitar

que usuários do Squeak Etoys de diferentes faixas etárias possam manipular os

equipamentos através de mídias interativas inteiramente adaptadas a sua realidade o

que, certamente contribuirá na ampliação dos recursos educacionais para do projeto

UCA (Um Computador por Aluno) no Brasil

Um WEBLAB, com tais características, além de inovador poderá contribuir para

uma maior difusão e divulgação da ciência, despertando o interesse dos nossos jovens

para uma área que tem sofrido uma forte queda em todo mundo e mais

acentuadamente no nosso país.

3.3.3.3.3.3.3.3. O espectrofotômetro com Acesso RemotoO espectrofotômetro com Acesso RemotoO espectrofotômetro com Acesso RemotoO espectrofotômetro com Acesso Remoto

Neste sentido, o atual experimento pretende fazer a comunicação via Web,

Processing e Arduino a saída serial, de modo que, com uma rede adequada possa se

estabelecer a comunicação entre o experimento, automatizado pela programação na

IDE doArduino, e um servidor central, para que sejam disponibilizados dados de

entrada para o servidor, de modo que o usuário remoto possa acessar e controlar

remotamente o experimento. Além disso serão disponibilizados gráficos em tempo

real e tabelas em PHP, ou Java, na página da Web (no projeto WebLabduino, do

Google Projects). Todas estas ações poderão ser acionadas .por meio de botões

disponíveis na pagina do experimento.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

36

4.4.4.4. METODOLOGIA EXPERIMENTALMETODOLOGIA EXPERIMENTALMETODOLOGIA EXPERIMENTALMETODOLOGIA EXPERIMENTAL

4.1.4.1.4.1.4.1. MMMMateriaisateriaisateriaisateriais e procedimentose procedimentose procedimentose procedimentos

4.1.1.4.1.1.4.1.1.4.1.1. Experimento OffExperimento OffExperimento OffExperimento Off----line line line line (ALMEIDA JR., CAVALCANTE, RODRIGUES, & PONTES., 2012)

Figura 19a - Componentes das montagens utilizadas durante a etapa de calibração para obtenção das distâncias entre os sulcos do CD: (A) ponteira laser, CD (B), trilho de madeira (C), scanner (D), em cuja cabeça de impressão

está fixada um fotosensor (CF-TSL235R, em E). Na imagem, pode ser observado o espectro do LASER projetado no anteparo (F) colocado junto ao suporte no qual CF-TSL235R está colocado.

Figura 19b - Componentes das montagens utilizadas na obtenção do espectro: (A) lâmpada fluorescente compacta, (B) lente convergente, (C) CD, (D) conversor de frequência (CFTSL235R), (E) ultrassom, (F) sensor de temperatura (DS18B20),

(G) circuito com módulos do motor de passo e relé, além dos cabos dos sensores, todos conectados aos pinos do Arduino, (H) scanner, (I) trilho de madeira, (J) caixa de madeira, na qual todo o experimento é montado. Além disso, na imagem,

pode ser observada a cabeça de impressão (K) a qual é controlada via teclado, que comanda, via placa arduino, o movimento de ida e volta do scanner, bem como o ajuste da mesma na posição da projeção da fenda luminosa. A direita,

visão geral da placa onde está contido o Arduino (visão ampliada de (g), contendo (L) módulo controlador do motor de passo, (M) módulo relé, de acionamento da lâmpada, (N) arduino, e (O) placa contendo as linhas de terra e de alimentação

de 5V para o arduino).

(A)

(B)

(C)

(D)

(E)

(F)

(k)

(N)

(O)

(M) (L)

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

37

Na construção do espectrofotômetro (Figura b) o feixe de luz colimado

proveniente de uma lâmpada florescente de Hg foi projetado em uma tela. A

decomposição espectral é realizada através de um CD (cuja camada refletora foi

retirada) disposto a uma distância D da tela (Cavalcante, Tavolaro, & Haag, 2005).

Este feixe sofre difração, de modo a decompor os vários componentes de

comprimentos de onda em um anteparo, onde está localizado um fotosensor (CF-

TSL235R,) que fará a varredura das diferentes luminosidades das raias do espectro

projetado. O CF-TSL235R (informações e datasheet em anexo) se moverá a partir do

movimento de um carro de scanner, acionado por um motor de passo. Todo o

monitoramento e controle do experimento são realizados através do microcontrolador

Arduino. Para assegurar maior precisão às medidas, determinamos previamente a

distância entre os sulcos do CD, utilizando para isso um feixe de luz proveniente de

uma ponteira laser vermelha (655 nm, valor médio indicado pelo fabricante).

A seguir faremos a descrição de cada etapa do experimento que compreende;

montagem do circuito associado ao motor de passo e o esquema eletrônico associado

ao CF-TSL235R, determinação do parâmetro da rede de difração e obtenção do

espectro de uma lâmpada fluorescente de Hg.

4.1.1.1.4.1.1.1.4.1.1.1.4.1.1.1. Montagem dos Circuitos (Montagem dos Circuitos (Montagem dos Circuitos (Montagem dos Circuitos (CFCFCFCF----TSL235RTSL235RTSL235RTSL235R, Motor de Passo, Motor de Passo, Motor de Passo, Motor de Passo, Ultrassom e , Ultrassom e , Ultrassom e , Ultrassom e

Sensor de TemperaturaSensor de TemperaturaSensor de TemperaturaSensor de Temperatura))))

Para a construção do espectrofotômetro com Arduino, foi necessária a

montagem de circuitos com aplicações distintas na mesma placa fenolite; um,

principal, associado ao controle do motor de passo, e outros para captura de

diferentes sinais, como:

• A distância percorrida: lida por um sensor ultrassônico, para ajuste da

posição da cabeça de impressão até a projeção da fenda luminosa, bem

como limitando a ida da mesma, a partir da qual retorna até a projeção

da fenda;

• A temperatura: a serem lidas pelo sensor DS18B (Dallas Temperature),

pois as distâncias lidas pelo ultrassom dependem da temperatura

ambiente, já que é calculada a partir da velocidade do som;

• A variação da intensidade luminosa, ou irradiância: lida através do CF-

TSL235R, a partir da qual poderemos obter os gráficos do espectro de

radiação luminosa (irradiância, em W/m2 , versus comprimento de onda,

em nm).

• Circuito de verificação da ida da cabeça de leitura, contendo LED verde

e resistor de 370Ω.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

38

4.1.1.2.4.1.1.2.4.1.1.2.4.1.1.2. Motor de passo e controle no sentido de rotação Motor de passo e controle no sentido de rotação Motor de passo e controle no sentido de rotação Motor de passo e controle no sentido de rotação

O scanner PLUSTEK OpticPro 4831P, utilizado neste trabalho apresenta para

controle de sua cabeça de leitura o motor de passo da marca Mitsumi

Electronics, modelo M35SP-7 (Mitsumi Co., 2011).

Todo o controle do motor de passo é realizado através das saídas digitais do

Arduino, que fornecem corrente elétrica no máximo igual a 20 mA, insuficientes para

acionar as bobinas do motor (Erro! Fonte de referência não encontrada.).

Para amplificar a corrente elétrica de saída do Arduino utilizamos o CI UNL2003

(Darlington, 2011), comumente utilizados nos Shields1 para motores, conforme indica

a Erro! Fonte de referência não encontrada.. Neste esquema, foi associado uma fonte de

tensão regulável (LTS Company, de 10V a 24V), para sua alimentação de tal modo a

possibilitar a corrente mínima necessária para a movimentação de toda a peça que

constitui a cabeça de leitura do Scanner. Os pinos que permitem o controle das

bobinas do motor de passo são os pinos digitais 8,9,10 e 11 do Arduino e a

Tabela 1 mostra a relação das cores dos fios provenientes do motor M35SP-7 e

as conexões com o CI ULN2003 e Arduino.

Tabela 1: Ligações entre motor de passo e CI, e do CI com o Arduino.

Cor do fio Motor de Passo – CI CI – Arduino

Laranja 16 8 Amarelo 15 9 Preto 14 10 Marrom 13 11 Vermelho 9 ---

O CI, em sua versão final, foi usado montado em um módulo, para melhor disposição

no circuito final. As ligações dos cabos do motor ao CI e do CI ao Arduino, bem como as

saídas de alimentação e terra para a fonte continuaram as mesmas. Na Erro! Fonte de

referência não encontrada.(a) pode-se ver a montagem esquemática, bem como a

disposição do módulo com CI e do motor na montagem final. E na Erro! Fonte de

referência não encontrada.(b), pode ser visto o circuito de verificação da ida da

cabeça de impressão bem como a disposição na montagem final.

1 Shields são placas que podem ser adicionadas ao Arduino para múltiplas funções

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

39

(a)

Módulo CI

Motor de Passo Cabos para

fonte de tensão

regulável (18V) Cabos do CI

para Arduino

(pinos D8, D9,

D10, D11)

Cabos do motor

ao CI (pinos, 16,

15, 14, e 13)

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

40

(b)

Figura 20 – (a) Circuito de acionamento do motor de passo, montado no programa fritzing®, como descrito no texto, e como montado na versão final. (b) Circuito para verificação da ida da cabeça de leitura, conforme o pino 3 seja acionado, depois de encontrada a fenda, e como montado na versão final do circuito.

Para um experimento controlado remotamente não temos a possibilidade de

ajuste manual da fenda e acionamento do sistema pelo usuário. Todo o sistema pode

ser acionado automaticamente, ou controlado pelo usuário, por exemplo, ao se dar

um comando pelo teclado, para início da coleta de dados. Ou seja, a leitura deve se

iniciar na fenda e deve terminar ao final espectro visível. Durante o processo de coleta

o usuário deve visualizar na tela o gráfico de intensidade versus comprimento de onda.

Estes dados podem ser salvos pelo usuário e o sensor deve retornar a posição inicial à

espera de um novo usuário.

Quadro 1- Programação envolvendo comando do teclado. Esta programação somente é acionada quando a posição da fenda é encontrada

//definição de variáveis, bibliotecas e pinagens #include <Stepper.h> #include <OneWire.h> #define TSL235R 2 //motores acionamento int stepsPerRevolution = 48; // altere para o número correto de rpm do motor. Stepper myStepper(stepsPerRevolution, 8,9,10,11); // iniciando biblioteca dos pinos 8 a 11. int ColetaDadosExp=4; // se alto corre para a direita e faz leitura int AjustePosicao=5; // se alto varre para a esquerda int LED=3; // acende o led quando a varredura direita ocorre // Pinagem para a medição do US// int echoPinUS = 12; //eco - recebe int trigPinUS = 13; // trigger – envia

Suporte no qual está

conectado o LED verde (e

resistor), conectado ao pino

3 do arduino.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

41

///////////////////SETUP/////////////////// void setup(void) pinMode(AjustePosicao, INPUT); // pino 5 = Ajuste de Posição pinMode(ColetaDadosExp,INPUT); // pino 4 = Coleta de Dados da Experiência pinMode(LED,OUTPUT); // pino3 = pino de verificação do LED myStepper.setSpeed(100); //ajuste de velocidade dos passos Serial.begin(9600); // initialize the serial port pinMode(echoPinUS, INPUT); // define o pino 12 como entrada (recebe) pinMode(trigPinUS, OUTPUT); // define o pino 13 como saida (envia) // pinMode(OneWire, INPUT); //temp. como entrada //definições iniciais de cada função. Parte-se da função de ajuste da cabeça de leitura, //como verdadeira para referência ao fim das coletas de dados. AtivarAlinhamentoCabeca = true; AtivarColetaDados = false; ApertarBotaoTeclado = false; /////////////////////////LOOP///////////////////////////////////// void loop(void) if(AtivarAlinhamentoCabeca==true) AjustarPosicao(); if(AtivarColetaDados==true) ColetaDados(); if(ApertarBotaoTeclado==true) Teclado(); void Teclado() if (Serial.available()) char leitura = Serial.read(); if ((leitura == 'E')) digitalWrite(ColetaDadosExp,HIGH); // motor gira para a direita digitalWrite(LED,HIGH); // led apaga e o motor gira para a esquerda AtivarColetaDados = true; AtivarAlinhamentoCabeca = false; // Serial.println("Coleta de Dados do Experimento"); myStepper.step(+stepsPerRevolution);

Nesta programação preferimos o acionamento da coleta de dados, via teclado,

com o ajuste de posição do fotosensor na fenda luminosa, previamente terminado.

Encontrada a fenda, através da posição lida via ultrassom e sensor de temperatura,

clica-se em uma letra do teclado, e o sistema percorre a distância necessária até o fim

do espectro, a partir de onde, volta-se até a posição da fenda, permitindo que um

novo usuário recomece a coleta de novos dados. Os procedimentos de ajuste e coleta

de dados são descritos a seguir.

Temos dois pinos digitais do Arduino, para controlar e indicar o sentido de giro

do motor de passo, que são os pinos digitais 4 e 5, cf. Quadro 1 (mais o pino 3, que

aciona um LED verde, usado para detecção do movimento a ser executado na coleta

dos dados):

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

42

• O pino digital 4 (pino “ColetaDadosExp”, de controle) é definido como

pino de entrada e seu estado é alterado a partir do acionamento de

uma tecla (“E”), via programação no Arduino.

• Se o pino 4 estiver em estado ALTO (pino 5 em estado BAIXO), a cabeça

de leitura corre para frente (“movimentoCabeca==1”, na programação),

com o pino 3, que aciona o LED, passando para alto também, fazendo o

LED acender. Este acendimento é meramente ilustrativo e poderá ser

visto pelo usuário a partir da visualização através da webcam.

Quadro 2 - Programação relacionada a procura da posição da projeção da fenda luminosa.

void loop(void) if(AtivarAlinhamentoCabeca==true) AjustarPosicao(); void AjustarPosicao() //Serial.println ("Entrou Na Função de Posicionamento da Cabeça"); //1) Obter valor CM //void ObterCM(); float CM = ObterCM(); //2) Se CM >= 17.7: if (CM >= 17.70) movimentacaoCabeca = 1; // Configura Movimentação Da Cabeça Para Frente //Até que CM <17,2, e a cabeça de leitura volta. else if (CM < 17.20) movimentacaoCabeca = 2; // Configura Movimentação Da Cabeça Para Trás if ( (CM <= 17.70) && (CM > 17.20)) movimentacaoCabeca = 0; //Configura Parada De Cabeça De Impressão CM = ObterCM(); // Movimenta a cabeça MoverCabeca(); // Serial.println (CM); // Aqui paramos a movimentação da cabeça seja ela para frente ou para trás. void MoverCabeca() // Caso seja para frente devemos configurar a cabeça a movimentação no pino 4 if(movimentacaoCabeca == 1) digitalWrite(ColetaDadosExp, HIGH); // o pino 4 vai para alto e o motor gira para a direita digitalWrite(LED,HIGH); // o led acende (pino 3 alto), indicando que para este sentido será efetuada medida Serial.println("Ajuste de Posicao Frente"); myStepper.step(+stepsPerRevolution); if(movimentacaoCabeca == 2) digitalWrite(AjustePosicao, HIGH); // o pino 5 vai para alto, motor gira para a esquerda digitalWrite(LED,LOW); // led apaga e o motor gira para a esquerda Serial.println("Ajuste de Posicao Tras"); myStepper.step(-stepsPerRevolution);

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

43

/*Aqui ao encontrar a fenda as duas funções anteriores passam por falsas, e somente a função de acionamento do teclado passa a ser verdadeiro. Pois, ao apertar a tecla, o motor faz a cabeça de leitura rodar para frente.*/ if(movimentacaoCabeca == 0) digitalWrite(AjustePosicao, LOW); digitalWrite(ColetaDadosExp, LOW); AtivarColetaDados = false; AtivarAlinhamentoCabeca = false; ApertarBotaoTeclado = true; Serial.print (";"); Serial.print ("L"); //Serial.println ("Coleta de Dados Frente"); myStepper.step(+stepsPerRevolution);

• Inicialmente, na primeira parte da programação (Quadro 2), dentro da

função AjustarPosicao, (comandada pela função

AtivarAlinhamentoCabeca), o pino 4 permite que a cabeça de leitura vá

para frente (por isso, imprime a mensagem “Ajuste de Posicao Frente”),

com o motor girando no sentido horário. Tal procedimento só ocorre se

a cabeça de leitura estiver abaixo de uma determinada distância lida

através do sensor ultrassom.

• Por outro lado, o pino 5 (denominado “AjustePosicao”), caso esteja em

estado ALTO (pino 4 em estado BAIXO), também dentro da função

AjustarPosicao, faz com que o motor gire no sentido anti-horário, e a

cabeça de leitura vá para trás (“movimentoCabeca==2”, na

programação), caso a mesma esteja acima de uma distância

determinada, obtida através do sensor ultrassom .

Quadro 3 - Programação para Coleta dos Daods de Distância (Função "ObterCM"), lidas pelo ultrassom

(ITeadStudio, 2012).

float ObterCM() ////////Leitura dos Dados de Temperatura//////////////////// OneWire ds(6); // on pin 6 byte i; byte present = 0; byte type_s; byte data[12]; byte addr[8]; float tempC, tempF; if ( !ds.search(addr)) ds.reset_search(); delay(750); //tempo de atraso relacionado ao tempo de conversão, resultado da //resolução em 12 bits, descrita a seguir. ds.reset(); ds.select(addr); ds.write(0x44,1); // começa a conversão de hex. p/ valores reais de temperatura.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

44

delay(10); // tempo de atraso de 10ms para o sensor voltar a coletar dados. present = ds.reset(); ds.select(addr); ds.write(0xBE); // Lendo a escrita em hexadecimais for ( i = 0; i < 9; i++) // necessários 9bits. data[i] = ds.read(); // Converte os dados “raw” para temperatura real. unsigned int raw = (data[1] << 8) | data[0]; if (type_s) raw = raw << 3; // 9 bits de resolução padrão. if (data[7] == 0x10) // contagens permanecem dando 12 bits de resolução completa. raw = (raw & 0xFFF0) + 12 - data[6]; else byte cfg = (data[4] & 0x60); if (cfg == 0x00) raw = raw << 3; // 9 bit de resolução, 93.75 ms else if (cfg == 0x20) raw = raw << 2; // 10 bit res., 187.5 ms else if (cfg == 0x40) raw = raw << 1; // 11 bit res., 375 ms // padrão é 12 bit de resolução, 750 ms de tempo de conversão /*A seguir são descritas as fórmulas de conversão da temperaturas reais de escala Celsius para escala Farenheit, e para a obtenção da temperatura em °Celsius, a partir dos valores raw */ tempC = (float)raw / 16.0; tempF = tempC * 1.8 + 32.0; /////Leituras dos Dados do Ultrassom, considerando os Dados de Temperatura/////// digitalWrite(trigPinUS, LOW); //seta o pino 12 com um pulso baixo "LOW" delayMicroseconds(2); // delay de 2 microssegundos digitalWrite(trigPinUS, HIGH); //seta o pino 12 com pulso alto "HIGH" delayMicroseconds(10); //delay de 10 microssegundos digitalWrite(trigPinUS, LOW); //seta o pino 12 com pulso baixo novamente float cm; // Esta condição coloca que serão armazenados os dados de distância de //aproximação do objeto em rel. ao ultrassom ("float" indica que são //dados considerando as casas decimais); double Velocidade; // Definir a váriavel de velocidade, p/ cálculo da distância double tempo; // Definir a variável de tempo: tempo = tempo ida + tempo volta unsigned long time; long duration = pulseIn(echoPinUS,HIGH); //pulseInt lê o tempo entre a chamada //e o pino entrar em high. //Esse calculo é baseado em s = v . t. Velocidade = 334.1000+(0.61000*tempC); // equação de velocidade, em cm/s, /*retirada do site http://www.fisica.ufs.br/egsantana/ondas/acustica/sonido/sonido.htm*/ cm = (duration*0.0001000*((Velocidade)/2)); // equação para a distância (cm). time= micros(); // a base de tempo tem que estar em micro para adequação do US tempo = time/1000; // deve-se obter distancia vs tempo, convertendo "time" p/ ms return cm; //retorna ao valor de ditância.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

45

• Estas distâncias são obtidas (via programação ”ObterCM” (Quadro 3),

que comanda a leitura do ultrassom), em relação a posição ocupada

pela projeção da fenda luminosa, por isso, caso a cabeça esteja

depois do limite da fenda, o pino 5 passa para estado ALTO, e a

cabeça de leitura volta até a posição da fenda; caso a cabeça de

leitura esteja antes do limite da fenda, o pino 4 passa para estado

ALTO, e a mesma vai para frente até a posição da fenda.

• Em caso da cabeça de leitura estar na posição da projeção da fenda,

tanto o pino 5 quanto o pino 4 passam para estado BAIXO

(moverCabeca==0), o que faz com que o motor nem gire no sentido

horário nem anti-horário, e a cabeça de leitura para.

Quadro 4 - Programação da Segunda parte da programação do Experimento Off-Line: Aqui começa a ser coletados os dados de irradiância por comprimento de onda, após encontrada a posição da fenda (ocorrida

durante a função AjustarPosicao).

#define TSL235R 2 int stepsPerRevolution = 48; //altera-se para se adequar aos rpm do motor de passo. Stepper myStepper(stepsPerRevolution, 8,9,10,11); // biblioteca do motor nos pinos 8 a 11 /////motores contagem distância///// int cont=0; //declara a VARIÁVEL "cont" inteira e igual a 0 int stepCount=0; //declara a VARIÁVEL "stepCount" inteira e igual a 0 float Dmenor; //declara a VARIÁVEL "Dmenor" . Esta variável é o diametro da engrenagem menor float cnt; int intervaloIda=10; //define a VARIÁVEL "intervaloIda" igual a 10, //representa o intervalo de passos do motor p/ cada captura de dados int velocidadeIda=100; //define a VARIÁVEL "velocidadeIda" igual a 100. //Esta variável é a velocidade da varredura do sensor na Ida. //Comprimento de Onda/////////////////////// int D = 88; //declara a constante D igual ao comprimento do carro do scanner, em mm int d = 1580; //declara a constante d, a distancia entre os sulcos da rede de difração (CD), igual a 1660 linhas/nm (isso para o compdeonda ser em nm). float senq; //declara a VARIÁVEL senq, o seno do angulo de cursoremX e hipotenusa. float n; //declara a VARIÁVEL "n". Esta variável será especificada na próxima seção. float compdeonda; // declara a VARIÁVEL referente ao comprimento de onda, em dec. float cursoremX; //declara a VARIÁVEL "cursoremX". //Esta variável será a responsável pela distância em X, lida em função do giro do motor, ///////irradiancia//////// int period = 1000; // Milissegundos p/ cada medição da frequência da luz. float area = 0.0092; unsigned long counter = 0; // contagem das medições durante o teste. unsigned long currentTime = millis(); unsigned long startTime = currentTime; volatile long pulses = 0; // Contagens das medições para o CFTSL235R unsigned long frequency; // Leitura da Frequência do pino digital (D2) (pulsos/s) float irradiance; //define a variável de irradiância ////Função de Contagem de Pulsos////////

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

46

/*Função que será necessária para leitura dos dados de frequência, através do CFTSL235R, para posterior conversão em irradiância*/ void PulseCount() pulses++; //aumenta a contagem de pulsos a cada dado coletado /////Função de Coleta de Dados////// void ColetaDados() float cm; // Esta condição coloca que serão armazenados os dados de distância de // aproximação do objeto em rel. ao ultrassom. Necessária para a função a seguir float ObterCM(); //retoma a função de leitura de distância em cm, pelo ultrassom. ///////Conversor de Frequência/////////////////// //definições de irradiância/// attachInterrupt(0, PulseCount, RISING); pinMode(TSL235R, INPUT); counter++; // Aumenta o número de medições noInterrupts(); //coloca que não haverá interrupções na coleta dos dados. frequency = pulses /(period/1000); // Calcula a frequência (pulsos/s) interrupts(); // Solicita que se meça a frequência. irradiance = (frequency * 0.01) / area; // Calcula a Irradiancia (W/m2) pulses = 0; // reseta a contagem de pulsos. delay (100); // espera 100ms até a próxima medição. /////////Funcionamento Cabeça de Impressão////////////////// if (cm < 17.59) //aqui, a coleta de dados se dará a partir da distância, em cm, 17.59cm. digitalWrite(ColetaDadosExp,HIGH); // o pino 4 vai para alto e o motor gira para a direita digitalWrite(LED,HIGH); // o led acende indicando que para este sentido será efetuada medida stepCount++; //aumenta a contagem de passos do motor. cont = stepCount; // declara a variável "cont" igual ao valor contido em "stepCount" n = cont*intervaloIda/48.000; /*declara a variável "N" igual a "cont x intervalodeIda / 48 , com 3 casas decimais", ou seja, N é o produto do numero de volta do motor, durante o intervalo de ida, em razão das voltas do motor*/ Dmenor = 13.5; cursoremX = Dmenor * (n/4) * 3.14159; /*declara a variável cursoremX, ou o quanto o motor faz o carro se deslocar em X, levando-se em considerando o diâmetro da engrenagem menor ("engrenagem-motora")e o número de voltas*/ senq=(cursoremX)/sqrt((cursoremX*cursoremX)+(D*D));//cálculo do valor do seno(q) compdeonda = d * senq; //calcula o valor do comprimento de onda, por d e seno(q). Serial.println("Coleta de Dados Frente"); //imprime a mensagem de coleta de dados. myStepper.setSpeed(velocidadeIda); //define a velocidade do motor em RPMs myStepper.step(intervaloIda); //aciona o motor /*Na passagem anterior foi definida a coleta de dados, a partir de cm = 17,5. A cabeça de leitura segue a coleta dos dados de comprimento de onda e irradiância das diversas raias, até que o espectro termine, o que se dá por volta de 12.45cm. A partir daí, segue outra parte da função, a de volta a posição da fenda.*/ // else

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

47

if (cm <= 12.45)//se o US estiver antes ou em 12.45, a cabeça de leitura fará o seguinte: digitalWrite(AjustePosicao, HIGH); // o pino 5 vai para alto e o motor gira para a esquerda digitalWrite(LED,LOW); // o led não acende indicando que para aqui, não se medirá. AtivarAlinhamentoCabeca = true; //o Alinhamento da Cabeça passa a ser verdadeiro... AtivarColetaDados = false; //...e a Coleta de Dados, falsa. Serial.print(";"); Serial.print("F"); //imprime-se a letra F, indicando o fim da coleta de dados. myStepper.step(-stepsPerRevolution); // o motor de passo gira no sentido anti-horário, // voltando a cabeça de leitura. //////////Impressão do valores em saída serial/////////// Serial.print(irradiance); // Imprime em ASCII, os valores de irradiância Serial.print(";"); // Imprime em caracteres ASCII “;" Serial.print(compdeonda, 3); //Imprime em ASCII, os valores de comprimento de onda. delay (100); // Espera 100ms (0,1s) para a próxima retomada da programação. Serial.println(); // Imprime em ASCII uma nova linha

Quando a cabeça de leitura estiver na projeção da fenda luminosa, outra

função passa a ser verdadeira, a função ”ApertarBotao”(Quadro 1). Esta função

comandará o acionamento da tecla do teclado, permitindo que ao clicar uma tecla a

cabeça de impressão possa seguir em frente, coletando dados de comprimento de

onda vs irradiância, o que faz o sistema entrar na segunda parte da programação

(conforme Quadro 4): a função “AtivarColetaDados”, que comanda a função

“ColetaDados”, passa a ser verdadeira e a função “AtivarAlinhamentoCabeca”, que

comanda a função “AjustarPosicao”, passa a ser falsa.

Porém somente o sistema coletará os dados necessários com o usuário

apertando a tecla “E” (ou qualquer outra tecla, desde que se alterando o valor da

mesma na programação), o que evita que o sistema entre em loops (voltas) sucessivas:

• Quando se clica na letra E do teclado do computador, a programação no

Arduino permite controlar o movimento de ida, somente a partir da

posição onde está projetada a fenda, para a coleta dos comprimentos

de onda e irradiância do espectro da lâmpada de Hg.

• Nesta programação, o acionamento desta segunda parte da

programação só ocorre depois que a primeira parte da programação

está finalizada.

o Neste momento, é impressa a mensagem “Para aqui: encontrou

a fenda”. A partir daí, ao se clicar em “E”, a função

“AtivarColetaDados” é colocada como verdadeira, o que significa

dizer que o pino 4, passa para estado ALTO, permitindo que o

motor de passo gire no sentido desejado ao mesmo tempo que

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

48

são coletados os dados de comprimento de onda e irradiância

(via CF-TSL235R).

• Ao mesmo tempo em que são coletados os dados e impressos na saída

do monitor serial, o pino 3, que comanda um LED verde, passa do

estado BAIXO para o estado ALTO , fazendo com que o LED permaneça

acesso em todo o momento que a cabeça de leitura coletar dados,

como uma forma de indicar o momento da leitura dos dados de

comprimento de onda vs irradiância.

De outro modo, quando a cabeça de leitura chega até o final das raias do

espectro (próximo a 11 cm em relação ao final da estrutura do scanner, a referência

para o ultrassom), na programação, a função “AtivarAlinhamentoCabeça” passa a ser

verdadeira, enquanto que “AtivarColetaDados” se torna falsa, fazendo com que a

cabeça de leitura percorra a distância necessária até a posição da fenda luminosa, isso

porque neste momento a programação volta à primeira função (“AjustarPosição”

comandada justamente pela função “AtivarAlinhamentoCabeça”).

E ao voltar à posição da fenda, permite-se que outro usuário repita o ciclo e

colete novos dados. Ainda, é colocada outra linha de programação, dentro da

programação em Processing, para que novos dados não sejam coletados dentro de 10

minutos, como forma de resfriar todo o sistema.

Os dados coletados serão disponibilizados na saída serial em ambiente virtual,

de modo que o usuário possa não somente controlar o experimento, como também

visualizar o gráfico gerado. Tais gráficos estão em php, junto com as tabelas,

atualizadas pela programação do Processing, conforme novos dados sejam coletados

na serial, com o apertar de um botão (em php) na tela. Estes dados são lidos pelo

Processing, que os comunica via arquivo txt, com uma página php, e desta se repassa à

página html.

Além disso, o usuário poderá observar o experimento funcionando, com

visualização do experimento por WebCam. Nos próximos itens serão estudadas as

particularidades de cada sensor utilizado, além do funcionamento do experimento

remoto.

4.1.1.3.4.1.1.3.4.1.1.3.4.1.1.3. Sensores:Sensores:Sensores:Sensores:

4.1.1.3.1. Fotosensor CF-TSL235R

O circuito de aquisição de dados para o CF-TSL235R é de simples construção,

consistindo simplesmente em associá-lo ao pino 2 digital do Arduino, além dos

terminais positivos a entrada de +5V e o terminal GND ao respectivo do Arduino.

Abaixo segue exemplo do conversor em uso durante obtenção do espectro (Figura 21).

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

49

Figura 21 – Detalhe do CF-TSL235R, e no experimento.

A Figura 22 mostra a placa de fenolite com os circuitos necessários ao controle

de distância e captura dos sinais do CF-TSL235R, respectivamente.

Figura 22 - Circuito de determinação da distância, pelo ultrassom (Circuito A), e de varredura com CF-TSL235R

(Circuito B).

Figura 23 - Resposta de Frequência (em kHz) em relação a Irradiância (em µW/cm²). A não-linearidade se

estabelece somente em regiões que não são utilizadas durante o experimento vigente.

O sensor TSL235R foi usado para a conversão de frequência em intensidade

luminosa (irradiância) devido a resposta linear entre Frequência e Irradiância como

pôde ser observado na Figura 23. Na figura em questão, percebe-se que somente para

intensidades de luz muito baixas (<0,01µW/cm2), a resposta em frequência não é

adequada. Como nosso sistema opera para intensidade, pelo menos, maiores que

CIRCUITO A CIRCUITO B

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

50

1µW/cm2, o sensor CF-TSL235R apresenta resposta adequada, além de possuir

resolução adequada ao nosso objetivo. O sensor, ainda, pode ser alimentado na faixa

de 2,7 a 5,5V (o Arduino opera em 5V) e tem um consumo típico de 2mA, vem em um

encapsulamento simples de três conectores. Nenhum componente externo é

necessário para sua utilização e a saída digital permite uma interface direta com um

microcontrolador, como o Arduino.

A Figura 24 mostra o diagrama da conversão de luz em frequência, do

fotosensor CFTSL235R:

Figura 24 - Diagrama esquemático do CF-TSL235R, incluindo fotodiodo e sistema de conversor de corrente para frequência, com a saída em forma de onda quadrada.

Ainda, o conversor apresenta as seguintes vantagens (Texas Advanced

Optoeletronics Solutions, 2007) de operação:

• Alta resolução de conversão de intensidade luminosa para frequência, sem

necessidade de componentes externos

• Comunicação direta com microcontrolador

• Encapsulamento plástico compacto

• Alimentação a partir de 2,7V

• Erro não linear típico de 0,2% a 100kHz

O conversor de luz para frequência (TSL235R) combina um fotodiodo de

silicone e um conversor de corrente-em-frequência num circuito integrado monolítico,

do tipo CMOS (semicondutor metal-óxido complementar, usado em dispositivos que

necessitam menor dissipação de energia, pois consomem menor quantidade de

energia). A saída é uma onda quadrada (ciclo de trabalho de 50%, ou que a duração do

pulso dividida pelo período é de 50%, o que significa que o sistema oscila metade do

tempo ativo e metade desativo, justamente devido a característica binária da

conversão de corrente em frequência) com frequência diretamente proporcional à

intensidade da luz (irradiância) sobre o fotodiodo, apresentando não-linearidade

somente para intensidades menores que 0,01microW/cm2. A saída digital permite

interface direta a um microcontrolador ou outro circuito lógico. O dispositivo

apresenta temperatura compensada para alcance de radiação visível a ultravioleta

(entre 320 nm a 700 nm), respondendo entre 320 nm a 1050 nm (Figura 25)

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

51

Figura 25 - Resposta Espectral do Fotodiodo do CF-TSL235R TSL235R.

O TSL235R é caracterizado por funcionar em toda a gama de temperaturas de -

25 ºC a 70 ºC e é fornecido numa embalagem de plástico claro com 3 terminais de

chumbo e com uma lente integral colocada na seção principal, de frente ao fotodiodo.

4.1.1.3.2. Ultrassom e sensor de temperatura: Verificando as distâncias

para ajuste de posição

(a) (b)

Figura 26 – (a) Imagem do sensor de frente e de trás; (b) Vista do circuito formado pelo ultrassom (ITeadStudio, 2012)e sensor de temperatura (Dallas Semiconductor - MAXIM, 2012)

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

52

Nos detalhes da Figura 26, círculos vermelhos representam o ultrassom, modelo

HCSR04, (ITeadStudio, 2012), e as respectivas ligações nos pinos do Arduino (laranja,

cabo do eco, é pino 12, e amarelo, cabo do trigger é pino 13 no Arduino); círculos em

preto representam o sensor de temperatura (sensor de temperatura DS18B20, (Dallas

Semiconductor - MAXIM, 2012) para melhor controle das distâncias do ultrassom, já

que estas dependem da temperatura do ambiente (a distância é calculada em função

da velocidade do som, que depende da temperatura), e a respectiva ligação deste

sensor ao pino 6 digital do Arduino. A seguir, o funcionamento do ultrassom é melhor

descrito (Figura 27).

Figura 27 - funcionamento de ida e recepção do sinal ultrassônico, usado para determinação de distâncias através da diferença de tempo entre cada sinal.

Um pulso ultrassônico é transmitido em dado momento e refletido por um

objeto. O sensor recebe o sinal e o converte para um sinal elétrico. O próximo impulso

pode ser transmitido quando o eco termina. Este período de tempo é denominado

tempo de ciclo. O tempo de ciclo recomendável não deve ser menor que 50ms. Se um

impulso de disparo com 10μs de largura é enviado para o pino de sinal, o módulo de

ultrassom emitirá oito sinais ultrassônicos de 40 kHz e detecta o eco de volta. A

distância medida é proporcional à largura de impulso de eco e pode ser calculado pela

fórmula da Figura 27. Se nenhum obstáculo é detectado, a saída emitirá um sinal em

estado alto de 38ms.

Na Figura 27, pode-se notar que a distância, além de ser calculada em função

da metade do tempo (somente o tempo de envio do sinal), considera também a

velocidade do som, função com a temperatura ambiente (observando que o som é

constituído por ondas de pressão e rarefação de moléculas do ar). Devido a esta

dependência, associamos a função de programação do ultrassom o valor de

temperatura obtida pelo sensor DS18B20 (Dallas Semiconductor - MAXIM, 2012), para

ajuste mais preciso da distância determinada pelo ultrassom.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

53

4.1.1.3.3. Sensor de Temperatura

Algumas Características Operacionais do sensor digital de temperatura:

• Não requer componentes externos;

• Tensão suportável de 3.0V a 5.5V;

• Medidas de temperaturas de -55 ° C a 125 ° C (-67 ° F a 257 ° F);

• 0,5 ° C de precisão, variando de -10 ° C a 85 ° C;

• A resolução do Termômetro é selecionável pelo usuário de 9 a 12 bits;

• Converte a temperatura em uma palavra digital de 12-bit, em 750ms (max.);

• Disponível em 8 pinos SO (150mil), 8 pinos μSOP, e 3 pinos-TO-92 pacotes.

(a) (b) Figura 28 – (a) Descrição dos pinos: GND – terra, DQ - Data In/Out, VDD – Pino de Alimentação. (b) montagem no

módulo empregado no experimento

O Termômetro Digital DS18B20 (Figura 28, (Dallas Semiconductor - MAXIM,

2012)) fornece medições de temperatura, convertendo a unidade de graus Celsius em

unidades de 9 a 12 bits. O DS18B20 comunica através de um barramento de fio único

(1-Wire Bus®) que, por definição, requer apenas uma linha de dados (e terra), para

comunicação com um microprocessador/microcontrolador. Possui uma gama de

temperatura de funcionamento de -55 ° C a +125 ° C e precisão de 0.5 °C na faixa de -

10 ° C a +85 °C.

Cada DS18B20 tem um código de 64 bits de série único, que permite que vários

DS18B20s funcionem no mesmo barramento; assim, pode-se usar somente um

microprocessador para controlar muitas DS18B20s. Aplicações que podem se

beneficiar deste recurso incluem controles de climatização ambiental, sistemas de

monitoramento de temperatura, o que a torna útil junto ao sensor de ultrassom, na

monitoração da temperatura local.

4.1.1.3.4. Módulo Relé de Acionamento da Lâmpada

Utilizamos um módulo relé de 2 canais de 12v, comumente empregado no

acionamento de outros dispositivos, normalmente com tensões e sinais diferentes, ou

quando existe a necessidade de isolar eletronicamente 2 circuitos. No caso do

experimento, este relé é associado junto a lâmpada para acionamento da mesma

apenas quando do começo da leitura e coleta de dados.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

54

(a) (b)

Figura 29 - Imagem do (a) módulo relé() e do mesmo (b) no experimento

A tensão de operação do relé é de 12V (DC), a 5mA, acionando um contato que

suporta até 10A para tesões contínuas de até 30V (DC), ou ainda 10A para

tensões alternadas de até 250V (CA).

As características principais deste relé são descritas a seguir:

• Tensão de operação: 12VDC (VCC e GND) • Tensão de sinal: 12VCD (IN1 e IN2) • Corrente típica de operação: 5mA

• Cada relé possui 3 terminais proporcionando 1 contato NA, 1 NF e o Comum

• Contato do relé permite tensão de até 30 VDC a 10A ou 250VAC a 10A

• Indicador LED de funcionamento

• Diodo SMD M7 de proteção de ligação invertida

• 4 Buracos de 3mm para fixação na extremidades da placa

• Dimensões: 46mm x 41mm x 20mm

No experimento, o esquema de ligação da Lâmpada ao Relé, e deste ao Arduino

(no Pino D7), é dada na Figura 30:

Figura 30 - Configuração do esquema utilizado para ligar a lâmpada, durante o comando de Coleta de Dados, e para desligamento da mesma, após encontrada a posição da fenda, via programação no Arduino.

Neste experimento, o cabo da rede se conecta ao terminal da lâmpada,

enquanto outro cabo vai direto ao módulo relé, em um dos terminais à esquerda.

Enquanto isso, do outro terminal do canal da esquerda, sai o cabo que se conecta

direto ao terminal restante da lâmpada. Nesta configuração, o relé, funciona como

uma chave.

Quando comandado via programação (acionando o relé no pino D7 – digital 7),

o relé é armado, ligando a lâmpada, no momento em que se inicia a coleta de dados

pela programação do Arduino. Este comando ocorre até o momento em que a coleta

de dados termina e a cabeça de leitura do scanner volta a posição da fenda (quando

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

55

termina a função “ColetaDados”, até se encontrar a fenda, na função

“ProcurarFenda”), a partir da qual o relé é desarmado, desligando a lâmpada.

Esta série de comando é necessária para evitar gastos desnecessários de

energia. Ao mesmo tempo, é colocada, na programação do Processing a série de

comandos para se evitar que ocorra qualquer tomada de dados antes de 10 minutos

decorridos da última coleta de dados, justamente para resfriar a lâmpada e todo o

sistema em volta, por questão de segurança.

4.1.1.4.4.1.1.4.4.1.1.4.4.1.1.4. Ajuste Ótico: Montagem do Trilho de MadeiraAjuste Ótico: Montagem do Trilho de MadeiraAjuste Ótico: Montagem do Trilho de MadeiraAjuste Ótico: Montagem do Trilho de Madeira

Para possibilitar melhor ajuste ótico do sistema acrescentamos um trilho2 para

alocação das peças componentes do espectrofotômetro (lente convergente, rede de

difração, e fonte de luz). Neste trilho introduzimos sulcos de cerca de 1 cm de largura,

por 0,5mm de profundidade, de forma a deslocar o CD (sustentado por um suporte de

madeira) e fixar sua distância ao anteparo, onde se localiza o CF-TSL235R. Para

determinar esta distância, introduzimos uma fita métrica nos suportes laterais. A

Figura 31 mostra um perfil desta montagem:

(a) (b)

Figura 31 – (a) Vista frontal do espectrofotômetro. (b) Detalhes dos sulcos (1cm largura vs 0,5mm de profundidade), para deslocar o CD, caso necessário, para diferentes distâncias da rede de difração.

2 um perfil de madeira, com encaixes aos lados, para melhor fixação dos componentes

Trilho de

madeira

Trilho de

madeira

Sensor CF TSL235R

CD

Sulcos

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

56

4.1.1.5.4.1.1.5.4.1.1.5.4.1.1.5. Procedimentos de CalibraçãoProcedimentos de CalibraçãoProcedimentos de CalibraçãoProcedimentos de Calibração para o Experimento Offpara o Experimento Offpara o Experimento Offpara o Experimento Off----LineLineLineLine

4.1.1.5.1. Calibração do número de giros do motor de passo em Função

da distância percorrida pelo carro

Antes da determinação dos comprimentos de onda, devem ser realizados

procedimentos de calibração. O primeiro é a calibração do número de giros do motor,

a partir da qual os comprimentos de onda poderão ser determinados: aqui, se realiza a

contagem das voltas da engrenagem maior (E2) em r elação à engrenagem menor (E1)

conforme Figura 32.

Figura 32 - Imagem mostrando o motor de passo e suas engrenagens (engrenagem 1, que aciona o carro, e

engrenagem 2, comandada pela engrenagem 1).

Esta calibração é colocada para se determinar a distância percorrida pelo carro,

no eixo X, e para tanto é necessária a calibração do número de voltas de E1. Segue

programação com tais relações:

Foi definida a contagem das voltas de E2 em função dos passos do motor,

relacionando-se o número de contagens por revolução, no intervalo de ida do carro. É

necessário considerar o ângulo do passo3 (7,5°/passo); se um passo corresponde a

7,5°, uma volta completa, então, corresponde a 360°/7,5° = 48 passos/volta. Logo, o

3 Motor utilizado (Mitsumi Co., 2011) que possui 7,5°/passo

cont = stepCount; // declara a variável "cont" igual ao valor contido em "stepCount" n = cont*intervaloIda/48.000; /*declara a variável "n" igual a "cont x intervalodeIda / 48 , com 3 casas decimais", ou seja, n é o produto do numero de volta do motor, durante o intervalo de ida, em razão das voltas do motor*/ Dmenor = 13.5; cursoremX = Dmenor * (n/4) * 3.14159; /*declara a variável cursoremX, ou o quanto o motor faz o carro se deslocar em X, levando-se em considerando o diâmetro da engrenagem menor ("engrenagem-motora")e o número de voltas*/

Engrenagem 1

(E1)

Engrenagem 2

(E2)

Correia Suporte p/

Deslocamento do carro

Cabos do

motor

de passo

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

57

total de voltas dadas pelo motor (n), durante a ida (“intervaloIda”), serão contadas

(cont.), em função das contagens de passos. A partir do número de voltas no período

de ida, a distância percorrida (cursoremX) será calculada em função do diâmetro do

eixo de E2 (Dmenor, em mm, aciona o carro, através da correia), bem como do número

de voltas de E1, a qual movimenta E2.

Para o cálculo da distância X Erro! Fonte de referência não encontrada.0), será

necessário considerar a relação entre quantas voltas E1 realiza para que E2 dê uma

volta; portanto, depende das contagens totais (n) de ida, divididas pela relação entre o

número de voltas entre E1 e E2:

Erro! Fonte de referência não encontrada.7).

Onde:

2

1

de E de voltas contagensn

de Ede voltas contagens n

=

=

o)lo de passpleta/ângu volta com (ângulo de

motor) de ida do x período(contagensn =

1 (Equação 18)

Chegamos a 10 voltas de E1 para 1(uma) volta de E2. Logo, teremos n/10 voltas

de E1, para que se movimente o carro. Esta distância calculada será necessária para a

segunda etapa de calibração, pois está relacionada à medição da distância entre os

sulcos do CD.

4.1.1.5.2. Medição da distância entre os sulcos do CD

A distância média entre os sulcos (pits) de um CD é da ordem de 1,6µm

(Cabello, Martinez, & Junquera, 2008). No entanto, este é um valor estimado e varia de

CD para CD; se pretendemos efetuar medidas com precisão é necessário obter o valor

desta distância, a partir de um feixe de radiação, com comprimento de onda

previamente conhecido.

Para isso utilizamos uma ponteira laser vermelha, com valor de comprimento

de onda médio, da ordem de 655nm. A montagem utilizada para este medida está

indicada no Figura 33:

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

58

Figura 33 - Montagem para a medição dos sulcos da rede de difração (CD). Sobre um trilho de madeira (A), o laser emitido pela ponteira (B) é difratado no CD (C), formando-se os pontos centrais de primeira ordem no anteparo (D)

onde está posicionado o CF-TSL235R (E).

Assim conhecendo-se o comprimento de onda e a distância D do CD à tela

(onde se localiza o CF-TSL235R), pode-se determinar o valor da distância entre os

sulcos do CD pela relação:

x

xDnmd

²²655

+= (19),

onde x é a distância percorrida pelo CF-TSL235R entre duas regiões de interferência -

entre o ponto central e o de primeira ordem (localizada na região denominada

cursoremX, calibrada anteriormente), e d é a distância entre os sulcos do CD.

4.1.1.6.4.1.1.6.4.1.1.6.4.1.1.6. Procedimentos Procedimentos Procedimentos Procedimentos de medição do comprimento de onda: Espectro projetado de medição do comprimento de onda: Espectro projetado de medição do comprimento de onda: Espectro projetado de medição do comprimento de onda: Espectro projetado

por difração em CDpor difração em CDpor difração em CDpor difração em CD

Com os dados do parâmetro da rede d, podemos calcular o comprimento de

onda, a partir da difração do feixe da luz para um dado valor de distância D fixada

entre o CD e a tela, substituindo-se nas linhas de programação os valores destas

grandezas.

Encontrada a posição da fenda projetada (n = 0), o processo de coleta das

medidas se inicia quando a tecla “E” é pressionada. Assim os valores dos desvios X da

relação (22) são obtidos diretamente, e um simples cálculo conduz ao valor do

comprimento de onda, à medida que a cabeça de leitura se desloca, até uma distância

limite (± 11cm), lida pelo sensor de ultrassom. A partir deste ponto, a programação faz

a cabeça de leitura voltar à posição da fenda projetada. Finalmente, pela saída do

monitor serial, podemos registrar:

• Os dados coletados de comprimento de onda, determinados a partir das

distâncias determinadas pelos giros do motor e pela distância entre o

sensor TSL235R e o CD;

(A)

(B)

(C)

(D) (E)

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

59

• Os dados de irradiância, lidos a partir da conversão da frequência em

intensidade luminosa (via cálculo implementado na programação),

registrada no sensor TSL235R;

Com estes dados é possível tanto usar a tabela dos dados quanto montar o

gráfico ou tabela do espectro eletromagnético de Irradiância (W/m2) vs Comprimento

de Onda (nm), seja em um editor de texto, seja em um programa que rode paralelo à

programação do Arduino, como é o caso do Processing, no qual podemos coletar a

tabela mencionada, ao mesmo tempo em que a cabeça de leitura coleta a série de

dados.

Com a programação do Processing necessária para coletar os dados da saída

serial, pode-se gerar um arquivo texto, o qual por sua vez, alimenta uma página em

php, a qual é inserida (como uma iframe - um código html que faz com que uma página

seja aberta dentro de outra), dentro da página principal, em html. Com isso,

poderemos associar em ambiente remoto, a tabela coletada bem como a visualização

do experimento, via Web Cam.

Para o gráfico de irradiância por comprimento de onda, o processo é

semelhante, entretanto, pelo fato de o arquivo texto ser usado para gerar valores em

eixos de um programa chamado pChart (http://pchart.sourceforge.net/), que cria

gráficos em php. A partir do gráfico criado, também cria-se um iframe dentro da

página principal, de modo a se observar o gráfico sendo coletado, desde que junto a

ele (e também a tabela), rode-se um aplicativo extensível, em Java, para que se

atualizem os dados do arquivo texto (são gerados arquivos, que podem ser salvos pelo

usuário, a cada coleta de dados.

No próximo capítulo, seguem os resultados obtidos, durante a etapa do

experimento off-line, da Irradiância (W/m2) vs Comprimento de Onda (nm), com o uso

do CF-TSL235R.

4.1.2.4.1.2.4.1.2.4.1.2. Experimento RemotoExperimento RemotoExperimento RemotoExperimento Remoto

O experimento remoto consistirá na transmissão dos dados da saída serial em

ambiente remoto (internet), visualização dos gráficos (Irradiância por comprimento de

onda), e consequente visualização do experimento real, através da webcam. Todas

estas etapas estão disponíveis em uma página html, disponível na internet, na qual

também será possível acessar conteúdos teóricos para melhor entendimento do

funcionamento e conceitos do experimento.

A seguir mostraremos as etapas de programação envolvidas para a visualização

do experimento via webcam, visualizações gráficas e a geração de arquivos txt para

download pelo usuário.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

60

4.1.2.1.4.1.2.1.4.1.2.1.4.1.2.1. CCCColeta dos Dados de Intensidade Luminosa e Comprimento de Onda: da oleta dos Dados de Intensidade Luminosa e Comprimento de Onda: da oleta dos Dados de Intensidade Luminosa e Comprimento de Onda: da oleta dos Dados de Intensidade Luminosa e Comprimento de Onda: da

saída serial para a Internetsaída serial para a Internetsaída serial para a Internetsaída serial para a Internet

A coleta de dados deve fornecer, ao usuário, uma tabela de intensidade

luminosa (irradiância) e de comprimento de onda. Para a coleta de dados utilizamos o

Processing, software de programação gráfica, que se ajusta perfeitamente ao Arduino.

Para a obtenção desta tabela, há a necessidade da construção de um “botão”

em Servlet JAVA, dentro da programação do Processing, e posteriormente a

construção do mesmo em php, para associar a tag gerada na página html, para que o

usuário remoto ao apertar o botão, no posicionamento da fenda, possa começar a

coleta dos dados requisitados, e possam ser atualizados na página html, podendo ser

armazenados pelo cliente e posterior analise.

4.1.2.2.4.1.2.2.4.1.2.2.4.1.2.2. Gráficos em php.Gráficos em php.Gráficos em php.Gráficos em php.

Para gerar os gráficos de irradiância por comprimento de onda optamos por

gerar o gráfico em php através dopChart (dispositivo em php que gera gráficos a partir

de arquivos textos formatados em colunas.

Como é nosso objetivo que o usuário tenha um arquivo txt dos dados obtidos

via porta serial, processo que ocorre através do Processing, preferimos utilizar o

gráfico gerado pelo pChart (em php, do qual, associamos o arquivo na pasta da página,

dentro do servidor xampp).

Em outras palavras, o Processing recebe os dados da serial, o mesmo gera um

arquivo .txt, que pode ser salvo (dentro da mesma pasta do gráfico) já formatado em

colunas, de modo podemos gerar tanto a tabela de dados quanto o gráfico

correspondente.

Assim a programação permite ao usuário tanto visualizar o gráfico como salvar

os dados em um arquivo txt para posterior analise e configuração de relatórios.

Segue a programação do código fonte do gráfico em php (arquivo

GerarGraficoResultados.php), para associação à pasta do experimento (“ERA”-

Espectrofotômetro Remoto Automatizado), dentro do servidor de Web, Xampp, e

também o trecho do código em html onde tal php é inserido.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

61

Programação do gráfico em php:

/*A programação a seguir deve, antes de tudo, ter o conteúdo da pasta “phpCrat_Lite” baixada para dentro da pasta do servidor, onde também está a pasta da página html onde o gráfico gerado neste php deverá ser inserido. É nesta pasta phpChart_Lite em que se está as licenças e arquivos necessários para que o php criado rode normalmente.*/ #Busca o arquivo phpChart_Lite/conf.php# <?php require_once("../phpChart_Lite/conf.php"); ?> /*Começa a criar uma html, e já orienta a estrutura do gráfico, com tamanhoe e estilo de letra dos eixos à esquerda (Y) e do eixo abaixo (X).*/ <!DOCTYPE HTML> <html> <head> <style type="text/css"> div.plot margin-bottom: 70px; margin-left: 20px; </style> </head> <body> <div><span> </span><span id="info1b"></span></div> <?php $ld = array(); // Abre o arquivo de dados de resultados $file = fopen("resultados.txt", 'r'); // Executa uma leitura de uma linha do arquivo. $linhaDados = fgets($file); // Repete o trecho de código enquanto não for fim de arquivo. while(!feof($file)) // Faz a separação dos dados, usando o sinal “;”para lançar os dados nos eixos X e Y ; $dados = explode(";", $linhaDados); array_push($ld, array((float)$dados[0],(float)$dados[1])); // Obtem a próxima linha do arquivo $linhaDados = fgets($file); // fecha o arquivo de resultados fclose($file); // Ajustes do Desenho do grafico $pc = new C_PhpChartX(array($ld),'chart1'); $pc->add_plugins(array('canvasTextRenderer','highlighter','cursor','pointLabels')); //$pc->set_stack_series(true); $pc->set_title(array('text'=>'Gráfico')); $pc->set_cursor(array('show'=>true)); $pc->set_highlighter(array('show'=>true));

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

62

//$pc->set_series_default(array('pointLabels'=>array('show'=>true))); $pc->set_axes_default(array( 'labelRenderer'=>'plugin::CanvasAxisLabelRenderer', 'labelOptions'=>array('fontSize'=>'13pt'))); //Ajuste de escala e do rótulo dos gráfico, em X e Y; $pc->set_axes(array( 'yaxis'=>array('autoscale'=>true), 'xaxis'=>array('autoscale'=>true), 'xaxis' => array('label'=>'Comprimento de onda,nm'), 'yaxis' => array('label'=>'Irradiancia,uW/cm^2') )); $pc->draw(); ?> </body> </html>

Código Fonte html (gráficos irradiância, em uW/cm^2 por comprimento de onda, em nm):

<h3>Gráfico</h3> <!--dá título ao Gráfico--> <center> <!--centraliza o mesmo.--> <iframe src="GerarGraficoResultados.php" width="100%" height=500> <!-- com a tag iframe, a página html se comunica com o arquivo GerarGraficoResultados.php, do qual se pode selecionar as respectivas largura e altura.--> </iframe> <!--fecha a tag, e acaba o gráfico.-->

4.1.2.3.4.1.2.3.4.1.2.3.4.1.2.3. Visualização do experimento pela WebCamVisualização do experimento pela WebCamVisualização do experimento pela WebCamVisualização do experimento pela WebCam

Após geração dos gráficos na página html, associamos também a visualização

pela WebCam. Para tanto utilizamos a câmera da D-Link, cuho driver é devidamente

instalado no servidor. Criamos uma conta no computador como administrador, e com

a visualização na internet, retiramos do código fonte da página as linhas referentes a

visualização propriamente dita, ou seja, o aplicativo que gera a sequência de imagens

ou o vídeo, relacionados ao IP fixo, com informações referentes a D-Link.

Nestas linhas, o “applet” gerador do vídeo se comunica com o IP da câmera4, a

partir do qual, determina vários parâmetros para a visualização do vídeo, sendo

necessário o pacote Java, por ser um tipo de API (vide item 3.2.4.3). Ainda, para maior

conveniência, é necessário que o arquivo “aplug.jar” seja baixado para a mesma pasta

de onde se estão as páginas em html.

4 Nota-se com isso a necessidade de uma câmera de IP fixo, também para posterior uso em rede que

não seja somente a interna.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

63

Esta mesma câmera está posicionada ao lado da lâmpada fluorescente de

modo a captar a movimentação da cabeça de leitura, mostrando ao cliente o

funcionamento do experimento, conforme Figura 34.

(a) (b)

Figura 34 - Angulo de visão da câmera para visualização do experimento, em (a); em (b) imagem do experimento

captada pela câmera

Ainda, como a câmera é conectada independentemente do servidor web (servidor

das páginas de internet), a transmissão de imagem não depende do processamento

pelo servidor web. A renderização/processamento da página e a imagem da câmera se

dão na máquina cliente (web browser).

Com o código da visualização através da WebCam, geração dos gráficos e arquivos

TXT em tabela sendo atualizada em ambiente virtual (via php), pode-se montar a

página html geral, com todas as funções apresentadas, e readequadas aos dados do

experimento real (dados de irradiância e de comprimento de onda).

4.1.2.4.4.1.2.4.4.1.2.4.4.1.2.4. Página htmPágina htmPágina htmPágina html: montagem, visual e controlel: montagem, visual e controlel: montagem, visual e controlel: montagem, visual e controle

Com todos os códigos finalizados a página final foi construída seguindo o

template disponível no site http://www.dotemplate.com/, a partir do qual seleciona-

se o template desejado, insere-se imagens e altera-se o design do mesmo. Concluídas

as mudanças, no próprio site, é possível se baixar o código fonte referido template, e

alterá-lo conforme as necessidades. No nosso caso, além do index, ainda

acrescentamos outras páginas (sempre seguindo o modelo da primeira página) para

que representassem os links da aba inicial, a citar: “Experimento”, “Resultados”,

“Tabela”, “Teoria”, “Simuladores”, “Códigos-Fontes”, “Faça Você Mesmo” e

Referências. É necessário que se salve todas as páginas dentro da mesma pasta com os

arquivos de visualização da Câmera, e dos arquivos em php,

GerarGraficoResultados.php e leituraResultados.php, que comandam a geração do

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

64

gráfico e da tabela dos dados de irradiância e comprimento de onda ( que irão para a

página dos resultados, na html).

4.1.2.4.1.4.1.2.4.1.4.1.2.4.1.4.1.2.4.1. Pagina “Experimento” Pagina “Experimento” Pagina “Experimento” Pagina “Experimento”

No caso da página de “Experimento”, mostramos a visualização da câmera

remota do espectrofotômetro e um breve texto explicando o que esta acontecendo, e

dando boas-vindas. Segue exemplo da página na Figura 35.

Figura 35 - Página html criada com base em template de dotemplate.com: página do experimento (index).

4.1.2.4.2.4.1.2.4.2.4.1.2.4.2.4.1.2.4.2. Página “Resultados” Página “Resultados” Página “Resultados” Página “Resultados”

Na página de resultados, enquanto o mesmo vídeo roda, é possível se ler um

resumo dos objetivos do projeto e justificativas, acompanhadas dos gráficos em tempo

real, obtidos via streaming dos comportamentos de irradiância por tempo e de

comprimento de onda por tempo. Para tanto, insere-se os códigos fontes respectivos

nas linhas destinadas pelo próprio template (tanto vídeo quanto gráficos). Segue

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

65

visualização da página na

Figura 36.

Figura 36 - Página html criada com base em template de dotemplate.com: página dos resultados.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

66

4.1.2.4.3.4.1.2.4.3.4.1.2.4.3.4.1.2.4.3. Página TabelasPágina TabelasPágina TabelasPágina Tabelas

Na página de tabelas é possível se observar a tabelas dos dados atualizados,

conforme a cabeça de leitura se movimenta para frente a partir da posição da fenda,

resultados que são enviados pela saída serial ao Processing que coletando-os, cria um

arquivo texto, e o envia ao php. Este arquivo pode ser baixado, via link correspondente

na html; e da mesma forma, o acionamento é realizado pelo botão criado em php,

usando um servlet em Java, o qual também é utilizado para atualização da tabela de

dados. Segue visualização da página na Figura 37, e dos dados coletados bem como da

php que aciona a coleta de dados (Figura 38)

Figura 37 - Página html criada com base em template de dotemplate.com: página das tabelas.

(a) (b)

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

67

Figura 38 – Páginas mostradas (a) ao se apertar o botão, mostrando, em php, que a coleta de dados se inciou, e ao fim da coleta, (b) o arquivo dos dados gerados, que podem ser baixados

4.1.2.4.4.4.1.2.4.4.4.1.2.4.4.4.1.2.4.4. Páginas “Teoria” e “Referências”Páginas “Teoria” e “Referências”Páginas “Teoria” e “Referências”Páginas “Teoria” e “Referências”

Na página de teoria e referências são apresentados os conceitos e como

funciona o experimento, bem como as referencias teóricas utilizadas. Segue

visualizações na Figura 39 (a) e (b):

(a) (b)

Figura 39 - Página html criada com base em template de dotemplate.com: página da teoria (a) e das referências (b).

4.1.2.4.5.4.1.2.4.5.4.1.2.4.5.4.1.2.4.5. Pagina “Simuladores”Pagina “Simuladores”Pagina “Simuladores”Pagina “Simuladores”

Figura 40 - Página html criada com base em template de dotemplate.com: página dos simuladores, empregados como uma ferramenta para entender os conceitos experimentais, com abordagem diferente.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

68

Nesta página (Figura 40) alguns simuladores correlacionados com o tema são

disponibilizados para o usuário, bem como links para roteiros de atividades que podem

ser desenvolvidas através destes simuladores. Consideramos esta página muito útil

para a compreensão do experimento e suas aplicações.

4.1.2.4.6.4.1.2.4.6.4.1.2.4.6.4.1.2.4.6. Página Página Página Página de Downloads: de Downloads: de Downloads: de Downloads: Códigos FontesCódigos FontesCódigos FontesCódigos Fontes, Monografia, Monografia, Monografia, Monografia

Figura 41 - Página html criada com base em template de dotemplate.com: página dos downloads de códigos fontes do experimento on-line e do off-line.

Nesta página (Figura 41) o usuário vai encontrar todos os códigos fontes

utilizados tanto para a execução do experimento Off-line e On-line podendo (além da

monografia, também disponível para download), caso seja do interesse reproduzi-lo.

Códigos Fontes apresentados:

Programação no Arduino;

Programação no Processing;

PHP da tabela (gerada através do arquivo texto), com o devido iframe,

para a html;

PHP do gráfico gerado pela tabela de resultados, com o devido iframe,

para a html;

HTML das páginas citadas anteriormente;

Applet da WebCam, a ser inserido nas htmls desejadas.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

69

4.1.2.4.7.4.1.2.4.7.4.1.2.4.7.4.1.2.4.7. Página Faça você mesmoPágina Faça você mesmoPágina Faça você mesmoPágina Faça você mesmo

Nesta página (Figura 42) apresentamos alguns links para vídeos e

demonstrações disponíveis sobre este e outros experimentos de baixo custo

correlacionados ao tema dos laboratórios remotos.

Figura 42 - Página html criada com base em template de dotemplate.com: “faça você mesmo” criada com intuito de incentivar que o experimento e outras propostas seja reproduzidas pelo usuário, como uma forma do próprio tirar suas conclusões e aprendizagem.

Com toda a infra-estrutura de arquitetura de rede e de acionamento remoto

montada podemos descrever sobre como se dará o acionamento remoto e coleta de

dados do experimento.

4.1.3.4.1.3.4.1.3.4.1.3. Configurações FinaisConfigurações FinaisConfigurações FinaisConfigurações Finais

Implementada a função de status (o arquivo txt com mensagem de comando

executado) no php associado ao botão, o arquivo gerado automatiza o experimento,

sendo executado através do programa montado no Processing, que coleta os dados da

serial, rodando o experimento. Todo o procedimento, mais a extensão vinda do

Processing, é rodada na máquina do servidor, recebendo sempre as informações da

saída serial, onde também se conecta a programação do Arduino.

Resumindo

1. Ao se apertar botão com função de status, implementado em php, o arquivo

gerado pela programação do Processing, automatiza o experimento,

recebendo dele os dados de coleta de sinais e de status do programa, pela

saída serial, junto à programação do Arduino, que está rodando na serial.

2. Assim, atualizam-se os arquivos de resultados automaticamente, com o gráfico

e a tabela de dados também sendo atualizados, pois os arquivos que lhes

geram também são atualizados. E este mesmo arquivo pode ser baixado pelo

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

70

usuário através de um link, de modo que ele possa montar o gráfico em sua

máquina.

Foi implementada, além disso, mais uma função para reconhecer as funções

“iniciar experimento” (letra “L”, dentro do Processing), bem como a função de parar o

experimento (letra “F”, dentro do Processing):

• Ao final da coleta de dados o experimento cessa e a cabeça de leitura volta

a posição original.

• Na programação rodada no Processing, dentro do php é implementada

mais uma função que ajusta o tempo para a próxima tomada de dados, ao

se eliminar o arquivo anterior de status, e se gerando um novo arquivo, a

cada tomada de dados realizada, cada uma após o tempo delimitado na

programação (cerca de 10min).

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

71

5.5.5.5. RESULTADOSRESULTADOSRESULTADOSRESULTADOS

5.1.5.1.5.1.5.1. Resultados Resultados Resultados Resultados com com com com CFCFCFCF----TSL235RTSL235RTSL235RTSL235R

Na Figura 43, temos os resultados da medição do parâmetro d da rede de

difração e dos comprimentos de onda em função da irradiância

Figura 43 - Gráfico da Irradiância (W/m

2) em função da distância X. O parâmetro d será obtido considerando-se a

distância X, dada pela diferença entre o ponto de maior intensidade (X1) e o ponto de menor intensidade (X2).

Pelo gráfico acima,

x = X2 - X1 = 82,17mm – 41,53mm = 40,64mm

No momento da aferição dos dados, a distância entre a rede de difração e o

anteparo onde está posicionado o CF-TSL235R (que é a distância D) era D = 88 mm

Portanto, para o cálculo do parâmetro d, temos:

( ) ( )nm

mmmm

mmnmd 1562

64,4088

64,40655

22≈

+÷=

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

72

Na Figura 44, segue o gráfico de Irradiância (W/m2) vs comprimento de onda

(nm), obtido via saída do monitor serial do Arduino® para uma lâmpada fluorescente

de Hg comercial de 15 Watts.

Figura 44 - Gráfico da Irradiância (W/m2) em função de λ, o comprimento de onda das raias do espectro difratado

(em nm). No detalhe, indicação do sentido da fenda.

E a seguir (Figura 45), os mesmos resultados, visualizados na tabela e no gráfico,

gerados na página html, através do acesso remoto (via botão disponível na página )

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

73

Figura 45 – Imagens (a) da tabela dos resultados de Irradiância (W/m2) em função de λ (em nm) e (b) do Gráfico

da Irradiância (W/m2) em função de λ (em nm), ambos gerados na página do acesso remoto, ao se apertar o

botão, o experimento é acionado e coletam-se os dados.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

74

E a seguir, é mostrado (Figura 46) que ao se clicar no gráfico selecionando uma região

de interesse, o mesmo oferece um “zoom” da região desejada. Esta característica permite

análise qualitativas dos picos do espectro, além de análise quantitativa dos picos de forma

mais precisa.

Figura 46- Mesmo gráfico anterior (Experimento On-Line, da Irradiância, W/m², vs Comprimento de Onda, nm), mostrando a escolha da região de interesse, ao se clicar com o mouse na mesma, o gráfico remete ao zoom

desejado.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

75

6.6.6.6. ANÁLISES E DISCUSSÕESANÁLISES E DISCUSSÕESANÁLISES E DISCUSSÕESANÁLISES E DISCUSSÕES

6.1.6.1.6.1.6.1. AAAAnálise nálise nálise nálise com com com com CFCFCFCF----TSL235RTSL235RTSL235RTSL235R A Tabela 2: Linhas mais intensas para o Hg. indica alguns valores de comprimento

de onda para algumas linhas do Hg (NIST, 2011) e o espectro correspondente ao Hg

(Figura 47).

Tabela 2: Linhas mais intensas para o Hg.

Cor Comprimento de Onda (nm) Representação no Espectro (Figura 47)

Azul-Violeta 433,92 1 Azul-Violeta 435,83 2 Azul 491,61 3 Azul 496,01 4 Azul 512,06 5 Verde 546,08 6 Laranja 576,96 7 Laranja 578,97 8 Vermelho-Laranja 614,95 9 Vermelha 623,44 10

Figura 47 - Espectro do Hg disponível em http://profmokeur.ca/quimicap/ (Noels, 1997).

A Figura 48 mostra os resultados obtidos para uma lâmpada fluorescente e a

tabela 3 os valores associados aos comprimentos de onda obtidos.

1

2

3

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

76

Figura 48 - Representação dos comprimentos de onda do espectro obtido experimentalmente.

Na Tabela 3, são indicados os valores de comprimento de onda obtidos para

cada pico observado na figura anterior.

Tabela 3: Valores de comprimento de onda obtidos experimentalmente (cf. indicação da Figura 48) em comparação com os valores de referência, e desvio percentual.

Pico Comprimento de onda (nm)

Linha provável na Tabela 2 (NIST)

Comprimento de onda (referência) (nm)

Desvio % (em relação ao provável esperado).

1 420,53 Linha1 433,92 3% 2 556,75 Linha 6 546,08 2% 3 620,13 Linha 9 623,44 1%

Portanto, comparando o espectro obtido pela nossa montagem, observa-se

proximidade razoável com os dados de referência. Em termos percentuais, foram

comparados os desvios dos valores de comprimento de onda, obtidos

experimentalmente (indicação na figura 25 e tabela 3) com os valores de referência

(tabela 3), através da Eq. 20:

E (%) = |(λexperimental – λref.)|/ λref.. 100 (Equação 20)

Ou seja, o sistema desenvolvido apresenta razoável precisão, na delimitação dos

comprimentos de onda, na região do espectro estudada, com desvios menores do que

≈2%.

Além dos dados apresentarem boa concordância com os valores esperados, o

experimento remoto possibilita maior interatividade do usuários com o gráfico gerado,

uma vez que podemos ampliar com “zoom” as regiões de maior interesse. Outro

aspecto relevante é que pode-se gerar um banco de dados dos resultados

armazenados, possibilitando uma investigação da estatística, pelo usuário.

Nas últimas etapas, associamos um módulo relé a lâmpada de modo a ligá-la

somente quando a cabeça de leitura começa a coletar os resultados, evitando, assim o

desperdício de energia, com a lâmpada ligada por longo período. Esse fato vem a

corroborar para o enfoque de sustentabilidade deste projeto, desde o material

utilizado, a maioria reaproveitado, até ao objetivo de se dispor de um laboratório

remoto, para acesso à usuário de lugares distantes que queiram compartilhar de suas

experiências e participar de outras, querendo aprender mais, com experimentos e com

conteúdos teóricos que sejam disponibilizados, fato que contribui ao processo de

aprendizagem do usuário remoto.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

77

7.7.7.7. CONCLUSÕESCONCLUSÕESCONCLUSÕESCONCLUSÕES E CONSIDERAÇÕES FINAISE CONSIDERAÇÕES FINAISE CONSIDERAÇÕES FINAISE CONSIDERAÇÕES FINAIS

O sistema construído apresenta resultados satisfatórios para uso didático, mas

é importante considerar que existe um fator muito importante para que se colete

resultados precisos, com raias bem definidas. Este fator é a intensidade da lâmpada

utilizada, e devemos aproximá-la o suficiente para que, sem perda de foco da fenda, as

raias do espectro difratado possam ser bem definidas, de modo que o sistema possa

coletar com a devida sensibilidade os valores de comprimento de onda, o que

aproxima os valores experimentais dos valores de referência.

Esta característica pôde ser observada nas três raias que o sistema conseguiu

distinguir (azul, verde e vermelho), com os desvios percentuais não sendo maiores que

3%, em relação aos valores de referência (NIST, 2011), o que demonstra a suficiente

precisão do sistema como um todo.

Outro fator que contribui para resultados precisos foi a inclusão na

programação de funções que comandem o acionamento da cabeça de leitura, primeiro

para procurar a posição da fenda, e após encontra-la, com comando do teclado,

começar a fazer a coleta dos dados de irradiância por comprimento de onda. Este fator

melhora a precisão dos comprimentos de onda, pois consegue se ter com maior

definição a posição da fenda, e a partir dela, os valores de comprimento de onda são

precisamente identificados, como se percebeu pela Figura 43. Este fator,

anteriormente por não haver a automatização da coleta dos dados, acarretava maiores

discrepâncias, pois o acionamento era manualmente e fortemente dependente do

observador.

As alterações nas linhas de programação permitiram também um controle da

distância máxima percorrida pela cabeça de leitura do scanner. Esta distância já foi

estabelecida (cerca de 11cm), se restringindo ao alcance máximo da região visível do

espectro na 1ª ordem, após a qual, a cabeça de leitura volta a posição inicial.

Estes comandos foram necessários, também para que se fossem

implementadas as programações de acesso remoto, rodando no Processing, no

servidor. Com esta programação coletamosos dados da saída serial, e reenviamos para

o servidor, disponibilizando os dados dentro da página html.

O acionamento remoto comandado por um botão atribuiu ao experimento

uma interface mais amigável e maior r interatividade já que os resultados podem ser

visualizados simultaneamente em tempo real e na página virtual

Dentro da página virtual também são disponibilizados conteúdos teóricos e

outras propostas de atividade em espectrofotometria, que incentivam a aprendizagem

do usuário, sendo uma oportunidade que este tem de conhecer mais a respeito do

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

78

assunto estudado e de como funcionam o equipamento que ele vem controlando e

analisando.

Esta é uma característica atraente para laboratórios didáticos remotos, e torna

o projeto especial pela oportunidade de se incentivar tanto a busca de novos

conhecimentos, quanto de diferentes abordagens didáticas, e do compartilhamento de

informações entre diversas pessoas.

Com maior compreensão do usuário permitimos não somente um maior

compartilhamento, mas a sua reprodução de modo a aperfeiçoar o instrumental com

futuras contribuições.

Nesta direção, criaremos na página do experimento um local para que os

usuários possam deixar suas contribuições e comentários.

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

79

REFERÊNCIAS BIBLIOGRÁFICASREFERÊNCIAS BIBLIOGRÁFICASREFERÊNCIAS BIBLIOGRÁFICASREFERÊNCIAS BIBLIOGRÁFICAS Alfons, V. (19 de Dezembro de 2010). A simple DIY Spectrophotometer. Acesso em 11 de

Dezembro de 2011, disponível em Instructables: http://www.instructables.com/id/A-simple-DIY-spectrophotometer/

ALMEIDA JR., J. N., CAVALCANTE, M. A., RODRIGUES, C. E., & PONTES., L. A. (2012). Construção de um Espectrofotômetro utilizando a placa Arduino. PAEE - Proceedings of Application in Engineering Education (p. 12). São Paulo: Universidade do Minho (Portugal) e PUC-SP.

Alonso, M., & Finn, E. J. (2002). “Física – Um curso universitário: Campos e Ondas” (1ª ed., Vols. II, Parte 3). São Paulo, São Paulo, Brasil: Edgard Blucher.

Álvarez, A., & Romariz, L. (2002). Telerobotics: Methodology for the Development of a Trough-the-Internet Robotic Teleoperated System. Journal of the Brazilian Society of Mechanical Sciences, XXIV, pp. 122-126.

Banzi, M., Cuartielles, D., Igoe, T., Martino, G., & Mellis, D. (2009). arduino.cc. Acesso em 02 de 12 de 2011, disponível em Arduino Project: http://www.arduino.cc/en/Tutorial/StepperUnipolar.

Braun, L. F., & Braun, T. (Dezembro de 1994). A Montagem De Young no estudo da interferência, difração e coerência de fontes luminosas. Cad. Cat. Ens. Fís., 11, n. 3, pp. 184-195.

Cabello, F., Martinez, O., & Junquera, B. (2008). A história e o funcionamento do CD e DVD. Acesso em 11 de Dezembro de 2011, disponível em Instituto de Computação – Universidade Estadual de Campinas (UNICAMP): http://www.ic.unicamp.br/~rodolfo/Cursos/mc722/2s2008/Trabalho/g02_texto.pdf

Catelli, F. e. (2010). CDs como lentes difrativas. Rev. Bras. Ens. Fís., 32(2), pp. 1-6. Cavalcante, M. A., & Benedetto, A. d. (Setembro de 1999). Instrumentação em Física Moderna

para o Ensino Médio: uma Nova Técnica para a Análise Quantitativa de Espectros. Revista Brasileira de Ensino de Física, pp. 437-446.

Cavalcante, M. A., & Tavolaro, C. R. (2002). Construa seu Espectrômetro: Uma Caixinha para Estudo de Espectros. A Física na Escola (On-Line), III(2), pp. 40-42. Acesso em Fevereiro de 2012, disponível em http://www.sbfisica.org.br/fne/Vol3/Num2/a13.pdf

Cavalcante, M. A., & Tavolaro, C. R. (2010). Física Moderna Experimental: Espectros com Rede de Difração - Simulações. In: M. A. Cavalcante, Física Moderna Experimental (p. 5). São Paulo, São Paulo, Brasil: Ed. Manole. Acesso em Fevereiro de 2012, disponível em https://skydrive.live.com/?cid=face7a3b24a3938c&id=FACE7A3B24A3938C%21155

Cavalcante, M. A., Fontes, M. M., Santos, B. S., & Tavolaro, C. R. (10 de Novembro de 2012). Webduino e RVA: a criação de uma “Rede de Sensores” aplicada ao Ensino de Ciências. Fonte: Seminário de Pesquisa Webduino: Weblab da PUC/SP: http://prezi.com/w1zhxwcr8h9c/seminario-de-pesquisa-webduino-weblab-da-pucsp/

Cavalcante, M., Tavolaro, C., & Haag, R. (2005). Experiências em Física Moderna. Física na Escola, 6,(1), p. 75.

Costa, L. C. (2010). Teoria das Filas. (UFMA, Ed.) São Luiz, MA, Brasil. Acesso em 15 de Junho de 2012

Cunha, A. F. (04 de Janeiro de 2008). PROJETOS/Embarcadas. Acesso em 14 de Junho de 2012, disponível em Saber Eletrônica - Seções/Leituras: http://www.sabereletronica.com.br/secoes/leitura/274

Dallas Semiconductor - MAXIM. (Setembro de 2012). DS18B20 Programmable Resolution: 1-Wire Digital Thermometer.

Darlington, A. (2011). Acesso em 11 de Dezembro de 2011, disponível em All Darlington Arrays CI ULN2003: http://www.datasheetcatalog.org/datasheet2/f/0c6x6a46ig46qlxf3j2qsaii8o3y.pdf

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

80

Destro, D. (22 de Outubro de 2002). GUJ Fórum JAVA. Acesso em 16 de Junho de 2012, disponível em J2EE,J2Me,J2SE,J2SDK...Qual a diferença?: http://www.guj.com.br/java/442-j2eej2mej2sej2sdkqual-a-diferenca

Duque, W. S. (2001). Protocolos de Alta Velocidade - Protocolo 10GigaBit Ethernet. Acesso em 16 de Junho de 2012, disponível em Wireless Brasil: http://www.wirelessbrasil.org/wirelessbr/colaboradores/welton/prot_alt_vel_07.html

Ferreira, A. J., & Espíndola, J. C. (2003). Metodologia para Implantação de Laboratórios Remotos via Internet na Área de Automação da Manufatura. 2° Congresso Brasileiro de Engenharia de Fabricação, (pp. 1-11). Uberlândia, MG.

Fragnito, H., Rodriguez, E., & Costa, A. (2003). Nota Experimental 03. Acesso em 11 de Dezembro de 2011, disponível em Difração de Fendas: http://www.ifi.unicamp.br/~accosta/roteiros/3/nota%2003.html

Freijlich, J. (2011). Óptica (1ª ed.). São Paulo: Oficina de Textos. Globalcoders. (04 de Agosto de 2009). Globalcoders: Informação+Colaboração+Discussão.

Acesso em 11 de Junho de 2012, disponível em GlobalCode: http://blog.globalcode.com.br/2009/08/arduino-sun-spot-controle-remoto.html

IF - UFRGS. (2011). Difração em Fenda Única e em Fendas Múltiplas. Acesso em 11 de Dezembro de 2011, disponível em if.ufrgs: http://www.if.ufrgs.br/tex/fisica-4/lab3.pdf

ITeadStudio. (Agosto de 2012). Ultrasonic ranging module : HC-SR04. Lopes, D. (2007). Espectroscopia Óptica: histórico, conceitos físicos e aplicações. Monografia

apresentada como parte integrante do Trabalho de Conclusão de Curso, Universidade Estadual do Mato Grosso do Sul, Instituto de Física, Física (Licenciatura).

Lüdke, E. (2010). Um espectrofotômetro de baixo custo para laboratórios de ensino: aplicações no ensino da absorção eletrônica e emissão de fluorescência. Rev. Bras. Ens. Fís., 32, n. 1, p. 1506.

Magalhães, D., Lunazzi, J., Figueroa, H. F., & Dartora, C. (2002). IFI - UNICAMP. Acesso em 11 de Dezembro de 2011, disponível em Difração por CDs e raios X: http://www.ifi.unicamp.br/~lunazzi/F530_F590_F690_F809_F895/F809/F809_sem1_2002/995025Daniel-Lunazzi-FigueroaRF.pdf

Marshall, D., Almeida, E., & Takase, R. (2007). CD/DVD. Acesso em 12 de Dezembro de 2011, disponível em http://www.ic.unicamp.br/~rodolfo/Cursos/mc722/2s2007/trabalhos/g01_apresentacao.pdf

Martins, F. N. (07 de Dezembro de 2011). Nossos Robôs. Acesso em 14 de Junho de 2012, disponível em Arduino Wireless: http://nossosrobos.blogspot.com.br/2011/12/arduino-wireless.html

Merrick, C., & Ponton, J. (1996). The ECOSSE Control HyperCourse. Computers &Chemical Engineering, 20, pp. S1353-S1358.

Mitsumi Co. (2011). Acesso em 11 de Dezembro de 2011, disponível em Mitsumi Stepper Motor Model M35SP-7 Datasheet: http://pdf1.alldatasheet.com/datasheet-pdf/view/176481/MITSUMI/M35SP-7.html

New Verison. (s.d.). NIST. (2011). NIST.org. Acesso em 11 de Dezembro de 2011, disponível em National Istitute of

Standard Technology: http://physics.nist.gov/cgi-bin/ASD/lines1.pl Noels, I. (1997). Química e Tabela Periódica dos Elementos - Prof. Mokeur. Acesso em 12 de

Dezembro de 2011, disponível em Química e Tabela Periódica dos Elementos Interativa e Imprimível: http://profmokeur.ca/quimicap/

Nunes, L. R. (2002). Sockets em JAVA. Acesso em 16 de Junho de 2012, disponível em Sumersoft Publicações: http://www.sumersoft.com/publicacoes/SocketsEmJAVA.pdf

Orenstein, D. (10 de Janeiro de 2000). QuickStudy: Application Programming Interface (API). Acesso em 16 de Junho de 2012, disponível em ComputerWorld: http://www.computerworld.com/s/article/43487/Application_Programming_Interface

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

81

PASCO. (2008). Acesso em 12 de Dezembro de 2011, disponível em Educational Spectrophotometer System Manual: http://www.pasco.com/file_downloads/product_manuals/Educational-Spectrophotometer-System-Manual-OS-8539.pdf

Ricarte, I. L. (22 de Outubro de 2002). Introdução a Servlets. (D. -F. UNICAMP, Ed.) Acesso em 16 de Junho de 2012, disponível em Programação Orientada a Objetos: http://www.dca.fee.unicamp.br/cursos/PooJava/servlets/intro.html

Shaheen, M., Loparo, K., & Buchner, M. (1998). Remote Laboratory Experimentation. Proceedings of ACC, pp. 1326-1329.

Shuman, J. (10 de Janeiro de 2000). Multimedia in Action - Textbook Ilustration. Acesso em 11 de Dezembro de 2011, disponível em http://www.ideastoimages.com/art_mma3.html

Silva, J. M. (03 de Abril de 2000). Controle em Malha Fechada. Acesso em 16 de Junho de 2012, disponível em http://www.ece.ufrgs.br/~jmgomes/pid/Apostila/apostila/node6.html

Tabacnicks, M. H. (2008). Acesso em 11 de Dezembro de 2011, disponível em Instituto de Física, Física Experimental IV: http://fap.if.usp.br/~tabacnik/aulas/2008/aula09mht-difracao.pdf

Texas Advanced Optoeletronics Solutions. (Setembro de 2007). LIGHT-TO-FREQUENCY CONVERTER - TSL235R. Acesso em 15 de Junho de 2012, disponível em TAOS038E: http://www.taosinc.com/getfile.aspx?type=press&file=tsl235r-e17.pdf

Texas Istruments. (Setembro de 2004). Texas Instruments - Operational Amplifiers. Acesso em Março de 2012, disponível em Texas Instruments: http://www.ti.com/lit/ds/symlink/tl082.pdf

WayLand. (s.d.). Storage of Data on an Optical Disk. Acesso em 11 de Dezembro de 2011, disponível em http://www.wayland.k12.mi.us/wms/staff/wissnera/storage/storage.htm

Wikipédia - Trimpots. (s.d.). Acesso em 13 de Junho de 2012, disponível em http://pt.wikipedia.org/wiki/Trimpot

Wissner, A. (2005). Storage of Data on an Optical Disk. (W. U. Schools, Ed.) Acesso em 11 de Dezembro de 2011, disponível em http://www.wayland.k12.mi.us/wms/staff/wissnera/storage/cd_pits_lands_id60f20_t.png

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

82

ANEXOSANEXOSANEXOSANEXOS

Código da programação para coleta de dados (do dia 18/11/2012)

#include <Stepper.h> #include <OneWire.h> #define TSL235R 2 //motores acionamento const int stepsPerRevolution = 48; // change this to fit the number of steps per revolutions for your motor Stepper myStepper(stepsPerRevolution, 8,9,10,11); // initialize the stepper library on pins 8 through 11. int ColetaDadosExp=4; // se alto corre para a direita e faz leitura int AjustePosicao=5; // se alto varre para a esquerda int LED=3; // acende o led quando a varredura direita ocorre int movimentacaoCabeca = 0; //motores contagem distância int cont=0; //declara a VARIÁVEL "cont" inteira e igual a 0 int stepCount=0; //declara a VARIÁVEL "stepCount" inteira e igual a 0 float Dmenor; //declara a VARIÁVEL "Dmenor" flutuante. Esta variável é o diametro da engrenagem menor float cnt; int intervaloIda=10; //define a VARIÁVEL "intervaloIda" igual a 10, pode ser alterado pelo usuario, representa o intervalo de passos do motor para cada captura de dados int velocidadeIda=48; //define a VARIÁVEL "velocidadeIda" igual a 100. Esta variável é a velocidade da varredura do sensor na Ida, pode ser alterada pelo usuario //Comprimento de Onda/////////////////////// int D = 85; //declara a constante D igual ao comprimento do carro do scanner, em mm int d = 2600; //declara a constante d, a distancia entre os sulcos da rede de difração (CD), igual a 1660 linhas/nm (isso para o compdeonda ser em nm). float senq; //declara a VARIAVEL senq, o seno do angulo formado entre cursoremX e a hipotenusa, flutuante. float n; //declara a VARIÁVEL "N" flutuante. Esta variável será especificada na próxima seção. float compdeonda; // declara a VARIÁVEL referente ao comprimento de onda, podendo flutuar (variando as casas decimais, para maior precisão) float cursoremX; //declara a VARIÁVEL "cursoremX" flutuante. Esta variável será a responsável pela distância em X percorrida, e será o limite percorrido pelo motor. //irradiancia//// int period = 1000; // Miliseconds of each light frecuency measurement float area = 0.0092; unsigned long counter = 0; // Counter of measurements during the test unsigned long currentTime = millis(); unsigned long startTime = currentTime; volatile long pulses = 0; // Counter of measurements of the TSL235R unsigned long frequency; // Read the frequency from the digital pin (pulses/second) float irradiance; // Pinagem para a medição do US// int echoPinUS = 12; //eco - recebe int trigPinUS = 13; // trigger - envia //////Definioções booleanas//////////////////// boolean AtivarAlinhamentoCabeca; boolean AtivarColetaDados; boolean ApertarBotaoTeclado; boolean TomarPulso; ///////////////////////////////SETUP/////////////////////////////// void setup(void) pinMode(AjustePosicao, INPUT); // pino 5 = Ajuste de Posição pinMode(ColetaDadosExp,INPUT); // pino 4 = Coleta de Dados da Experiência pinMode(LED,OUTPUT); // pino3 = pino de verificação do LED

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

83

myStepper.setSpeed(100); //ajuste de velocidade dos passos Serial.begin(9600); // initialize the serial port pinMode(echoPinUS, INPUT); // define o pino 12 como entrada (recebe) pinMode(trigPinUS, OUTPUT); // define o pino 13 como saida (envia) // pinMode(OneWire, INPUT); //temp. como entrada AtivarAlinhamentoCabeca = true; AtivarColetaDados = false; ApertarBotaoTeclado = false; TomarPulso = false; /////////////////////////LOOP///////////////////////////////////// void loop(void) if(AtivarAlinhamentoCabeca==true) AjustarPosicao(); if(AtivarColetaDados==true) ColetaDados(); if(ApertarBotaoTeclado==true) Teclado(); void AjustarPosicao() //1) Obter valor CM //void ObterCM(); float CM = ObterCM(); //2) Se CM < 21.6 (lidos em progr. US anterior --> 21.6 <CM< 22.5) if (CM >= 17.75) movimentacaoCabeca = 1; // CONFIGURA MOVIMENTAÇ]AO DA CABEÇA PARA FRENTE else if (CM < 17.25) movimentacaoCabeca = 2; // CONFIGURA MOVIMENTAÇ]AO DA CABEÇA PARA TRÁS if ( (CM <= 17.75) && (CM > 17.25)) movimentacaoCabeca = 0; //CONFIGURA PARADA DE CABEÇA DE IMPRESSÃO CM = ObterCM(); // Movimenta a cabeça MoverCabeca(); // Aqui paramos a movimentação da cabeça seja ela para frente ou para trás. void MoverCabeca() // Caso seja para frente devemos configurar a cabeça a movimentação no pino 3 if(movimentacaoCabeca == 1) digitalWrite(ColetaDadosExp, HIGH); // o pino 4 vai para alto e o motor gira para a direita digitalWrite(LED,HIGH); // o led acende indicando que para este sentido será efetuada medida Serial.println("Ajuste de Posicao Frente"); myStepper.step(+stepsPerRevolution); if(movimentacaoCabeca == 2) digitalWrite(AjustePosicao, HIGH); // o pino 5 vai para alto, motor gira para a esquerda digitalWrite(LED,LOW); // led apaga e o motor gira para a esquerda Serial.println("Ajuste de Posicao Tras"); myStepper.step(-stepsPerRevolution); if(movimentacaoCabeca == 0) digitalWrite(AjustePosicao, LOW); digitalWrite(ColetaDadosExp, LOW); AtivarColetaDados = false; AtivarAlinhamentoCabeca = false; ApertarBotaoTeclado = true; Serial.println ("Para aqui: Encontrou a fenda"); Serial.println ("Coleta de Dados Frente"); myStepper.step(+stepsPerRevolution);

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

84

void Teclado() if (Serial.available()) char leitura = Serial.read(); if ((leitura == 'E')) digitalWrite(ColetaDadosExp,HIGH); // motor gira para a direita digitalWrite(LED,HIGH); // led apaga e o motor gira para a esquerda AtivarColetaDados = true; AtivarAlinhamentoCabeca = false; Serial.println("Coleta de Dados do Experimento"); myStepper.step(stepsPerRevolution); void Pulse() pulse++ float ObterCM() OneWire ds(6); // on pin 10 byte i; byte present = 0; byte type_s; byte data[12]; byte addr[8]; float tempC, tempF, TempC; if ( !ds.search(addr)) ds.reset_search(); delay(100); ds.reset(); ds.select(addr); ds.write(0x44,1); // start conversion, with parasite power on at the end delay(100); // maybe 100ms is enough, maybe not present = ds.reset(); ds.select(addr); ds.write(0xBE); // Read Scratchpad for ( i = 0; i < 9; i++) // we need 9 bytes data[i] = ds.read(); // convert the data to actual temperature unsigned int raw = (data[1] << 8) | data[0]; if (type_s) raw = raw << 3; // 9 bit resolution default if (data[7] == 0x10) // count remain gives full 12 bit resolution raw = (raw & 0xFFF0) + 12 - data[6]; else byte cfg = (data[4] & 0x60); if (cfg == 0x00) raw = raw << 3; // 9 bit resolution, 93.75 ms else if (cfg == 0x20) raw = raw << 2; // 10 bit res, 187.5 ms else if (cfg == 0x40) raw = raw << 1; // 11 bit res, 375 ms // default is 12 bit resolution, 750 ms conversion time tempC = (float)raw / 16.0; tempF = tempC * 1.8 + 32.0; TempC = abs(tempC);

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

85

digitalWrite(trigPinUS, LOW); //seta o pino 12 com um pulso baixo "LOW" ou desligado ou ainda 0 delayMicroseconds(2); // delay de 2 microssegundos digitalWrite(trigPinUS, HIGH); //seta o pino 12 com pulso alto "HIGH" ou ligado ou ainda 1 delayMicroseconds(10); //delay de 10 microssegundos digitalWrite(trigPinUS, LOW); //seta o pino 12 com pulso baixo novamente float cm; // Esta condição coloca que serão armazenados os dados de distância de aproximação do objeto em

//rel. ao ultrassom ("float" indica que são dados considerando as casas decimais); double Velocidade; // Definir a váriavel de velocidade; entrará no cálculo da distância double tempo; // Definir a variável de tempo, lembrando que o tempo vem dobrado porque é o tempo de ida e

//volta do ultrassom unsigned long time; long duration = pulseIn(echoPinUS,HIGH); //pulseInt lê o tempo entre a chamada e o pino entrar em high. Esse

//calculo é baseado em s = v . t. Velocidade = 334.1000+(0.61000*tempC); // equação de velocidade, em cm/s, retirada do site //"http://www.fisica.ufs.br/egsantana/ondas/acustica/sonido/sonido.htm" cm = (duration*0.0001000*((Velocidade)/2)); // equação para a distância ser calculada em cm. time= micros(); // a base de tempo tem que estar em micro para o funcionamento adequado do US tempo = time/1000; // deve-se obter distancia vs tempo, entao deve converter a função "time" p/ ms return cm; void PulseCount() pulses++; void ColetaDados() OneWire ds(6); // on pin 10 byte i; byte present = 0; byte type_s; byte data[12]; byte addr[8]; float tempC, tempF, TempC; if ( !ds.search(addr)) ds.reset_search(); delay(2); ds.reset(); ds.select(addr); ds.write(0x44,1); // start conversion, with parasite power on at the end delay(100); // maybe 750ms is enough, maybe not present = ds.reset(); ds.select(addr); ds.write(0xBE); // Read Scratchpad for ( i = 0; i < 9; i++) // we need 9 bytes data[i] = ds.read(); // convert the data to actual temperature unsigned int raw = (data[1] << 8) | data[0]; if (type_s) raw = raw << 3; // 9 bit resolution default if (data[7] == 0x10) // count remain gives full 12 bit resolution raw = (raw & 0xFFF0) + 12 - data[6]; else

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

86

byte cfg = (data[4] & 0x60); if (cfg == 0x00) raw = raw << 3; // 9 bit resolution, 93.75 ms else if (cfg == 0x20) raw = raw << 2; // 10 bit res, 187.5 ms else if (cfg == 0x40) raw = raw << 1; // 11 bit res, 375 ms // default is 12 bit resolution, 750 ms conversion time tempC = (float)raw / 16.0; tempF = tempC * 1.8 + 32.0; TempC = abs(tempC); digitalWrite(trigPinUS, LOW); //seta o pino 12 com um pulso baixo "LOW" ou desligado ou ainda 0 delayMicroseconds(2); // delay de 2 microssegundos digitalWrite(trigPinUS, HIGH); //seta o pino 12 com pulso alto "HIGH" ou ligado ou ainda 1 delayMicroseconds(10); //delay de 10 microssegundos digitalWrite(trigPinUS, LOW); //seta o pino 12 com pulso baixo novamente float cm; // Esta condição coloca que serão armazenados os dados de distância de aproximação do objeto em rel. ao ultrassom ("float" indica que são dados considerando as casas decimais); double Velocidade; // Definir a váriavel de velocidade; entrará no cálculo da distância double tempo; // Definir a variável de tempo, lembrando que o tempo vem dobrado porque é o tempo de ida e volta do ultrassom unsigned long time; long duration = pulseIn(echoPinUS,HIGH); //pulseInt lê o tempo entre a chamada e o pino entrar em high. Esse calculo é baseado em s = v . t. Velocidade = 334.1000+(0.61000*tempC); // equação de velocidade, em cm/s, retirada do site //"http://www.fisica.ufs.br/egsantana/ondas/acustica/sonido/sonido.htm" cm = (duration*0.0001000*((Velocidade)/2)); // equação para a distância ser calculada em cm. time= micros(); // a base de tempo tem que estar em micro para o funcionamento adequado do US tempo = time/1000; // deve-se obter distancia vs tempo, entao deve converter a função "time" p/ ms ///////Conversor de Frequência/////////////////// //definições de irradiância/// attachInterrupt(0, PulseCount, RISING); pinMode(TSL235R, INPUT); counter++; // Increase the number of measurement Serial.print(counter); // Print the measurement number noInterrupts(); frequency = pulses /(period/1000); // Calculate the frequency (pulses/second) interrupts(); // Request to measure the frequency irradiance = (frequency * 0.01) / area; // Calculate Irradiance (uW/cm2) pulses = 0; // reset the pulses counter delay (100); // wait 4 seconds until the next measurement /////////Funcionamento Cabeça de Impressão////////////////// if (cm >= 17.50) digitalWrite(ColetaDadosExp,HIGH); // o pino 4 vai para alto e o motor gira para a direita digitalWrite(LED,HIGH); // o led acende indicando que para este sentido será efetuada medida stepCount++; //soma-se 1 à variável stepCount, equivalente a "stepCount=StepCount+1" cont = stepCount; // declara a variável "cont" igual ao valor contido na variável "stepCount" n = cont*intervaloIda/48.000; //declara a variável "N" igual a "cont x intervalodeIda / 48 , com 3 casas decimais", ou seja, N é o produto do numero de volta do motor, durante o intervalo de ida, em razão das voltas do motor Dmenor = 13.5; cursoremX = Dmenor * (n/4) * 3.14159; //declara a variável cursoremX, ou o quanto o motor faz o carro se deslocar em X, levando-se em consid. o diâmetro da engrenagem menor ("engrenagem-motora")e o número de voltas senq=(cursoremX)/sqrt((cursoremX*cursoremX)+(D*D)); compdeonda = d * senq; // Serial.println("Coleta de Dados Frente"); myStepper.step(-stepsPerRevolution);

PUC/SP- Faculdade de Ciências Exatas e Tecnologia - Licenciatura em Física

87

//aciona o motor if (cm <= 11.45) digitalWrite(AjustePosicao, HIGH); // o pino 5 vai para alto e o motor gira para a esquerda digitalWrite(LED,LOW); // o led acende indicando que para este sentido não será efetuada medida AtivarAlinhamentoCabeca = true; AtivarColetaDados = false; Serial.println("Volta para Ajuste de Posicao"); myStepper.step(+stepsPerRevolution); Serial.print(irradiance); // print the frequency (pulses/second) Serial.println(" W/m2"); Serial.print(" "); // Imprime em caracteres ASCII " " Serial.print(compdeonda, 3); //Imprime em caracteres ASCII a variável "compdeonda" Serial.print(" nm "); // Imprime em caracteres ASCII " " Serial.print(" "); // Imprime em caracteres ASCII " " delay (100); // wait 4 seconds until the next measurement Serial.println(); // Imprime em caracteres ASCII uma nova linha