Upload
webduino-weblab
View
274
Download
43
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