Download - Projecto em Engenharia Electrotécnica e de Computadores 2009

Transcript

Antonio Luıs Gomes Valente

Salviano Filipe S. Pinto Soares

Jose Manuel Ribeiro Baptista

Projecto emEngenharia Electrotecnica e deComputadores

Artigos da Unidade Curricular de Projecto

2009

Universidade de Tras-os-Montes e Alto Douro

Escola de Ciencia e Tecnologia :: Engenharia Electrotecnica e de Computadores

Projecto emEngenharia Electrotecnica e de ComputadoresArtigos da Unidade Curricular de Projecto

Copyright c© 2009 - Universidade de Tras-os-Montes e Alto Douro

ISBN:12345789

Notas dos Autores

Este e o primeiro numero do livro Projecto de Engenharia Electrotecnica e de Com-putadores e, espero eu, o primeiro de muitos. Este livro tera um novo volume todos os anoscom os artigos da unidade curricular de Projecto em Engenharia Electrotecnica e de Compu-tadores, e sera complementado com um segundo livro, com publicacao prevista para Dezembrocom uma compilacao dos artigos publicados no ambito dos trabalhos de mestrado e doutora-mento.

Neste primeiro numero, e como vendo sendo habito nos projectos de Engenharia Elec-trotecnica e de Computadores na Universidade de Tras-os-Montes e Alto Douro, os artigosabrangem areas tao diversas que vao desde a energia as comunicacoes passando pelo controlo,robotica, computacao evolutiva, instrumentacao, processamento digital de sinal e de imagem,visao por computador, inteligencia artificial, automacao industrial, redes, base de dados e tec-nologias da informacao e comunicacao. Nao foi elaborada nenhuma seleccao, estando presentestodos os trabalhos que foram sujeitos a avaliacao. Fica claro desta abordagem, que pretendeunao excluir nenhum trabalho, que nesta compilacao existirao trabalhos de excelente qualidadee trabalhos de menor rigor e dedicacao por parte que quem os elaborou – os alunos. Os tra-balhos foram realizados individualmente, contaram com a revisao dos orientadores e foramposteriormente revistos e avaliados por um juri. No entanto, e apesar de todos as revisoesfeitas, os artigos sao da responsabilidade dos seus autores que sao os alunos cujo nome apa-rece na publicacao. No final desta revista aparece uma tabela com todos os orientadores comocontributo e agradecimento pelo trabalho desenvolvido na orientacao.

Para alem da componente de I&D sempre presentes nesta forma de aprendizagem, contamosser este o ponto de partida para novas estrategias de colaboracao entre as empresas nos pontosde interface identificados do curso nomeadamente na unidade curricular de Seminario emCiencias da Electrotecnia e Computacao atraves da participacao em palestras, na unidadecurricular de Projecto em Engenharia Electrotecnica e de Computadores e na Dissertacao deMestrado em Engenharia Electrotecnica e de Computadores na figura de Estagios Curricularese a integracao profissional dos Mestres em Engenharia Electrotecnica e de Computadoresatraves do enquadramento de Estagios Profissionais.

Desta forma a direccao da Licenciatura em Engenharia Electrotecnica e de Computadoresgostaria de agradecer a colaboracao das empresas que participaram na apresentacao publicados trabalhos de Projecto, nomeadamente, a PT Inovacao, a Inova-Ria, a General Electric –Consumer & Industrial e a AdQuam.

Esperamos, deste modo, ter contribuıdo para que esta primeira publicacao seja do agradode todos.

Com os melhores cumprimentos,

Antonio Valente Salviano Soares Jose Manuel Baptista

Indice Geral

Notas dos Autores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1 Navegacao de um robot para Conducao Autonoma . . . . . . . . . . . . . . . . . . . . . . 7

2 Avaliacao tecnica e economica de sistemas de microproducao deelectricidade baseados em ER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Producao descentralizada de electricidade – Um caso de estudo . . . . . . . . . 23

4 Conducao autonoma de veıculo – Conducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5 Conducao autonoma de veıculo – Deteccao de obstaculos . . . . . . . . . . . . . . . . 41

6 Identificacao automatica de produtos numa despensa inteligente . . . . . . . . . 47

7 Estudo e caracterizacao de sistemas estereo de visao por computador . . . . 55

8 TIC-AEF – As Tecnologias da Informacao e Comunicacao no Apoio aoEnsino da Fısica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

9 Sistema de aquisicao e transmissao de dados ambientais . . . . . . . . . . . . . . . . . 73

10 Optimizacao das Ligacoes de Aerogeradores em Parques Eolicos . . . . . . . . . 81

11 Sıntese de Circuitos Digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

12 Data-logger com armazenamento em cartoes SD/MMC em FAT32(Parte 1 –Logger) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

13 Desenvolvimento de alvos de deteccao de tiro automatico para opentatlo moderno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

14 Ambientes Tecnologicamente Assistidos – Aplicacao . . . . . . . . . . . . . . . . . . . . . 111

15 Desenvolvimento de firmware para um sensor de humidade para o solo . . 119

16 Desenvolvimento de uma aplicacao para aquisicao de dados de umsensor de humidade para o solo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

17 Site Web para gestao de exames – Interface com o utilizador e Interfacede Administracao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

18 Site Web para gestao de exames – Gestao de Base de Dados e Relatorios 135

19 Site Web para gestao de exames – Testes, Seguranca, Autenticacao ePrivacidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

20 Paineis de Informacao Wireless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

21 HELPMI – integracao de servicos de voz entre Messengers e MundosVirtuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

22 Sistema de Gestao de Adegas e Cooperativas Agrıcolas . . . . . . . . . . . . . . . . . . 159

23 Sistemas de Vigilancia Inteligente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

24 Desenvolvimento de um sistema de instrumentacao para monitorizacaode uma sonda de ultra-sons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

25 Simulacao Computacional Grafica de Sistemas Automatizados . . . . . . . . . . . 179

26 AquaDisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

27 Estudo e desenvolvimento de um sensor para o crescimento da uva . . . . . . 193

28 Kit de Demonstracao de Modulacoes Analogicas . . . . . . . . . . . . . . . . . . . . . . . . . 201

29 Gestao de Filas de Espera para Adegas e Cooperativas . . . . . . . . . . . . . . . . . . 209

30 Interligacao entre FORTRAN e Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

31 Gestao de Software para salas de Informatica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

32 Ambientes Tecnologicamente Assistidos – Sensores . . . . . . . . . . . . . . . . . . . . . . 229

33 Ferramenta de simulacao para caracterizacao da potencia instalada emmini-hidricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

34 Servidor baseado em Linux, uma ferramenta de apoio as aulas praticas:Sistema e Servicos Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

35 Servidor baseado em Linux, uma ferramenta de apoio as aulas praticas:Servicos Avancados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

36 MicroMouse Speedy Gonzalez (SP-01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

Anexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 7

Navegacao de um robot para Conducao AutonomaP0901

Jonas dos Santos Teixeira, [email protected]

Abstract – This work aims to build a robot able to travela circuit similar to a road conventional, in a completely au-tonomous, with order to participate in the class of autonomousdriving in national festival of robotics, 2010.

Resumo – Este trabalho tem como objectivo a construcaode um robot capaz de percorrer um circuito similar a umaestrada convencional, de forma completamente autonoma,com o intuito de participar na classe de conducao autonomano festival nacional de robotica de 2010.Keywords – Conducao, Autonoma, RobotPalavras chave – Driving, Autonomous, Robot

I. INTRODUCAO

Nas ultimas decadas temos assistido a um grande desen-volvimento de veıculos capazes de se movimentarem deuma forma completamente autonoma. Todos estes avancosapresentados neste sector, poderao no futuro, traduzir-seem melhorias na seguranca dos veıculos de transporte, op-timizando a interaccao destes com o meio onde operam.Para este avanco tem contribuıdo, para alem dos principaisconstrutores de automoveis, inumeros eventos de robotica,onde sao realizadas provas de conducao autonoma. Umexemplo disso mesmo e o festival nacional de robotica,que se realiza em Portugal, onde tem lugar a prova deconducao autonoma (CA ) [1]. E com vista a participacaonesta competicao, que estamos a desenvolver um robotmovel e completamente autonomo. Na prova de conducaoautonoma o robot devera percorrer um percurso ao longode uma pista fechada, que apresenta semelhancas com aconducao de um veıculo automovel numa estrada conven-cional. A pista e composta por duas faixas, delimitadas porduas linhas brancas e separadas por uma linha tracejada. Ocircuito tem a forma aproximada de um 8. Existe um cruza-mento no centro, sobre o qual se erguem paineis sinaleticose onde se encontra marcada uma passadeira, numa das cur-vas do circuito encontra-se tambem montado um tunel. Aseguinte figura (fig.1), indica-nos o formato do circuito. Acompeticao decorre em tres mangas, sendo o principal ob-jectivo percorrer por duas vezes a totalidade da pista nomais curto espaco de tempo possıvel e sem penalizacoes.O grau de dificuldade vai crescendo em cada nova manga.Mais informacoes, assim como todas as regras da prova po-dem ser consultadas robotica 20XX [2] .

II. OBJECTIVOS

O objectivo principal do trabalho realizado e construirum veiculo robusto dotado de sistemas que permitam re-alizar a conducao do mesmo de uma forma completamente

Fig. 1FIGURA - 1 COLUNA

autonoma, de forma a superar todas as dificuldades encon-tradas na prova de conducao autonoma.

III. DISPOSITIVOS UTILIZADOS NO ROBOT

O robot esta montado sobre uma plataforma de um ve-iculo de radiomodelismo. A para controlar a direccao doveiculo e utilizado o servomotor Hitec HS-705MG [3], estee controlado pelo microcontrolador MSP430FG4618 [4]daTexas Instruments. E utilizado para mover o veıculo o mo-tor MAXON EC, controlado pelo controlador EPOS 24/5P [5]. O controlo dos perifericos e efectuado atraves docomputador portatil Samsung R45 que ira sobre o veiculo.As ligacoes entre o computador e os perifericos e efectuadaatraves dos cabos Prolific USB to Serial Comm Port . Seraoainda montadas no veiculo tres WebCams.

IV. SOFTWARE UTILIZADO

Na a realizacao deste projecto foi utilizado:

• Microsoft Visual C++ [6]• IAR Embedded Workbench [7]• EPOS UserInterface [8]

V. DESENVOLVIMENTO

Com o objectivo de facilitar a construcao do veıculo,decidi dividir a sua estruturacao em varios nıveis, fa-cilitando assim o desenvolvimento do projecto. Comopodemos observar a figura, fig.2, verifica-se que o es-quema e composto por quatro nıveis diferentes, todos in-terligados entre si. O nıvel 0 refere-se a plataforma doveıculo utilizada. Esta plataforma deriva de um carro deradiomodelismo, fornecendo assim uma estrutura suficien-temente robusta para o desenvolvimento do projecto. Neste

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

8 JONAS TEIXEIRA [23487]

nıvel analisamos com especial interesse as rodas traseiras,responsaveis pela locomocao do veiculo bem como o sis-tema de direccao. O seguinte nıvel, o nıvel 1, refere-seaos perifericos do veiculo, isto e o motor responsavel pelomovimento do veiculo, o motor MAXON EC, que esta lig-ado com as rodas traseiras atraves de um sistema de ro-das dentadas, o servo motor responsavel pelo movimentoda direccao, que esta ligado com a direccao atraves deduas pincas metalicas e ainda tres Webcams responsaveispor fornecer a camada superior imagens do percurso. Onıvel 2 refere-se a parte do hardware utilizado no veiculo.Neste nıvel estao inseridos o controlador EPOS 24/5 P,responsavel por controlar o motor MAXON EC e ainda omicro controlador MSP430FG4618, responsavel por con-trolar o servo motor, esta comunicacao e feita atraves deum sinal PWM (modelacao por largura de pulso). O ul-timo nıvel, o nıvel 3, refere-se a uma aplicacao instalada nocomputador portatil, que formara parte do sistema de con-trolo. Esta aplicacao apresenta uma interface grafica onde epossıvel ajustar o funcionamento do veiculo. Esta aplicacaoutiliza as portas serie do computador para comunicar viaRS232 com o controlador EPOS 24/5 P e o micro contro-lador MSP430FG4618. A aplicacao recebe ainda imagensprovenientes da Webcams via USB.

Fig. 2FIGURA - ESTRUTURACAO DO VEICULO

A. Nıvel responsavel pelo controlo de direccao do veiculo

Os servomotores sao motores especiais, um pouco difer-entes dos motores electricos convencionais e tem comoprincipal caracterıstica o controlo preciso da posicao do ro-tor. O seu raio de movimentacao esta compreendido nor-malmente entre os 0 e os 180 graus, podendo este variarde servo para servo e ser limitado de forma externa. Alemdo controlo preciso da sua posicao, o servomotor tem comocaracterıstica um elevado torque, resultado do acoplamentode um sistema de engrenagens que forma uma caixa dereducao com uma relacao bastante longa. O sistema in-terno de realimentacao em malha fechada do servomotor,faz com que o servo rode para uma determinada posicao emresposta a um determinado trem de impulsos. Este sistemae constituıdo por um potenciometro ligado a engrenagem

do servo, que funciona como sensor de posicao, e por umcircuito electronico de controlo. O circuito electronico vaicomparar o valor no potenciometro com a amplitude dosimpulsos que recebe pela linha de controlo, activando as-sim o motor para corrigir qualquer diferenca que exista en-tre ambos. Ao se tentar rodar a engrenagem do servo, ocircuito de controlo identificara uma diferenca entre o valorno potenciometro e a amplitude dos impulsos e activara omotor para a tentar corrigir. A alimentacao do servomotor efeita tipicamente a uma tensao que pode variar ente os 4,5 e6,5 Volt, . A corrente necessaria para o correcto funciona-mento do servomotor varia consoante o servomotor escol-hido, sendo que servos com maior potencia necessitam demais corrente. O servomotor possui tres fios para conexao,sendo que o preto e vermelho vao ligar a alimentacao e oamarelo, vai ser conectado ao sinal responsavel pelo con-trolo da posicao. A posicao do servo e controlada porum trem de impulsos, com uma amplitude que varia tipi-camente entre 1ms e 2ms), e uma frequencia de cerca de50Hz. A figura, fig.3, ilustra a influencia que a duracao dosinal tem no movimento do servo.

Fig. 3FIGURA - SINAL PWM

Quando o servo recebe impulsos de 1.5ms, a sua en-grenagem de saıda vai rodar ate ficar estavel no centro dointervalo de rotacao nos 90 graus. Se receber impulsosde 1ms, servo vai rodar no sentido horario ate atingir o lim-ite do intervalo de rotacao correspondente a 0 graus. Sereceber impulsos de 2ms, o servo vai rodar no sentido anti-horario ate atingir o outro limite do intervalo de rotacaocorrespondente a 180 graus. Impulsos ente 1ms e 1.5msfarao com que o servo rode no sentido horario para posicoesintermedias entre 0 e 90 graus , enquanto que impul-sos que variam entre 1.5ms e 2ms farao com que o servorode no sentido anti-horario para posicoes intermedias en-tre 90 e 180 graus. O sinal que contem o trem de impulsopode ser obtido atraves da programacao de um microcon-trolador, para este gerar uma saıda PWM (modelacao por

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 9

largura de pulso) numa das suas portas configuradas comosaıdas. O microcontrolador utilizado para criar o sinalPWM necessario para o controlo do servomotor pertencea famılia MSP430 produzidos pela Texas Instruments [9].Estes microcontroladores sao constituıdos por um CPU de16 bits e estao concebidos essencialmente para aplicacoesde baixo custo e baixo consumo de energia. A Texas In-struments oferece-nos quatro famılias basicas deste tipode microcontroladores, a famılia 1xx, voltados essencial-mente para aplicacoes gerais (1 a 60kb de memoria flashe 128 a 10240 bytes de memoria RAM, a famılia 2xx, umaevolucao da famılia 1xx (1 a 8kb de memoria flash e 256bytes de memoria RAM), a famılia 3xx, famılia mais antiga ebaseada em dispositivos One Time Programmable e por fima famılia 4xx [10], voltados para instrumentacao portatil edotados de controlador de LCD interno (1 a 60kb de FLASHe 128 a 10240 bytes de RAM). No desenvolvimento do nossotrabalho foi utilizado o microcontrolador MSP430FG4618,representado na seguinte figura, fig.4, que pertencente afamılia 4xx.

Fig. 4FIGURA - MSP430FG4618

Os dispositivos pertencentes a esta famılia possuem umavariedade de configuracoes com inumeros perifericos, en-tre eles oscilador interno, timer capaz de gerar uma saıdaPWM, watchdog, USART, SPI, I2C, ADC de 10/12/16bits, DAC de 10 e 12 bits , memoria de acesso rapido (DMA),ligacao RS232, controlador de LCD etc.. A programacaodo MSP430FG4618 e feita atraves do software IAR Em-bedded Workbench que permite a elaboracao de projec-tos em linguagem C utilizada para programar o micro-controlador. Para programar o MSP430FG4618 a ligacaocom o computador e efectuada atraves do dispositivo MSP-FET430UIF [11] que liga ao computador atraves da porta

USB e ao MSP430FG4618 atraves do porto JTAG. O comofoi referenciado anteriormente a direccao do veiculo vai sermovimentada atraves de um servo motor ligado a esta deforma mecanica, por sua vez o servo motor vai ser contro-lado por um sinal PWM gerado a partir do microcontro-lador MSP430Fg4616. O sinal PWM foi obtido atravesdo sinal de relogio do microcontrolador, para isso foinecessario configurar o Timer B [12] do MSP430FG4618com o fim e gerar uma saıda em nıvel logico alto. Atravesda configuracao dos registos do Timer B, mais precisa-mente o TBCCR0, foi possıvel definir o perıodo do sinalPWM e igualando o registo TBCCR6 a uma variavel, dotipo inteiro, e possıvel controlar o duty cycle do sinalPWM, o que no fundo vai permitir controlar a posicao doservo motor. Assim sendo quando esta variavel toma ovalor de 104, o microcontrolador vai gerar um sinal PWMcujo duty cycle e de 1 ms, o que vai corresponder aposicao de 0 graus no servo motor. Por sua vez, se avariavel tomar o valor de 157, o microcontrolador vai gerarum sinal PWM cujo duty cycle e de 1,5 ms, que vaicolocar o servomotor na posicao de 90 graus. Por ultimo,quando esta variavel toma o valor de 210, o microcontro-lador vai gerar um sinal PWM cujo duty cycle e de2 ms, o que vai corresponder a posicao de 180 grausno servo motor. Assim sendo com a variacao do valorda variavel entre 104 e 210 podemos variar a posicao doservomotor entre 0 e 180 graus. E ainda de salientarque a variacao funciona de forma linear nas posicoes in-termedias. Assim sendo, para controlar a direccao, necessi-tamos apenas que seja enviada uma variavel, com o valor doangulo pretendido para a direccao, para o MSP430FG4618,para tal e utilizado o dispositivo de comunicacao RS232,presente no MSP34FG4618. Para podermos utilizar esteperiferico primeiro temos de configurar a UART [12] (Uni-versal Asynchronous Receiver Transmitter). A UART eum dispositivo utilizado em sistemas de comunicacao paraaplicacoes especıficas, com sincronizacao feita por soft-ware. Para a configuracao da UART e necessario config-urar o registo UCA0BR0, de modo a que o Baud rateseja de 9600. E ainda necessario habilitar as interrupcoesdeste dispositivo configurando o registo UCA0CTL1, destemodo quando for transmitida qualquer informacao para oregisto de entrada da UART, o UCA0RXBUF, o microcon-trolador ira entrar numa rotina de atendimento que permi-tira receber a variavel transmitida para o microcontroladoratraves do periferico RS232. Na rotina de atendimento asinterrupcoes provocadas na UART e chamada uma funcaoque vai configurar a duty cycle do sinal PWM en-viado ao servomotor de acordo com a variavel recebidaatraves do registo UCA0RXBUF. A seguinte figura, fig.5ilustra de uma forma simples o funcionamento explicadoanteriormente. Podemos concluir assim que o controlo dedireccao composto pelo servomotor e o microcontroladorMSP430FG4618 precisa apenas que lhe seja enviada umavariavel correspondente aos graus que pretendemos girara direccao para esta aturar.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

10 JONAS TEIXEIRA [23487]

Fig. 5FIGURA - LIGACAO ENTRE COMPUTADOR E MSP

B. Nıvel responsavel pelo movimento do veiculo

Como ja foi referido anteriormente o movimento doveıculo e proporcionado por um motor EC, da fabricanteMAXON, conectado por um sistema de engrenagens as ro-das traseiras. Este motor, por sua vez e controlado pelocontrolador da Maxon EPOS 24/5 P. Maxon’s EPOS P 24/5Position Controller e um controlador que permite contro-lar a velocidade, a posicao e a corrente fornecidas ao mo-tor. Depois de ser programado, o controlador EPOS 24/5 Ppode ser utilizado para funcionamento autonomo, ou podeser controlado de uma forma activa, podendo assim variaro a corrente, a velocidade e a posicao de acordo com asnecessidades do utilizador. A tensao de alimentacao doEPOS P 24/5 Position Controller e de 11/24 Volt DC,o controlador e capaz de fornecer uma corrente contınuade 5 Ampere ao motor e uma corrente de pico de 10Ampere. A comunicacao entre o controlador EPOS 24/5P e outros dispositivos pode ser efectuada via RS232 ou viaCANopen. A programacao e realizada via IEC 61131-3,com varios editores (ST, IL, FBD, CPF). Existe ainda umainterface que permite ligacoes entre o controlador EPOS24/5 P e o Windows DLL. No desenvolvimento do projectofoi optou-se por efectuar o controlo do motor atraves deuma aplicacao construıda utilizando o Visual C++ [13], aqual sera referida em pormenor, mais a frente. O primeiroponto de trabalhos no que diz respeito a traccao do ve-iculo, consistiu na concepcao dos cabos que ligam o EPOSP 24/5 Position Controller e o motor MAXON EC [14]eainda um cabo RS232 que interliga o EPOS P 24/5 PositionController e o computador. A seguinte figura, fig.6 ilustrade uma forma esquematizada como se estabelecem essasligacoes.

Fig. 6FIGURA -M INIMA CABLAGEM PARA MOTOR MAXON CE

Depois de efectuadas todas as ligacoes entre o computa-dor, o controlador EPOS 24/5 P e o motor MAXON EC foiutilizado o software EPOS UserInterface [15] paraproceder a auto-configuracao dos ganhos de corrente, ve-locidade e posicao do motor. Este procedimento pode sersubstituıdo por uma afinacao manual e mais personalizadados ganhos. Depois de ser efectuado esta configuracao,os dispositivos estao prontos para ser utilizados. No de-senvolvimento do nosso projecto optou-se por programare controlar o EPOS 24/5 P a partir do computador, uti-lizando uma aplicacao desenvolvida no Visual C++.Esta aplicacao utiliza a interface Windows DLL desen-volvida pela MAXON MOTOR’S para tornar possıvel acomunicacao entre os diferentes dispositivos. Para iniciar-mos o controlador EPOS 24/5 P e utilizada a funcao VCS-OpenDeviceDlg(DWORD, pErrorCode), contida na bib-lioteca Definitions.h, esta funcao vai abrir uma janelade dialogo onde serao preenchidos todos os dados refer-entes a comunicacao serie utilizada entre os dois disposi-tivos, o computador e o EPOS 24/5 P. Estes dados referem-se ao nome do dispositivo, que neste caso e o EPOS, aonome do protocolo utilizado entre o computador e o EPOS24/5 P, que e MAXON-RS232, a interface utilizada, no nos-sos caso e RS232, a porta serie utilizada, o Baud Rateda porta, que neste caso especifico e 38400 e o tempo deespera de ligacao que por defeito e 500 ms. O modo deoperacao do motor e defendido atraves da funcao VCS-SetOperationMode(HANDLE KeyHandle, WORD NodeId,int8 Mode, DWORD, pErrorCode) , o modo de funciona-mento escolhido foi de velocidade. Este modo permite-noscontrolar o motor colocando-o a funcionar num modo develocidade continua, a aceleracao para que o motor atinjaessa velocidade tambem e escolhida pelo utilizador. Outrasfuncoes de configuracao, e passagem de parametros para omotor sao utilizadas, tentando optimizar o funcionamentodo motor. Podemos concluir assim que o motor responsavel

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 11

pelo movimento do veiculo e controlado por uma aplicacaoinstalada no computador, que utiliza algumas funcoes parapassar os parametros necessarios ao controlador EPOS 24/5P para que este controle o movimento do motor de formadesejada.

C. Processamento de Imagem

Apesar de nesta parte do projecto ainda nao nos centrar-mos muito no que diz respeito ao processamento de im-agem, foi possıvel tomar algumas decisoes nesse campo.Serao utilizadas tres Web Cam’s para obter as imagens,uma sera responsavel por identificar os semaforos presentesna pista, as outras duas serao responsaveis por obter ima-gens do tracado a percorrer. Sao necessarias duas camaraspara esse fim porque se pretende proceder a reconstrucaoda imagem para ser possıvel analisar distancias atravesdo processamento das mesmas. O resultado do processa-mento das imagens obtidas sera traduzido em ordens deavanco, aceleracao, travagem, e desaceleracao utilizadaspela aplicacao instalada no computador para controlar omovimento do veiculo, resultara ainda a informacao paracontrolo da direccao. Esta parte do projecto sera abor-dada futuramente, no ambito de outras unidades curricu-lares, nomeadamente PDI.

D. Aplicacao de controlo

Uma aplicacao presente no computador sera a re-sponsavel pelo controlo de todas as outras aplicacoes in-termedias. Esta aplicacao esta ligada com o microcontro-lador MSP430FG4618 atraves da porta serie do computa-dor. Esta previsto que depois do processamento da imagem,esta aplicacao envie para o MSP430FG4618 a inclinacaopretendida Esta aplicacao esta ainda ligada com o contro-lador EPOS 24/5 P, atraves de outra porta serie do com-putador, utilizando a interface RS232. Esta ira comunicarao controlador a velocidade, posicao e ainda aceleracao pre-tendida para o motor. A configuracao da porta serie uti-lizada para este fim sera configurada atraves de uma janelade dialogo logo que se inicie a aplicacao. No futuro estaaplicacao sera tambem a responsavel pela aquisicao dasimagens a partir das WebCams. Por fim, o algoritmo decontrolo de todo o sistema tera o funcionamento similar auma maquina de estados, depois de serem inicializados to-das as comunicacoes com os perifericos, serao carregadasnum vector todas as tarefas que serao executadas ciclica-mente, assim quando a aplicacao for executada, este vectorsera percorrido e as suas tarefas executadas quando habili-tadas para tal.

VI. CONCLUSOES

Na primeira parte do trabalho foi possıvel proceder a mon-tagem das partes mecanicas do veıculo, fixacao dos mo-tores, e adaptacao das engrenagens, foram ainda realizadastodas as ligacoes necessarias entre todos os dispositivos doprojecto. Assim no final ja foi possıvel testar a direccao eo controlo do movimento do veıculo. A estruturacao escol-hida para o veıculo permitiu-nos trabalhar de forma inde-pendente nos diferentes nıveis em que este esta organizado.Na seguinte figura, fig.7 , e apresentado o veiculo.

Fig. 7FIGURA -ROBOT

Assim sendo o funcionamento do veıculo resume-se aoseguinte. A direccao e accionada por um servomotor que econtrolado pelo microcontrolador MSP430FG4618, atravesda variacao do duty cycle do sinal PWM. O microcon-trolador recebe informacao do computador para procederao controlo deste sinal. O movimento do veiculo e propor-cionado pelo motor EC MAXON, que esta ligado as rodastraseiras atraves de um sistema de engrenagens. Este mo-tor e controlado pelo EPOS 24/5 P que recebe informacaoproveniente do computador que ira permitir controlar a ve-locidade, aceleracao e travagem do motor. As decisoes anecessarias para o controlo da direccao e movimentacao doveıculo serao retiradas a partir do processamento das ima-gens provenientes das Webcams, feito no computador. Nofinal deste projecto o robot nao esta totalmente concluıdo,ficando a faltar o desenvolvimento de software para o pro-cessamento de imagem, e uma optimizacao no funciona-mento global do robot.

BIBLIOGRAFIA

[1] mbc, “Conducao autonoma”, Relatorio tecnico, 2005.[2] Robot cup, “Robotica 20xx”, http://www.spr.ua.pt/fnr/.[3] Hitec, “Hitec hs-705mg”, http://www.rcuniverse.com/pgarchive/HitecHS-

705MG.htm.[4] Texas Instruments, “Msp430fg4618/f2013 experimenters board (rev.

a)”, Relatorio tecnico, 2007.[5] maxon motor control, “Epos p positioning controller hardware ref-

erence”, Relatorio tecnico, 2008.[6] microsoft, “Visual studio”, http://www.microsoft.com/express/vc/.[7] Texas Instruments, “Iar systems”,

http://iar.com/website1/1.0.1.0/3/1/.[8] Maxon Motors, “Maxon motors”,

http://www.maxonmotor.com/media releases EPOS-P-24-5-programmable-positioning-controller.html.

[9] Texas Instruments, “Ti”, http://www.ti.com/?DCMP=TIHeaderTracking-HQS=Other+OT+hdr-home.

[10] Texas Instruments, “Msp430x4xx family user’s guide”, Relatoriotecnico, 2007.

[11] Texas Instruments, “Msp-fet430 flash emulation tool (fetd)”, Re-latorio tecnico, 2007.

[12] Texas Instruments, “Msp430xg461x mixed signal microcontroller”,Relatorio tecnico, 2007.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

12 JONAS TEIXEIRA [23487]

[13] maxon motor control, “Epos p positioning controller documentationdll integration into microsoft visual c++”, Relatorio tecnico, 2008.

[14] maxon motor control, “Epos p positioning controller cable startingset”, Relatorio tecnico, 2006.

[15] maxon motor control, “Epos p positioning controller gettingstarted”, Relatorio tecnico, 2009.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 13

Avaliacao Tecnica e Economica de Sistemas de Microproducao de ElectricidadeBaseados em Fontes de Energias Renovaveis

P0902

Dilman Jesus Almeida, [email protected]

Abstract – Climate change and the expected scarcity of themost sought energy sources for consumption worldwide, as arethose of fossil origin, have forced a global understanding inorder to strive against pollution from this types of energy anddependence on them.The Kyoto Protocol is the best example of this understanding,

which in spite of not having been signed by the world´s mostindustrialized countries, is an important element for reducingemissions of greenhouse gases with the use of renewable en-ergy sources.In Portugal, several government initiatives have fostered a

decentralized electricity production, with particular emphasison the use of renewable energy.

Resumo – As alteracoes climaticas e a escassez prevista dasfontes de energia mais procuradas para o consumo a nıvelmundial, como sao as de origem fossil, tem obrigado a umentendimento global com vista a combater a poluicao prove-niente destes tipos de energias e a dependencia das mesmas.O Protocolo de Quioto e o melhor exemplo deste entendi-

mento, que, apesar de nao ter sido assinado por todos os paısesmais industrializados do mundo, constitui um elemento im-portantıssimo para a reducao das emissoes de gases com efeitode estufa, com a consequente utilizacao de fontes de energiasrenovaveis.Em Portugal, diversas iniciativas governamentais tem impul-

sionado a producao descentralizada de electricidade, dandoespecial importancia a utilizacao de energias renovaveis.O objectivo deste trabalho, e mostrar a importancia da

analise economica dos projectos, na area da microgeracao deelectricidade, enquadrados no regime remuneratorio bonifi-cado do Decreto-Lei n.o 363/2007.Palavras chave – Microgeracao, Microprodutor, Energia

I. INTRODUCAO

A procura global por energia, tem vindo a aumentar acen-tuadamente nas ultimas decadas, acompanhando o desen-volvimento industrial e o aumento populacional. Preve-seque a procura de energia deva crescer pelo menos 50% ate2030, a medida que grandes paıses, como a China e a Indiacontinuem a desenvolver-se. O grafico da figura 1 mostra aprevisao dessa realidade [1], [2].As fontes de energia mais utilizadas actualmente, res-

ponsaveis pela quase totalidade da energia consumida nomundo, sao, o Petroleo, o Carvao e o Gas natural. Estes ti-pos de energias, sao conhecidas como combustıveis fosseis,por terem surgido a partir de plantas e animais mortos exis-tentes ha muitos seculos atras, ricos em carbono. Estas

Fig. 1CONSUMO GLOBAL DE ENERGIA [1], [2]

fontes tem reservas estimadas para poucas decadas, o quee, de facto, preocupante. Por outro lado, tem-se assistido,nas ultimas decadas, a um aumento das preocupacoes sobreo impacto ambiental que esses combustıveis provocam nonosso meio. Esta demonstrado que as alteracoes climaticasdo globo terrestre, verificadas nos ultimos anos, tem a suaorigem nas emissoes de gases de efeito de estufa, criadospela queima, principalmente, desses combustıveis fosseis.Com vista a reduzir a dependencia energetica dos com-

bustıveis fosseis e ao mesmo tempo impor metas para areducao dos gases de efeito de estufa, tem surgido diver-sas iniciativas mundiais, sendo uma das quais e a mais im-portante, o Protocolo de Quioto, discutido e negociado em1997, no Japao. A assinatura e o consequente compromissoassumido pelos diversos paıses assinantes, incluindo Por-tugal, visam diminuir o nıvel de emissoes poluentes res-ponsaveis pelo aquecimento global. No caso dos estadosmembros da Europa, essa reducao tera de ser cerca de 8%entre 2008 e 2012 [3].Uma das formas encontradas para conseguir cumprir com

os compromissos de Quioto e recorrer as energias re-novaveis e nao poluentes para producao de electricidade.De facto, a directiva 2001/77/CE de 27 de Setembro de2001, do Parlamento Europeu e do Conselho, constituiuum inequıvoco reconhecimento por parte da Uniao Euro-peia, no que se refere a actual prioridade para a producaode energia electrica, a partir de fontes renovaveis, no espacoEuropeu.Olhando para o panorama nacional, verifica-se a

existencia, com o objectivo de responder aos desafios doc© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

14 DILMAN ALMEIDA [AE-874]

Protocolo de Quioto, de diversas iniciativas para impul-sionar a utilizacao de energias renovaveis na producaoelectrica. Surge assim o mais recente decreto-lei referente aesta materia: o Decreto-Lei n.o 363/2007, de 2 de Novem-bro, que regula a actividade da microgeracao de electrici-dade com base nas energias renovaveis.Neste sentido, e dado que para ser microprodutor e ne-

cessario investimento, torna-se necessario avaliar economi-camente o empreendimento. Se a energia obtida se revelarmais cara do que a das fontes convencionais, e natural quea aderencia a este tipo de iniciativas fique aquem do espe-rado, pondo em risco o cumprimento das metas nacionaisassumidas em conjunto com os outros paıses.A correcta avaliacao tecnica e economica dos investimen-

tos em microgeracao e condicao necessaria para que estasnovas tecnologias sejam verdadeiramente implantadas deforma solida e rentavel tambem para quem investe nestesempreendimentos.Este trabalho, analisa varias alternativas tecnicas sobre a

microgeracao e a sua respectiva avaliacao economica, parase poder entender as diferencas entre as mesmas. Pretende-se tambem, que, no conjunto se verifique a verdadeira im-portancia da correcta avaliacao economica, nos diferentesprojectos aqui analisados.O trabalho utiliza ferramentas especıficas para a simulacao

e analise economica de diferentes cenarios escolhidos, des-critos no decorrer do mesmo, sendo que, todos eles estaode acordo com o Decreto-Lei n.o 363/2007, de 2 de No-vembro, no que diz respeito ao regime remuneratorio boni-ficado. Pretende-se alcancar resultados positivos, como osanunciados pela maior parte das empresas nacionais, quetrabalham na comercializacao deste tipo de tecnologia, re-lacionada com a microgeracao.O presente trabalho constitui uma excelente ferramenta de

apoio a decisao de quem pretenda ser microprodutor, aoabrigo do Decreto-Lei n.o 363/2007.Nas seccoes seguintes, serao abordados os temas referen-

tes a microgeracao de electricidade a nıvel nacional, dandouma visao geral dos aspectos mais importantes do Decreto-Lei n.o 363/2007, juntamente com uma ideia do possıvelcomportameno evolutivo do tarifario de venda de electrici-dade; os conceitos dos principais indicadores economicosna avaliacao de investimentos; a ferramenta utilizada nasimulacao tecnica; os cenarios tecnicos e economicos e porultimo uma visao sobre os resultados obtidos e as respecti-vas conclusoes.

II. MICROGERACAO - PANORAMA NACIONAL

Em Portugal, a microgeracao tem-se desenvolvido lenta-mente. No entanto, atraves de medidas adoptadas pelo go-verno, este panorama tende a melhorar significativamente.A microgeracao como actividade de producao de energiaelectrica em baixa tensao, com possibilidade de entrega arede electrica publica, foi regulada pelo Decreto-Lei n.o

68/2002, de 25 de Marco. Este decreto-lei previa que aenergia electrica produzida fosse, predominantemente, des-tinada ao auto-consumo, e o excedente, passıvel de ser en-tregue a terceiros, ou a rede publica [4].Desde entao, e com o objectivo de cumprir com a Direc-

tiva CE/77/2001 do Parlamento Europeu e do Conselho de27 de Setembro de 2001, tem surgido diversas iniciativasgovernamentais com vista a desenvolver e impulsionar estaarea de producao de electricidade. Esta directiva destina-sea promover o aumento da contribuicao das fontes de ener-gia renovaveis para a producao de electricidade no mercadointerno da electricidade e criar uma base para um futuroquadro comunitario neste sector. No caso concreto Por-tugues, estao previstas metas, sendo uma delas atingir em2010, 39% do consumo bruto de electricidade, produzida apartir de fontes de energia renovaveis [5].Actualmente, o Decreto-Lei n.o 363/2007, de 2 de Novem-

bro, em vigor, estabelece o regime jurıdico para a producaode energia electrica, mediante pequenas instalacoes, e re-fere que o produtor de pequena escala tem o direito de for-necer energia a rede, desde que a sua instalacao de producaode electricidade monofasica em baixa tensao, tenha umapotencia de ligacao ate 5,75 KW [6]. Relacionado com estedecreto, surgiu a iniciativa ”renovaveis na hora”, sendo umadas medidas previstas no plano para a polıtica de energia ealteracoes climaticas. O objectivo e promover a instalacaode 50 mil sistemas fotovoltaicos ou mini eolicos ate 2010,com especial incentivo a instalacao de colectores solarespara aquecimento de agua em habitacoes.

A. Rendimento da Microgeracao

Existem dois regimes remuneratorios: Regime Bonificadoe Regime Geral [6], [7]:

1. Regime Remuneratorio Bonificado - No regime boni-ficado, a potencia de ligacao esta limitada a 50% dapotencia ja contratada no contrato de compra de elec-tricidade e a um maximo de 3,68 kW. Este regime temuma serie de condicionantes, para alem do que ja foireferido em relacao a potencia instalada, que influen-ciam o acesso ao mesmo, assim como, tambem a tarifade venda de electricidade:

(a) A potencia total registada a nıvel nacional esta su-jeita a um limite maximo, que no ano de 2009 e de12 MW. Este limite e sucessivamente incrementadoem 20% ao ano.

(b) O preco de venda da electricidade, depende da fontede energia utilizada para produzir e do tarifario dereferencia, que e para o ano de 2009 de 0,6180e/kWh.

(c) Conforme a fonte de energia utilizada, aplica-seuma percentagem a tarifa de referencia, sendo parao Solar de 100%, Eolica 70%, Hıdrica 30% e Co-geracao e Biomassa 30%. Resulta entao, nos va-lores seguintes: 0,6180 e/kWh para energia solar,0,4326e/kWh para energia eolica, e 0,1854e/kWhpara energia hıdrica e biomassa.

(d) A electricidade vendida esta tambem limitada a 2,4MWh/ano no caso da fonte de energia solar e de4MWh/ano nas restantes fontes de energia referidasanteriormente, por cada quilowatt instalado.

(e) No caso da unidade de producao utilizar umacombinacao de tecnologias, a tarifa aplicada e a me-dia ponderada das percentagens individuais corres-pondentes as diferentes tecnologias utilizadas.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 15

(f) Os precos sofrem uma reducao sucessiva de 5% porcada 10MW de potencia de ligacao registada, nuncapodendo ser inferior a tarifa do regime geral.

(g) No ano em que a instalacao de miroproducao e li-gada a rede, e nos 5 anos seguintes, e garantido aomicro produtor o preco de venda em vigor na datade ligacao.

(h) Nos 10 anos seguintes, e garantido ao micro pro-dutor o preco de venda em vigor a 1 de Janeiro, decada ano, para as novas instalacoes a ligar a rede.

(i) Apos este perıodo de 10 anos, e aplicada a tarifa doregime geral em vigor.

(j) Necessaria instalacao de colectores solares termicospara aquecimento de agua na instalacao de con-sumo, como uma area mınima de 2m2 da area decolector.

2. Regime Remuneratorio Geral - No regime geral, apotencia de ligacao esta limitada a 50% da potenciaja contratada no contrato de compra de electricidadee a um maximo de 5,75 kW e o preco de vendade electricidade e igual ao de compra (actualmente0,1143e/kWh + IVA 5%)

Considerando o regime bonificado, o grafico da figura2 mostra a evolucao da tarifa de referencia para venda,tendo por base, o pressuposto de que a potencia de ligacaomaxima e atingida anualmente. Tambem e representada nografico a evolucao da tarifa de compra tendo por base umaevolucao de +4% ao ano, correspondente a inflacao esti-mada.

Fig. 2EVOLUCAO DA TARIFA DE VENDA / COMPRA (REGIME BONIFICADO)

MINIMO

No entanto, deve-se realcar que, muito provavelmente apotencia maxima nao ira ultrapassar os limites fixados paracada ano. Uma estimativa mais real sera de que a potenciainstalada ira aumentar 10MW por cada ano. Neste caso,a evolucao do tarifario de referencia para venda sera con-forme o representado no grafico da figura 3.

B. Vantagens da Microgeracao

1. Vantagens ambientais e para o sistema electrico:

Fig. 3EVOLUCAO DA TARIFA DE VENDA-COMPRA (REGIME BONIFICADO)

MAIS REAL

(a) Reducao da dependencia energetica nacional.(b) Reducao das perdas e investimentos nas redes.(c) Aproveitamento mais eficiente dos recursos

energeticos.(d) Reducao das emissoes de gases com efeito de es-

tufa.2. Vantagens socioeconomicas:

(a) Desenvolvimento de uma industria de servicos deenergia.

(b) Area com elevado potencial de inovacao e deexportacao.

(c) Melhoria na balanca comercial nacional.3. Vantagem para os cidadaos:

(a) Reducao da factura energetica dos cidadaos.(b) Contribuicao individual dos cidadaos para os objec-

tivos da polıtica energetica e ambiental.

III. INDICADORES DE AVALIACAO ECONOMICA DEINVESTIMENTOS

A decisao de investir em projectos, deve ser o resultado deuma analise fundamentada em dados historicos e previsio-nais que permitem avaliar caracterısticas, nao so do retornodo investimento, como tambem do sucesso economico doinvestimento. Dito de outra forma, e necessario conhecera viabilidade economica do projecto, para poder tomar adecisao, a mais correcta possıvel, de avancar ou nao, comdeterminado investimento. Investir num projecto, sem fa-zer uma analise do investimento, aumenta inevitavelmenteo risco economico associado ao projecto.Existem varios factores que influenciam a viabilidade

economica dos projectos de microgeracao: o investimentoinicial; a quantidade de energia vendida a rede; o regime devenda de energia a rede e os benefıcios fiscais.Para ajudar a tomada de decisoes, existem varios indica-

dores economicos, habitualmente usados para medir o in-teresse economico dos projectos. No caso de projectos demicrogeracao electrica, os indicadores comummente usa-dos sao: VAL-Valor actual lıquido; TIR-Taxa interna de

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

16 DILMAN ALMEIDA [AE-874]

rentabilidade e o PRI-Perıodo de recuperacao do investi-mento (Payback Period).

A. VAL (Valor Actual Liquido)

O Valor Actual Liquido (VAL), tem como objectivo, ava-liar a viabilidade de um projecto de investimento, atravesdo valor actual de todos os seus fluxos de caixa, sendo porisso, um indicador muito utilizado em estudos de analise deviabilidade. Por valor actual, entende-se o valor hoje, deum determinado montante a obter no futuro.Como qualquer investimento, gera fluxos de caixa no fu-

turo. E necessario actualizar o valor de cada um desses flu-xos de caixa, para poder compara-los com o valor do inves-timento. Nao e indiferente pagar ou receber dinheiro hoje,ou pagar ou receber a mesma quantia, decorridos algunsanos. O uso de uma taxa de actualizacao, permite resol-ver a dificuldade da avaliacao economica de projectos, queresulta do facto das entradas e saıdas de dinheiro se escalo-narem no tempo. Esta taxa, e nao mais do que uma taxa dejuros sem desconto, acrescida de um premio de risco esta-belecido para o tipo de projecto em causa.O VAL e a diferenca entre os valores actualizados

das entradas e saıdas de dinheiro (utilizando a taxa deactualizacao), durante um perıodo de vida util do projecto,correspondendo ao somatorio das receitas menos os custosde manutencao (fluxos de caixa), custos do investimento eeventualmente valores residuais do projecto.No calculo do VAL transportam-se todos os fluxos de caixa

anuais para uma data presente, utilizando para tal, a taxa deactualizacao.A formula para calcular o VAL esta representada na

equacao (1):

V AL =n∑

a=0

FCa

(1 + t)a − I (1)

Onde: FCa - Fluxo de Caixa-ano; n - Vida util do pro-jecto; I - Investimento total actualizado para o ano 0 e t -Taxa de actualizacao.Na hora de decidir sobre um determinado projecto de

investimento, o mais correcto sera aceitar as seguintescondicoes:

1. Se o VAL for positivo (VAL>0) - O projecto sera eco-nomicamente viavel, porque permitira recuperar o in-vestimento, gerar a remuneracao exigida pelo investi-dor, e ainda excedentes financeiros.

2. Se o VAL for nulo (VAL=0) - E o caso limite em queo investidor ainda recebe a remuneracao exigida.

3. Se o VAL for negativo (VAL<0) - O projectoconsidera-se economicamente inviavel.

B. TIR (Taxa Interna de Rentabilidade)

Juntamente com o VAL e um dos indicadores importantesna avaliacao de um projecto de investimento.A TIR representa a rentabilidade gerada por determinado

investimento, ou seja, representa uma taxa de juro tal, quese o capital investido tivesse sido colocado a essa taxa, ob-terıamos exactamente a mesma taxa de rentabilidade final.A TIR e a taxa de actualizacao que torna o VAL = 0. A

partir do momento em que a rentabilidade do projecto deinvestimento seja conhecida, o criterio para seleccionar de-terminado projecto, consiste em aceitar os que tem uma TIRsuperior ao custo de financiamento, caso exista, acrescidode uma taxa de risco que lhe seja associada.A formula para calcular a TIR esta representada na

equacao (2):

V AL =n∑

a=0

FCa

(1 + t)a − I = 0 (2)

Onde: FCa - Fluxo de Caixa-ano; n - Vida util do pro-jecto; I - Investimento total actualizado para o ano 0 e t -Taxa de actualizacao.Sendo esta equacao de difıcil calculo matematico, ja que a

sua resolucao apenas e possıvel por aproximacoes sucessi-vas, sao usados geralmente meios informaticos, tais comoo Excelr.

C. PRI - Perıodo de Recuperacao do Investimento ou (Pay-back Period)

Este criterio destina-se a determinar o tempo derecuperacao do capital investido, ou seja, calcula-se otempo necessario para que as receitas geradas e acumuladasrecuperem as despesas, em investimento realizado e acumu-ladas durante o perıodo de vida util do projecto.Trata-se basicamente de um criterio de avaliacao de risco,

sendo, por princıpio, mais atraentes aqueles projectos quepermitam uma recuperacao do investimento em menortempo.A formula para calcular o PRI esta representada na

equacao (3):

PRI =I(∑n

a=0FCa

(1+t)a

)× 1

n

(3)

Onde: FAA - Fluxo de Caixa-ano; n - Vida util do pro-jecto; I - Investimento total actualizado para o ano 0 e t -Taxa de actualizacao.O indicador PRI deve ser usado fundamentalmente como

ındice de risco, e nao como comparador de projectos, prin-cipalmente quando as alternativas tem tempos de vida di-ferentes. Pode ocorrer que um projecto com melhor TIRque outro, possua no entanto um PRI maior, por causa dasduracoes diferentes dos projectos [8].Existe uma outra maneira mais simples mas algo grosseira,

que e calcular o Perıodo de Recuperacao do Investimentosupondo receitas e encargos iguais, todos os anos e semactualizacoes, ou seja, fluxos de caixa constantes e nao ac-tualizados [9]. Para isto bastaria utilizar a formula repre-sentada na equacao (4):

PRIB =I

FC(4)

Onde: PRIB - Perıodo de recuperacao do investimento(bruto); I - Investimento total inicial e FC - Fluxo de caixado primeiro ano (nao actualizado).De facto, este ultimo metodo e frequentemente usado, er-

radamente, ja que o calculo nao preve a variacao no fluxode caixa de ano para ano, que no caso da microproducao de

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 17

electricidade, e uma realidade. Basta verificar que a tarifade venda de electricidade pode diminuir drasticamente aofim de 5 anos, unico perıodo em que e garantido uma ta-rifa fixa ao microprodutor. Para alem do mais, tambem naopreve qualquer taxa de actualizacao.

IV. FERRAMENTAS DE SIMULACAO E DADOSESTATISTICOS

Qualquer estudo de analise de producao de energiaelectrica, ao nıvel da microproducao, tem como base ferra-mentas de software de simulacoes disponıveis no mercado.Seria economicamente inviavel, fazer medicoes exaustivas,caso a caso, para cada projecto de microproducao. O objec-tivo principal destas ferramentas e calcular, com base emdados estatısticos de radiacao solar e velocidade dos ventos,a producao de energia electrica de qualquer projecto, sejaele fotovoltaico, eolico, ou a combinacao dos dois. Servemtambem para fazer outras simulacoes, nao abordadas nestetrabalho, recorrendo a outro tipo de fontes renovaveis ounao, contemplando sistemas de pequena, media e grandeescala, ao nıvel da producao descentralizada de electrici-dade. Algumas destas ferramentas tambem sao usadas paracalculos economicos e financeiros dos diferentes projectos.

A. HOMERr - Hybrid Optimization Model for ElectricRenewables

O HOMERr e um software de simulacao disponibilizadogratuitamente pelo NREL - National Renewable Energy La-boratory [10] e foi o escolhido, de entre outras ferramentasdo genero, pela sua versatilidade e facilidade na concepcaoe simulacao dos diferentes tipos de projectos.O software HOMERr foi desenvolvido para simplificar as

tarefas de analise de projectos de producao descentralizadade energia electrica, dando especial enfase a utilizacao deenergia renovaveis. Tem a capacidade de criar modelos desistemas conectados a rede electrica ou isolados, podendoser construıdos por qualquer combinacao dos mesmos: fo-tovoltaicos, eolicos, hıdricos, pilhas de combustıvel, gera-dores, etc.Este software serve para simular e avaliar a producao

electrica, os custos, a rentabilidade e as emissoes de CO2,sendo no caso concreto deste trabalho, utilizado unicamentepara a simulacao da producao de electricidade.

B. Dados Estatısticos - Radiacao Solar e Velocidade doVento

Como foi referido, qualquer sistema de simulacao deproducao de energia electrica, a partir de fontes renovaveis,como sao os sistemas fotovoltaicos e os eolicos, necessitade dados estatısticos sobre a radiacao solar e a velocidadedo vento, nos locais onde se pretende fazer a simulacao.Existem varias fontes de informacao estatıstica, sendo quealguns exemplos sao: JRC- EUROPEAN COMMISSION- Photovoltaic Geographical Information System (PVGIS)[11], para dados de radiacao solar, Wind Atlases of theWorld [12] e Base de Dados do Potencial Energetico doVento em Portugal - EOLOS (INETI) [13], para dados es-tatısticos de velocidade do vento.

Existe uma outra base de dados estatısticos, patrocinadapela NASA, Atmospheric Science Data Center - SurfaceMeteorology and Solar Energy [14] que contem tanto da-dos de radiacao solar como da velocidade do vento. No casodeste estudo, decidiu-se utilizar esta base de dados pela sualigacao com o HOMER R© e tambem pela sua credibilidade.Os dados estatısticos sao de facil leitura, bastando para isso,identificar o local com a latitude e a longitude do mesmo.Convem referir que esta base de dados e actualmente usadanao so pelo HOMER R©, como tambem por outras ferramen-tas de simulacao tais como a RETScreen [15].

V. CENARIOS DE ESTUDO A CONSIDERAR

Com o objectivo de analisar as potencialidades damicroproducao para venda de electricidade a rede,pretende-se fazer uma comparacao entre varios tipos decenarios, representando, cada um deles, uma configuracaoespecıfica para producao de energia electrica.Este estudo tera, como base, o Decreto-lei 363/2007, de 2

de Novembro [6], no que diz respeito ao regime remune-ratorio bonificado.Para efectuar a analise pretendida considerar-se-a quatro

configuracoes de microproducao que permitam avaliar emtermos economicos as diferencas entre as mesmas. Para to-das as configuracoes considera-se a ligacao a rede electricacom a consequente venda de electricidade.O local escolhido para as diferentes configuracoes e a ci-

dade de Fafe e estas consideram uma instalacao numa vi-venda tipo unifamiliar com uma potencia contratada de 6.9kW. Em todos os casos de fotovoltaicos, os paineis estaraovirados a sul.Tratando-se de uma simulacao para um meio ur-

bano considera-se a rugosidade respectiva, incluida nosparametros do HOMERr.Configuracoes a simular e avaliar:

1. Sistema de microproducao fotovolataico, com umapotencia instalada de 3.5 kW, composto por 20 paineisBP 7175S de 175 W cada um, instalados numa estru-tura fixa.

2. Sistema de microproducao fotovolataico, com umapotencia instalada de 3.5 kW, composto por 20 paineisBP 7175S de 175 W cada um, instalados numa estru-tura com sistema de seguidor solar de dois eixos.

3. Sistema de microproducao eolico, com uma potenciainstalada de 1 kW composto por uma microturbinaWishper 200 de 1 kW.

4. Sistema de microproducao hıbrido, com uma potenciainstalada de 2.75 kW, composto por 10 paineis BP7175S de 175 W cada um, instalados numa estruturafixa e uma microturbina Wishper 200 de 1 kW.

Em todos estes cenarios sera considerada a utilizacao deinversores DC/AC, cuja finalidade, para alem de transfor-mar corrente continua, proveniente do fotovoltaico ou doeolico, em corrente alterna, tambem servira para limitar apotencia de ligacao a rede. Como foi referido, para se teracesso ao regime remuneratorio bonificado, a potencia deligacao a rede, nas condicoes previstas neste estudo, nuncapodera exceder os 50 % de 6.9 kW, ou seja 3.45 kW. A

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

18 DILMAN ALMEIDA [AE-874]

potencia do inversor, a contar para a ligacao a rede electricae caracterizada pela potencia nominal do mesmo, conformedespacho do Director Geral de Energia e Geologia [7].Convem referir, que esta-se a trabalhar com estatıticas e

por conseguinte, os dados obtidos poderao nao ser 100 %correctos. Foram, tambem, obtidos orcamentos tıpicos deinstalacao dos diversos sistemas. Os mesmos nao sao vin-culativos a nenhuma empresa em particular; sao meramenteorcamentos estimativos de instalacoes que servirao para aanalise economica deste trabalho.

VI. APRESENTACAO E ANALISE DE RESULTADOS DOSCENARIOS DE ESTUDO CONSIDERADOS

Qualquer projecto de investimento requer a sua avaliacaotecnica e economica, para se ter alguma certeza da viabili-dade economica do investimento.Considerando os cenarios apresentados, serao demonstra-

dos os resultados de producao de electricidade, a partir dassimulacoes feitas no HOMERr, assim como tambem ana-lisados os dados relativos a avaliacao economica de cadaum deles.A realizacao dos calculos de avaliacao economica sera

feita recorrendo ao EXCELr, onde, para este estudo, foifeita uma folha de calculo, incluindo todos os dados ne-cessarios para obter os diferentes indicadores economicos.E considerado, para efeitos de calculo, um tempo previstode 15 anos, ja que e o tempo total contratual previsto devenda de electricidade. A taxa de actualizacao consideradapara o calculo e de 4%, sendo esta a taxa media que actual-mente e aplicada pelos bancos nos depositos, acrescida deum premio de risco.No que diz respeito a avaliacao economica propriamente

dita, e como o sucesso, ou nao, do investimento esta li-gado directamente a tarifa de venda de electricidade; cadacenario anteriormente descrito, sera avaliado de duas for-mas diferentes, considerando duas evolucoes tarifarias.Convem referir, que as evolucoes descritas neste trabalhosao meramente estimativas. Na realidade so se conhececom exactidao a tarifa de referencia para o ano em quee feito este estudo, que e de 0,6175 e; para o ano de2010 e seguintes, a tarifa depende, como ja foi referido, dapotencia de ligacao instalada a nıvel nacional durante cadaano.Assim sendo, e para que possa ser feita uma comparacao,

consideram-se duas evolucoes tarifarias descritas a seguir:

1. Caso mınimo - Considerando uma evolucao de tarifade referencia, no caso da potencia de ligacao maximaser atingida todos os anos. A tabela I exemplifica aevolucao da tarifa de venda, comparando-a com a ta-rifa de referencia e a tarifa de compra; esta ultima como pressuposto de aumento de 4% ao ano. A figura 4representa graficamente a mesma evolucao.

2. Caso mais real - Considerando uma evolucao de ta-rifa de referencia, no caso da potencia de ligacao seraumentada 10 MB em cada ano. A tabela II exempli-fica a evolucao da tarifa de venda, comparando-a coma tarifa de referencia e a tarifa de compra; esta ultimacom o pressuposto de aumento de 4% ao ano. A figura5 representa graficamente a mesma evolucao.

Fig. 4EVOLUCAO DA TARIFA DE VENDA / COMPRA (REGIME BONIFICADO)

CASO MINIMO

Fig. 5EVOLUCAO DA TARIFA DE VENDA / COMPRA (REGIME BONIFICADO)

CASO MAIS REAL

A. Resultados tecnico-economicos obtidos

Os resultados obtidos, apos as simulacoes feitas noHOMERr, e os calculos dos indicadores economicos,estao representados na tabela III para o caso minimo e natabela IV para o caso mais real.

B. Evolucao da recuperacao do investimento (Compara-tivo)

Para se ter uma ideia mais clara da evolucao darecuperacao do investimento e mostrado nos graficos dasfiguras 6 e 7 o resultado para cada um dos cenarios. Nao eo valor do PRI nem do PRIB , mas e um grafico que indicacom maior exactidao o tempo que demora o investimento aser recuperado em cada caso.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 19

TABELA IEVOLUCAO TARIFARIA - (CASO MINIMO)

Ano Tarifa referenia Tarifa de venda Tarifa de venda Tarifa de venda Tarifade venda (e) FV (e) Eolico (e) Hıbrido (e) de compra (e)

Ano 0 - 2009 0,6175 0,6175 0,4323 0,5271 0,1211Ano 1 - 2010 0,5866 0,6175 0,4323 0,5271 0,1259Ano 2 - 2011 0,5573 0,6175 0,4323 0,5271 0,1310Ano 3 - 2012 0,5030 0,6175 0,4323 0,5271 0,1362Ano 4 - 2013 0,4539 0,6175 0,4323 0,5271 0,1417Ano 5 - 2014 0,4097 0,6175 0,4323 0,5271 0,1473Ano 6 - 2015 0,3512 0,3512 0,2458 0,2998 0,1532Ano 7 - 2016 0,2861 0,2861 0,2003 0,2442 0,1594Ano 8 - 2017 0,2217 0,2217 0,1657 0,1893 0,1657Ano 9 - 2018 0,1724 0,1724 0,1724 0,1724 0,1724Ano 10 - 2019 0,1793 0,1793 0,1793 0,1793 0,1793Ano 11 - 2020 0,1864 0,1864 0,1864 0,1864 0,1864Ano 12 - 2021 0,1939 0,1939 0,1939 0,1939 0,1939Ano 13 - 2022 0,2016 0,2016 0,2016 0,2016 0,2016Ano 14 - 2023 0,2097 0,2097 0,2097 0,2097 0,2097Ano 15 - 2024 0,2181 0,2181 0,2181 0,2181 0,2181

TABELA IIEVOLUCAO TARIFARIA - (CASO MAIS REAL)

Ano Tarifa referenia Tarifa de venda Tarifa de venda Tarifa de venda Tarifade venda (e) FV (e) Eolico (e) Hıbrido (e) de compra (e)

Ano 0 - 2009 0,6175 0,6175 0,4323 0,5271 0,1211Ano 1 - 2010 0,5866 0,6175 0,4323 0,5271 0,1259Ano 2 - 2011 0,5573 0,6175 0,4323 0,5271 0,1310Ano 3 - 2012 0,5294 0,6175 0,4323 0,5271 0,1362Ano 4 - 2013 0,5030 0,6175 0,4323 0,5271 0,1417Ano 5 - 2014 0,4778 0,6175 0,4323 0,5271 0,1473Ano 6 - 2015 0,4539 0,5439 0,3177 0,3875 0,1532Ano 7 - 2016 0,4312 0,4312 0,3019 0,3681 0,1594Ano 8 - 2017 0,4097 0,4097 0,2868 0,3497 0,1657Ano 9 - 2018 0,3892 0,3892 0,2724 0,3322 0,1724Ano 10 - 2019 0,3697 0,3697 0,2588 0,3156 0,1793Ano 11 - 2020 0,3512 0,3512 0,2459 0,2998 0,1864Ano 12 - 2021 0,3337 0,3337 0,2336 0,2848 0,1939Ano 13 - 2022 0,3170 0,3170 0,2219 0,2706 0,2016Ano 14 - 2023 0,3011 0,3011 0,2108 0,2571 0,2097Ano 15 - 2024 0,2861 0,2861 0,2181 0,2442 0,2181

TABELA IIIRESULTADOS TECNICO-ECONOMICOS - (CASO MINIMO)

Sistema Custo c/IVA (e) Energia Vendida (kWh/ano) VAL TIR PRIB

FV Fixo 3.5 kW 21207,00 5351 3564,88 7,03 6,47FV Seg. Solar 3.5 kW 27623,00 7103 5714,96 7,76 6,25Eolico 1 kW 7536,00 1126 -3851,85 -5,98 16,32Hıbrido 2.75 kW 17492,00 3801 -2132,01 1,78 8,84

VII. CONCLUSOES

Procurou-se mostrar neste trabalho, a importancia dosprincipais indicadores economicos, na avaliacao de projec-tos de investimento, na area da microgeracao de electrici-dade.

Foram simulados varios cenarios, de forma a dar umavisao das diferentes possibilidades tecnicas e da influenciaque a tarifa de venda de electricidade e a taxa deactualizacao tem na avaliacao economica de qualquer umdos casos idealizados.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

20 DILMAN ALMEIDA [AE-874]

TABELA IVRESULTADOS TECNICO-ECONOMICOS - (CASO MAIS REAL)

Sistema Custo c/IVA (e) Energia Vendida (kWh/ano) VAL TIR PRIB

FV Fixo 3.5 kW 21207,00 5351 8524,73 10,02 6,47FV Seg. Solar 3.5 kW 27623,00 7103 12292,74 10,71 6,25Eolico 1 kW 7536,00 1126 -3394,20 -4,24 16,32Hıbrido 2.75 kW 17492,00 3801 422,16 4,38 8,84

Fig. 6EVOLUCAO DA RECUPERACAO DO INVESTIMENTO - CASO MINIMO

(COMPARATIVO)

Fig. 7EVOLUCAO DA RECUPERACAO DO INVESTIMENTO - CASO MAIS

REAL (COMPARATIVO)

Com base nos cenarios estudados, apresentam-se, a seguir,as conclusoes do trabalho realizado, dividindo-as em quatroseccoes: tecnica, economica, incentivos a microgeracao etrabalhos futuros.

1. Tecnica:Em relacao a tecnologia utilizada, pode-se concluirque os sistemas fotovoltaicos revelam-se mais interes-santes do que os sistemas eolicos. Apesar da potenciainstalada nos cenarios que incluem microturbinas serinferior aos cenarios fotovoltaicos, o que implica porsi so uma producao de electricidade menor; ha que terem conta a interferencia da rugosidade no meio urbanoonde o projecto se insere. Esta influencia directamentea velocidade do vento, pondo em causa o rendimento

do sistema eolico.De facto, no meio urbano e mais previsıvel o sistemafotovoltaico do que o sistema eolico. A radiacao solaresta bem presente, desde que haja uma boa orientacaodo sistema, enquanto o vento, no mesmo local, po-dera ser influenciado por diferentes factores. Mesmodepois da instalacao, podem haver alteracoes urba-nas que ponham em risco a produtividade do sistemaeolico, nomeadamente, com a construcao de novosedifıcios.Concretamente, sobre os sistemas fotovoltaicos existeum dado importante a realcar, mas que nao e surpresanenhuma: os sistemas com seguidor solar tem umaproducao de electricidade maior do que os que nao uti-lizam nenhum mecanismo seguidor.

2. Economica:Em primeiro lugar, pode-se concluir que qualquer pro-jecto de investimento sem uma correcta avaliacao,corre serios riscos de nao ser bem sucedido economi-camente.Relativamente aos indicadores economicos propria-mente ditos, os sistemas fotovoltaicos, ate pelas con-clusoes tecnicas anteriores, sao tambem os sistemasque melhor resultado economico e mais garantias doinvestimento oferecem.A evolucao da tarifa de venda e a escolha adequadada taxa de actualizacao tem uma influencia determi-nante nos resultados economicos obtidos, ficando bempatente nos diferentes cenarios apresentados.Concretamente sobre o Perıodo do Retorno do Inves-timento (PRI), ficou evidenciado que para este tipo deinvestimentos, em que o fluxo de caixa anual obtidodiminui a partir do sexto ano, progressivamente, nao eum indicador correcto. No calculo do PRI e utilizadaa media anual do fluxo de caixa actualizado tendo emconta o total dos anos para a analise do projecto. Nocaso do presente trabalho, teve-se em conta 15 anos,mas se fosse utilizado um perıodo maior, o PRI teriaainda um valor mais elevado.A maior parte das empresas comercializadoras de sis-temas de microgeracao utilizam o PRIB , que apesar deser um calculo algo grosseiro, como foi referido, acabapor dar um resultado mais perto da realidade.Utilizando os graficos da evolucao da recuperacaodo investimento consegue-se saber com exactidao otempo de retorno do investimento.Finalmente, verifica-se que, o sistema fotovoltaicocom seguidor solar, apesar de ter um investimentomaior, consegue ter resultados economicos mais inte-ressantes do que o fotovoltaico fixo, isto devido ao au-

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 21

mento de produtividade, em consequencia do uso doseguidor solar.

3. Incentivo a Microgeracao:O Decreto-Lei n.o 363/2007, de 2 de Novembro,revela-se uma iniciativa fundamental para o incentivoa microgeracao de energia electrica, devido ao regimede tarifa de venda, que actualmente e muito superior ade compra. Consequentemente, compensa mais, ven-der a electricidade produzida, do que consumi-la.Existe, no entanto, um pormenor importante: os inves-timentos nesta area da microgeracao sao interessantesno momento actual; daqui a alguns anos, com espe-rada reducao da tarifa de venda, poderao deixar de sereconomicamente viaveis.O que se pretende com esta iniciativa governamental, ecumprir com as metas previstas pelas directivas euro-peias, recorrendo ao investimento privado dos micro-produtores interessados.

4. Trabalho futuro:Como trabalho futuro seria interessante desenvolverum software aplicacional, com ambiente grafico, parao calculo dos indicadores economicos.Como dados gerais de entrada para calculo introduz-se:

(a) Producao de electricidade (kWh/ano)(b) Valor do investimento (e)(c) Taxa de actualizacao (%)(d) Tarifa de referencia - Venda(e) Potencia instalada(f) Tipo de tecnologia usada(g) Ano da instalacao

O programa calcula e mostra os indicadoreseconomicos:

(a) VAL(b) TIR(c) PRI(d) PRIB

BIBLIOGRAFIA

[1] Energy Information Administration, “International Energy Outlook- 2008”, http://www.eia.doe.gov, Jun 2009.

[2] BP Global, “Statistical Review of World Energy 2008”,http://www.bp.com, Jun 2009.

[3] Portal da Uniao Europeia, “Protocolo de quioto relativo as alteracoesclimaticas”, http://europa.eu/legislation summaries/environment/tackling climate change/128060 pt.htm, Jun 2009.

[4] Diario da Republica Electronico, “Decreto-lei n.o 68/2002, de 25 deMarco”.

[5] Jornal Oficial das Comunidades Europeias, “Directiva CE/77/2001do Parlamento Europeu e do Conselho de 27 de Setembro de 2001”.

[6] Diario da Republica Electronico, “Decreto-lei n.o 363/2007 de 2 deNovembro”.

[7] Renovaveis na Hora, “Informacoes”,http://www.renovaveisnahora.pt/informacoes, Abr 2009.

[8] Vladimiro Miranda, “Topicos de Matematica Financeira paraAplicacao em Gestao de Energia”, Relatorio tecnico, FEUP - Porto,2006.

[9] Rui M. G. Castro, “Energias Renovaveis e Producao Descentralizada- Introducao a Avaliacao Economica de Investimentos, Edicao 5”,Relatorio tecnico, Instituto Superior Tecnico - Lisboa, 2009.

[10] NREL, “Homer”, https://analysis.nrel.gov/homer, Mar. 2009.[11] JRC EUROPEAN COMMISSION, “Photovoltaic Geographical In-

formation System”, http://re.jrc.ec.europa.eu/pvgis, Mai. 2009.

[12] WASP, “Wind Atlas of the World”, Mai. 2009.[13] Instituto Nacional de Engenharia, Tecnologia e Inovacao, “EO-

LOS - Base de Dados do Potencial Energetico do vento em Portu-gal”, http:www.ineti.pt/projectos/projectos frameset.aspx?id=299,Abr. 2009.

[14] ATMOSPHERIC SCIENCE DATA CERTER, “Surface meteorologyand Solar Energy”, http://eosweb.larc.nasa.gov/sse/, Mar. 2009.

[15] RETScreen International, “RETScreen Clean Energy Project Analy-sis Software”, http://www.retscreen.net, Mar. 2009.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 23

Producao descentralizada de electricidade - Um caso de estudoP0904

Rui Teixeira Magalhaes - [email protected]

Abstract – This article presents in summary form the mainoptions for decentralized electricity production, more specifi-cally from a small-scale water use. The main purpose of thisdocument is made a part of the main issues that the imple-mentation of a hydroelectric exploitation. After a preliminarystudy of economic and technical issues related, was offered acase study aiming at analyzing and assessing the feasibility ofestablishing a central mini-hydropower in a given tributary,with the aim to sell electricity to the network, for this, was nec-essary to estimate the energy it is possible to produce to carryout further economic analysis of investment . For a better un-derstanding of pay and legislation concerning the productionof electricity from renewable sources is a brief approach toDec. Lei No 225/2007.

Resumo – Este artigo apresenta de uma forma resumida asprincipais opcoes de producao descentralizada de electrici-dade, mais concretamente de um aproveitamento hıdrico depequena dimensao. O principal objectivo deste documentoe efectuar uma abordagem dos principais aspectos que inte-gram a implementacao de um aproveitamento hidroelectrico.Apos um estudo previo de questoes tecnicas e economicas re-lacionadas, foi proposto um caso de estudo cujo objectivo se-ria analisar e avaliar a viabilidade da implementacao de umacentral mini-hıdrica num determinado afluente, com o objec-tivo de vender energia electrica a rede, para isto, foi necessariofazer uma estimativa da energia produzıvel para posterior-mente proceder a analise economica do investimento. Parauma maior compreensao da remuneracao e legislacao refe-rente a producao de energia electrica a partir de fontes re-novaveis e feita uma breve abordagem ao Dec. Lei no225/2007.

Keywords – Production, Electricity, Renewable

Palavras chave – Producao, Electricidade, Renovaveis

I. PRODUCAO DESCENTRALIZADA DE ELECTRICIDADE

Cada vez mais a uniao europeia esta a ficar dependentedos seus fornecedores de energia, e estima-se um cresci-mento que ira dos actuais 50% para 70% nos proximos 2030 anos. Abrangendo um vasto leque de tecnologias, in-cluindo muitas renovaveis, produzir-se-ao pequenos valo-res de potencia em locais perto de centros de consumo. Aproducao local minimiza perdas de transporte, bem comoos custos associados de transmissao e distribuicao, onde oscustos referidos representam uma grande parte do custo to-tal de electricidade. Com o aumento da procura de energiaelectrica e de melhor qualidade, a producao descentralizadapodera proporcionar varias alternativas fiaveis e economi-camente viaveis para residencias e empresas. Pode pro-

porcionar tambem aos clientes continuidade e fiabilidadedo fornecimento, quando ocorre a falta de electricidade emcasa ou na vizinhanca, devido a possibilidade de restabele-cimento em um curto espaco de tempo. [14]

A. Situacao energetica nacional

Em comparacao com a uniao europeia, a situacaoenergetica em Portugal, e ainda mais preocupante, dadoque por volta dos ultimos 10 anos o paıs aumentou o con-sumo de energia em 35%, a taxa de 55.3% ao ano e temsido um dos paıses mais dependentes de energia da uniaoeuropeia, importando cerca de 90% das respectivas ne-cessidades energeticas e duplicou o consumo de electrici-dade, a taxa de 6,3% ao ano [1]. Devido a importanciada promocao da electricidade a partir de fontes de energiarenovavel, o Parlamento Europeu e o Conselho da UniaoEuropeia aceitaram a directiva 2001/77/CE que estabeleceo aumento para 12% da quota do consumo interno bruto deenergia com origem em fontes renovaveis, no conjunto dospaıses da Comunidade Europeia, bem como o aumento para22,1% da quota de electricidade produzida a partir de fontesde energia renovaveis, ate 2010. Relativamente a Portugal,a meta e de 39% da energia consumida, sendo posterior-mente estabelecido que em 2010 esta meta de 39% definidana directiva sera superada para 45%.

Fig. 1METAS A ATINGIR EM 2010 [5]

B. Dec-Lei no255/2007

Em 2007 a remunerarao da producao em regime especialsofre uma nova alteracao com o Decreto-Lei n.o 225/2007[6] (alteracao ao Anexo II do Decreto-Lei n.o 189/88, de 27de Maio) e respectiva rectificacao “Rectificada no71/2007”[8]. A Resolucao do Conselho de Ministros 169/2005, de24 de Outubro vem estabelecer varias medidas para a ener-gia na area das energias renovaveis, a avaliacao dos criterios

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

24 RUI MAGALHAES [23168]

de remuneracao da electricidade produzida tendo em contaas especificidades tecnologicas e criterios ambientais, avalorizacao da biomassa florestal e a agilizacao dos meca-nismos de licenciamento. Por outro lado o Programa Naci-onal para as Alteracoes Climaticas (PNAC 2006), reforca aaposta na promocao da producao de electricidade a partir defontes de energia renovavel devido ao facto de contribuempara a reducao de emissoes de gases com efeito de estufa(GEE) associados ao sistema electroprodutor.

C. Receitas

Para calcular a receita bruta proveniente da venda de ener-gia electrica e necessario calcular o preco que a REN pagaaos produtores renovaveis por cada kWh injectado por elesna rede. A forma de estabelecimento dessa remuneracaoe fixada pelo Governo (Dec. Lei no225/2007). Esta tarifae baseada num somatorio de parcelas que contemplam oscustos evitados pelo Sistema Electrico de AbastecimentoPublico (SEP) com a entrada em funcionamento dos PRE-R(Producao em Regime Especial de Renovaveis) e benefıciosambientais proporcionados pelo uso de energias limpas.

• Remuneracao de energia com origem em fontes re-novaveis: O Dec-Lei no 225/2007 estabelece aformula de calculo da remuneracao mensal da energiaentregue a rede publica pelos PRE-R.

V RDm = [KMHOm× (PF (V RD))m (1)

+PA(V RD)m× Z] × IPC(m-1)IPCref × 1

1−LEV

Onde:

1. VRDm -Remuneracao mensal aplicavel a centrais nomes m.

2. KMHOm -Coeficiente facultativo que modula os va-lores de VDRm em funcao do posto horario em que aenergia tenha sido fornecida.

3. PF(VRD)m -Parcela fixa de remuneracao aplicavel acentrais renovaveis no mes m.

4. PV(VRD)m -Parcela ambiental de remuneracaoaplicavel a centrais renovaveis no mes m.

5. Z -Coeficiente adimensional que traduz as carac-terısticas especificas do recurso, e da tecnologia uti-lizada na instalacao.

6. IPCm-1 - Indice de precos no consumidor semhabitacao no continente referente ao mes m-1.

7. IPCREF - Indice de precos no consumidor semhabitacao no continente referente ao mes anterior aoinicio do fornecimento de electricidade a rede pelacentral renovavel.

8. LEV -Representa as perdas nas redes de transporte edistribuicao evitadas pela central de energia renovavel.

O calculo das diferentes parcelas que constituem a equacao(1) pode ser feito recorrendo ao Dec. Lei no225/2007, ondeesta toda a informacao devidamente explicada para os dife-rentes aproveitamentos energeticos.

D. Mini-hıdricas

A designacao central “mini-hıdrica” e utilizada para clas-sificar os aproveitamentos hidroelectricos de potencia infe-rior a 10 MW. Este limite geralmente e usado para poder di-ferenciar as pequenas e grandes centrais hidroelectricas. Aspequenas centrais, devido ao seu diminuto impacto ambien-tal, sao consideradas centrais renovaveis,por outro lado,asgrandes centrais hidroelectricas, embora usem um recursorenovavel, produzem efeitos de grande impacto no ambi-ente, pelo que a sua classificacao como centrais renovaveisnao e muito aceite.Os aproveitamentos hidroelectricos representam a maiorparte das producao de electricidade a partir de fontes re-novaveis, (cerca de 84%), e de 13% da producao total deelectricidade na Uniao Europeia.Os regimes de funcionamento associados as Centrais Mini-Hıdricas sao essencialmente “fio de agua”, com capacidadede regularizacao reduzida, usando o fluxo natural do rio.As centrais Mini-Hıdricas podem ser classificadas segundoa potencia instalada ou relativamente a altura de queda.Para as Centrais Mini-Hıdricas utiliza-se a seguinteclassificacao recomendada pela UNIPEDE:

TABELA IDESIGNACAO DAS CENTRAIS RELATIVAMENTE A POTENCIA

Designacao P(MW)Micro central hidro electrica <0.5Mini central hidro electrica <2Pequena Central hidro-electrica <10

TABELA IIDESIGNACAO DAS CENTRAIS RELATIVAMENTE A ALTURA DA QUEDA.

Designacao MetrosBaixa queda 2-20Queda media 20-150Alta queda > 150

Na Figura 2 pode visualizar-se os elementos que constituemum aproveitamento hıdrico de pequena dimensao, assimcomo tambem pode ser observado nas seguintes figuras (fi-guras 2 3 e 4) as diferentes configuracoes de implementacaode centrais mini-hıdricas dependendo da altura de queda edo caudal.As centrais representadas na Figura 3 (no lado esquerdo)sao centrais de alta queda e que estao situadas longe da bar-ragem (esquerda), as centrais representadas na Figura 3 (nolado direito) sao centrais de alta queda mas que estao situa-das perto da barragem.Respectivamente as centrais representadas na Figura 4 (nolado esquerdo ) sao centrais de baixa queda em que a centralesta na propria barragem, por ultimo as centrais representa-das na Figura 4 (no lado direito) sao centrais igualmente debaixa queda mas neste caso a central esta situada longe dabarragem.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 25

Fig. 2REPRESENTACAO DE UMA CENTRAL MINI-HIDRICA E OS SEUS

COMPONENTES.

Fig. 3CENTRAL CON CANAL DE ADUCAO E CONDUTA

FORCADA(ESQUERDA), CENTRAL SO COM CONDUTA FORCADA

(DIREITA).[4]

Fig. 4CENTRAL ENCASTRADA NA BARRAGEM (ESQUERDA), CENTRAL SO

COM CANAL DE ADUCAO E CAMARA DE CARGA (DIREITA)[4].

E. Impactos vs. solucoes ambientais

1. Impactos ambientais:As alteracoes climaticas devido as excessivas emissoesde CO2 sao o principal desafio ambiental enfren-tado pela comunidade internacional, e as recentescatastrofes naturais assim como o aumento dos precosda energia tem ajudado a colocar uma maior atencao aeste assunto em todo o planeta.As energias renovaveis poderao ajudar a resolucao dosproblemas das alteracoes climaticas. Um GWh deelectricidade produzida por uma central mini-hıdrica,significa uma reducao de emissoes de 480 toneladas

de dioxido carbono para a atmosfera [3].Como fonte de energia renovavel, as pequenas cen-trais mini-hıdricas podem contribuir para a mitigacaodas alteracoes climaticas, de diversas maneiras:• E uma fonte de energia inesgotavel:

Ao contrario dos combustıveis fosseis em que aoferta e limitada. Sendo a energia hidroelectrica aprincipal fonte de energia renovavel da Europa e domundo.

• Nao produz emissoes de gases contributivos para oefeito de estufa.A energia hidroelectrica nao implica qualquer com-bustao, e portanto, nao liberta qualquer oxido paraa atmosfera, em particular, o dioxido de carbono -principal gas responsavel pelo aquecimento global.

Na Tabela III (ver proxima pagina) e possıvel visuali-zar, as emissoes a partir de uma pequena central hi-droelectrica de 1000 KW funcionando 4500 horas /ano, com as de outros tipos de centrais de producaoenergia electrica.Infelizmente, como em qualquer tecnologia, existe apossibilidade de alguns impactos negativos locais. Aidentificacao destes impactos e o desenvolvimento demedidas necessarias para a atenuacao dos mesmos saoum ponto extremamente importante na abordagem aum projecto deste tipo.

2. Solucoes ambientais:Estas solucoes servem para permitir prever o possıvelimpacto, se o houver, sobre a flora e a fauna locais epara definir as medidas que podem ser tomadas paraatenuar esse impacto, tais como:• Caudal ecologico:

Todos os aproveitamentos hidroelectricos de pe-quena escala, que originam um desvio no curso daagua, sao obrigados a assegurar um caudal mınimo,dependendo do caudal original do rio a jusante dainstalacao para garantia de projeccao do ecossis-tema existente.

• Canais de migracao para os peixes:Para a proteccao de zonas de pescas, sendo um focode grande interesse ambiental. O desenho de um ca-nal de migracao de peixes e um exercıcio muito es-pecıfico, exigindo a consideracao de um vasto con-junto de parametros e restricoes.

• Ruıdo e vibracoes:Para as novas instalacoes, se for integrada estapreocupacao no projecto de todo o sistema, in-cluindo a central hidroelectrica e acessorios, podemobter-se excelentes nıveis de reducao do ruıdo.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

26 RUI MAGALHAES [23168]

Petroleo Carvao Gas natural HıdricaDioxido de carbono (ton) 3000 3750 2250 0Oxido de azoto (ton) 3.7 0.6 2.2 0Dioxido de enxofre (ton) 4.5 4.5 0.02 0

TABELA IIIEMISSOES DE UMA CENTRAL MINI-HIDRICA.[10]

F. Opcoes tecnologicas

Os equipamentos de uma central mini-hıdrica que mais di-zem respeito a Engenharia Electrotecnica sao o gerador eas turbinas, as turbinas podem ser divididas em turbinas deimpulso (ou de accao) ou de reaccao, dependendo do seuprincıpio de operacao, no que diz respeito a geradores asprincipais opcoes tecnologias sao as conhecidas maquinassıncronas ou assıncronas.

• Turbinas:Os tres principais tipos de turbinas de impulso sao:Pelton, Turgo e Banki-Mitchell (ou de fluxo cruzado),sendo os principais tipos de turbinas de reaccao as tur-binas Helice e a sua variante designada por Kaplan,assim como tambem as turbinas Francis.

Fig. 5GRUPO GERADOR ASSOCIADO A UMA TURBINA FRANCIS(ESQUERDA)

E UMA TURBINA FRANCIS DE GRANDE DIMENSAO (DIREITA).[10]

• Geradores:O gerador sıncrono e escolhido normalmente quandoas condicoes de exploracao obrigam a que o geradorseja a nıvel tecnologico mais versatil, autonomo e comuma maior capacidade de producao de energia.O gerador assıncrono e normalmente a principal esco-lha em diversas situacoes devido as suas caracterısticasde fiabilidade, robustez e economia.

G. Avaliacao da producao energetica

A implementacao de uma central mini-hıdrica para aproducao de energia electrica requer, por parte dos investi-gadores a realizacao de uma minuciosa e detalhada analiseeconomica, onde o principal objectivo sera aumentar os be-nefıcios ao maximo e consequentemente diminuir os custosdo empreendimento, outro objectivo relevante e a necessi-dade de garantir a satisfacao dos consumos impostos pelarede.

• Modelo simplificadoPara analises previas simplificadas, tendo em vista aestimacao da potencia e do numero de grupos a insta-lar na fase de anteprojecto, e usual recorrer a criteriosmais simples, e, em geral, sao estas metodologias, usa-das nas fases iniciais do projecto, que se abordam nasequencia.

1. Potencia nominal:Para instalacoes de mini-hidricas ligadas a redeelectrica, a primeira abordagem sera a instalacaode um unico grupo turbina/gerador. Recorrendo acurva de duracao de caudais, onde estao reflectidosos caudais medios referentes a varios anos de estu-dos, a turbina e dimensionada para um caudal no-minal turbinado igual ao que e excedido em cercade 15% (55 dias) a 40% (146 dias) dos dias em anomedio.Uma vez definido o caudal nominal a ser usado,e tendo conhecimento previo da altura de queda edo rendimento, entao a potencia electrica nominal ainstalar, Pn (W), e estimada pela equacao 2.

Pn = γ ×Qn ×Hb × ηc (2)

Na equacao 2, γ = 9.810 N/m3 e o peso volumicoda agua, Qn (m3/s) e o caudal nominal, Hb (m) ea altura de queda bruta - desnıvel entre montante ejusante - e ηc e o rendimento global de todo o apro-veitamento hidroelectrico.Uma expressao pratica, de calculo muito simplifi-cado, a usar para estimar a potencia nominal (emkW) instalada numa central mini-hıdrica e:

Pn = 7×Qn ×Hb (3)

A gama de potencias nominais dos equipamentosexistente no mercado e reduzida, pelo que a opcaose fara pelo grupo turbina/gerador, de entre os queo mercado oferece, cuja potencia nominal mais seaproxima do valor calculado.

2. Estimativa da energia produzidaO rendimento da turbina depende do caudal, peloque nas turbinas e fixada uma faixa admissıvel deoperacao em torno ao caudal nominal, sem variacaoapreciavel do rendimento. Fora desta faixa, a tur-bina e desligada, por insuficiencia de rendimento,por este motivo a turbina e escolhida para um deter-minado caudal nominal, que apenas se verificara emcerca de 20% a 30% dos dias, em ano medio, logoa turbina deve ser rigorosamente escolhida para ummaior aproveitamento da energia.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 27

Considerando que o rendimento global e a altura dequeda sao constantes, a energia produzıvel e pro-porcional a area de exploracao marcada na curva deduracao de caudais, podendo ser estimada atravesde:

Ea = 7×Hb× [(t1− t0)α2Qn +∫ t2

t1

Q(t)dt] (4)

3. Dois grupos Turbina/Gerador:O caudal nominal e a potencia nominal podem sersatisfeitos recorrendo a mais do que um grupo tur-bina/gerador. Cada grupo a mais permitira apro-veitar mais caudal afluente e aumentar a area deexploracao da central na curva de duracao de cau-dais, como sera visto no caso de estudo mais afrente.O caso mais simples consiste em ter dois gruposiguais, com reparticao de caudais entre turbinas se-gundo uma regra pre-fixada. O caudal maximo tur-binavel, QMT, e:

QMT =2∑

i=1

α2Qni (5)

Em que Qn e o caudal nominal de cada turbina.Nestas condicoes, a area de exploracao e acrescidade uma area adicional e mais energia pode ser pro-duzida. A energia electrica adicional produzıvel emano medio e:

Ea2 = 7×Hb ×∫ t3

t2

Q(t)dt (6)

H. Analise economica de investimentos

Na tematica de seleccao de projectos de investimentoabordam-se modelos de analise de viabilidade economica,de modo a que um agente de decisao possa ter em conta sedeve ou nao investir em determinado projecto ou se no casode existir mais do que uma opcao, saber qual sera a melhoropcao e tomar a decisao mais vantajosa.Como modelos de analise realcam-se o valor actual lıquido(VAL), taxa interna de rentabilidade (TIR), “Payback”(Perıodo de recuperacao do investimento).

• VAL:De uma forma muito sucinta, este modelo transportatodos os “cash-flows” anuais para uma data presente.Para o calculo do VAL entram todos os investimentos,todas as rendas componentes de exploracao (seja pa-gas ou recebidas) e ainda, se for o caso, a componentede desinvestimento (os valores residuais).O VAL pode ser calculado mediante a seguinte funcao:

V AL =n∑

j=1

Rlj

(1 + i)j− It (7)

Onde:Rlj -Receita lıquida do ano j.n -Vida util do projecto.It -Investimento total actualizado para o ano 0.

i -Taxa de actualizacao.Rlj = Rj-Cej com Rlj sendo a receita bruta no ano je Cej representa os custos de exploracao no ano j.No caso de se pretender interferir o valor residual dainstalacao no final da sua vida util, a expressao do VALsera:

V AL =n∑

j=1

Rlj

(1 + i)j− It +

VR

(1 + i)n(8)

Se o valor for positivo (VAL> 0), o projecto seraeconomicamente viavel, porque permite cobrir o in-vestimento. O caso em que VAL e nulo (VAL= 0),e o caso limite de investimento neutro, e um inves-timento em que o investidor ainda podera receber aremuneracao exigida, por ultimo, quando VAL e nega-tivo (VAL <0), o projecto considera-se a partida eco-nomicamente inviavel.• TIR:

Neste caso, parte-se dos fluxos lıquidos previstos paracalcular a taxa de actualizacao (ou rentabilidade) quetorna o VAL nulo, o TIR pode ser calculado da se-guinte forma:

n∑

j=1

Rlj

(1 + i)j− It = 0 (9)

A regra de aceitacao de um investimento segundo estemodelo implica que a TIR seja superior ao custo decapital (k) exigido pela empresa. Uma TIR inferiorlevara a recusa do investimento; uma TIR nula serasinonimo de indiferenca.

Regra DecisaoTIR > k AceitarTIR < k RegeitarTIR = k Indiferenca

TABELA IVREGRAS DE DECISAO DE ACORDO COM O TIR.

• Perıodo de recuperacao do investimento:Neste modelo o que se procura calcular e quantos anosdemora o projecto a pagar-se e a comecar a dar lucropara alem da remuneracao do custo de oportunidade.Isto acontece quando:

P∑

j=1

Rlj

(1 + i)j≥ It (10)

Onde, P e o perıodo de recuperacao do capital inves-tido.

O calculo dos indicadores atras referidos pode ser efectu-ado de uma forma simplificada, forma que foi usada paraa realizacao da analise economica do caso de estudo pro-posto:

V AL = RLka − It (11)c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

28 RUI MAGALHAES [23168]

RL

(1

TIR− 1TIR(1 + TIR)n

)− It = 0 (12)

P =ln

(1

( 1i−

ItRL

)×i

)

ln(1 + i)(13)

Onde RL e a receita considerada constante durante otempo de vida util do projecto, It e o investimento totalactualizado ao ano 0 e Ka e o factor de anuidade que tra-duz a soma da serie que define a actualizacao, podendo sercalculado pela formula seguinte:

ka =n∑

j=1

1(1 + i)j

=1i− 1i(i+ 1)n

(14)

II. CASO DE ESTUDO

Neste capıtulo sera feito o estudo da viabilidade de um pro-jecto de investimento referente a instalacao de uma centralmini-hıdrica para producao de energia electrica, para istoforam usados os modelos de analise (VAL,“PAYBACK” ouretorno do capital investido, TIR) anteriormente referidos.A mini-hıdrica sera construıda num local onde a altura brutade queda hb=50 m, o caudal de cheiaQc =3Qn, e a curva deduracao de caudais (Figura 6) pode ser aproximada pela ex-pressao analıtica seguinte, considerando t (dias) e Q (m3/s).

Q(t) = −5.48× ln(t) + 29.917 (15)

Fig. 6CURVA DE DURACAO DE CAUDAIS.

A. Calculo de energia produzıvel

1. Para um unico grupo turbina/gerador:Em primeiro lugar e necessario saber a potencia nominal dogrupo turbina/gerador a instalar, para isto tem de ser calcu-lado o caudal nominal Qn do rio onde se pretende instalara central mini-hıdrica.Neste caso, devido ao caudal medio anual ser um valormuito pequeno foi considerado que o caudal nominal Qn

e igual ao caudal excedido em 20% do caudal de todo o

ano, logo temos:20% de 365 dias = 73 diasQ(t)= -5.48 ln(t)+29.917⇔ Qn=6.4 m3/sObtido o Qn, e dada a altura bruta de queda hb = 50 m,pode ser determinada a potencia nominal do grupo tur-bina/gerador a instalar, atraves da Equacao (3):P = 7×6.4×50 = 2240KWPor consulta do catalogo das turbinas disponıveis no mer-cado constata-se que nao existe uma turbina para a potenciacalculada, logo deve ser escolhida uma turbina com valorsemelhante disponıvel no mercado, a turbina escolhida serade 2339KW, deste modo, para uma nova potencia a instalardeve ser corrigido o valor deQn atraves da Equacao (3) ob-tendo entao que o novo Qn=6.68 m3/s.Pela analise do grafico da Figura 7, foi decidido utilizar umaturbina Francis devido a altura de queda e pela sua grandeadaptabilidade para diferentes caudais, uma vez escolhida aturbina e necessario calcular os limites de exploracao da tur-bina Francis, sendo que os coeficientes de funcionamentode uma turbina Francis sao (0.3 < α1 < 0.4) e α2 = 1.15,logo utilizando as equacoes (16) e (17) obtiveram-se res-pectivos limites de exploracao:Qmin = 2.33m3/sQmax = 7.68m3/sQc = 20m3/s .

α1 =Qmin

Qn(16)

α2 =Qmax

Qn(17)

Os respectivos tempos (em dias) (t0, t1, t2) sao calculadosatraves da Equacao (15) em funcao dos nıveis de caudalcalculados anteriormente (Qc, Qmax, Qmin).Logo neste momento tem-se que:t0 = 6diast1 = 58diast2 = 153diasCalculados todos os valores, pode ser observado observar ografico de duracao de caudais turbinados ao longo do ano:

Fig. 7GRAFICO DE DURACAO DE CAUDAIS TURBINADOS AO LONGO DO

ANO.

Definidos todos os limites e caudais diarios turbinados,pode ser obtido o valor da energia produzida anualmente(Ea) atraves da equacao (4).

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 29

Fig. 8GRAFICO DE SELECCAO DE TURBINAS PARA CENTRAIS

MINI-HIDRICAS.

Ea = 7011853.8kWh⇔ Ea = 7GWhA utilizacao da potencia instalada neste caso sera:

ha =Ea

P(18)

ha = 2997horas

2. Para dois grupos turbina/gerador:Serao usados dois grupos de 1140kW pois das opcoesexistentes no mercado e a potencia mais proxima dadesejada quando comparada com a potencia equivalente auma unica turbina, A potencia a instalar sera entao 1140kWpor cada turbina, logo P = 1140kW, entao para uma novapotencia a instalar deve ser corrigido o valor de Qn, atravesda equacao(3) obtem-se:Qn = 3.26m3/sNeste caso so sera relevante calcular o Qmin pois cadaturbina pode trabalhar separadamente, logo ira trabalharpara um caudal nominal menor quando comparado comuma unica turbina do dobro da potencia, o limite de fun-cionamento superior Qmax sera o mesmo que o calculadono ponto anterior pois sao duas turbinas de potencia equi-valente a anterior, como tambem foram seleccionadas duasturbinas do tipo francis os coeficientes de funcionamentodas turbinas serao os mesmos que no ponto anterior, logoatraves da equacao (16) obtem-se o limite inferior docaudal turbinado.Qmin = α1 ×Qn ⇔ Qmin = 1.141m3/sOs respectivos tempos (em dias) que correspondem aos

limites de funcionamento calculados (t0, t1, t3) serao:t0 = 6diast1 = 58diast3 = 191diasCalculados todos os valores, pode-mos observar o graficode duracao de caudais turbinados ao longo do ano: Pode ser

Fig. 9GRAFICO DE DURACAO DE CAUDAIS TURBINADOS AO LONGO DO

ANO.

observado que com duas turbinas de metade da potencia,iremos ter mais dias de producao de energia, pois o caudalnominal mınimo e menor.Definidos todos os limites e caudais diarios turbinados,pode ser obtido o valor da energia produzida anualmente(Ea) atraves da equacao (4).Ea = 8567632.9kWh⇔ Ea = 8.5GWhA utilizacao da potencia instalada pode ser calculada pelaequacao (18):ha = 3758horas

B. Analise economica do investimento

1. Para um unico grupo turbina/gerador:No presente caso de estudo foram utilizados os seguintesvalores:

Investimento inicial . . . . . . . . . . . . . . . . . . . . . . . . . 3508500 eValor da energia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80e/MWhTaxa de actualizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7%Vida Util . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25anosCustos de O/M . . . . . . . . . . . . 1.5% do valor do investimentoEnergia anual produzida . . . . . . . . . . . . . . . . 7011853.8kWh

Para o estudo da viabilidade do investimento sao usadosos modelos anteriormente referidos (VAL, TIR, Perıodo derecuperacao do investimento):

• VAL:Atraves da equacao (14) obtem-se o valor para ka eseguidamente pode ser obtido o valor para o VAL apli-cando a equacao (11), deste modo temos:ka = 11.26VAL=2388015.5 e• TIR:

Aplicado a equacao (12) obtem-se o valor do TIR parac© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

30 RUI MAGALHAES [23168]

este investimento:TIR ∼= 14%• Perıodo de Recuperacao do Investimento:

Aplicando a equacao (13) obtem-se o numero de anosque serao necessarios para recuperar o capital inves-tido:P= 9.75 anos

2. Para dois grupos turbina/gerador:No presente caso de estudo foram utilizados os seguintesvalores para a hipotese da instalacao de dois grupos:

Investimento inicial . . . . . . . . . . . . . . . . . . . . . . . . . .3420000eValor da energia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80e/MWhTaxa de actualizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7%Vida Util . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25anosCustos de O/M . . . . . . . . . . . . 1.5% do valor do investimentoEnergia anual produzida . . . . . . . . . . . . . . . . 8567632.9kWh

Serao utilizados os mesmos modelos de analise inves-timento que no ponto anterior, deste modo sera possıvelobter conclusoes mais fiaveis de qual sera a melhorconfiguracao para este empreendimento:

• VAL:O valor para ka e o mesmo que do ponto anterior poisteremos os mesmos valores de taxa de actualizacaoe a mesma esperanca de vida, O valor para o VALobtem-se aplicando a equacao (11), deste modo temos:ka = 11.26VAL=3935683.3e• TIR:

Aplicado a equacao (12) obtem-se o valor do TIR paraeste investimento:TIR ∼= 18.3%• emphPerıodo de Recuperacao do Investimento:

Aplicando a equacao (13) obtem-se o numero de anosque serao necessarios para recuperar o capital inves-tido na hipotese de utilizacao de dois grupos tur-bina/gerador:P= 7 anos

III. CONCLUSOES

1. Respectivamente a energia produzidaNo presente caso de estudo podemos observar que doponto de vista da energia produzida seria vantajoso ainstalacao de dois grupos turbina/gerador com metadeda potencia.Se a central estiver equipada com dois grupos tur-bina/gerador, cada um com metade do caudal nominal,como pode ser observado na Figura 9 quando ambasturbinas estao em operacao e identico a operacao comuma unica turbina.Ja na zona de baixos caudais, quando apenas uma tur-bina esta a trabalhar, a producao de energia e substan-cialmente aumentada em relacao ao que se obtem coma turbina ”grande”. Esta situacao explica-se porque,para caudais baixos, a turbina de menor potencia fun-ciona numa zona de rendimentos mais elevados, ja queo seu caudal nominal e mais baixo, logo ira produzir

energia durante um numero de dias maior.Podendo concluir que existe um maior aproveitamentoda potencia instalada quando a central esta equipadacom dois grupos turbina/gerador (3758 horas), emrelacao a utilizacao da potencia instalada com umunico grupo turbina/gerador (2997 horas) isto reflecte-se numa maior producao de energia para dois gru-pos de turbina/gerador que ira produzir 8.5GWh emrelacao aos 7GWh produzidos quando instalado umunico grupo turbina/gerador (ver tabela V)

2. Da analise economica do investimentoA analise economica do investimento e feita recor-rendo aos modelos de analise anteriormente explica-dos e apos a comparacao dos resultados obtidos podeser classificado o projecto como sendo viavel ou nao.Do ponto de vista economico considera-se comocenarios economicamente viaveis, aquelas que con-seguem apresentar um retorno financeiro positivo(VAL>0), dentro do perıodo de vida util do projecto.Para ambas configuracoes, segundo os calculos efec-tuados anteriormente foi obtido um valor para o VAL(valor actualizado liquido) superior a zero, para a ener-gia produzida em cada situacao anteriormente calcu-lada, logo numa primeira abordagem ambos investi-mentos aparentemente seriam viaveis.Por este motivo e de grande importancia o resultadodos outros modelos de analise para poder tomar a de-cisao mais adequada. No que diz respeito ao TIR naoexiste nenhum valor de referencia acima do qual se-ria aceite o investimento por parte da empresa res-ponsavel, de todos modos podemos observar que paraa instalacao de um unico grupo turbina/gerador o TIRseria de 14%, e no caso da instalacao de dois gruposturbina/gerador o TIR seria de 18.3%, uma forma deentender a TIR, sera entende-la como o maximo custode capital que uma empresa poderia usar para um in-vestimento sem com isso prejudicar os seus accionis-tas/socios, deste modo dependendo do capital da em-presa do investimento, neste caso, o TIR poderia serum factor decisivo na escolha da configuracao maisadequada pois apresentam valores razoavelmente dis-tanciados.O ultimo modelo de analise utilizado foi o perıodode retorno do investimento ou “payback”, neste casoeste modelo pode ter grande relevancia pois ambos in-vestimentos a comparar possuem a mesma esperancade vida, se nao fosse esse o caso este modelo seriafundamentalmente usado como ındice de risco e naocomo factor decisivo de investimento, teriam maiorimportancia o VAL e TIR.Na hipotese da instalacao de um unico grupo tur-bina/gerador o perıodo de retorno do investimento se-ria de 9.75 anos, por outro lado, se forem instaladosdois grupos turbina/gerador o perıodo de retorno doinvestimento seria de 7 anos.Neste caso de estudo am-bos investimentos possuem a mesma esperanca de vidae retornos de investimento com valores diferentes, mo-tivo pelo qual o ”payback”seria um factor importantena escolha da melhor configuracao.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 31

Uma vez comparados todos os resultados pode serconcluıdo que seria vantajoso a instalacao de dois gru-pos turbina gerador por varios motivos, foi obtidoum VAL e TIR superior, logo o investimento apa-rentemente seria mais fiavel, por assim como o in-vestimento inicial seria menor e o retorno do inves-timento seria mais rapido, podendo comecar a obterlucros 3 anos mais cedo quando comparado com a ou-tra hipotese, os resultados podem ser observados naTabela VI para uma melhor comparacao.

Pode-se concluir que numa primeira abordagem a segundahipotese (utilizacao de dois grupos turbina/gerador) seriavantajosa tanto a nıvel de producao energetica como doponto de vista economico. Uma futura abordagem, parater um numero maior de pontos de comparacao, sera arealizacao do estudo para situacoes com turbinas de dife-rentes tipos ou diferentes potencias.E de salientar que este estudo efectuado e uma aborda-gem muito superficial da viabilidade do investimento, parauma maior precisao e fiabilidade seria necessario recorrera softwares especıficos de simulacao (por exemplo HO-MER) onde poderiam ser considerados todos os factoresnecessarios para obter uma resposta segura.

Um grupo Dois gruposE.Profuzida (kWh) 7011853.8 8567632.9Aproveitamento (horas) 2997 3758

TABELA VTABELA COMPARATIVA DO PONTO DE VISTA DA ENERGIA

PRODUZIDA.

Um grupo Dois gruposVALe 2388015.5 3935683.3TIR (%) 14 18.3”PAYBACK”(anos) 9.75 7INV. Iniciale 3508500 3420000

TABELA VITABELA COMPARATIVA DO PONTO DE VISTA ECONOMICO.

BIBLIOGRAFIA

[1] Associacao portuguesa de energias renovaveis [online],www.apren.pt. Technical report.

[2] Converter applications in future european electricity network. Tech-nical report.

[3] Thematic network on small hydropower project. Technical report.[4] Association, the british hydropower-a guide to uk mini-hydro. Tech-

nical report, 2001.[5] Barreto-seminario apren - aposta nas energias renovaveis. Technical

report, 2007.[6] Decreto - lei n. 225/2007. Technical report, 2007.[7] Decreto - lei n. 363/2007. Technical report, 2007.[8] Rectificacao n. 71/2007. Technical report, 2007.[9] Renovaveis em crescimeto. INGENIUM., 105(3):15–18, 2008.[10] Cristina Camus and Eduardo. EusA c©bio. Energia Mini-Hidrica.

PhD thesis, GestA£o de Energia-Lisboa, 2006.[11] Rui M.G. Castro. Condicoes Tecnicas da Ligacao da Producao

Descentralizada Renovavel. UNIVERSIDADE TECNICA DE LIS-BOA, energias renovaveis e producao descentralizada edition, 2004.

[12] Rui M.G Castro. Energias Renovaveis e Producao Descentralizada-INTRODUCAO A ENERGIA MINI-HIDRICA. UNIVERSIDADETECNICA DE LISBOA, 2008.

[13] Joao Pedro do Couto Pinto da Rocha. Metodologia de projecto desistemas de produA§A£o de electricidade descentralizada baseadosem energia hidrica. PhD thesis, FEUP, 2008.

[14] European Commission Directorate J. Converter Applications in Fu-ture European Electricity Network. Energy, deliverable d2.1 edition.

[15] Joao Pedro Rocha. Metodologia de projecto de sistemas de producaode electricidade descentralizada baseados em Energia Hidrica. PhDthesis, FEUP, 2008.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 33

Conducao Autonoma de Veıculos − ConducaoP0909

Mario Rui Magalhaes da Rocha Baptista, [email protected]

Abstract – With the increased processing capacity of com-puters and drastic reduction in the price of hardware has in-creased significantly in the research area of computer vision,with direct repercussions on the ability to interpret the se-quences of images and the area of driving automatic vehicles(AVG) . The proposal brought forth in this paper is that ofa model for employing computer vision in guidance of AVGvehicles. This model is based on a moving camera, withinthe boundaries of the active and purposive vision paradigm.The lane-detection method locates the lane in a single image.The lane-following method finds the middle of the lane in a se-quence of images, in real-time, and moves the camera, in orderto keep the lane centered in the follower frame.

Resumo – Com o aumento da capacidade de processamentodos computadores e reducao drastica dos precos do hard-ware, aumentou significativamente a investigacao na area davisao por computador, com reflexos directos na capacidadede interpretacao das sequencias de imagens e na area daconducao automatica de veıculos (AVG). Propoe-se neste ar-tigo o metodo de deteccao da faixa de rodagem (FR) que per-mite localizar uma FR fazendo a analise de imagens soltas. Ometodo de seguimento da FR localiza o centro da FR numasequencia de imagens e move a camara de forma a manter aFR enquadrada no campo de visao.

Keywords – Computer Vision, Automatic Vehicle Guidance,Lane Detection.

Palavras chave – Visao por Computador, Conducao Au-tomatica de Veıculos, Deteccao Faixa de Rodagem.

I. INTRODUCAO

A conducao automatica de veıculos, AVG (AutomaticVehicle Guidance), tem sido explorada a decadas. E ne-cessario a realizacao de tarefas tais como o seguimento daestrada, a manutencao do veıculo dentro da faixa de roda-gem adequada, a deteccao de obstaculos e a prevencao decolisoes.Imitar a conducao feita por humanos atraves de um meio

automatico e importante, pois elimina o impacto provocadopelos erros humanos, reduzindo assim o numero de aciden-tes rodoviarios, diminuindo as perdas humanas. O numerode veıculos a circular nas estradas aumentaria significati-vamente, a reducao de elementos tais como a poluicao econsumo de combustıveis em detrimento de funcionaremem regimes optimizados.A conducao baseada em visao por computador, por ser um

meio muito poderoso para adquirir um elevado volume deinformacao e manipular informacao sobre o ambiente es-truturado. As camaras tem um funcionamento nao invasivo,

i.e. nao provocam interferencias entre si. Com o aumentode processamento dos computadores e reducao dos precosde hardware, a investigacao na area de visao por computa-dor tem vindo a aumentar. Este trabalho tem como principalobjectivo manter a faixa de rodagem enquadrada no planoda imagem. A utilizacao de uma camara movel tem van-tagens e desvantagens quando comparavel a uma ou maiscamaras fixas. Este trabalho baseia-se na abordagem deA.Cunha [1] que propoe a utilizacao de uma camara movelno contexto da conducao automatica de veıculos baseadaem visao dentro dos pressupostos do paradigma da visaoactiva e intencional. Sao os seguintes os principais objecti-vos:

• A aplicacao de uma camara movel a conducao deveıculos autoguiados;• Estudar o algoritmo proposto para o metodo de

deteccao e seguimento da faixa de rodagem (FR) comcamara movel;• Testar o algoritmo;• Optimizacao do algoritmo.

II. DESENVOLVIMENTO

A. Exemplo de projectos existentes

Actualmente, na Carnegie Mellon University [2], Pitts-burgh, USA tem desenvolvido sistemas de percepcao doveıculo, em particular para os sensores de curto alcance,que captam imagens a volta do veıculo de forma a permitiruma conducao segura [3]. O veıculo encontra-se equipadocom inumeros sensores de movimento (GPS, bussola, in-clinometro, odometro diferencial), seis camaras de vıdeo(tres apontadas para a frente, uma em cada lado apontadaspara o chao e em uma em cima apontada para a frente), sen-sores radar (tres Stick single-axis scanning laser rangefin-ders montadas em varias posicoes, normalmente um a apon-tar para frente, e dois a apontar para os lados). O sistemadispoe ainda de cinco computadores Pentium 500Mhz, umsistema de sincronizacao temporal de alta precisao, soft-ware para analise de cada sensor em separado, de um sis-tema baseado no mapa da fusao dos sensores e um mo-delo de previsao baseado em probabilidades. O sistema depercepcao para evitar a colisao e conduzir o veıculo foi de-monstrado no veıculo Navlab 11, Figura 1 para monitori-zar a conducao de um veıculo atraves de ambiente desorde-nado urbano, detectando e seguindo objectos fixos, objectosmoveis, peoes, bermas dos passeios e estradas.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

34 MARIO BAPTISTA [12537]

Fig. 1VEICULO AUTOMATICO NAVLAB 11

B. Deteccao e seguimento da FR

Kastrinaki [4] classificou as aproximacoes de deteccao au-tomatica de FR, em tres grupos:

• Deteccao da regiao da FR (Lane-region detec-tion): Estas aproximacoes classificam os pixels comopertencentes ou nao a estrada. Utilizam tecnicasde extraccao de caracterısticas (feature extration),reducao e descorrelacao de caracterısticas (feature de-correlation and reduction), agrupamentos (clustering)e segmentacao (segmentation). Para a segmentacao deestradas usam as caracterısticas de cor e a textura;• Aproximacao orientada aos detalhes (Feature-

driven approaches): Baseia-se na deteccao de carac-terısticas e na sua organizacao em estruturas com sig-nificado (feature detection e feature agregation). Ascaracterısticas podem estar associadas a detectores decontornos horizontais e verticais atraves de operado-res morfologicos. E utilizada uma janela de procuralocalizada ao longo da posicao estimada da FR;• Aproximacao orientada aos modelos (Model-

driven approaches): Tem como objectivo fazer a cor-respondencia entre um modelo deformavel que definealgumas caracterısticas com a imagem observada. Efrequente a utilizacao de arcos para aproximar contor-nos de pavimentos e marcas de FR num plano liso deterra. Foram utilizados modelos de snakes e splines. Oconhecimento destes modelos permite prever em queponto de cada imagem as marcas da FR devem apare-cer, extraindo de cada um dos lados os elementos quea caracterizam.

.Por outro lado Bertozzi [5], classificou os pressupostos em

que se baseiam as aproximacoes mais comuns a deteccaoda FR em 4 grupos:

• Centro de atencao: Devido as restricoes fısicas e decontinuidade, o processamento de toda a imagem podeser substituıdo por analise especıfica de apenas uma

porcao de interesse da imagem, na qual a probabili-dade de encontrar o detalhe de interesse e maior. Es-trategia geralmente seguida, que pode ser adoptada as-sumindo um conhecimento antecipado do meio envol-vente;

• Largura de FR: Pressupondo de que a largura da FRe fixa ou varia suavemente, permite o melhoramentodo criterio de procura, limitando a procura a marcasde faixa quase paralelas;

• Forma da Estrada: A reconstrucao da geometria daestrada pode ser simplificada concentrando-se na suaforma;

• Conhecimento previo da superfıcie/inclinacao daestrada: O conhecimento da calibracao de umacamara especıfica aliado ao conhecimento da su-perfıcie/inclinacao da estrada (isto e, uma estrada lisasem lombas), pode ser explorado simplificando o ma-peamento entre pixels de imagens e os suas correspon-dentes coordenadas no mundo.

Destas classificacoes interessa conhecer a avaliacao do au-tor que traduz na enumeracao de pros e contras na tabela daFigura 2.

C. Sistema de conducao automatica

Durante o processo de conducao, seguir a estrada e funda-mental, sendo necessario localizar os limites da faixa de ro-dagem e localizar o veıculo face a faixa de rodagem. Exis-tem boas solucoes para a localizacao da faixa de rodagemem ambientes estruturados, que atraves de modelos comdescricoes geometricas das estradas utilizam algoritmos dedeteccao de linhas. Estes modelos consideram que os pri-meiros metros de estrada, a frente do veıculo, plana. Hano entanto aspectos desfavoraveis que impedem uma boadeteccao das linhas, como exemplo, a fraca manutencaoda estrada, as alteracoes de iluminacao, sombras, oclusaodas linhas devido a outros veıculos. Uma solucao para ocontrolo de veıculos autoguiados com base na analise desequencias de imagens em ambientes estruturados, recor-rendo a utilizacao de uma camara movel, apresenta-se naFigura 3 o diagrama geral proposto.

Fig. 3DIAGRAMA GERAL DO SISTEMA DE CONDUCAO AUTOMATICO

PROPOSTO [1].

Destaca-se o metodo para deteccao e seguimento dafaixa de rodagem (FR) que constitui o contributo para aelaboracao deste artigo.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 35

Fig. 2AVALIACAO DOS PROS E CONTRAS NOS CASOS DA DETECCAO DE FR [5].

• O subsistema de controlo do veıculo, tem como funci-onalidades o controlo da direccao do veıculo (posicio-namento do volante) e, eventualmente, a aceleracao edesaceleracao do veıculo;

• No subsistema de apoio a visao, incluiu-se o meca-nismo de orientacao da camara, o sistema de aquisicaode imagens (sincronizadas com a posicao) e o sistemaelectronico e de comunicacao que permite orientar acamara segundo a direccao mais conveniente em cadamomento;

• O subsistema de seguimento de estrada tem como ob-jectivo detectar e seguir os limites da faixa de roda-gem e detectar a presenca de obstaculos. A deteccao eo seguimento da faixa de rodagem sao obtidos atravesda localizacao da sinalizacao horizontal, atraves de li-nhas, continuas ou tracejadas, pintadas na superfıcieda estrada, de cor branca ou amarela, efectuada pelo”metodo de deteccao da FR”e pelo ”metodo de segui-mento de FR”. Estes metodos geram informacao sobreo centro e a posicao relativa do veıculo na faixa de ro-dagem.

C.1 ”Metodo de deteccao e seguimento da FR”

Os metodos tem como principal objectivo detectar e se-guir os limites da FR atraves da localizacao da sinalizacaohorizontal, pintada na superfıcie da estrada. O metodo dedeteccao da FR, determina a posicao do veıculo relativa aFR. Partindo desta posicao, o metodo de seguimento da FRprocura os pontos sobre as linhas de sinalizacao horizon-tal com base na analise de sequencias de imagens, adquiri-das com a camara movel e define uma nova direccao para

a camara, com base no centro da FR. Na Figura 4 temos oalgoritmo de interaccao entre os dois metodos.

Fig. 4ALGORITMO DE DETECCAO E SEGUIMENTO DA FR. [1]

O metodo de deteccao da FR analisa uma sequencia deimagens, imagem a imagem, ate identificar a posicao da

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

36 MARIO BAPTISTA [12537]

FR, e define a zona de interesse. Define-se uma zona deinteresse para processamento no sentido de reduzir a cargacomputacional, fazendo economia dos recursos. O metodode deteccao da FR adquire uma nova imagem e faz umaanalise da imagem toda, com o objectivo de localizar ospontos candidatos a pertencerem as linhas limitadoras daFR na imagem. Estes pontos sao analisados pelo processode localizacao da FR, que procura identificar a FR. Se adeteccao da FR nao tiver exito, repete-se o metodo, fa-zendo a aquisicao de uma nova imagem. Se a FR e iden-tificada com exito, define-se a zona de interesse de formaa ocupar uma area um pouco maior do que a zona onde foilocalizada a FR e inicializa-se o modelo da FR. Passa-separa o processo de deteccao da posicao do veıculo relati-vamente a FR onde se calcula o ponto centro da FR e oprocesso de determinacao da nova posicao da camara, combase no ponto centro da FR se determina a orientacao ade-quada para a camara. No metodo de seguimento da FR,faz-se aquisicao de uma nova imagem que e analisada nazona de interesse atraves da aplicacao do modelo da FR.Se o seguimento da FR tiver exito, prossegue-se a partirda determinacao da nova posicao da camara, caso contrariovolta-se ao metodo de deteccao da FR.O algoritmo implementado identifica os pontos candida-

tos, ou seja, pontos das linhas limitadoras da FR, atravesde uma analise do perfil de cada uma das linhas amostra-das. A analise de alguns parametros do histograma elimi-nam pontos mal identificados pelo processo anterior. Ospontos que satisfazem estas duas analises sao passados para”localizacao da FR”. As linhas sao analisadas umas separa-das das outras atraves de uma ”janela em analise”Figura 5.

Fig. 5PROCURA DE PONTOS SOBRE A LINHA - PERFIL DA LINHA. [1]

Em cada zona da linha verifica-se se o nıvel medio dos pi-xels esta dentro de um intervalo aceitavel, nao sendo muitoalto nem muito baixo. Se isto se verificar faz a binarizacaodos pixels. O nıvel de binarizacao deve variar entre o nıvelmedio e maximo. Para cada grupo de pixels diferentes dezero sao verificados os parametros de base esquerda, basedireita e largura para detectar a presenca ou nao de pontoscandidatos. O algoritmo e o seguinte:

• Calcula a media dos nıveis de cinzento da janela em

analise;• Verifica o nıvel medio. Se a media for muito alta

(acima do nıvel 220) ou se for muito baixa (abaixo donıvel 30), nao existe qualquer ponto na janela e passa-se para uma nova janela. Caso contrario, calcula-se onıvel de binarizacao;

• Binariza o sinal. Aos pontos com valor inferior aonıvel de binarizacao e-lhes atribuıdo o valor 0 e aosrestantes pontos e-lhes atribuıdo o valor 255.

• Calcula os pontos centrais para todos os grupos de pi-xels diferente de zero, resultantes da binarizacao.

• Considera os pontos centrais obtidos como pontospossıveis sobre a linha branca desde que obedecam aosseguintes criterios:A sua largura esteja compreendida entre a larguramaxima e a largura mınima;A base direita e a base esquerda sejam iguais ou supe-riores a base mınima.

• Retorna para processar uma nova janela em analise.

A Figura 5, mostra uma binarizacao de tres pontos candi-datos a analisar. O primeiro e ignorado, menor que a larguramınima. O segundo e considerado, satisfaz as condicoes delargura, da base esquerda e direita, por isso e um ponto so-bre a linha. O terceiro e ignorado, nao tem base direita eultrapassa a largura maxima. Terminado o processamentode todas as janelas em analise, os pontos obtidos formam ovector, utilizados para a identificacao dos limites da FR.Nas zonas fora da estrada, com casas e edifıcios, ha linhas

com perfil que sao processadas e interpretadas como pon-tos candidatos. Neste sentido o ”perfil do histograma dalinha”agrupa os pixels em 5 grupos de 51 nıveis,Figura 6,com coeficientes maximos para cada grupo, que permite de-cidir se a linha contem pontos sobre as linhas da FR.

Fig. 6PROCURA DE PONTOS SOBRE A LINHA - PERFIL DO HISTOGRAMA. [1]

Apos se executar os algoritmos mencionados numa ima-gem, obtem-se o vector com os pontos candidatos a perten-cerem as linhas da FR.Finalmente para localizar a FR tira-se partido do facto de,

a FR poder ser representada por duas linhas rectas conver-gentes. Assim, o processo de identificacao das linhas limi-tadoras da FR termina com a filtragem dos pontos seleccio-nados, atraves das mascaras representadas na Figura 7.As mascaras tem 8 linhas de altura e procuram pontos

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 37

Fig. 7MASCARAS USADAS PARA FILTRAR O RUIDO. [1]

segundo as direccoes assinaladas a azul e limitadas pe-las linhas vermelhas. A primeira mascara procura pontosnas direccoes 0 e 10 e as mascaras seguintes procuram nadireccao 1 e 9, 2 e 8, ate a sexta mascara que procura nadireccao 5. Sao as orientacoes mais provaveis para as li-nhas limitadoras da FR, tendo em conta que a FR e limitadapor uma linha de cada lado. As mascaras sao aplicadas acada um dos pontos, no vertice inferior, e contados os pon-tos sobre cada uma das 10 direccoes, comecando-se pelospontos situados mais abaixo e a esquerda sucessivamenteda esquerda para a direita. A procura termina quando ospontos sao todos testados. Considera-se que a localizacaoda FR teve exito se for possıvel encontrar pelo menos duasrectas, que limitem a FR. Depois e inicializado o modelo daFR, representado na Figura 8.Este modelo e definido por duas sequencias de pontos que

definem os limites da FR a esquerda, dentro da zona es-querda e a direita, dentro da zona direita. Os pontos saomarcados na interseccao dos limites encontrados da FRcom as linhas amostradas representadas ponteado. Cadaponto tem um valor de vizinhanca d2 (marcado a cor roxa),que pode ficar mais estreito d1 (marcado a cor verde), seum ponto valido for encontrado no seu interior. Durante o

Fig. 8MODELO DA FR UTILIZADO NO METODO DE SEGUIMENTO DA FR. [1]

seguimento da FR os pontos do inıcio e fim da sequenciafuncionam como pontos sensores. Estao assinalados na Fi-gura 8 a tracejado na parte final das linhas limitadoras daFR. Se durante quatro imagens seguidas nao forem encon-trados pontos validos no par de pontos entre os tracejadosnas extremidades da sequencia de pontos, entao o pontosensor e desactivado e o ponto anterior passa a ponto sen-sor, permitindo reduzir o numero de pontos que define oslimites da FR. Inversamente, o ponto sensor avanca parao ponto seguinte, permitindo alongar os limites da FR. Osavancos dos pontos sensores ficam limitados a zona de in-teresse. Detectada a FR, o ponto ”centro”obtido, e con-siderado o ponto central da FR. O ponto ”centro”e usadocomo referencia para o posicionamento da camara, e a novaorientacao e calculada de forma a enquadrar a FR na ima-gem e consequentemente detectar mais pontos nos limitesda FR. Na Figura 9 apresenta-se, de forma esquematica, oprocesso para determinar a posicao da FR.

Fig. 9CALCULOS DA POSICAO DA FR [1].

O calculo do ponto ”centro”utiliza os pontos conhecidossobre as linhas limite. Para cada linha limite, calcula-seo seu ponto medio, obtendo-se o ponto Media esquerda eMedia direita. O ponto ”centro”e o obtido atraves do valor

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

38 MARIO BAPTISTA [12537]

medio destes dois pontos. A determinacao da nova posicaoda camara e entao efectuada com base no erro relativo entreas coordenadas X do centro da FR e do centro da imagem.Neste ponto o algoritmo passa para o ”Metodo de segui-mento da FR”. O sistema adquire uma imagem nova e pro-cessa analise da zona de interesse aplica o modelo da FR. AFR tem um deslocamento suave de imagem para imagem,pelo que a analise da imagem e efectuada no interior dazona esquerda e da zona direita, na vizinhanca dos pontosactivos do modelo da FR. Sao aplicados os criterios para de-tectar os pontos candidatos. O criterio perfil da linha e apli-cado na janela em analise com a dimensao da vizinhanca decada ponto e o criterio perfil do histograma da linha calculao histograma na vizinhanca de cada ponto activo. Os pontosque satisfazem os dois criterios sao considerados validos emarcados como activos. Sao detectados os limites da FR ea posicao do centro da FR.

C.2 Teste dos algoritmos

Para poder realizar os testes dos algoritmos propostos pro-cedi a instalacao do Microsoft Visual Studio C++ 6.0 numamaquina virtual com o Windows XP, visto a incompatibili-dade com o Windows Vista, e ferramentas para o processa-mento de imagem como o Microsoft Vision Software Deve-lopers Kit (VisSDK) e o Image Viewer e Analyser (DIVA).Na Figura 10, observa-se a aplicacao do criterio ”perfil delinha”numa sequencia de imagens real, utilizando o pro-grama IMG4 [1].

Fig. 10EXEMPLO DA APLICACAO ”PERFIL DA LINHA”.

A direita do perfil de cada linha, encontram-se os valoresutilizados para a aplicacao do criterio de linha, nomeada-mente o numero da linha na imagem, o valor maximo, ovalor medio e o valor do nıvel de binarizacao.Na Figura 11, pode observar-se a aplicacao do criterio ”per-fil do histograma”.A linha apresenta o maximo na cor 145 e uma distribuicao

nos grupos referidos de 21:12:64:1:0. Sendo assim , umavez que no primeiro grupo apresenta um valor superior a18%, a linha e rejeitada. Ja os outros, apresentam os valo-res dentro dos definidos na Figura 6, pelo que os pontos aıencontrados sao considerados pontos candidatos.

Fig. 11EXEMPLO DA APLICACAO ”PERFIL DO HISTOGRAMA”.

III. CONCLUSOES

O objectivo deste trabalho foi estudar as tecnicas de pro-cessamento de imagem utilizadas nos veıculos autoguiadosbaseados em visao por computador. Foram tambem pro-postos, o metodo de deteccao de FR, o metodo de segui-mento da FR, com base numa camara movel. Os metodosde deteccao e seguimento da faixa de rodagem localizamo centro da FR e movem a camara de forma a manter aFR devidamente enquadrada. Os algoritmos e codigo pre-viamente elaborados, foram executadas e testadas na totali-dade. De futuro, com a evolucao tecnologica e maior vari-edade de equipamentos, preve-se um melhoramento do sis-tema com a finalidade de contemplar as condicoes de am-biente e envolvente mais complexas tais como as condicoesde iluminacao (ex.noite), estradas com declives acentuadose marcacoes nao lineares. Pode-se ainda aspirar a deteccaoautomatica da sinalizacao de transito vertical, bem como decruzamentos. Uma grande evolucao seria a utilizacao demais do que uma camara movel para uma melhor deteccaodo espaco envolvente.

BIBLIOGRAFIA

[1] Antonio Manuel Trigueiros da Silva Cunha, “Sistema de controlo deveiculos autoguiados com base na analise de sequencias de imagens,em ambientes estruturados”, 2004.

[2] “Pagina web em http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/alv/www/navlabhomepage.html”, 2004.

[3] R. Aufrere, J. Gowdy, C. Mertz, C. Thorpe, C. Wang, e journal =Mechatronics year = 2003 volume = 13 pages = 1149–1161 T. Yata”,title = Perception for Collision Avoidance and Autonomous Driving,”.

[4] V. Kastrinaki, M. Zervakis, e K. Kalaitzakis, “A survey of video pro-cessing techniques for traffic applications”, Image and Vision Com-puting, vol. 21, pp. 359–381, 2003.

[5] B. Bertozzi, A. Broggi, M. Cellario, A. Fascioli, P. Lombardi, eM. Porta, “Artificial vision in road vehicles”, Proceedings of theIEEE a Special Issue on Visual Perception, vol. 90, pp. 1258–1271,2002.

Projecto em Engenharia Electrotecnica e de Computadores 2009

Análise Matemática I Análise Matemática IIÁlgebra Linear e Geometria Analítica Mecânica e Ondas

Química Sistemas DigitaisProgramação Algoritmia

Técnicas Laboratoriais em Electrotecnia Teoria dos CircuitosSeminário em Ciências da Electrotecnia e Laboratórios de Electrónica e Computação I

Computação

Análise Matemática Complementar Matemática Computacional Termodinâmica e Estrutura da Matéria Electromagnetismo e Óptica

Probabilidades e Estatística Programação por Objectos Arquitectura de Computadores Sistemas e Sinais

Electrónica I Electrónica IILaboratórios de Electrónica e Computação II Laboratórios de Electrónica e Computação III

Comunicação de Dados Fundamentos de TelecomunicaçõesSistemas Operativos Sistemas Eléctricos e de Energia

Electrónica de Potência Instrumentação e SensoresSistemas de Controlo Bases de Dados

Electrónica Digital Redes de ComputadoresGestão Industrial Projecto em Eng. Electrotécnica e de

Computadores

Processamento Digital de Sinal Energias Alternativas Sistemas de Microcontroladores Instalações Eléctricas

Aplicações e Serviços Web Robótica e Sistemas InteligentesMáquinas Eléctricas Microtecnologias

Automação industrial Engenharia de SoftwareMétodos de Optimização Gestão de Redes e Sistemas Distribuídos

Dissertação DissertaçãoOpção AOpção B

Ética e DeontologiaGestão de Projectos em Engenharia

Engenharia Electrotécnica

e de Computadoresbolognaprocess

Grau de Licenciado Grau de Mestre

321

21

Acreditado pela

Ordem dos Engenheiros

Protocolo de Estágios com

BOSCH

InovAÇÃO Consumer & Industrial

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 41

Conducao autonoma de veıculo - Deteccao de ObstaculosP0910

Eduardo Miguel Rocha Almeida Jesus Alfredo, [email protected]

Abstract – Since the 1980s, Intelligent Transportation Systemshave assumed an ever more important role in the economicgrowth of developed countries. Alongside them, there has beenan increase of research in related fields, such as Automatic Ve-hicle Guidance (AVG). This article starts by giving a brief re-view of techniques related to the detection of obstacles in selfguided vehicles.

Resumo – Desde a decada de 1980, os Sistemas Inteligentesde Transportes tem assumido um papel cada vez mais im-portante no crescimento economico dos paıses desenvolvidos.Junto com eles, tem havido um aumento da investigacao emareas afins, tais como Conducao Autonoma de Veıculos (AVG).Este artigo comeca por dar uma breve revisao das tecnicasrelacionadas com a deteccao de obstaculos em veıculos auto-guiados.

Keywords – Automatic Vehicle Guidance, Detection of Obsta-cles, Robotic

Palavras chave – Veıculos Auto-Guiados, Deteccao deObstaculos, Robotica

I. INTRODUCAO

A historia dos veıculos autonomos iniciou-se em 1977no Japao, com a construcao de um veıculo que conseguiaultrapassar os 32 km/h seguindo marcadores brancoscolocados num percurso especialmente construıdo. Masfoi a partir dos anos 80 que os Sistemas Inteligentes deTransportes assumiram a sua importancia no desenvolvi-mento das economias dos paıses industrializados atravesdo trabalho de Ernst Dickmmans e a Universidade deMunique, com a construcao de um robot baseado emsistemas de visao, construıdo sobre um Mercedes-Benz.Este conseguia atingir velocidades superiores a 96 km/hem estradas sem transito [1]. Por outro lado, o desenvolvi-mento tecnologico disponibilizou sensores e unidades deprocessamento, com melhor desempenho e a menor custo,que deram alento a investigacao na area da ConducaoAutomatica de Veıculos (AVG), aplicada em solucoescomo a visao por computador, com uma ou mais camarasfixas.A criacao e manutencao, nas estradas, de infra-estruturasde apoio a veıculos automaticos envolvem custos elevadosque so se justificam para tipos de transporte que se baseiemem rotas repetitivas e predeterminadas, como por exemploos transportes publicos e os robots industriais. A utilizacaode sensores nao invasivos, como os de visao, capazes derecolher informacao sobre as infra-estruturas da estrada,desde logo se mostrou adequado a aplicacoes deste tipo.Porem, a grande quantidade de informacao a processar

exige grande poder computacional. A partir de umaavaliacao crıtica da evolucao dos sistemas de AVG, propoe-se neste projecto um modelo de visao para a deteccao deobstaculos em veıculos auto-guiados baseado numa camaramovel, dentro dos pressupostos do paradigma da visaoactiva e intencional. O trabalho apresentado neste artigoteve como base trabalhos de investigacao anteriormenterealizados [2]. Com base neste modelo, sao propostos osseguintes objectivos:

- Fazer um estudo das tecnicas de deteccao de obstaculos.- Compreensao e execucao do algoritmo.- Optimizacao da aplicacao.

Este projecto e uma contribuicao que se mostra viavel,economica e possıvel de exploracao de futuro.

II. EXEMPLO DE PROJECTOS CONHECIDOS

O veıculo autonomo IV (Inteligente Vehicle) Japao [3], foidesenvolvido desde dos meados dos anos 70, possui um sis-tema de visao estereo para deteccao de obstaculos e um sis-tema dead reckoning para navegacao autonoma. A deteccaode obstaculos e efectuada em tempo real conseguindo de-tecta-los a distancias de 5 a 20 m com uma amplitude de40 graus. O princıpio de deteccao e o Paralaxe: quandoduas imagens de ambas as camaras sao comparadas as duasimagens do obstaculo sao identicas, excepto quanto a suaposicao dentro da imagem. Este veıculo conduziu autono-mamente a uma velocidade de cerca de 10 km/h enquantoevitava um obstaculo. O PVS (Personal Vehicle System)Japao [3], foi desenvolvido no final dos anos 80 e constituıaum sistema abrangente para teste de veıculos com base emvisao.O sistema de visao capturava as marcas da faixa de rodagem(FR) em ambos os lados, com base num algoritmo dedeteccao de linhas brancas. A medida que o veıculo eraguiado, o PVS tinha outro sistema de visao para deteccaode obstaculos com camara estereo que abrangia campo devisao de 20-25 m a frente do veıculo. O PVS conduziuautomaticamente ao longo de faixas de rodagem com cur-vas e cruzamentos, a velocidades entre 10 e 30 km/h, po-dendo atingir o maximo de 60km/h. O sistema AHVS (Au-tomated Highway Vehicle System) Japao [3], desenvolvidopela TOYOTA, utilizou uma unica camara para seguimentoda FR, com um algoritmo PD (Proportional Differential).O sistema de visao utilizava um algoritmo de deteccao decontornos identico ao do PVS para localizar a FR e, uti-lizava hardware especializado, era capaz de processar 10frames por segundo (f.p.s). em tempo real. O AHVS con-

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

42 EDUARDO ALFREDO [20963]

duziu a 50 km/h ao longo de uma FR com curvas suaves. OAlvin, ALV (Autonomous Land Vehicle), Estados Unidosda America, Figura 1, desenvolvido entre 1984 e 1990, pelaARPA (Advanced Research Project Agency).

Fig. 1VEICULO EXPERIMENTAL ALV, IMAGEM OBTIDA EM AIC

TIMELINE [4].

III. ESTUDO DOS METODOS DE DETECCAO DEOBSTACULOS

Kastrinaki [5] classificou as aproximacoes de deteccao deobstaculos com base nos metodos utilizados para isolar umobjecto relativamente a envolvente, uma so imagem ou umasequencia de imagens.

A. Binarizacao

Esta e uma tecnica de simples implementacao mas poucoeficiente, que e utilizada em imagens paradas e baseia-seno pressuposto que os veıculos sao objectos compactose com intensidades diferentes do fundo da imagem.Assim, fazendo-se a binarizacao das intensidades empequenas areas pode separar-se o veıculo do fundo. Estaaproximacao depende fortemente do nıvel de binarizacaoutilizado, o qual deve ser seleccionado apropriadamentepara um determinado veıculo e para o seu fundo.

B. Combinacao de multiplas grelhas de identificacao dezonas de interesse

E um metodo que dirige a atencao para regioes deinteresse, baseado em imagens multi-resolucao. Ometodo gera primeiro uma hierarquia de imagens comdiferentes resolucoes. Depois inicia uma procura deregioes, comecando na imagem com nıvel hierarquicosuperior. Objectos que diferem do seu fundo continuam adistinguir-se nas imagens com menos resolucao enquantoque o ruıdo e pequenas variacoes de intensidade tendema desaparecer a este nıvel. Por isso as imagens de baixaresolucao conseguem dirigir a atencao directamente paraos pixels que correspondem a esses objectos na imagem

inicial. Cada pixel de interesse e seleccionado de acordocom alguma funcao de interesse, que pode ser funcao dosvalores da intensidade dos pixels adjacentes, a forca doscontornos ou a sucessivas diferencas entre imagens paraanalise de movimento.

C. Deteccao com base em contornos - diferenciacao espa-cial

As aproximacoes nesta classe baseiam-se nas carac-terısticas dos contornos dos objectos. Podem aplicar-se aimagens soltas para detectar a estrutura dos contornos ouate a carros parados. Em cenas com trafego, os detectoresde contornos de uma forma geral assinala os veıculos comgrupos complexos de contornos enquanto que as areasde estrada resultam em relativamente menos contornosdetectados. Assim, a presenca dos veıculos pode serdetectada atraves da analise do histograma, que quantificaa presenca de contornos.

D. Assinaturas no espaco

Neste metodo de deteccao, o objecto a ser identificado(o veıculo), e descrito pelas suas caracterısticas (forma,dimensoes, luminosidade), que permitem a identificacao noseu ambiente. As assinaturas no espaco permitem tambema identificacao de uma imagem atraves de tecnicas decorrelacao e correspondencia de modelos (template match-ing), usando directamente a assinatura tıpica dos nıveisde cinzento dos veıculos. Apesar de alguma ineficienciadevida a sombras, a oclusoes, alteracoes de iluminacao ereflexoes fortes da luz nos veıculos, a deteccao de veıculospor este processo nao requer grandes esforcos computa-cionais, pelo que permite que os sistemas detectem e sigamde forma contınua a assinatura do padrao, em tempo-real.

E. Diferenca entre imagens de fundo

Este metodo baseia-se na obtencao de uma imagemprecisa do fundo (estrada) e usa-a para separar os objectosque se movem. A imagem pode ser obtida de formamanual, adquirindo uma imagem sem veıculos ou de-tectando automaticamente em tempo-real, formando umaimagem-media ou imagem-exponencial, matematicamentea partir das imagens sucessivas. A deteccao e obtidasubtraindo-se a imagem de referencia da imagem actual.Utiliza-se a binarizacao para avaliar a presenca/ausenciade um objecto em movimento. Alteracoes de iluminacaoe sobras podem provocar a necessidade de actualizar aimagem de referencia.

F. Diferenca entre imagens consecutivas

Este e o metodo mais imediato que faz desaparecer osobjectos imoveis preservando apenas os que se encontramem movimento, entre duas imagens sucessivas, tendo comoinconveniente que os objectos que se movem devagartambem desaparecem. Este processo e eficaz a detectarmovimento quando as alteracoes de textura relativamente a

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 43

envolvente, sao evidentes.

G. Assinatura no tempo

Este metodo codifica o perfil de um veıculo em movimentoem funcao do tempo. O perfil e processado em variasposicoes atraves da media das intensidades dentro de umapequena janela, em cada ponto de medida. A analise daassinatura no tempo e usada para determinar a presencaou ausencia de obstaculos. A assinatura no tempo daintensidade da luz em cada ponto e analisada atraves deum modelo de caracterısticas memorizado previamente eperiodicamente actualizado.

H. Associacao de caracterısticas e seguimento de objectos

Estas tecnicas podem ser aplicadas no espaco de car-acterısticas, para identificar um objecto ou para seguirpontos caracterısticos do objecto. Estas tecnicas saofrequentemente utilizadas para a deteccao de objectos deforma a melhorar a robustez e confianca, e para reduzir ataxa de falsas deteccoes.

I. Campo de fluxo optico

As aproximacoes nesta classe exploram o facto de quea aparencia de corpos rıgidos se altera pouco durante omovimento, enquanto que as grandes alteracoes ocorremnas zonas onde o objecto saiu ou entrou. O Fluxo opticocodifica os deslocamentos temporais observados nasestruturas em nıveis de cinzento, numa sequencia deimagens. Engloba, nao so os deslocamentos de pixelscomo os deslocamentos de estruturas da cena. De umaforma geral, foram propostos quatro tipos de processospara a estimacao do fluxo optico de forma eficiente:utilizando gradientes; utilizando correlacao; utilizandocaracterısticas; e utilizando metodos multi-grelha.

J. Movimento paralaxe

Quando a camara se move para a frente na direccao de umobjecto, a projeccao 2D no plano da imagem tambem semove relativamente ao sistema de coordenadas da imagem.Se um objecto se prolonga na vertical a partir do chao,as suas imagens movem-se de forma diferente do fundoe o movimento dos pontos do mesmo objecto aparecemdiferentes relativamente ao seu fundo, dependendo dadistancia ao plano de fundo. A esta diferenca chama-semovimento Paralax. Se o ambiente e limitado, por exemplonuma estrada plana, as diferencas observadas no vector-de-movimento podem ser utilizadas para caracterizar omovimento dos objectos.

K. Visao estereo

A disparidade entre pontos em duas imagens estereoesta relacionada com a distancia as camaras, em tresdimensoes. Para todos os pontos num mesmo plano, adisparidade obtida entre as duas imagens estereo e uma

funcao linear das coordenadas das imagens (equacao deHelmholtz). Esta relacao simplifica muito a computacaodas disparidades estereo. Pode ser utilizada para remapeara imagem da direita na da esquerda ou ambas as imagensno sistema de coordenadas da estrada, baseado nummodelo dado da estrada que esta a frente do veıculo,por exemplo um troco em linha recta e plano de estrada.Todos os pontos do plano do chao/solo aparecem comdisparidade nula, enquanto que as disparidades queaparecem indicam objectos acima do plano do solo epodem ser potenciais obstaculos. Uma operacao simplesde binarizacao pode ser usada para identificar essesobjectos - na imagem diferenca. Para alem da projeccaodas imagens no plano do chao a visao estereo pode serusada para a reconstrucao 3D do espaco a frente do veıculo.

L. Mapeamento inverso da perspectiva

Uma aproximacao promissora, em tempo real, para adeteccao de objectos a partir de imagens e remover oefeito de perspectiva inerente de uma imagem isolada ouimagens estereo. O efeito de perspectiva relaciona demodo diferente, pontos 3D do sistema de coordenadas daestrada (realidade) com pixels 2D no plano da imagem,dependendo da distancia a camara. Este efeito associadiferentes conteudos de informacao a diferentes pixels daimagem. Sendo assim, as marcas da estrada ou objectosdo mesmo tamanho, aparecem mais pequenos na imagem,a medida que se afastam do sistema de coordenadas dacamara. O mapeamento inverso da perspectiva, tem comoobjectivo inverter o efeito de perspectiva, forcando umadistribuicao homogenea de informacao dentro do plano daimagem. Para retirar o efeito de perspectiva e essencialconhecer a estrutura de aquisicao de imagem relativamenteas coordenadas da estrada (posicao da camara, orientacao,etc.) e geometria da estrada (assumindo que a estrada eplana, simplifica-se muito o problema). O mapeamentoinverso de perspectiva pode ser aplicado a visao estereo,fazendo o remapeamento em ambas as imagens, esquerdae direita, num domınio comum (estrada).

M. Modelacao 3D e mapeamento frontal

As classes de tecnicas baseadas em modelos, procuramresolver a tarefa de analise, procurando uma sınteseinteractiva, atraves do retorno da predicao de um erro (pre-diction error feedback) usando modelos espacio-temporaisda realidade. As aproximacoes baseadas em modelosutilizam um modelo de veıculo parametrizado em 3D tantopara caracterısticas da sua estrutura (forma) como do seumovimento. A mudanca de vistas dos objectos duranteo movimento proprio do veıculo, revela diferencas doaspecto da geometria 3D dos objectos e do ambiente queos rodeia. Torna-se obvio que o conhecimento da estruturado ambiente e a dinamica do movimento, sao componentesrelevantes da visao em tempo real. Num sistema com-putorizado os modelos genericos de objectos do mundoreal, podem ser guardados em estruturas tridimensionais,trazendo caracterısticas visıveis a diferentes posicoes

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

44 EDUARDO ALFREDO [20963]

espaciais relativas ao seu centro de gravidade. A partir dadinamica do movimento proprio, a posicao relativa de umveıculo em movimento e a sua camara pode ser inferido. Apartir deste conhecimento e aplicando as leis da projeccaofrontal (a qual e feita muito mais facilmente do que a in-versa), a posicao e orientacao das caracterısticas visuais naimagem, permitem que se estabeleca uma correspondenciacom a posicao e orientacao do modelo projectado.

Bertozzi [6] entende que os criterios de deteccao deobstaculos dependem, numa primeira analise, da definicaodos obstaculos em presenca. Neste sentido divide osobstaculos em dois grandes grupos, veıculo versus objec-tos genericos, como se pode observar na Figura 3.As tecnicas baseadas em fluxo optico requerem a analise

de sequencias de duas ou mais imagens; um vector 2D ecalculado no domınio da imagem, codificando as compo-nentes verticais e horizontais da velocidade de cada pixel.O resultado pode ser usado para o calculo do movimentoproprio, o qual em alguns sistemas, sao extraıdos directa-mente da odometria; os obstaculos podem ser detectados,analisando as diferencas entre o campo de velocidade es-perado e o campo de velocidade real. Por outro lado, oprocessamento de conjuntos de imagens nao-monocularesrequer a identificacao da correspondencia entre pixels dediferentes imagens: duas imagens no caso da visao estereoe tres imagens no caso da visao triocolar. A vantagem deanalisar imagens estereo em vez de sequencias monocularesesta na possibilidade de detectar directamente a presenca deobstaculos, os quais, no caso das aproximacoes baseadasem fluxo optico, e indirectamente derivado da analise docampo de velocidades. No entanto, em condicoes limitesem que o veıculo e os obstaculos tem velocidade proximasde zero, as aproximacoes de fluxo optico falham, enquantoque a analise de sequencias monoculares continua a poderdetectar os obstaculos. A tabela da Figura 2 apresenta ospontos fortes e fracos das diferentes aproximacoes para adeteccao de obstaculos.

Fig. 3TECNICAS UTILIZADAS NA DETECCAO DE OBJECTOS, BASEADAS NA

DEFINICAO DE OBSTACULO, DIAGRAMA OBTIDO EM BERTOZZI [6].

IV. ALINHAMENTO DE IMAGENS

Na deteccao de obstaculos o alinhamento das imagenstem uma importancia primordial, uma vez que e com basenele que se obtem a percepcao das distancias entre osobjectos. E possıvel fazer o alinhamento automatico dasimagens se conhecer com precisao o valor do angulo derotacao, bastando para isso realizar uma vez uma operacaode calibracao simples.Para isso deve:

• Fazer-se a aquisicao de duas imagens com uma bandai diferente de zero, de forma a captar na banda umobjecto distante, registando-se o valor do sensor derotacao, Θ

• Alinhar as imagens, utilizando-se uma ferramentade processamento de imagem, com base no objectodistante registar o numero de pixels obtidos, pixels.Com base num novo valor de Θ lido no sensor (NovoΘ ) pode calcular-se o novo deslocamento em pixels(Novo valor em Pixels) atraves da expressao:

Novo valor em Pixels = Novo Θ / Θ * pixels

V. DETECCAO DE OBSTACULOS

O metodo estudado, tem como finalidade detectar qualquerobstaculo na zona frontal do veıculo accionando alertasaquando a sua deteccao. O funcionamento deste metodopassa pela interpretacao dos resultados obtidos na aplicacaoilustrada como exemplo na figura 4, tendo em conta oambiente estruturado. Dessas caracterısticas pode-se afir-mar que numa estrada plana, estamos perante dois cenarios:

Sem obstaculos:- Os pontos proximos da camara aparecem na parte inferiorda imagem.- A medida que se sobe na imagem a distancia aos pontosvai aumentando.

Com obstaculos:- Aparecem pontos anormalmente proximos da camarafora da zona inferior da imagem. O metodo de deteccaode obstaculos usa como referencia os valores de desalin-hamento obtidos numa cena sem obstaculos e compara-oscom os que obtem em cada momento, de acordo com o al-goritmo da figura 5:De acordo com este modelo, inicialmente adquirem-se

pares de imagens alinhadas por pontos longınquos de formaa obter bandas onde se pretende detectar a presenca deeventuais obstaculos. As bandas sao entao divididas emigual numero de segmentos de acordo com o grau de sen-sibilidade que se entender adequado. Cada um desses seg-mentos dao origem a outros segmentos nos pares de ima-gens, sendo posteriormente alinhados entre si de modo aserem calculados os desalinhamentos em relacao aos inici-ais. Os valores obtidos serao comparados com os desalin-hamentos da referencia. Quando os valores nao correspon-dem estamos perante um obstaculo.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 45

Fig. 2COMPARACAO DAS DIFERENTES APROXIMACOES PARA DETECCAO DE OBSTACULOS [6].

Fig. 4EXEMPLO DA APLICACAO

VI. CONCLUSOES

O objectivo deste artigo foi estudar todo o trabalho real-izado na tese de doutoramento do professor Antonio Cunha.Em jeito de complemento foi tambem feita uma pesquisasobre este assunto de modo a expor toda a ideia em re-dor dos veıculos auto-guiados com especial atencao a ma-teria da deteccao de obstaculos. Assim, apartir do algo-ritmo e codigo estudados, procedeu-se a sua execucao tes-tando todas as funcionalidades do software de deteccao deobstaculos. De futuro, com a evolucao tecnologica e maiorvariedade de equipamentos, preve-se um melhoramento dosistema com a finalidade de contemplar as condicoes de am-biente e envolvente mais complexas tais como as condicoesde iluminacao (ex. noite), estradas com declives acentuados

Fig. 5ALGORITMO PARA DETECCAO DE OBSTACULOS

e marcacoes nao lineares. Pode-se ainda aspirar a deteccaoautomatica da sinalizacao de transito vertical, bem como decruzamentos. Uma grande evolucao seria a utilizacao demais do que uma camara movel para uma melhor deteccaodo espaco envolvente. Por fim, devo referir que nao foipossıvel proceder a optimizacao da aplicacao ficando ape-nas pelo estudo e implementacao do algoritmo fornecido.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

46 EDUARDO ALFREDO [20963]

BIBLIOGRAFIA

[1] Joao Messias Marco Pinto, Joao Barroso, “Conducao automatica deautomoveis e veiculos pessoais”, Relatorio tecnico.

[2] Antonio Cunha, Controlo de Veiculos Autoguiados com Base naAnalise de Sequencias de Imagens, em Ambientes Estruturados,PhD thesis, UNIVERSIDADE DE TRAS-OS-MONTES E ALTODOURO, Vila Real, Portugal, 2004.

[3] edition = Second publisher = IEEE Transactions on Industrial Elec-tronics year = 1994 S. Tsugawa, title = Vision-Based Vehicles inJapan: Machine Vision Systems and Driving Control Systems.

[4] “Pagina web em http://www.ai.sri.com/timeline/”, 2003.[5] M. Zervakis e K. Kalaitzakis V. Kastrinaki, A Survey of Video Process-

ing Techniques for Traffic Applications, Image and Vision Computing,second edicao, 2003.

[6] M. Cellario A. Fascioli P. Lombardi e M. Porta B. Bertozzi, A. Broggi,Artificial Vision in Road Vehicles, Proceedings of the IEEE SpecialIssue on Visual Perception, second edicao, 2002.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 47

Identificacao Automatica de Produtos numa DespensaP0911

Luıs Filipe da Silva Ribeiro, [email protected]

Abstract – As part of creating a Management System of anIntelligent Pantry (SGDI), this article discusses the study andanalysis of Digital Image Processing (DIP), with the aim of de-veloping the module for an Automatic Identification of Prod-ucts in a Pantry. Addressed the theoretical principles on DIPas well the testing in practice whith the software tool, MatLaband especially its library Image Processing Toolbox, in the cre-ation of a descriptor based on color Product

Resumo – No ambito da criacao de um Sistema de Gestaode uma Despensa Inteligente (SGDI), este artigo aborda o es-tudo e analise do Processamento Digital de Imagem (PDI),com o intuito do desenvolvimento do modulo de IdentificacaoAutomatica de Produtos numa Despensa. Sao abordados osprincıpios teoricos em PDI como tambem a experimentacaopratica da ferramenta de software MatLab e em particulara sua biblioteca Image Processing Toolbox, na criacao de umdescritor com base na cor do Produto.

Keywords – DIP, MatLab, Colour

Palavras chave – PDI, MatLab, Cor

I. INTRODUCAO

O projecto de Sistema Gestao de uma Despensa Inteligente(SGDI) [1], a decorrer na UTAD, tem como objectivo aju-dar a fazer a gestao automatica dos produtos armazenadosnuma despensa e promover a sua acessibilidade, a pessoascom necessidades especiais. O SGDI e um sistema com-putacional para a gestao dos produtos armazenados na dis-pensa, do qual se destaca o modulo de entrada, ao qual esteprojecto se reporta, especificamente no desenvolvimento dosistema de Identificacao Automatica de Produtos numa De-spensa, usando Processamento Digital de Imagem.

Quando introduzido um produto, e feita a aquisicao de umaimagem digital ao mesmo. A imagem digital sera poste-riormente aplicada metodos de Processamento Digital deImagem (PDI) para formulacao de descritores que possi-bilitem identificar o produto pelas suas caracterısticas in-dividuais. Apos a identificacao do produto, este sera reg-istado na base de dados do sistema e de forma automaticaarmazenado na dispensa.

Este projecto tem como objectivo a elaboracao de algorit-mos capazes de formular descritores do produto mais conc-retamente um descritor relacionado com as caracterısticasda cor do produto, como tambem disponibilizar o estudo eresultado desse processo numa Wiki.

II. ESTUDO DO PROCESSAMENTO DIGITAL DEIMAGEM

Uma imagem pode ser representada como uma funcao aduas dimensoes f(x, y), em que x e y sao coordenadas noespaco, e a amplitude f , e a intensidade do nıvel de cinzano ponto (x, y), Fig. 1. Para tais valores finitos e discre-tos consideramos a imagem como uma imagem digital. OProcessamento Digital de Imagem (PDI), consiste nos pro-cessos e tecnicas de manipulacao de tais dados, nao so como objectivo de representacao final da imagem, mas comotambem a interpretacao e reconhecimento de padroes.

Fig. 1IMAGEM DIGITAL

O PDI recorre a tecnicas variadas como resolucaode imagens, filtros, histogramas e deteccoes de con-tornos, para resolucoes de problemas como transformacoesgeometricas, correccao de cor, brilho e contraste,segmentacao e reconhecimento de objectos. Tais aplicacoesde PDI podem ser encontradas em sistemas de recon-hecimento facial, processamento de imagens medicas eidentificacao de produtos numa dispensa.

A. Histograma

Uma forma possıvel para analisar uma imagem passa peloseu histograma. O histograma e uma representacao graficada frequencia com que os nıveis de cinzento aparecem [2],e pode ser definido como um vector que contem o numerode pixels de cada nıvel de cinzento (distribuicao tonal) deuma imagem digital. E construıdo colocando a variavel deinteresse no eixo horizontal, e a frequencia relativa ou per-centual no eixo vertical, como podemos ver no histogramada Fig. 2. A faixa tonal e a zona onde a maioria dos valorestonais se situam, e a sua variacao e paralela aos brilhos quese deseja transmitir de sombras, meios-tons e alta-luz.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

48 LUIS RIBEIRO [20476]

Fig. 2HISTOGRAMA

Por exemplo, uma imagem escura tera um histograma con-centrado perto da origem, enquanto que uma imagem comtons mais claros tera esse pico afastado da origem. Umaimagem com pouco contraste tera um histograma com ospixels concentrados em torno de uma frequencia enquantouma imagem com um elevado contraste tera um histogramacom um espalhamento dos pixels no eixo da frequencia.

B. Representacao das Cores

Ate agora tem-se referido a imagens monocromaticas,mas as imagem podem ser a cores e geralmente essarepresentacao e no formato RGB, Vermelho (Red), Verde(Green) e Azul (Blue) [2], Fig. 3. O formato RGB e umarepresentacao matricial tridimensional, L x C x Z, Fig. 4.Cada uma das matrizes Z e uma representacao da imagemnuma escala de cinzas, Fig. 5. A aditivacao das intensidadesde cinza das matrizes ZR, ZG e ZB de um determinadopixel reproduzem a cor nesse mesmo pixel.

Fig. 3REPRESENTACAO CARTESIANA DO MODELO RGB

Uma imagem RGB pode tambem ser indexada [2], e e

Fig. 4REPRESENTACAO MATRICIAL DA IMAGEM RGB (CORTESIA

GONZALEZ, WOODS E EDDINS)

Fig. 5IMAGEM A COR E EM CADA COMPONENTE RGB

composta por duas componentes: uma matriz de inteirose uma matriz (n x 3) do mapa de cores, Fig. 6. A matrizde inteiros funciona como apontador para o mapa de corese esse mapa, lista as n cores diferentes existentes na im-agem, em que cada linha sao representadas as componentesVermelho, Verde e Azul da determinada cor.Para alem das imagens em formato RGB (directamente

em imagens RGB ou indirectamente em mapas de cor noformato RGB) podemos representar a cor noutros formatoscomo o YIQ, o YcbCr, o CMY, o CMYK, o HSV.O modelo de cor YIQ e um modelo usado por sistemas

analogicos de televisao como o PAL (Phase AlternatingLine) e o NTSC (National Television System Commit-tee). Tem como principal vantagem a separacao entre aintensidade de cinzas e a informacao da cor, o que per-mite que o mesmo sinal seja usado por televisores a core monocromaticas. As componentes que formam o modeloYIQ sao a luminancia(Y), a matiz(I) e a saturacao(Q). Aluminancia fornece a informacao da intensidade de cinzasenquanto a matiz e a saturacao fornecem a informacao da

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 49

Fig. 6REPRESENTACAO DA IMAGEM INDEXADA (CORTESIA GONZALEZ,

WOODS E EDDINS)

cor. Uma conversao entre os formatos RGB e NTSC [2]pode ser feita atraves do sistema de equacoes (1).

YIQ

=

0, 299 0, 587 0, 1140, 596 −0, 274 −0, 3220, 211 −0, 523 0, 312

.

RGB

(1)

Relativamente ao modelo YCbCr, este e usado de formavasta em vıdeo digital. Neste formato a luminancia(Y) erepresentada numa unica componente, e a informacao dacor e representada por duas componentes, Cb e Cr. Cb e adiferenca entre a componente azul e um valor de referencia,e a componente Cr e a diferenca entre a componente ver-melha e um valor de referencia. Uma conversao do formatoRGB para YCbCr [2] pode ser feita atraves do sistema deequacoes (2).

YCbCr

=

16128128

+

5, 481 128, 553 24, 966−37, 797 −74, 203 112, 000112, 000 −93, 786 −18, 214

.

RGB

(2)

Outro modelo o CMY, algo semelhante ao modelo RGB,como se pode comparar na Fig. 7, e composto pelas compo-nentes Ciano (Cyan), Magenta (Magenta), Amarelo (Yel-low). O Ciano, o Magenta e o Amarelo sao cores se-cundarias da luz ou alternativamente as cores primariasda pigmentacao. Tal semelhanca entre RGB e CMYevidencia-se na facilidade de conversao entre modelos [2]atraves do sistema de equacoes(3).

CMY

=

111

RGB

(3)

Este modelo e usado maioritariamente pelas impressorase fotocopiadoras e teoricamente quantidades iguais das trespigmentacoes produzem o preto, mas tal nao se verifica,pois este e de certa forma fosco. Para se obter entao umpreto puro, adiciona-se uma quarta componente, o preto(Black), ou seja o CMYK.Ja o modelo HSV e um modelo que se destaca pela sua

aproximacao a experiencia da visao humana. O HSV e for-mado pelas componentes de matiz (Hue), saturacao (Sat-uration) e valor (Value), como se pode ver na Fig. 8, e emtermos analogos a pintura representariam respectivamente a

Fig. 7MODELO CMY VS. RGB

tinta, a sombra e tonalidade. O modelo HSV e baseado emcoordenadas cilındricas, e para converter de RGB para HSVe necessario estabelecer equacoes que convertam coorde-nadas cartesianas para coordenadas cilındricas [3], comopor exemplo as equacoes (5), apos a normalizacao de RGB(4).

Fig. 8REPRESENTACAO CONICA DO MODELO HSV (CORTESIA SAMUS UY

E MOONGATECLIMER)

r =R

R + G + B; g =

G

R + G + B; b =

B

R + G + B; (4)

HSV :

V = max(r, g, b)

S =

{0 if V = 0V − (min(r,g,b)

V if V > 0

H =

0 if S = 0

60·(g−b)S·V if V = r

60 ·[2 + (b−r)

S·V

]if V = g

60 ·[4 + (r−g)

S·V

]if V = b,

H = H + 360 if H < 0.

(5)

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

50 LUIS RIBEIRO [20476]

C. Filtros Espaciais

Tendo-se ja abordado a forma como a imagem e compostae tambem representada nos seus varios modelos de cor,avanca-se agora para a forma como esta pode ser manip-ulada. Uma forma de manipulacao, sao os Filtros Espaci-ais, que consistem no processamento dos pixels vizinhos deum determinado e definido ponto central, e a resposta de taloperacao para cada um dos pontos da imagem [2]. Recorrea um processo similar a DFT ( Transformada de Fourier nodomınio das frequencias ) mas em particular em operacoescom filtros que actuam directamente nos pixels da imagem.Um filtro estudado foi o Filtro Espacial Linear que consistena multiplicacao de cada um dos pixels vizinhos pelo coefi-ciente correspondente e a soma dos resultados para obter aresposta em cada ponto. Os coeficientes sao arranjados emmatrizes denominadas de filtros ou mascaras. A utilizacaode mascaras ımpares e preferıvel pelo seu ponto de centrounico, sendo a mais pequena a de 3x3. Estas mascaras saoaplicadas atraves da correlacao ou convolucao.Os Filtros Espaciais lineares sao uteis para a segmentacao

de imagem, ou seja, a subdivisao da imagem em regioes eobjectos, com o objectivo de extrair e isolar caracterısticasda propria. O metodo de segmentacao a utilizar varia con-soante a informacao a detectar. Os metodos seguintes saouteis para detectar descontinuidades de intensidade comopontos, linhas e contornos.

D. Deteccao de Pontos

A deteccao de pontos isolados em aereas de intensidadeconstante ou praticamente constante e simples, pois o pontotera uma mudanca drastica do valor de cinza em relacaoaos seus vizinhos. Usando uma mascara 3x3 , sera possıveldetectar um ponto quando |R| ≥ T [2]. R e a resposta damascara para qualquer ponto da imagem e e dado por (6).

w1 w2 w3

w4 w5 w6

w7 w8 w9

·

z1 z2 z3z4 z5 z6z7 z8 z9

=

= w1z1 + w2z2 + ...+ w9z9 =9∑

i=1

wizi (6)

Consideremos o exemplo da mascara(7), supondo que umvalor de threshold [limite] seja 20, e que a matriz 3x3 rep-resenta parte de uma determinada imagem(7). Desde queos valores de saıda anulem o valor central, e nao ultra-passem o valor de threshold, a imagem nao apresenta de-scontinuidade. Analisando a mascara de resposta(8) parao conjunto contınuo de pixels dados no exemplo, percebe-mos que neste caso o valor central da mascara e 16, e asoma de todos os pixels subtraıdo do valor central fornecezero como resposta. Como zero e um valor menor do que othreshold 20, o pixel central na imagem nao e um ponto dedescontinuidade.

mascara

−1 −1 −1−1 8 −1−1 −1 −1

imagem

2 2 22 2 22 2 2

(7)

resposta

−2 −2 −2−2 16 −2−2 −2 −2

(8)

Vejamos outro caso, no qual o valor central da resposta(10)e 64, a soma de todos os pixels subtraıdo do valor centralfornece um valor de 48 que e maior do que 20 (threshold),logo o pixel central na imagem(9) e um ponto de descon-tinuidade.

mascara

−1 −1 −1−1 8 −1−1 −1 −1

imagem

2 2 22 8 22 2 2

(9)

resposta

−2 −2 −2−2 64 −2−2 −2 −2

(10)

E. Deteccao de Linhas

A deteccao de linhas e um processo mais complicado, poise necessario encontrar os pixels que sao semelhantes e testa-los para verificar se sao parte de uma linha comum. Para de-tectar linhas em determinados angulos sao usadas mascarascom respostas superiores em direccoes correspondentes [2],como por exemplo as mascaras (11) e (12).

horizontal

−1 −1 −12 2 2−1 −1 −1

vertical

−1 2 −1−1 2 −1−1 2 −1

(11)

+ 45

−1 −1 2−1 2 −12 −1 −1

− 45

2 −1 −1−1 2 −1−1 −1 2

(12)

Sejam, R1, R2, R3 e R4 respectivamente as respostas dasmascaras anteriores, se um determinado ponto da imagem, |Ri| > |Rj |, para todos j 6= i, esse ponto diz-se ser,mais provavelmente associado a uma linha com a direccaoda mascara i. Isto e se, |Ri| > |Rj |, para j = 1, 2, 3, 4,diremos que provavelmente esta associado a uma linha hor-izontal.

F. Deteccao de Contornos

A deteccao de contornos e uma das tecnicas basicas uti-lizadas pela visao humana no reconhecimento de objectos.E o processo de localizacao e destaque dos pixels de con-torno, aumentado o contraste entre o contorno e o fundo.Contornos sao definidos como picos de magnitude do gradi-ente, ou seja, regioes da imagem onde ocorre uma mudancade intensidade num certo intervalo do espaco, segundo umadireccao [2]. Este tipo de descontinuidade e obtido atravesde um operador de derivada. Uma interpretacao de umaderivada seria a taxa de mudanca de uma funcao, e a taxade mudanca dos nıveis de cinza numa imagem e maior pertodos contornos e menor nas areas constantes. Se encontrar-mos os valores da intensidade da imagem onde a derivadatem um ponto maximo, entao teremos os contornos dessaimagem. Dado que as imagens sao em duas dimensoes,e importante considerar mudancas nos nıveis de cinza emmuitas direccoes. Por essa razao, as derivadas parciais dasimagens sao usadas, com as respectivas direccoes x e y.Uma estimativa da direccao actual do contorno pode serobtida atraves das derivadas x e y como as componentesda direccao ao longo dos eixos, e processar o vector soma.O operador envolvido e o gradiente, e se a imagem e vistacomo uma funcao de duas variaveis, f(x, y), entao o gradi-ente e definido como (14).

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 51

∇f =[Gx

Gy

]=[

∂f∂x∂f∂x

](13)

Alguns dos operadores de contornos existentes sao oRobert, Sobel, Prewitt, Canny, Laplacian of Gaussian(LoG) e o Zero Crossings [2]. O operador de Roberts e omais antigo e simples algoritmo de deteccao de contornos.Utiliza duas mascaras com uma matriz 2x2 para encontraras mudancas nas direccoes x e y. Para determinar onde opixel avaliado e ou nao um pixel de contorno, o gradientee obtido a partir de (14), e a direccao do gradiente do con-torno, perpendicular a direccao do contorno a partir de (15).

|G| =√G2

x +G2y

Gy

[0 1−1 0

]Gx

[1 00 −1

] (14)

α = tan−1(Gy

Gx) (15)

Se a magnitude calculada e maior do que o menor valorde entrada (definido de acordo com a natureza e qualidadeda imagem que esta ser processada), o pixel e consideradoparte de um contorno. O pequeno tamanho da mascara parao operador de Roberts torna o mesmo facil de se imple-mentar e rapido para calcular a mascara de resposta. Asrespostas sao muito sensıveis ao ruıdo na imagem.O operador de Sobel e praticamente igual ao de

Roberts, tendo como caracterısticas distintas a utilizacaode mascaras 3x3(15), o que o torna mesmos sensıvel aoruıdo; processamento de |G| mais mais complexo, sendona pratica |G| aproximadamente: |G| = |Gx| + |Gy|; re-sultados mais precisos quando comparados aos do metodode Roberts. Contrariamente, Prewitt e mais simples deimplementacao computacional comparado ao Sobel, masorigina resultados com mais ruıdo.

1 2 10 0 0−1 −2 −1

Gx

1 0 −12 0 −21 0 −1

(16)

O operador de contornos de Canny e um filtro deconvolucao f que uniformiza o ruıdo e localiza os con-tornos. O problema e identificar um filtro que optimize ostres criterios do detector de contornos [2].

1. Taxa de erro: o detector de contornos deveria detectartodos os contornos sem falhar nenhum;

2. Localizacao: a distancia entre os pixels de contornoencontrados pelo detector e o contorno actual deveriaser o menor possıvel;

3. Resposta: o detector de contornos nao deveria iden-tificar multiplos pixels de contorno onde exista umunico pixel.

Se considerarmos um contorno de uma dimensao variandono contraste, entao a convolucao entre o contorno com afuncao de uniformizacao de Gauss, resulta numa variacaocontınua do valor inicial ao final, com uma inclinacaomaxima no ponto onde existe um ”degrau”, Fig. 9. Se

esta continuidade e distinta em relacao a x, esta inclinacaomaxima sera o maximo da nova funcao em relacao a orig-inal. Os maximos da convolucao da mascara e da imagemindicam os contornos da imagem. Este processo pode serrealizado atraves do uso de uma funcao de Gauss de duasdimensoes na direccao de x e y. Os valores das mascarasde Gauss dependem da escolha do sigma na equacao. Aaproximacao do filtro de Canny para deteccao de contornose G′. A convolucao da imagem com G′ resulta numa im-agem que mostra os contornos, mesmo na presenca de ruıdo(17)(18).

G(x) =1√2πσ

e−x2σ (17)

(x) =1√2πσ

e−x2σ (18)

A intensidade computacional do operador de contornos deCanny e relativamente alta, e os resultados sao geralmentepos-processados para uma maior perceptibilidade. No en-tanto, o algoritmo e mais eficiente no processamento de im-agens com ruıdo ou com contornos difusos.

Fig. 9DETECCAO DE UM ”DEGRAU”COM O OPERADOR CANNY

Relativamente ao operador Laplacian of Gaussian (LoG),um maximo da primeira derivada ocorre a cada zero cross-ing da segunda derivada, Fig. 10. Para localizar contornoshorizontais e verticais procuramos a segunda derivada nasdireccoes de x e y. Tal resultado e obtido atraves do Lapla-ciano (19).

∇2I =∂I

∂x,∂I

∂y(19)

O operador Laplaciano detecta tanto contornos comoruıdo, e e por isso aconselhavel a aplicacao inicial de umfiltro Gaussiano a imagem. Depois da suavizacao aplica-seo operador Laplaciano, e como a convulcao e associativaaplica-se o resultado a imagem. O operador Laplacian ofGaussian (LoG) e simetrico. Contornos sao encontradosem todas as direccoes, diferente dos operadores que usama primeira derivada (que sao unidireccionais). O operadorZero Crossings e baseado no mesmo conceito do metodoLoG, mas a convulcao usa outro filtro especifico

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

52 LUIS RIBEIRO [20476]

Fig. 102A DERIVADA INDICA-NOS UM PIXEL DO CONTORNO

G. Binarizacao de Imagem

Para alem da segmentacao da imagem atraves de filtros es-paciais lineares para deteccao de pontos, linhas e contornos,existe um outro metodo, a Binarizacao. Este metodo con-siste num algoritmo, que passa para branco os pixels comvalores acima de um certo threshold [limite] e para preto ospixels iguais ou inferiores a esse threshold.

g(x, y) =

{1 if f(x, y) ≥ T0 if f(x, y) ≤ T

Uma tecnica usada para determinar esse threshold, con-siste em usar os pixels do canto da imagem, uma vez que,a probabilidade desses pixels conterem informacao e muitoreduzida. Uma outra possibilidade e atraves da analise dohistograma da imagem, Fig. 11, se reparar-mos este e con-stituıdo por dois picos, em que um representa a imagem e ooutro o fundo, pelo que o valor de threshold sera um valoroptimo entre esses dois, Fig. 12.

Fig. 11VALOR DE THRESHOLD

III. BIBLIOTECA IMAGE PROCESSING - MATLAB

As primeiras funcoes a conhecer sao a funcaoimread() [4] e a funcao imshow() [4], que nospermite respectivamente a leitura de uma imagem digital ea sua apresentacao, como se pode verificar na Fig. 13.

I = imread(’imagem.jpg’);imshow(I)

Fig. 12SEGMENTACAO DA AVE POR BINARIZACAO (CORTESIA

MATHWORKS)

A variavel I adquire os dados da imagem, e repre-sentara esses dados numa matriz de duas dimensoes semonocromatica (L x C), e tridimensional para imagens acores (L x C x 3).

Fig. 13APRESENTACAO DE UMA IMAGEM DIGITAL

Atraves da funcao imhist() [4] obtemos o histogramade uma imagem digital.

imhist(rgb2gray(I))

Como a funcao imhist() so nos indica os nıveis decinzento de uma imagem, para imagens a cores, seranecessario recorrer a funcao rgb2gray() [4] para con-verter para uma imagem monocromatica, e so depois apre-sentar o histograma, Fig. 14.Como visto anteriormente uma imagem a cores e geral-

mente representada no formato RGB, e e como tal umamatriz tridimensional. R, G, e B sao matrizes de duas di-mensoes correspondentes ao vermelho, verde e azul respec-tivamente. Para podermos manipular individualmente cadauma dessas componentes podemos recorrer ao seguinte al-goritmo:

R = I(:,:,1); G = I(:,:,2); B = I(:,:,3);

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 53

Fig. 14HISTOGRAMA DA IMAGEM DIGITAL

Se optarmos por outro modelo de cor para alem do RGB,sera necessario uma conversao previa entre formatos. Asvarias conversoes entre modelos pode ser observada naTab. I [4]

Funcao Conversaorgb2ntsc() RGB para NTSCrgb2ycbcr() RGB para YCbCrimcomplement() RGB para CMYrgb2hsv() RGB para HSV

TABELA ICONVERSOES ENTRE MODELOS DE COR

Um outro topico abordado foi a segmentacao de im-agem, para tal ha a reter as funcoes imfillter() [4],edge() [4] e im2bw() [4]. A funcao imfilter() eutil para a segmentacao atraves de filtros espacias linearesde pontos e linhas.

G=abs(imfilter(double(I),M))>=T;

A funcao imfilter() faz a segmentacao da imagemI, a partir da mascara M. O recurso a funcao double(),deve-se ao facto da funcao imfilter() converter os val-ores a saıda na mesma classe de entrada, para prevenirpossıvel truncatura de dados da classe unit8 e tambemporque a funcao abs(), que retorna os valores absolutos,nao aceita valores inteiros. Se o valor de threshold nao forfornecido, a funcao imfilter() atribui um, baseado nofiltro obtido. Relativamente a segmentacao de contornos elae obtida atraves da funcao edge() .

G=edge(I,’metodo’);

A funcao edge() suporta seis metodos diferentes para adeteccao de contornos (roberts, sobel, prewitt, canny, log,zerocross), e por defeito usa o metodo Sobel, Fig. 15. Fi-nalmente para a segmentacao atraves da binarizacao de umaimagem digital, usamos a funcao im2bw(). T e o valor dethreshold que definira os pixels que passaram para preto oubranco, Fig. 16.

G=im2bw(I,T);

Fig. 15SEGMENTACAO DE CONTORNO ATRAVES DO OPERADOR SOBEL

Fig. 16SEGMENTACAO POR BINARIZACAO

IV. ELABORACAO DA WIKI PDI

Pretendeu-se tambem na elaboracao deste projecto, criar-se conteudos para disponiblizar na Wiki Alunos da UTAD,o resultado do estudo em Processamento Digital de Imagemcomo tambem os seus metodos de implementacao recor-rendo a ferramenta de software MatLab. Os conteudossao em parte apresentados no artigo e sao complemen-tados com exemplos praticos. A wiki pode ser consul-tada em (https://alunos.wikis.utad.in/PDI/%C3%8Dndice).

V. INTRODUCAO A IDENTIFICACAO DE PRODUTOS

Com base no estudo efectuado, partiu-se para o objectivode identificar um produto com base na sua cor. Analisandoum histograma e possıvel verificar como a cor e distribuıdana imagem digital. Sendo a cor por defeito representada noformato RGB, e como esta nao separa a informacao da cor,da informacao da luminosidade, optou-se por usar o modelode cor HSV.Desta forma e apos decomposicao das componentes do

HSV sera possıvel detectar a partir da componente H(matiz)a gama de tons presentes. Como e possıvel ver na Fig. 17,apesar dos dois primeiros produtos serem iguais, existemtambem semelhancas entre o primeiro histograma e o ul-timo, isto deve-se ao histograma representar a componenteH da imagem completa.E portanto necessario destacar o produto do fundo, e

para tal sera necessario efectuar a segmentacao da im-agem. Das solucoes de segmentacao estudadas optou-sepela Binarizacao, pela sua simplicidade e bons resultadosna acentuacao do produto face ao fundo. Como se esta atrabalhar com o modelo de cor HSV, a Binarizcao e efec-

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

54 LUIS RIBEIRO [20476]

Fig. 17COMPARATIVO DOS HISTOGRAMAS DAS IMAGENS ORIGINAIS

tuada a partir da componente S(saturacao), pela suas carac-terısticas apresentar optimo contraste.Tendo agora uma ou mais regioes segmentadas, sera

necessario rotula-las, e a partir da maior regiao efectuar-se-a uma analise ao histograma. Para a rotulacao das regioesrecorreu-se a funcao bwlabel() [5], a qual retorna o numerode regioes, NUM, e uma matriz, L, de dimensoes identicasa imagem binarizada, BW, contendo os pontos da determi-nada regiao.

[L,NUM] = bwlabel(BW);

Uma funcao util para obter caracterısticas de uma regiao ea funcao regionprops() [5]. Esta funcao retorna informacaoda regiao como a area, centro da regiao, orientacao, e emparticular do nosso interesse, o ’BoundingBox’, que criao menor rectangulo possıvel capaz de envolver a regiao.Desta forma limitaremos a partir da ’BoundingBox’ a maiorregiao para uma posterior analise do histograma da im-agem, que sera o produto ou maioritariamente o produto,Fig. 18.

S=regionprops(L,’Area’,’BoundingBox’);

Fig. 18BOUNDINGBOX DOS PRODUTOS

Analisando o histograma na Fig. 19, e possıvel agora ver-ificar com mais clareza as caracterısticas da gama tonal eatraves de de um algoritmo concluir a semelhanca entre his-togramas.

Fig. 19COMPARATIVO DOS HISTOGRAMAS DAS IMAGENS SEGMENTADAS

VI. CONCLUSOES

A necessidade de conhecimento e pratica em PDI vota parao estudo dos seus princıpios teoricos, identificacao de di-versos metodos e algoritmos, para futura aplicacao pratica.Para o teste de tais algoritmos, o uso da ferramenta de soft-ware MatLab e sua biblioteca Image Processing Toolbox,requer tambem o estudo de alguma das suas funcoes e ca-pacidades. Por fim, com o objectivo de materializar tal es-tudo iniciou-se entao o desenvolvimento de um algoritmo,que seja capaz de identificar o produto pelas caracterısticasda sua cor. No artigo presente, constata-se a possibilidadede identificacao da cor atraves da analise do histograma. Ometodo usado e um metodo simples e de facil compreensao,util para iniciacao em PDI, e tal e pretendido quer atravesda leitura deste artigo como tambem a dos conteudos de-senvolvido para a Wiki Alunos. De futuro, e agora combases mais cimentadas e possıvel partir para um desenvolvi-mento de vocacao mais experimental e pratica, melhorar oactual algoritmo, como tambem criar novos descritores paraidentificacao das caracterısticas individuais do produto.

BIBLIOGRAFIA

[1] Paula Trigueiros Joao Barroso Jose Bulas-Cruz Jose Alves,Antonio Cunha, “Sistema de gestao inteligente de uma despensa”.

[2] Woods Gonzalez e Eddins, Digital Image Processing, Prentice Hall,2002.

[3] Ajoy K. Ray Tinku Acharya, Image Processing: Principles and Ap-plications, Wiley-Interscience, 2005.

[4] Woods Gonzalez e Eddins, Digital Image Processing Using Matlab,Prentice Hall, 2004.

[5] MathWorks, Image Processing Toolbox 6 - User Guide.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 55

ESTUDO E CARACTERIZCAO DE SISTEMAS ESTEREO DE VISAO PORCOMPUTADOR

P0912

Paulo Tavares Pereira(no23408)Paulo [email protected]

Abstract – This paper presents in a summarized form, a briefstudy of stereo systems and characterization of computer vi-sion. The analysis of several stereo systems with respect to itsfeatures in 3D, its usefulness in helping the blind to greater in-teraction and navigation in the real world and the techniquesof sensory substitution to serve as alternative communicationfor people of disability of vision. Computers, PDA are used forthe processing of stereo images to improve the accuracy of theparameters to be extracted.

Resumo – Este trabalho apresenta, de uma forma sinteti-zada, um breve estudo e caracterizacao de sistemas estereo devisao por computador. A analise de diversos sistemas estereosno que diz respeito a suas funcionalidades no domınio 3D,a sua utilidade no auxılio a pessoas cegas para uma maiorinteraccao e navegacao no mundo real, bem como as tecnicasde substituicao sensorial para servir de comunicacao alterna-tiva para pessoas portadoras de deficiencia de visao. Com-putadores, PDA sao utilizados para o processamento de im-agens estereo com o objectivo de melhorar a precisao dosparametros a serem extraıdos.Keywords – stereo; vision; blindPalavras chave – estereo; visao; cego

I. INTRODUCAO

1.1.ENQUADRAMENTOAndar em lugares desconhecidos e repletos de potenci-

ais obstaculos representa um risco para os deficientes vi-suais, que recorrem aos mais variados estrategias e dis-positivos para auxiliar na deteccao de obstaculos nas suasdeslocacoes no dia-a-dia. Normalmente, os deficientes vi-

suais recorrem a bengala e caes guia para auxilia-los na

deteccao dos obstaculos. O dispositivo mais comum e abengala que serve de ”detector remoto”de obstaculos per-mitindo assim ao cego a antecipacao dos seus movimen-tos com a finalidade de os evitar. No caso da bengala,podeser melhorado com a introducao de tecnologia mais sofisti-cada que permita resolver alguns dos problemas associados,nomeadamente:

• Deteccao de buracos e desnivelamentos.• Deteccao de obstaculos de pequenas dimensoes.

Um sistema de visao estereo poderia servir de meio para arealizacao da deteccao destes obstaculos.1.2. OBJECTIVOPretende-se fazer um estudo e caracterizacao de sistemas e

metodos baseados em visoes estereo de auxılio a navegacaode pessoas cegas em ambiente exterior. Apesar de seruma area ainda pouco explorado, tem havido um crescenteavanco por aplicacoes dotadas de visao estereoscopica. Oexemplo disso sao os sistemas de visao estereo desenvolvi-das com o objectivo de auxiliar pessoas cegas a tornarmais autonomas. O primeiro desafio esta relacionadocom a utilizacao de um sistema de visao estereo para aaquisicao de pares estereo de imagens, que depois de pro-cessadas permite detectar a informacao quando a profundi-dade, distancia, posicao e tamanho dos objectos, gerandouma sensacao 3D. Depois de capturadas as informacoesnecessarias o proximo passo e transmitir isso ao usuario(cego) atraves de sistemas sensorial tactil(sinal vibratorio,son,etc,).1.3. ESTRUTURA DO TRABALHONa seccao 2 sao discutidos os principais topicos relaciona-

dos a estereoscopia, serao tecidas algumas consideracoessobre o problema da deficiencia visual e sera apresentado oestado-da-arte em TA para deficientes visuais. Alem disso,sera apresenta a proposta de um sistema estereo de visao porcomputador. Por fim, a seccao 3 expoe as conclusoes obti-das com a realizacao deste trabalho, bem como descrevetrabalhos futuros consequentes deste aqui apresentado.

II. DESENVOLVIMENTO

• Sistemas de visao estereo

Visao estereo ou estereoscopia e um fenomeno naturalque ocorre quando ha simulacao de duas imagens da cenaque sao projectadas nos olhos em pontos de observacaoligeiramente diferentes, o cerebro funde as duas imagens, enesse processo, obtem informacoes quanto a profundidade,

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

56 PAULO PEREIRA [23408]

distancia, posicao e tamanho dos objectos, gerando umasensacao de visao de 3D. A metodologia utilizada para asaplicacoes num robo movel baseado em sistemas de visaoestereoscopica e semelhante a de uma pessoa cega, poisos desafios sao identicos com interesses comuns. No casodo robo movel, por exemplo, esses devem interagir com omundo para alcancar seus objectivos. Para isso, precisamextrair informacoes a respeito do ambiente onde estao in-seridos de maneira a orientar suas accoes [1]. O primeirodesafio esta relacionado com a determinacao da posicao eorientacao actual. O segundo desafio trata dos objectivosdo robo. Finalmente, a terceira dificuldade refere-se aosmetodos necessarios para fazer com que o robo movimente-se de sua posicao actual e atinja os objectivos desejados.Dentre varias abordagens ja existentes, bons resultados temsido alcancados com a utilizacao de sistemas de visao es-tereoscopica nos Robos autonomos moveis. Seguindo osistema visual humano, muitos sistemas roboticos utilizamum conjunto binocular composto por camaras, caracteri-zando um sistema de visao estereoscopica [2], [3]. Tendosistema de visao estereoscopica consegue-se recuperar ainformacao de profundidade de um dado ponto no espacoa partir de uma distancia relativa, ou disparidade, entre doispontos que o representam em imagens capturadas sob difer-entes pontos de vista. Conforme ilustrado na Figura 1 1,a disparidade e obtida num sistema de visao estereo peladiferenca das coordenadas dos pontos,mc e md que corre-spondem as projeccoes de um ponto M no espaco sobre osplanos de imagem das camaras que compoe o sistema [1].

Fig. 1MODELO DE VISAO ESTEREO SIMPLIFICADO[1].

Geralmente, a informacao da profundidade e obtida a par-tir de um sistema de visao estereoscopica recorrendo a 3fases principais:

• Calibracao• Correspondencia• Reconstrucao

O objectivo da calibracao e determinar os parametros que

descrevem o sistema de aquisicao utilizado. Na corre-spondencia procura-se determinar qual elemento na im-agem capturada numa determinada perspectiva correspondea um dado elemento na imagem capturada sob uma outraperspectiva. Por sua vez, atraves da reconstrucao procura-se recuperar a informacao de profundidade com base nosparametros obtidos na fase de calibracao e nos pares de pon-tos correspondentes obtidos na fase de correspondencia.

• Calibracao

A calibracao de uma camara e o processo de transformacaoentre o referencial da camara e o referencial do meio emque esta se encontra inserido.

Fig. 2TRANSFORMACAO ENTRE O REFERENCIAL 2D E 3D[4].

Neste processo existem:

• Parametros intrınsecos, que descrevem as carac-terısticas geometricas e opticas das camaras.

• Parametros extrınsecos, que descrevem atransformacao que relaciona os sistemas de coor-denadas das duas camaras um ao outro, bem como osparametros da projeccao perspectiva.

Com estes parametros e possıvel realizar o mapeamento decoordenadas entre os sistemas de coordenadas da imagem,da camara e do mundo. Por exemplo, com a calibracaoa partir de duas imagens que contem uma grelha, formadapor quadrados, efectua-se a deteccao de contornos e obtem-se as imagens com a mesma resolucao das imagens ini-ciais. Nos contornos obtidos, sao detectados os verticesdos quadrados que constituem a grelha, bem como a cor-respondencia entre os pontos das duas imagens.

• Stereo Binocular

O sistema de visao do homem e um exemplo de visaostereo binocular. Um sistema stereo binocular e um sistemabaseado em pares de imagens adquiridas em simultaneo.Referindo-se a uma camara, ao plano de imagem de cadauma dessas camaras esta implıcito um referencial (x,y). Emque (xl, yl) e (xr, yr) sao referenciais das camaras da es-querda e da direita, respectivamente. A cada ponto no refer-encial do mundo (X,Y,Z), corresponde a um ponto, (xl, yl),na imagem da camara da esquerda (imagem da esquerda) e

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 57

Fig. 3IMAGENS DA GRELHA CAPTADAS PELAS CAMARAS[4].

Fig. 4DETECCAO DOS CONTORNOS[4].

Fig. 5STEREO BINOCULAR HUMANO[5].

a outro ponto (xr, yr), na imagem na camara da direita (im-agem da direita). Ao existir uma matriz de transformacaoentre o referencial do mundo e o referencial de cada umadas camaras, e possıvel definir uma relacao entre as duascamaras.

• Correspondencia

Para um dado elemento na imagem da esquerda deve-seencontrar o elemento correspondente na imagem da direita.Seguindo esta abordagem, devem ser tratadas duas questoesessenciais para proceder a correspondencia:

• A primeira diz respeito a escolha dos elementos da im-agem a serem correspondidos.

• A segunda refere-se a escolha do grau de similaridadeque sera utilizada para realizar a correspondencia.

Fig. 6AS MATRIZES Pl E Pr RELACIONAM O REFERENCIAL DO MUNDO

COM O REFERENCIAL DO PLANO DE IMAGEM DA ESQUERDA E DA

DIREITA, RESPECTIVAMENTE[4].

A primeira diz respeito a escolha dos elementos da imagema serem correspondidos.Na reconstrucao tridimensional e necessario identificar os

pontos em ambas as imagens. Esses pontos resultam daprojeccao do mesmo ponto no domınio 3D. Este processodesigna-se por Matching Devido a diversos factores, taiscomo a distribuicao de brilho, de cores, erros de paralaxeentre outros, o Matching e o problema fundamental na visaostereo.

Fig. 7EXEMPLIFICACAO DO ERRO DE PARALAXE: O PINHEIRO E A ARVORE

QUE SE ENCONTRA A DIREITA NA IMAGEM DA ESQUERDA, AO

CONTRARIO DA IMAGEM DA DIREITA[4].

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

58 PAULO PEREIRA [23408]

• Reconstrucao

O que pode ser reconstruıdo depende directamente do quee conhecido a respeito da cena e do sistema de visao.Reconstrucao tridimensional Uma vez, calibradas as ma-trizes equivalente a cada uma das camaras, Pl e Pr, permiterelacionar com ponto (X,Y,Z). Faz-se a medicao no referen-cial do mundo, com o ponto da imagem da esquerda (xl, yl)e o ponto da imagem da direita (xr, yr). E a esses pontosutilizados na calibracao e aplicada a reconstrucao 3D.

Fig. 8APRESENTACAO DA RECONSTRUCAO TRIDIMENSIONAL DOS PONTOS

UTILIZADOS NA CALIBRACAO,SEGUNDO VARIOS ANGULOS[4].

• Deteccao de obstaculos usando sistemas stereo

O objectivo de navegacao autonoma de uma pessoa cega elogicamente evitar eventuais obstaculos inesperado. Paraevitar um obstaculo e necessario em primeiro lugar de-tecta-lo. Para isso, varios sensores tem vindo a ser us-ados, tais como sonares, sensores infravermelhos, lasers,etc. A visao, embora possuindo um grande potencial,tem sido excluıda destes sistemas devido, em grande parte,ao grande peso computacional requerido pelas aborda-gens mais classicas de visao. Contudo, nos sistemasbiologicos recorre-se muitas vezes a visao para resolver,com eficacia, um leque de desafios complexos como nocaso de navegacao, manipulacao, auto-localizacao, etc.Normalmente, usa-se a visao para reconstrucao 3D de umcenario, para depois determinar um percurso seguro.mais afrente vamos ver exemplos de um caso em que e utilizadosistema de visao stereo para detectar obstaculos:

ESTADO-DA-ARTE

• Deficiencia visual e acessibilidades

E legitimo que se considere a visao como sendo o sen-tido dominante da especie Humana. Metade da area fısicado cerebro e dedicada a visao, e cerca de 70% da sua ca-pacidade de processar informacoes sensoriais e usada paralidar com estımulos visuais. As novas investigacoes so-bre percepcao visual mostraram que os seres humanos tema tendencia em dar uma maior atencao a estes estımulos[6]. Atraves do estudo, [7] demonstraram que em situacaode conflito entre as informacoes provenientes da visao edos outros sentidos, a percepcao geral e determinada pelaprimeira. O claro domınio da visao sobre os outros sentidos

e sobre as manifestacoes culturais humanas faz com que arealizacao de tarefas simples do dia-a-dia pelo deficientevisual seja bastante complicada. Infelizmente, condicaofısica do portador de deficiencia dificulta, quando nao im-pede, a sua participacao em diversas actividades que sao co-muns a outras pessoas, como o acesso a tecnologia, por ex-emplo. Isso se deve ao facto de as entidades industriais, nor-malmente, nao tem interesse economico em projectar bensque tambem sao da necessidade de pessoas com deficiencia,seja ela visual, motora ou auditiva. O principal argu-mento e que os custos envolvidos neste tipo de projecto saomuito elevados, e que os benefıcios destinam-se a um mer-cado muito limitado [8]. Justificativas como essas fazemparte do dia-a-dia daqueles que desenvolvem as interfaceshomem-computador (IHC), que ao longo do tempo tem en-frentado uma resistencia inicial ou mesmo uma oposicaoa introducao de sistemas de IHC no desenvolvimento deprodutos. Referindo apenas dados relativo a visao, prove-nientes de um estudo realizado pela Organizacao Mundialde Saude em 2002, existem mais de 160 milhoes de defi-cientes visuais no mundo, sendo 40 milhoes cegos [9]. Deacordo com [10], 30% dos deficientes interessados em tra-balhar encontram-se desempregados, muitas vezes porque adeficiencia os impede de realizar certo tipo de trabalho emequipamentos nao adaptados. Alem disso, as capacidadesdos usuarios variam de acordo com da sua idade, das suasactividades e do ambiente. Muitos deles tambem sofremda perda da capacidade auditiva, e podem nao ouvir sonsde alerta de algum software. A medida que envelhecem, enatural, portanto, que os seres humanos passem a ter algumtipo de deficiencia relacionada com a idade [11]. Mas, estecenario tem mudado nos ultimos anos. A propria classegovernante tem criado leis para apoiar estes indivıduos,com o intuito de simplificar o acesso a informacao, fa-cilitar a sua deslocacao e garantir empregos, entre outros.Varios paıses adoptaram esta polıtica, para alem da UniaoEuropeia, paıses como Australia, Brasil, Canada e EstadosUnidos, etc. E de salientar ainda o denominado ”Seccao508”, uma emenda a constituicao americana criada em 1998que obriga os orgaos do governo a tornarem seus recur-sos electronicos e informacoes acessıveis a pessoas comdeficiencia [12].

• TECNOLOGIAS ASSISTIVAS (TAS)

[12] Define TA como ”qualquer item, equipamento ousistema, adquirido comercialmente, modificado ou cus-tomizado, que e usado para aumentar, manter ou melho-rar capacidades funcionais de indivıduos com deficiencia”.TA podem ser baseadas tanto em software como hardware.Resultado em software contem opcoes de acessibilidade emum metodo operacional ou programas como leitores de tela.Ja Resultados em hardware envolvem produtos de ultimageracao como telas de computador em Braille. As TA po-dem ser classificadas de diversas formas. Tendo em contaa maneira como a tecnologia se relaciona com a deficienciado usuario, permitiria classificar TA da seguinte forma:

I) Implante sensorial - envolvem as mais recentesinvestigacoes na medicina moderna, em que a visao perdidae substituıda por um meio artificial de visao. Um exem-

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 59

plo e o implante de retina desenvolvido recentemente, emque duas pequenas camaras foram colocados em um par deoculos, possibilitando que o usuario enxergasse alguns pon-tos de luz [13].II) Aumento sensorial - abrange tecnologias concebido

com sucesso que aumentam a competencia visual actualcom a utilizacao de algum equipamento especial, que nor-malmente costuma ser portatil. Exemplos evidentes en-volvem lentes de aumento ou oculos.III) Substituicao sensorial - inclui tecnologias que sub-

stituem a visao perdida por outras modalidades sensori-ais. Normalmente, os sentidos substitutos sao a audicao e otacto.As tecnologias assistivas tradicionalmente mais usadas pe-

los cegos e outros deficientes visuais para ajuda-los no quo-tidiano sao: Bengalas, Caes-guia, Large prints, ou livroscom fontes aumentadas, Livros em audio ou em Braille,Graficos tacteis, Leitores de tela, Imagens sonoras, etc. Deseguida, ver-se-a alguns exemplos das TA, que utilizam avisao, que e o objectivo do presente projecto, de maiorrelevancia desenvolvidos para auxiliar os deficientes vi-suais.Imagem fuzzy no regime de tratamento de navegacao

autonomo do Humano cego:Ajudas Electronicos de vi-agem (ETA) sao dispositivos electronicos desenvolvidopara auxiliar os cegos para a navegacao autonoma[14].Ja os ETAs utilizam sensores ultra sonicos para deteccaodos obstaculos e identificar o melhor caminho. O prin-cipal objectivo desta proposta foi desenvolver uma ajudaelectronica de viagem para assistir os cegos na identificacaode obstaculos na sua navegacao. Esta assistencia denavegacao para deficientes visuais consiste num unico sis-tema de processamento cartao (SBPS), uma visao sensormontado chapelaria e um par de auscultadores estereo. Oambiente em frente da imagem do cego e captado pela visaosensor. A imagem e processada por um novo regime deProcessamento de imagens em tempo real usando algorit-mos fuzzy de agrupamento. A imagem processada e ma-peado especialmente por uma estrutura estereo com padroesacusticos e transferido para os auscultadores estereo dosistema. A metodologia de transformacao encontrada foipara ser eficaz, identificando obstaculos e produzir um somestereo de alerta. Camara de vıdeo digital montada nacabeca capta a visao de informacoes da cena na frente docego e utilizadores da imagem e processada na SBPS emtempo real. A imagem processada e mapeado para unspadroes aceitavel. O processo de tratamento da imagemdeve ser convenientemente concebido para poder ser eficaz.O modelo construıdo para este sistema de substituicao da

visao tem uma visao sensor montado chapelaria, um parde auscultadores estereo e um unico sistema de processa-mento de bordo (SBPS) especialmente concebidos em umcolete. O usuario tem que vestir o colete. O SBPS e colo-cado em uma bolsa, no verso do colete. SPBS selecciona-dos para este sistema e PCM-9550F com Embedded Intel1baixa poder Pentium1 MMX processador 266 MHz, 128MB SDRAM, 2.5”peso leve disco rıgido, dois barramentoserial Universal e um dispositivo sonoro chipset RTL 8139,todos montadas em caixa Micro PC-300 chassis. O peso

SBPS e de 0,7 kg. Constantes 5 e 12 V para abastec-imento SBPS sao fornecidos a partir de um conjunto debaterias recarregaveis colocado na parte da frente do co-lete. Visao sensor seleccionado para esta aplicacao e umacamara de vıdeo digital, KODAK DVC325. Uma pessoaque transporta a ”chapelaria do cego”e equipamentos detransformacao no colete e mostrado na fig. 9.9

• Solicitacao de um sistema estereo de visao por com-putador

Varios sistemas tem sido desenvolvidos com o intuitode prestar assistencia a pessoas cegas. A visao, em-bora possuindo um grande potencial, tem sido excluıdadestes sistemas devido, em grande parte, ao grande pesocomputacional e muito dispendioso requerido pelas abor-dagens mais classicas de visao. No entanto, nos sis-temas biologicos a visao e frequentemente usada para re-solver, de forma eficiente, um grande numero de prob-lemas complexos como sejam navegacao, manipulacao,auto-localizacao, etc. Assim, e legıtimo esperar que avisao possa tambem desempenhar um papel chave numvasto conjunto de problemas no domınio da deteccaode obstaculos. Procurava-se tradicionalmente, cominformacao visual, de alguma forma a reconstruir tridi-mensionalmente um cenario, para depois calcular uma tra-jectoria segura. A maior parte desses sistemas, entretanto,da feedback sonoro ao usuario, nao podendo ser usados emambientes com barulho intenso ou em situacoes em queele precisa concentrar sua atencao em algum evento queuse a audicao. Nesse contexto, os dispositivos de apoio anavegacao surge como uma alternativa ao uso do som, umavez que interagem com o usuario atraves do tacto.Uma proposta modelo de um sistema pretendido nesse

projecto e descrito de seguida, onde e utilizado sistemade visao estereo para prover ajuda aos cegos na deteccaode obstaculos, em que a interaccao com o usuario e feitaatraves do tacto.A visao, embora possuindo um grande potencial, tem

sido excluıda destes sistemas devido, em grande parte, aogrande peso computacional e muito dispendioso requeridopelas abordagens mais classicas de visao. No entanto,nos sistemas biologicos a visao e frequentemente usadapara resolver, de forma eficiente, problemas complexoscomo sejam navegacao, manipulacao, auto-localizacao,etc. Procurava-se tradicionalmente, com informacao vi-sual, de alguma forma a reconstruir tridimensionalmenteum cenario, para depois calcular uma trajectoria segura. Amaior parte desses sistemas, entretanto, da feedback sonoroaos usuarios, nao podendo ser usados em ambientes combarulho intenso ou em situacoes em que ele precisa con-centrar sua atencao em algum evento que use a audicao.Nesse contexto, os dispositivos de apoio a navegacao surgecomo uma alternativa ao uso do som, uma vez que in-teragem com o usuario atraves do tacto. Uma propostamodelo de um sistema pretendido nesse projecto e descritode seguida, onde e utilizado sistema de visao estereo paraprover ajuda aos cegos na deteccao de obstaculos, em quea interaccao com o usuario e feita atraves do tacto. Ben-gala Electronica - Com objectivo de auxiliar na inclusao

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

60 PAULO PEREIRA [23408]

Fig. 9VOLUNTARIO CEGO COM SISTEMA NAVI[14].

Fig. 10CAPTURANDO PROFUNDIDADE ATRAVES DE UMA IMAGEM DA CAMARA ESTEREO: (A) IMAGEM DA ESQUERDA, (B) MAPA DE DISPARIDADE, (C)

IMAGEM DA DIREITA, (D) CAMARA ESTEREO Bumblebeer2 UTILIZADA[15].

dos invisuais, permitindo-lhes uma maior independencia,os pesquisadores da universidade Guelph [15], Canada, de-senvolveram uma tecnologia sofisticada que permita apri-morar o uso de dispositivos de apoio a navegacao. A Pro-fundidade esta implıcito na imagem (imagens Off-line) eisso deve ser extraıdo da camara e tornado explıcito. Us-ando um sistema de visao estereo [15], pre-calibrados com-erciais Bumblebee R©2 (www.ptgrey.com) para calcular aprofundidade do campo. A profundidade do mapa e posteri-ormente dividido em 3 colunas iguais, mınimos e a profun-didade em que cada coluna ocupa dois tercos da parte supe-rior da imagem (no sentido de excluir o terreno plano), foiescolhida a profundidade como meio para representar cadadireccao (ou seja, esquerda, direita, em frente a) (fig.10)10.

Utilizou-se duas abordagens para conseguir ambiente vi-sual de reconhecimento. O primeiro metodo e de baixo paracima e envolve segmentar a consulta de imagem, agrupando

areas que compartilham partes comuns, combinando estasareas para modelar objectos e, finalmente, conclui-se sobreo ambiente a partir dos objectos reconhecidos. Este tipo deambiente consome demasiado tempo para ser determinadoe implementado em tempo real. A segunda abordagem emais rapida, onde lida-se com espectros, em vez de proces-sar valores da intensidade da imagem para inferir do am-biente de configuracao. A abordagem seguida consiste emreconhecimento ao meio ambiente extraindo caracterısticasdos vectores, por filtra-los com um Piramide orientavel, quesao depois utilizados para entender a configuracao do am-biente. Com isso Permite classificar quatro ambientes: oparque ao ar livre, ar livre urbano, interior do escritorio eo interior da sala. O contexto da aplicacao reconhecimentodos objectos e para procura e deteccao (por exemplo, sinaisde rua, calcadas, arvores, etc.). Com intuito de ter um sis-tema que seja intuitivo para o usuario, foi desenvolvido um

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 61

Fig. 11(A) A LUVA TACTIL COM UM PEQUENO MOTOR VIBRO-TACTIL; (B) O MAPEAMENTO DOS MOTORES A TRES SENTIDOS (1) A ESQUERDA, (2) NA

FRENTE DO (3), DIREITO, BEM COMO AS OUTRAS COLOCACOES DO MOTOR; (C) A SUBSTITUICAO SENSORIAL DO SISTEMA EM USO: A CAMARA E

PENDURADA A CINTURA, LUVAS TACTEIS E USADO NA MAO E A MOCHILA CONTEM O COMPUTADOR[15].

prototipo especial, dotada de visao estereo e um sistemade direccao, que informa ao seu portador a existencia deobstaculos por meio de minusculos motores vibratorio. Ocomputador processa as imagens captada pela camara quee pendurada a cintura e envia um sinal para o motor vi-bratorio do dedo equivalente a posicao dos obstaculos maisproximos (fig.11)11.

Os motores sao colocados no porta-luvas, de tal modo quehaja uma boa condutividade entre eles, atraves da luva, coma pele. Os nıveis de intensidade correspondem linearmentea distancia de obstaculos: quanto maior for a intensidade,a aproximar o obstaculo. Por exemplo, se a luva estivercalcada na mao esquerda e houver um obstaculo exacta-mente a frente, sera accionado o motor vibratorio do dedomedio. Se o obstaculo esta um pouco a direita (fig.11)11.,sera disparado o motor vibratorio do dedo indicador. As-sim o usuario da luva electronica podera ir se desviandode cada obstaculo. Enquanto isso, as imagens continuamalimentando o computador, que vai enviando a luva novoscomandos para indicar a presenca de novos obstaculos.

III. CONCLUSOES

Neste projecto realizou um estudo e caracterizacao deprincıpios basicos de visao estereo, bem como sistemasestereo de visao por computador e a sua utilidade no auxılioa pessoas cegas para uma maior interaccao e navegacao nomundo exterior. Foi abordado os principais topicos rela-cionados a TAs, na melhoria da qualidade de vida de defi-cientes visuais. Uma amostra do estado-da-arte das TAs edispositivos de apoio a navegacao foi apresentada. Algu-mas dificuldades foram encontradas durante o desenvolvi-mento deste trabalho. Primeiro, a grande quantidade depesquisas para o desenvolvimento de TAs torna difıcil olevantamento do estado-da-arte das mesmas. No futurotenciona-se trabalhar mais na parte pratica desse mesmo es-tudo. Possivelmente, desenvolver um dispositivo de apoioa navegacao proprio, de visao estereo, para auxiliar os defi-cientes visuais.

BIBLIOGRAFIA

[1] M. E. STIVANELLO, Desenvolvimento de uma Biblioteca para Sis-temas de Visao Estereoscopica, PhD thesis, Centro Tecnologico,Universidade Federal de Santa Catarina, Brasil, 2008.

[2] S.P. BROMLEY, Probabilistically guided stereo vision for the navi-gation of mobile agents, PhD thesis, School of Engineering Sciences,University of Guelph, Canada, 2004.

[3] H. I. CHRISTENSEN et al D. KRAGIC, M. BJORKMAN, “Visionfor robotic object manipulation in domestic settings”, vol. 52, no. 1,pp. 85–100, 2005.

[4] “Stereo binocular. disponivel: site stereo binocular. url:Http://users.isr.ist.utl.pt/ vale/projects/visao/visao.html,consultadoem junho 2009”, Relatorio tecnico.

[5] “http://nautilus.fis.uc.pt/cec/teses/joana/prototipo/estereoscopia.htm,pesquisa google, em junho 2009”, Relatorio tecnico.

[6] L. SHAMS, A visual illusion induced by sound, PhD thesis, Pro-ceedings,New York, 2000.

[7] KLEIN R.M. SHORE D.I., SPENCE C., Prior entry: previous Con-founds and novel findings using an orthogonal design, MultisensoryResearchConference, New York, 2000.

[8] YORK B.W. GLINERT E.P., “Computers and people with disabili-ties”, Communications of the ACM. New York., vol. 35, no. 5, pp. 32–35, 1992.

[9] “[OMS]magnitude and causes of visual impairment,”, Relatoriotecnico, 2005.

[10] VANDERHEIDEN G.C., “Thirty-something million: Should theybe exceptions? human factors.”, Santa Monica: Human Factors andErgonomics Society, vol. 32, no. 4, pp. 383–396, 1990.

[11] ZASLAVSKY C. GUS I., Idoso: Doenca Cardiaca e Comor-bidades., Arquivos Brasileiros de Cardiologia, 2002.

[12] “[SECTION 508] :emenda a constituicao americana”, Relatoriotecnico, 1998.

[13] BROOKMAN J., Teamwork brings gift of sight., Times HigherEducation Supplement, 2000.

[14] SAZALI YAACOB G. SAINARAYANAN, R. NAGARAJAN,Fuzzy image processing scheme for autonomous navigation of hu-man blind School of Engineering and Information Technology, PhDthesis, University Malaysia Sabah, Malaysia, 2005.

[15] JOHN S. ZELEK, “Seeing by touch (haptics) for wayfinding, inter-national congress series”, vol. 1282, pp. 1108–1112, 2005.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 63

TIC-AEF Tecnologias da Informacao e Comunicacao no Apoio ao Ensino daFısicaP0914

Rui Duarte Abreu Teixeira, [email protected]

Abstract – Based on the ICT (information and communica-tion techniques) it was developed a prototype of software tosupport the teaching of Physics.This software is composed ofa set of simulations that allows the student an improved inter-activity with the teacher in the classroom. This software toolallows the visualization of graphs, changing the variables ofthe experimental setup, see theoretical contents on the topicscovered in the experiments, among other activities. Also, itprovides the teacher with a new type of education tool, since itcontributes to a dynamic participation of students.This paperalso present other software tools applied to education, for bothon-line and off-line versions.

Resumo – Com base nas TIC(Tecnologias de Informacao eComunicacao)foi desenvolvido um prototipo de software deapoio ao ensino da fisica. Este software e composto por umconjunto de simulacoes que permitem ao aluno uma maior in-teractividade nas aulas, ja que este permite visualizar graficos,alterar valores das variaveis, consultar textos de apoio sobre amateria, entre outras actividades. A ferramenta desenvolvidapermite tambem ao professor um novo tipo de abordagem deensino, mais dinamico e com maior participacao dos alunos.Este artigo apresenta tambem outras ferramentas de softwareaplicados ao ensino das Ciencias, tanto em versoes on-linecomo off-line.

Keywords – ICT, Simulation software, Science teaching

Palavras chave – TIC, Software de simulacao, Ensino daciencia

I. INTRODUCAO

O desenvolvimento das tecnologias da informacao e dacomunicacao (TIC) alterou a vida das pessoas, na formacomo trabalhamos, como vivemos o nosso quotidiano,como nos relacionamos e como aprendemos, colocandoa educacao o desafio de transformar informacao emconhecimento. Uma das finalidades, e talvez a principal,da educacao e dar formacao ao cidadao para a vida emsociedade. A escola, como centro de formacao, precisa deacompanhar estas novas tecnologias, que sao apontadascomo ferramentas de apoio no processo tanto de ensinocomo de aprendizagem. Nesse sentido a educacao tera quese centrar na actividade do aluno e na sua criatividade e naona memorizacao mecanica de formulas e procedimentos.Do ”Livro Verde para a Sociedade da Informacao emPortugal”, podemos retirar a seguinte definicao: ”A ex-pressao ’Sociedade da Informacao’ refere-se a um modo dedesenvolvimento social e economico em que a aquisicao,

armazenamento, processamento, valorizacao, transmissao,distribuicao e disseminacao de informacao conducente acriacao de conhecimento e a satisfacao das necessidadesdos cidadaos e das empresas, desempenham um papelcentral na actividade economica, na criacao de riqueza,na definicao da qualidade de vida dos cidadaos e dassuas praticas culturais.” [1] ”A sociedade da informacao euma sociedade para todos. As tecnologias da informacaoinfluenciam os mais variados domınios da vida em so-ciedade. As suas aplicacoes percorrem o espectro dosgrupos sociais. Ha barreiras a transpor, oportunidadesa explorar e benefıcios a colher. (...) nao e legıtimoabandonar os mais desprotegidos e deixar criar uma classede info-excluıdos. E imprescindıvel promover o acessouniversal a info-alfabetizacao e a infocompetencia.” [1]

Uma das ferramentas de auxılio na educacao e o computa-dor, este e importante nas actividades didatico-pedagogicas,actuando no planeamento e realizacao de projectos interdis-ciplinares, sendo tambem instrumento motivador no surgi-mento de novas praticas pedagogicas, transformando o pro-cesso de ensino numa actividade dinamica e interactiva. Eaqui que entram os softwares educativos, estes tem-se ap-resentado como elementos importantıssimos no aprimora-mento das tecnicas de ensino-aprendizagem que usam ocomputador como ferramenta educacional, mudando as for-mas de aprender e ensinar, com vıdeos, sons, aplicacoesmultimedia, e-learning, entre outros. Este tipo de ensinotem como palavra-chave ”interactividade”.Os processos de inovacao de utilizacao do computador e

das TIC no ensino tem tido alguns factores de resistencia,entre eles e a falta de conhecimentos das novas tecnologiase as suas capacidades por parte dos educadores. Umfactor que tera de mudar sob o risco, se tal nao acontecer,a escola se afastar da evolucao da sociedade. Comopromotora de conhecimento, a escola precisa de ter emconta as inovacoes tecnologicas e as questoes sociaisvinculadas, sendo necessarias atitudes de investigacao queoferecam diferentes formas de ensino, com intervencoespedagogicas adequadas. Sendo assim as exigenciasmais complexas do trabalho pedagogico dos professoresobrigam, forcosamente, a maiores nıveis de qualificacao ede conhecimentos, principalmente nos domınios das TIC(Tecnologias da Informacao e Comunicacao).

1.1 - Objectivo do trabalhoTentando ajudar o professor/educador na leccionacao de

aulas, bem como proporcionar aos alunos uma ferramentac© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

64 RUI TEIXEIRA [20952]

que lhes permita adquirir competencias pretende-se desen-volver um prototipo de software educacional. Este softwarepermite realizar varias simulacoes graficas e numericasde actividades experimentais e inclui textos de apoio econteudos multimedia para explicacao de conceitos sobrea materia. Concretamente, os objectivos especıficos que sepretendem com a execucao do presente trabalho sao:-”Desenvolver e utilizar um prototipo de software mul-timedia designado por ”TIC-AEF - Tecnologias deInformacao e Comunicacao no Apoio ao ensino da Fısica”;-”Incrementar o uso dos computadores para apoiar o aluno

na sua aprendizagem e investigacoes no ambito da Fısica.

II. FERRAMENTAS DE APOIO AO ENSINO DAS CIENCIAS

Nesta seccao apresenta-se algumas das ferramentas desoftware usadas no apoio ao ensino de varias disciplinasde ciencias.

A. Exemplos de simulacoes on-line

A.1 PHET

O PHET(do ingles, Physics Education Technology) e umconjunto de de simulacoes interactivas de fısica, biologiaciencias da terra e de matematica, sendo este disponibi-lizado pela Universidade do Colorado. De entre varios tiposde actividades poderemos encontrar um exemplo do pro-grama de construcao de circuitos [2]

Fig. 1CONSTRUCAO DE CIRCUITOS COM O PHET

As aplicacoes presentes no PHET estao disponıveis emjava e Flash, sendo o codigo-fonte obtido atraves de umalicenca de software livre. As actividade existentes atraves-sam todos os graus de ensino.Um outro exemplo e a formula da lei de Ohm, em que

podemos inserir valores de resistencia e tensao, obtendo aintensidade de corrente.Disponıvel em [3].

A.2 STEP

O STEP trata-se de um simulador de fısica interactiva.Adicionando forcas, como forcas da gravidade, elasticas ouelectricas num corpo e ao carregar em ”Simulate”, assisti-mos a evolucao da cena de acordo com as leis da fisica.Aspropriedades dos corpos ou das forcas podem ser alter-adas mesmo depois da simulacao se ter iniciado. O Pro-grama suporta simulacoes de mecanica classica tais como

Fig. 2LEI DE OHM

partıculas, molas com amortecimento, forca da gravidade,corpos rıgidos, deteccao de colisoes, etc.Disponıvel em [4].

Fig. 3SIMULADOR STEP

A.3 Portal O Mocho

E um portal que visa o ensino e divulgacao das cienciaspara professores e alunos. Neste portal encontramos re-cursos pedagogicos , jogos educativos, entre outras activi-dades. Como exemplo, um dos programas que poderemosencontrar e o programa ”RLC”, que nos permite analisarcircuitos, representar graficamente os valores introduzidose analisar os seus efeitos atraves do diagrama de fasores.Este portal e promovido Faculdade de Ciencias da Univer-sidade de Coimbra, e esta disponıvel em [5]

A.4 Simulacao do movimento de um projectil

No Departamento de Fısica da Universidade da Vırginia,o Professor Michael Fowler disponibiliza um conjunto desimulacoes de sistemas mecanicos, ondas, estudo de co-lisoes, entre outros, que permitem visualizar os efeitos so-bre um determinado sistema mediante a introducao de da-dos por parte do utilizador. Como exemplo, pode-se referir

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 65

Fig. 4PROGRAMA RLC

a Simulacao do movimento de um projectil, ilustrado naFigura 5. Nesta simulacao, o utilizador pode alterar econtrolar os valores iniciais da velocidade, angulo de dis-paro e massa do projectil, assim como optar por executara simulacao tendo ou nao em consideracao a resistencia doar. Deste modo, o utilizador pode ”experimentar”a equacaodos projecteis, determinar o alcance, altura e velocidade doprojectil ao longo do tempo. Disponıvel em [6]

Fig. 5SIMULACAO DO MOVIMENTO DE UM PROJECTIL

A.5 Laboratorio Virtual

De seguida apresenta-se outro exemplo de um ”pacote”desimulacoes, intitulado ”Laboratorio Virtual”, disponibi-lizadas pelo Dr. Greg Bathum do Departamento de Fısicada Universidade de Oregon. Esta coleccao de applets deJava e constituıda por um conjunto de varias simulacoes in-teractivas que abordam varias areas da Fısica, da Astrono-mia e do ambiente. O ”Laboratorio Virtual”pode ser ace-dido no endereco [7]. No exemplo ilustrado na Figura 6, eanalisada a experiencia do movimento de um projectil quee apresentada ao aluno sob a forma de um jogo em que oobjectivo e, num primeiro nıvel, tentar acertar no macacoque se desloca numa plataforma com movimento descen-

dente para o solo, desenhada a preto e que esta situada nocanto superior direito do ecran.

Fig. 6SIMULACAO DO MOVIMENTO DE UM PROJECTIL

A.6 Molecularium

Dos Autores Joao Paiva, Victor M.S. Gil, Carlos Fiolhais,Pedro Vieira Alberto, Delfina Almeida, Jorge Goncalves,Manuel Salgueiro e Susana Fonseca, com o Ilıdio Martinsresponsavel pela programacao, apresenta-se um conjuntode simulacoes para o ensino da Fısica e da Quımica, re-unidas num projecto intitulado ”Molecularium”. Este pro-jecto agrega varias simulacoes animadas sobre fenomenosda Fısica e da Quımica, relativos a: temperatura, radiacaoinfravermelho, pressao, entre outros, acessıveis atraves deum menu como ilustrado na Figura 7. O projecto podeser acedido no sıtio [8] e as simulacoes podem ser visu-alizadas ”on-line”ou pode proceder-se ao seu download eguardarem-se para posterior utilizacao.

Fig. 7ECRAN INICIAL DA APLICACAO MOLECULARIUM

As simulacoes apresentadas no ”Molecularium”baseiam-se em animacoes que ilustram o comportamento dos varioselementos constituintes das experiencias. Porem, naofornecem dados quantitativos que possam ajudar o aluno aentender melhor os fenomenos fısicos e quımicos em jogo.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

66 RUI TEIXEIRA [20952]

Por outro lado, nao sao fornecidos quaisquer documentosteoricos de suporte as experiencias que podem ser simu-ladas. Estas sao as duas principais limitacoes desta ferra-menta.

A.7 Simulacao Lei de ohm

Na seccao seguinte, apresenta-se um conjunto desimulacoes criadas por Walter Fendt e que podem seracedidas em [9]. Nesta pagina Web encontram-sesimulacoes sob a forma de applets de Java no ambitoda mecanica, oscilacoes e ondas, electrodinamica, optica,termodinamica, Fısica Nuclear, entre outras. Uma dassimulacoes disponıveis e a da Lei de Ohm, ilustrada naFigura 8.

Fig. 8SIMULACAO DA LEI DE OHM

A.8 Fısica com Computador - Curso Interactivo de Fısicana Internet

Seguidamente, apresenta-se um conjunto de simulacoes,mais completo, para o ensino da Fısica, criadas pelo Prof.Dr. Angel Franco Garcıa, do departamento de Fısica Apli-cada I da Escola Universitaria de Engenharia Tecnica In-dustrial da Universidade do Paıs Basco. As simulacoesestao integradas num projecto intitulado ”Fısica com Com-putador - Curso Interactivo de Fısica na Internet”, e podeser acedido no sıtio [10]. Este projecto, pretende ser umcurso de Fısica geral que trata conceitos da cinematica, deunidades e medidas, dinamica, fluıdos, electromagnetismo,mecanica quantica, entre outros. A interactividade dassimulacoes e obtida gracas ao recurso de applets de Java,que pretendem simular sistemas fısicos, praticas de labo-ratorio, experiencias, etc.. O projecto conta, actualmentecom mais de 500 applets (simulacoes) e apresenta a van-tagem de estarem bem documentadas. Na Figura 9 ilustra-se a simulacao da queda e lancamento de corpos (”Movi-mento de caıda de los cuerpos”).Esta simulacao e umas de muitas disponibilizadas em [11],

que esta integrada num pacote de software intitulado”Fısica com Ordenador - Curso Interactivo de Fısica en In-ternet”, e que obteve uma mencao de honra no concurso an-

Fig. 9SIMULACAO DA QUEDA E LANCAMENTO DE UM CORPO NA VERTICAL

ual de software (1998), organizado pela revista ”Computersin Physics”, que e uma publicacao da ”American Instituteof Physics”.

B. Exemplos de simulacoes off-line

Nesta seccao, procede-se a analise de software educa-tivo para o ensino da Fısica, comercializado sob o for-mato de CD-rom e/ou DVD-rom, que estao comercialmentedisponıveis aos alunos e professores.

B.1 Modellus

Seguidamente, procede-se a analise do software educativoModellus, desenvolvido por Vıtor Duarte Teodoro da Fac-uldade de Ciencias e Tecnologia da Universidade Nova deLisboa, e programado por Joao Paulo Duque Vieira e Fil-ipe Costa Clerigo. Este projecto conta com os apoios doDepartamento do Ensino Secundario, da Fundacao para aDivulgacao das Tecnologias da Informacao e do ProgramaCiencia Viva para procederam a difusao da aplicacao. OModellus e uma ferramenta computacional de simulacaopor excelencia, possibilitando uma utilizacao de caracterexploratoria e investigativo que pode ser usada no ensino daFısica, Quımica e Matematica [12]. O software apresentaum interface simples, permitindo aos alunos realizarem ex-periencias conceptuais e empıricas, sem que para isso ten-ham de aprender sintaxes especıficas [13]. A aplicacao per-mite aos alunos e professores criarem, explorarem e sim-ularem, de uma forma interactiva, as mais variadas ex-periencias, usando para isso as equacoes matematicas e ex-pressoes que definem o modelo a ser simulado. A ferra-menta, depois de introduzidas as condicoes iniciais, per-mite visualizar o modelo graficamente, explorar e analisaros valores resultantes da simulacao que sao facultados soba forma de tabelas, e por ultimo, visualizar a simulacaoatraves da sua animacao. . No site [14], pode proceder-seao download da ferramenta, do seu manual, bem como deexemplos de simulacoes devidamente ilustrados. O Mod-ellus e assim, pelo aqui referido, uma ferramenta bastantecompleta, flexıvel, bem documentada e muito util no ensinoda Fısica, Quımica e Matematica. Permite uma simulacaode praticamente qualquer modelo, a faculdade de permitiranimacao das simulacoes da um enorme valor acrescentado

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 67

a sua potencialidade como ferramenta educativa.

C. Ferramentas para o desenvolvimento de aplicacoesmultimedia

C.1 Comparacao entre as ferramentas de WebDesign

Para projectar e implementar a aplicacao de software pro-posta neste trabalho foi necessario efectuar uma pesquisasobre as ferramentas de desenvolvimento existentes paraescolher aquela que em princıpio, permitia cumprir os ob-jectivos tracados. Atraves da pesquisa verificou-se que aAdobe systems, fornece condicoes para projectar e desen-volver conteudos dinamicos para Web e aplicativos paravarias plataformas, com eficacia e rapidez, possuindo pro-dutos integrados que dominam o sector e players de media.Desses produtos foram seleccionadas apenas as ferramen-tas que permitem criar e desenvolver sites, aplicativos eimagens na Web. A opcao pela utilizacao deste tipo deferramentas foi tomada tendo em conta as suas potencial-idades: facilidades de integracao e ao facto de estas fer-ramentas servirem de referencia para a maioria dos profis-sionais do sector de desenvolvimento de sıtios de Internete aplicacoes multimedia. As ferramentas que se desta-cam sao: Adobe Authorware , Adobe Director, AdobeDreamweaver, Dreamweaver CS4,Fireworks e o Flash 8Professional.Para o desenvolvimento deste trabalho usou-se o Adobe Flash 8 Professional.

C.2 Adobe Flash

E um software vocacionado para a criacao de conteudosmultimedia de alta qualidade, interactivos e animados, op-timizados para a publicacao na Internet. E um programa dedesenho vectorial e bitmap. O formato vectorial e aplicadoas imagens que derivam do desenho em Flash, ou seja asimagens baseiam-se em equacoes matematicas ou vectores.Este formato inclui informacao acerca das dimensoes dosobjectos, da forma de preenchimento, da cor e da posicao,sendo independente da resolucao. Este tipo de formato con-trasta com o bitmap que representa uma imagem atraves deum conjunto de pixels agrupados de forma a criarem de-terminadas areas coloridas. Os graficos vectoriais podemser manipulados sem que se perca clareza e usam menosmemoria que os graficos bitmap. A sua resolucao dependedo periferico (impressora, monitor, etc.), sendo a quali-dade da imagem proporcional a qualidade do periferico. OFlash e usado pela generalidade das entidades que utilizama web como plataforma de distribuicao de informacao decaracter institucional, educativo, lazer, publicidade, entreoutros tipos. As novas versoes do Adobe Flash ja inte-gram todo o ambiente de uma linguagem de programacaoorientada para objectos, incorporando, por exemplo, o Ac-tionScript 2 e o suporte para componentes avancados. Osrecursos de reproducao incluem o fluxo de audio MP3(MPEG Audio Layer 3) e vıdeo, campos de texto, com-ponentes, o Actionscript, Webservices, acesso a base dedados e optimizacao de accoes que, integradas, permitemcriar filmes, jogos e outras aplicacoes web mais sofisti-cadas em formato SWF (Shock Wave Flash). Os recursosde criacao incluem um processo de publicacao dinamica,uma janela biblioteca modificada, varios inspectores e uma

interface grafica avancada. O formato SWF, resultante dacompilacao dos ficheiros FLA (Flash Document), e com-patıvel com os Web browsers actuais, permitindo uma el-evada velocidade de down e up streaming devido a suaelevada taxa de compactacao [15]. Com esta ferramentae possıvel criar excelentes animacoes em shockwave flashque sao extremamente pequenas e cheias de recursos comosom e interaccao com botoes, entre outros. Resumida-mente, as caracterısticas mais relevantes do Flash para arealizacao deste projecto sao: o formato vectorial das ima-gens e controlo rigoroso sobre as mesmas; a capacidade deminorar os tempos mortos, evitando os tempos mortos as-sociados ao descarregar a partir da Web; o plug-in do Flash(Flash Player), vem, neste momento ja incorporado nasversoes mais recentes dos principais browsers do mercado;admitir varios tipos de formato de informacao (imagens emBMP, JPEG, GIF, PNG, vıdeo e sons WAV, MP3, sendoainda possıvel a sua edicao, para posterior interligacao esincronizacao; possuir um poderoso Script(combinacoesde expressoes que dao origem a determinadas instrucoesque permitem o controlo do comportamento de determi-nados objectos e do filme em geral) , que esta na base degrande parte da interactividade e da animacao do Flash.Em relacao a outros softwares apresenta as seguintes vanta-gens:RAPIDEZ - A facilidade e rapidez com que se criamaplicacoes em Flash, COMPACTO - Os arquivos em Flashsao extremamente pequenos quando comparados com osdesenvolvidos em outras linguagens. ELEVADA COMPO-NENTE MULTIMEDIA - Tem uma apresentacao atractivae consegue fazer uma boa integracao de sons, filmes, ima-gens e texto, permitindo o desenvolvimento de aplicacoesamigaveis ao utilizador. INTERACTIVO - Pode-se criarcomponentes proprios, um exemplo disso e que qualquergrafico pode ser um botao. COMPATIBILIDADE - facil-idade de integracao com outros produtos do mesmo fab-ricante, dado pertencerem a mesma suite de software, en-tre eles o Flashpaper. Este e uma aplicacao que permiteconverter ficheiros do formato doc (Microsoft Winword)para formato swf (shockwave) de forma a serem inseridose utilizados nos filmes de Flash. As razoes aqui expostas,levaram a opcao pela utilizacao do Adobe Flash 8 Profes-sional para implementacao deste projecto

D. Desenvolvimento e apresentacao da aplicacao de soft-ware TIC-AEF

De acordo com Pereira, D. C. (1993) a construcao deum bom programa de computador para fins educativos ex-ige: - uma revisao teorica do conteudo a tratar; - uma re-flexao sobre a metodologia a adoptar; - o domınio das pos-sibilidades do sistema informatico de que se dispoe; - aconcepcao de sequencias metodologicas; - a planificacaode uma ilustracao visual e sonora tao adequada quantopossıvel; - a construcao de um instrumento de avaliacaodo proprio programa; - a traducao numa linguagem inter-activa, isto e, que propicie um dialogo entre o utilizador ea maquina; - a redaccao de um manual tao simples quantopossıvel; - a experimentacao em situacoes concretas de salade aula e consequentemente o refinamento do proprio pro-grama.” [16].

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

68 RUI TEIXEIRA [20952]

A ferramenta de simulacao que foi desenvolvida des-ignada por TIC-AEF: Tecnologias da Informacao e daComunicacao no Apoio ao ensino da Fısica, apresenta umaestrutura multimedia onde foi incluıdo um ambiente desimulacao dinamico. A sua concepcao foi realizada demodo a permitir que os alunos adquiram competencias ecomplementem a sua aprendizagem de Fısica. A seleccaode conteudos contemplados nesta ferramenta teve comobase de trabalho o programa da disciplina de Fısica eQuımica do ensino basico e secundario e inclui diversaspotencialidades de simulacoes (graficas, numericas e activi-dades experimentais), textos de apoio explicativos de con-ceitos, entre outras caracterısticas.

D.1 Funcionamento da aplicacao TIC-AEF

O software apresenta inicialmente um ecran introdutorioque e visualizado pelo utilizador aquando do arranque daaplicacao. Esta inclui uma pequena animacao onde e apre-sentado o tıtulo do programa, a area de ensino a que se des-tina, identificacao do seu autor e orientadores, bem comoduas funcionalidades, uma para avancar para o ecran prin-cipal da aplicacao e outra e o controlo on/off do volume damusica.

Fig. 10ECRAN INICIAL DA APLICACAO

Apos a animacao introdutoria surge o ecran principal, ondeconstatam todas as experiencias que e possıvel simular comesta aplicacao. Para seleccionar a simulacao basta pres-sionar o botao sobre a imagem correspondente. Em to-das as simulacoes foram incluıdos textos de apoio com aexplicacao dos conceitos relativos as experiencias em es-tudo.Em todas as janelas do software encontra-se na parte in-

ferior do ecran o painel de navegacao, que permite navegarpor todos os ecrans da aplicacao. Tambem na parte inferiorfoi inserido um outro aplicativo que e a calculadora.Simulacao da Queda e Lancamento na Vertical

Aqui o aluno tem acesso a descricao teorica da experienciada Queda e Lancamento na Vertical. Neste ecran, tambemestao disponıveis duas animacoes sobre a queda livre verti-cal, uma no vazio e outra com ar, para o aluno poder obser-var o comportamento da queda dos corpos.

Fig. 11ECRAN PRINCIPAL

Fig. 12ECRAN INICIAL DA SIMULACAO ”QUEDA E LANCAMENTO NA

VERTICAL”@

Apos pressionar o botao de avancar, o aluno tem acesso ajanela de entrada/saıda de dados desta simulacao .Nesta janela o aluno tera acesso ao painel de introducao

de dados (altura do corpo, velocidade inicial, aceleracaogravıtica e massa do corpo) com as grandezas correspon-dentes. Introduzindo os dados e carregando no botaosimulacao obtera resultados graficos das simulacoes(simulacao inicial a vermelho e simulacao de comparacao apreto). Nesta janela tambem e possıvel consultar os dadosnumericos usando os botoes do painel de navegacao paravisualizar as tabelas.

Simulacao do Movimento de um ProjectilAo dar-se inıcio a esta simulacao surge o ecran mostradona Figura 15 que inclui um documento de apoio com osconceitos teoricos e a nomenclatura relativas a este tema,bem como uma animacao demonstrativa do lancamento deum projectil.Apos pressionar o botao de avancar, o aluno acede a janela

de entrada/saıda de dados da simulacao experimental.Depois de o aluno inserir os valores pretendidos para as

diferentes variaveis no painel de introducao de dados, devepressionar o botao ”Iniciar Simulacao”para poder visualizar

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 69

Fig. 13EXEMPLO DE UMA SIMULACAO DA EXPERIENCIA ”QUEDA E

LANCAMENTO NA VERTICAL”@

Fig. 14JANELA COM AS TABELAS DE SIMULACAO NUMERICAS PARA A

”QUEDA E LANCAMENTO NA VERTICAL”@

os respectivos graficos.Nesta janela o aluno tera acesso ao painel de introducao

de dados (Angulo de disparo, velocidade inicial, aceleracaogravıtica e massa do corpo) com as grandezas correspon-dentes Neste ecran, o aluno pode visualizar ao graficos daevolucao no tempo e deslocamento do projectil segundo xxe segundo yy. Tem tambem a opcao de escolher se desejaa visualizacao dos graficos da energia potencial ou cineticado projectil. Seguindo a mesma metodologia que nas an-teriores experiencias, pode-se aceder as tabelas de resulta-dos com os valores das simulacoes, bastando para isso pres-sionar os respectivos botoes do painel de navegacao.Simulacao da Lei de Ohm

Na Figura 19, mostra-se o ecran onde o aluno deve inseriro valor pretendido para a resistencia electrica a usar no cir-cuito que e constituıdo por uma bateria ao qual esta ligadaessa resistencia.Assim que o aluno insere o valor da resistencia, surge

um ecran com uma fonte de alimentacao, um amperımetroe um voltımetro. O aluno pode, girando botao da fontede alimentacao, visualizar os resultados dos aparelhos emtempo real. Os resultados sao mostrados ao aluno simul-

Fig. 15ECRAN INICIAL DA SIMULACAO ”MOVIMENTO DE UM PROJECTIL”@

Fig. 16ECRAN DE SIMULACAO DO ”MOVIMENTO DE UM PROJECTIL”@

taneamente nos mostradores dos aparelhos e na figura doscircuito a simular.Caso o aluno desligue a fonte de alimentacao, os aparelhos

”desligam-se”e surge um painel informando o aluno doque esta a suceder, como ilustra a Figura 21.

Quando o aluno ligar a fonte de alimentacao novamente,pode prosseguir com a simulacao. Sempre que o alunoo desejar, pode, em qualquer altura, dar inıcio a umanova simulacao, pressionando o botao ”Nova Simulacao”dopainel de introducao de dados.As varias simulacoes experimentais disponıveis fornecem

resultados sob as formas numerica e grafica, bem comoanimacoes do tema em estudo. Para alem disso, esta fer-ramenta fornece varios documentos que cobrem os conhec-imentos teoricos implıcitos as simulacoes efectuadas. Umadas grandes vantagens desta ferramenta e a de permitir avisualizacao e comparacao dos resultados obtidos em variassimulacoes.

III. CONCLUSOES

Conclui-se que as TIC podem e devem, devido ao seuenorme potencial educativo, ser utilizadas no desenvolvi-mento de software educativo interdisciplinar que facilite

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

70 RUI TEIXEIRA [20952]

Fig. 17ECRAN COM OS RESULTADOS GRAFICOS DA SIMULACAO DO

”MOVIMENTO DE UM PROJECTIL”@

Fig. 18ECRAN DA SIMULACAO DO ”MOVIMENTO DE UM PROJECTIL”COM AS

TABELAS DE RESULTADOS

Fig. 19ECRAN INICIAL DA SIMULACAO DA ”LEI DE OHM”@

a aprendizagem, a aquisicao e compreensao de conceitospor parte dos alunos. Neste trabalho foram acrescentadosnovas simulacoes a ferramenta programa ”TIC-AEF”parao ensino da Fısica recorrendo as novas tecnologias deinformacao. Dando, deste modo, mais um contributo paraa utilizacao das TIC como ferramentas de desenvolvimento

Fig. 20ECRAN DE SIMULACAO DA ”LEI DE OHM”APOS A INSERCAO DOS

DADOS

Fig. 21ECRAN DE SIMULACAO DA ”LEI DE OHM”COM A FONTE DE

ALIMENTACAO DESLIGADA

de software educativo, neste caso para o estudo da Fısica.A utilizacao destas simulacoes pode dar um acrescimo demotivacao aos alunos e tornar as materias leccionadas maisinteressantes. Permite tambem uma maior interactividadedos alunos com os modelos fısicos estudados, ja que per-mite alteracao facil das variaveis e de parametros inici-ais dos modelos simulados, facilitando a sua reutilizacaoe exploracao, possibilita a participacao activa por partedos alunos, permite a visualizacao grafica do modelo estu-dado, ajuda na interpretacao dos modelos fısicos, e a obterprevisoes sobre o comportamento desses modelos. Existetambem documentacao propria sobre os modelos simula-dos, recursos que permitem ao aluno aprofundar os seusconhecimentos de acordo com o seu grau de interesse.Apesar de todas as vantagens acima enunciadas, convem

referir que os modelos geralmente representam de formaincompleta e simplista os fenomenos fısicos reais, podendolevar a falhas no seu realismo. A utilizacao de softwareeducativo de simulacao na aprendizagem actua como umcomplemento dos recursos bibliograficos existentes, in-cutindo um maior dinamismo no proprio processo ensinoe aprendizagem. Para isso, o professor devera estar per-manentemente actualizado, no que as novas tecnologias dizrespeito, bem como possuir a capacidade de as aplicar emcontexto educativo. Neste ponto, a formacao contınua de

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 71

professores desempenha um papel fundamental, e e cadavez mais importante. E tambem essencial que as escolasestejam devidamente apetrechadas a nıvel de equipamentotecnico e estejam atentas a sua manutencao/actualizacao.

BIBLIOGRAFIA

[1] Sociedade da informacao, “Livro verde para a sociedade da informa-cao em portugal.missao para a sociedade da informacao”, pp. 9–13,1997.

[2] “(http://phet.colorado.edu/simulations/sims.php?sim=Circuit_Construction_Kit_DC_Only”, 2009.

[3] “(http://phet.colorado.edu/simulations/sims.php?sim=Ohms_Law”, 2009.

[4] Vladimir Kuznetsov, “(http://edu.kde.org/step/”, 2007.[5] Maria do Carmo da Silva Andrade, “(http://www.mocho.pt/

search/local.php?info=local/software/fisica/rlc.info”, 1998.

[6] Michael Fowler, “(http://galileo.phys.virginia.edu/classes/109N/more_stuff/Applets/ProjectileMotion”, 2001.

[7] Sean Russel Amy McGrew Dr. Greg Bathum, David Caley,“(http://jersey.uoregon.edu/”, 1998.

[8] Carlos Fiolhais Pedro Vieira Alberto Delfina Almeida JorgeGoncalves Manuel Salgueiro Susana Fonseca Joao Paiva, VictorM.S. Gil, “(http://molecularium.net/molecularium”,2001.

[9] Walter Fendt, “(http://www.walter-fendt.de/ph14br/”, 2003.

[10] Angel Franco Garcia, “(http://www.sc.ehu.es/sbweb/fisica”, 1998.

[11] Angel Franco Garcia, “(http://www.sc.ehu.es/sbweb/fisica/default.htm”, 1998.

[12] J. P. PONTE, “Tecnologias de informacao e comunicacao na forma-cao de professores”, Revista Ibero-Americana de Educacao, 2000.

[13] Vitor Duarte Teodoro, “Modellus: Learning physics with mathemat-ical modelling”, Faculdade de Ciencias e Tecnologia. UniversidadeNova de Lisboa.

[14] Vitor Duarte Teodoro, “(http://phoenix.sce.fct.unl.pt/modellus)”, 2000.

[15] F Junior, “Flash mx com action script orientadas para objectos”,Editora Arica, 2002.

[16] Duarte C. PEREIRA, “A tecnologia educativa e a mudanca desejaveldo sistema educativo”, Revista Portuguesa de Educacao, 1993.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 73

Sistema de aquisicao e transmissao de dados ambientaisP0915

Fernando Teixeira Carvalho, [email protected]

Abstract – It is intended to implement a system for transmit-ting data by radio frequency between a computer and an adelta T automatic weather station equipped with multiple sen-sors. First, it will be considered the mode of operation andprogramming of the weather station and sensors. Configura-tion then, it will be the implemented the communication sys-tem between the PC and delta T data acquisition using RFtransceivers. Finally, it will implement the software for auto-matic acquisition of data to store in a database.

Resumo – Pretende-se implementar um sistema de trans-missao de dados por radio -frequencia entre um computador euma estacao meteorologica automatica delta T equipada comvarios sensores. Sera analisado o modo de funcionamentoe programacao da estacao meteorologica e configuracao dossensores. Seguidamente, far-se-a a implementacao do sistemade comunicacao entre o PC e o sistema de aquisicao de dadosdelta T usando transceivers RF. Por ultimo, implementar-se-a o software para aquisicao automatica dos dados a guardarnuma base de dados.

Keywords – wireless communications, transceivers, weatherstation

Palavras chave – comunicacao sem fios, transceivers, estacaometeorologica

I. INTRODUCAO

A. Redes Wireless

O desenvolvimento da tecnologia permitiu o aparecimentode varias alternativas e protocolos de comunicacao, emborainicialmente tenha sido colocada enfase principalmente natransmissao de dados e voz, com elevadas taxas de trans-ferencia. Esta perspectiva tornava os equipamentos comprecos de aquisicao elevados, resultando assim desinteres-santes para aplicacoes mais simples. De facto, so aposo desenvolvimento dos varios protocolos para suporte decomunicacoes sem fios, de medio ou alto debito, como oBluetooth ou o Wi-Fi, comecou-se a pensar em protoco-los que respondessem as necessidades especıficas de sen-sores e dispositivos de controlo. Ate entao os diversos fa-bricantes deste tipo de equipamentos adoptavam solucoesproprias criando serios problemas de interoperabilidade en-tre sistemas. As redes dedicadas a comunicacao industrial,com informacao circulante relativa a sensores (de tempe-ratura, humidade, etc.) e dispositivos de controlo (boto-neiras, reles, entre outros), possuem, na sua generalidade,caracterısticas bastante distintas das redes pessoais ou em-

presariais para transmissao de voz e dados. Numa rede deambito de campo nao se privilegiara tanto uma elevada taxade transferencia de dados mas sim uma latencia baixa e umconsuma de energia igualmente baixo, para preservar a vidautil das baterias. E extremamente importante um reduzidoconsumo (de modo a que a facilidade de alimentacao e au-tonomia, em caso de alimentacao por bateria, sejam maxi-mizadas), assim como se torna desejavel um tamanho com-pacto dos modulos de comunicacao, uma vez que se pre-tende que sejam elementos ”acessorios”ao processo produ-tivo (e como tal, reduzida ao maximo a sua ”presenca”).

B. Transceivers (modulos de comunicacao RF)

Um transceiver e um dispositivo que combina um trans-missor e um receptor utilizando componentes de circuitocomuns para ambas funcoes num so aparelho. Se essescomponentes nao forem comuns, esse aparelho designa-setransmissor - receptor. Ou seja, vamos utilizar os trans-ceivers para fazer a comunicacao sem fios entre a estacaologger Delta-T e o computador, o transceiver que estiver li-gado ao logger Delta-T vai servir de transmissor/receptore o que estara ligado ao computador vai servir de recep-tor/transmissor, ira existir comunicacao bidireccional. Po-deremos concluir que os transceivers utilizados nao saomais do que dois modem a trocar informacao entre si. Ainformacao trocada entre si tera uma ligacao wireless (semfios).

C. Estacao meteorologica logger Delta-T

O logger Delta-T e um dispositivo programavel de dadoscapaz de fazer leituras e armazenar os dados de uma amplavariedade de fontes. E capaz de operar em condicoes de hu-midade e em altas e baixas temperaturas. O logger Delta-Tpossui um software para o programar e especificar quais ossensores que estao ligados ao logger Delta-T, que por suavez tambem grava os dados, podendo desligar-se o compu-tador que o logger Delta-T continua a fazer as leituras e aarmazena-las. Os dados registados a partir de sensores saoarmazenados na memoria do logger Delta-T e podem serperiodicamente transferidos para um computador ou paraqualquer dispositivo via porta serie (RS-232). Quando osdados foram recolhidos do logger Delta-T podem ser apa-gados da memoria do logger Delta-T para libertar espacopara mais dados. O logger Delta-T tambem tem um painelfrontal com teclado e visor que pode ser usado para verificare controlar as operacoes do logger sem usar um computa-dor.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

74 FERNANDO CARVALHO [19999]

D. Conectores RS-232

O RS-232 (Recommended Standard 232) e um padrao desinal desenvolvido pela Electronic Industries Association- EIA e ITU V.24/V28, partes interessadas em especificara interface serie entre equipamentos de terminal de dados(Data Terminal Equipment - DTE) e equipamentos decomunicacao de dados (Data Communications Equipment- DCE). O padrao RS-232 inclui caracterısticas do sinalelectrico (nıveis de tensao), caracterısticas de interfacemecanica (conectores), descricao funcional de circuitosinterligados (a funcao de cada sinal electrico) e alguns tiposcomuns de conexao terminal para modem. A RS232 possuidois sinais de comunicacao sendo o Txa enviar envia e oRx a recebe. O nıvel do diferencial binario e comparadocom a tensao do terceiro sinal GND. Ha outros sinais quepodem ser utilizados para controlo do fluxo e dos pontosda comunicacao.

II. DESENVOLVIMENTO E IMPLEMENTACAO

Na fase de desenvolvimento e implementacao executamosas seguintes etapas:

A. Modo de ligacao

Fig. 1MODO DE LIGACAO

B. Programacao dos transceivers XStream-PKG x24019PKI-R

Fig. 2TRANSCEIVER

Numa primeira fase configurou-se o switch para ocabo RS-232 que e o que vamos utilizar para fazer acomunicacao entre o computador e o transceiver, e o loggere o outro transceiver. Para isso temos de por o switch como

esta na figura 3.Os dois primeiros switches serao para seleccionar o caboserie que vamos utilizar, no nosso caso sera RS-232 logoo primeiro tem de estar on e o segundo off. Nao teremosterminacao, assim como nao se assumiu bit de paridade, ouseja, os switches 3,4,5,6 estarao off.

Fig. 3ESQUEMA DE CONFIGURACAO DOS SWITCHES PARA COMUNICACAO

RS-232

C. Instalar o software para programar os transceivers

O software necessario para a programacao dos transceiverse o X-CTU. Este software e fornecido pelo fabricante.

Fig. 4MENU DE INSTALACAO DO SOFTWARE

Para a instalacao do software seguiremos os seguintespassos, dos separadores:

Install X-CTU;Next;Aceitar os termos da licenca, Next;Preencher os separadores, Next;Install;Finish;

Abrimos o programa X-CTU

No separador ”PC Settings”teremos de por as seguintesmodificacoes, como mostra a figura seguinte:

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 75

Baud 2400;Flow control NONE;Data Bits 8;Parity NONE;Stop Bits 1;

Fig. 51O ETAPA NA CONFIGURACAO DO TRANSCEIVER

No separador ”Modem Configuration”teremos de selecci-onar as seguintes modificacoes, como ilustrado nas figuras:

Escolher o nosso modem, neste caso X24-019;Ir ao separador ”Serial Interface Options”, e mudar obaud rate para 2400;Por fim carregar no botao ”write”que ira gravar as nossasopcoes no modem;

Fig. 62O ETAPA NA CONFIGURACAO DO TRANSCEIVER

Como e logico, teremos de fazer estas operacoes para osdois transceivers, poderem comunicar convenientemente.Por fim, podemos testar se a comunicacao entre os doistransceivers esta a funcionar correctamente, o que se fezimplementando a seguinte ligacao:

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

76 FERNANDO CARVALHO [19999]

Fig. 7TESTE A COMUNICACAO ENTRE OS TRANSCEIVERS

Para isso vamos utilizar um ”w/ loopback adapter”paraverificar se a comunicacao esta a funcionar correcta-mente. Ligamos o loopback adapter ao transceiver comoilustra a figura 8. O ”loopback adapter”ira simular umacomunicacao, ou seja, o transceiver em que este esta ligadovai comunicar com o outro transceiver que esta ligadoao computador, este tem que receber a informacao queo ”loopback adapter”esta a enviar. Para verificar se estacomunicacao ocorre correctamente teremos de fazer osseguintes passos:

Vamos de novo ao programa X-CTU, e no separador”Range Test”

Seleccionar ”RSSI;”Carregar em start;

Fig. 8TESTE A COMUNICACAO ENTRE OS TRANSCEIVERS

Referir que se utilizam estes testes com taxa de erros dezero porcento, para distancias de transmicao de dez metros.

D. Modo de funcionamento da estacao meteorologica log-ger Delta-T

Fig. 9LOGGER DELTA-T

Para podermos utilizar o logger iremos necessitar de variosprogramas:

Fig. 10INCONS DOS SOFTWARES DO LOGGER DELTA-T

Quando executamos o ”DL2 Control Panel”, teremos deespecificar as propriedades de conexao correctas

Seleccionar a porta ”COM”, no nosso caso sera COM1;Por Baud Rate a 2400 como fizemos nos transceivers;Timeout a 10 segundos, em cada 10 segundos vai verificarse a comunicacao se mantem;Retries: 3, ao fim de tres tentativas falhadas aborta aligacao;Busy Retries: 1, verifica uma vez se o canal de ligacao estaa ser usado;

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 77

Fig. 11PROPRIEDADES DE CONEXAO COM O LOGGER DELTA-T

Quando clicamos em OK, estaremos a fazer acomunicacao com o logger.

Um dos separadores do ”DL2 Control Panel”e o ”Sen-sors”. Este permite ver todos os sensores instalados nologger, seleccionar os que queremos ler, assim comopodemos ver varias informacoes relativas aos sensores,como:

Canal a que esta ligado;Codigo do sensor;As leituras dos sensores;Unidades dos valores lidos;Informacao sobre correcto funcionamento;

Fig. 12SENSORES LIGADOS AO LOGGER DELTA-T, COM VARIAS

INFORMACOES DESTES

No separador ”Datasets”vamos encontrar varias opcoesrelativas as leituras feitas dos sensores.

Numero de leituras armazenadas;Quantas leituras irao ser feitas;Data da primeira e da ultima leitura;Numero de leituras guardadas;Data da proxima gravacao;Informacao relativa a memoria do logger;

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

78 FERNANDO CARVALHO [19999]

Fig. 13OPCOES RELATIVAS AS LEITURAS DOS SENSORES

Todas estas opcoes poderao ser modificadas, de acordocom as nossas necessidades de conhecimento das leiturasfeitas, ou de futuras leituras.

Existe ainda um separador ”Errors”que nos ira reportarerros existentes nas leituras ou em sensores.

Quando executamos o ”DL2 Program Editor”, teremosa lista de todos os sensores disponıveis para instalar nologger, assim como podemos adicionar mais sensores anossa lista ja existente. Temos tambem possibilidade deeditar e guardar novos que nao existentes na lista.

Fig. 14LISTAGEM DE SENSORES

Quando executamos o ”DL2 Dataset Viewer”, iremos vera base de dados, onde sao guardadas todas as leituras feitaspelos sensores, assim como a data/hora da leitura e o seuvalor, como ilustrado na figura seguinte.

Fig. 15BASE DE DADOS DAS LEITURAS FEITAS

E. Execucao dos cabos RS-232

Para que a comunicacao se realizasse correctamenteouve necessidade de realizar dois novos cabos RS-232,visto que, o cabo original que ligava o logger Delta-T aocomputador tinha umas ligacoes especıficas como estaindicado na figura 22. Como nao foi ligado directamenteao computador ouve a necessidade de fazer essas ligacoestambem nos cabos que ligam aos transceivers.

Fig. 16MODO DE LIGACAO

Entre o logger Delta-T e um transceiver ligamos o cabooriginal do logger Delta-T e um dos cabos que realizei(figura 23), realizamos este cabo porque foi necessarioconverter um conector RS-232 macho num RS-232 femea.

Entre o computador e o transceiver usou-se um caboRS-232 (figura 23). Para repor as ligacoes do cabo originaldo logger Delta-T punha na porta RS-232 do computadorquando estava ligado directamente a este, para poderactivar o modem interno do logger Delta-T.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 79

F. Conectores RS-232

Fig. 17CONECTOR RS-232

G. Cabos RS-2322

Fig. 18LIGACOES DOS CABOS RS-232

III. ENSAIOS

Nos ensaios realizados para testar se o sistema decomunicacao funcionava correctamente, existiram doisfactores que limitaram os ensaios:O tamanho da sala de projecto, logo so afasta os trans-ceivers um dos outros dez metros. E a alimentacao dostransceivers, que estavam ligados a fontes de alimentacaoreguladas para 9V, existentes na sala de projecto.Mas sabemos que os transceivers tem um alcance de 180

metros em edifıcios, e de 5 km em espacos abertos. Para oensaio ligamos um sensor de temperatura durante um dia,comecou-se a recolher leituras dia 14/07/2009 as 11:00horas ate o dia 15/07/2009 as 11:00 horas. As leituraseram feitas de 10 em 10 minutos. Na figura 24 vamoster os dados exportados para uma folha Excel, em quevamos encontrar toda informacao relativa ao sensor (diae hora em que comecou/acabou de recolher os dados,numero do canal que esta ligado, codigo do sensor, unidadede medida, maximo e mınimo valor recolhido, todas asleituras efectuadas).

Fig. 19LEITURAS DO SENSOR DE TEMPERATURA EM FOLHA EXCEL

A figura 25 mostra um grafico da variacao de temperaturaexistente na sala durante o perıodo de leitura.

Fig. 20VARIACAO DA TEMPERATURA

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

80 FERNANDO CARVALHO [19999]

IV. CONCLUSOES

A implementacao do sistema de transmissao de dados porradio - frequencia entre um computador e uma estacao me-teorologica Delta-T foi instalada com sucesso. No decorrerdeste artigo esta descrito o funcionamento e a instalacaodos varios programas e equipamentos que sao necessariospara o correcto funcionamento do sistema de transmissaode dados por radio - frequencia. Por algumas limitacoes sofoi implementado e configurado um sensor (temperatura) naestacao meteorologica Delta-T, um ponto em ter em contanuma futuro melhoramento, assim como testar o sistema adistancias mais longas e testar o sistema em termos de con-sumos, visto que estava ligado a uma fonte de alimentacao(testar os transceivers com pilhas de 9V).No decorrer da implementacao surgiram algumas dificulda-des, a notar a comunicacao entre as portas serie, em que seteve de realizar dois novos cabos RS-232 (macho/macho emacho/femea), em que so depois de varias tentativas e quese conseguir fazer uma comunicacao correcta. Um melho-ramento futuro tambem podera ser um sistema que apre-sente as actualizacoes das leituras dos sensores instantane-amente no computador, por exemplo, utilizando o ”Hyper-Terminal”.

V. BIBLIOGRAFIA

Edgar H. Callaway Jr., Wireless Sensor Networks: Archi-tectures and Protocols, CRCPress, 2003.

Delta-T Logger user manual, Delta-T Devices Ld,Cambridge, UK, 1993

http://www.delta-t.co.uk/product-literature.html

http://www.adhocelectronics.com/Products/XStream-PKG-radio-modems-900MHz-2-4GHz-100mW2

http : //pt.wikipedia.org/wiki/RS − 232

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 81

Optimizacao das Ligacoes de Aerogeradores em Parques EolicosP0916

Henrique Manuel Costa da Fonte, henrique [email protected]

Abstract – The objective of this project is to create a tool tooptimize the electrical physical connections of aerogeneratorsand the substations of Eolian Park. At the moment, the opti-mization tool considers the aerogenerators and the substationgeographical points are known. The applications was devel-oped in visual studio in C language programming.The optimization objective consists in determining the con-

nections cost between the aerogenerators and the substation.There fore, in a first step, an analysis of the equipment andtechnologies was made. In a second step, a C language pro-gram was developed in order to find out the best park connec-tion. The algorithm is based on Prim algorithm taking intoaccount the electrical physical characteristics.

Resumo – O objectivo deste projecto e obter uma ferramentade optimizacao de parques eolicos, dum ponto de vista deligacoes fısicas (electricas) dos aerogeradores ate a subestacao.Nesta primeira fase, a ferramenta de optimizacao foi desen-volvida conhecendo de antemao os pontos geograficos dosaerogeradores e da subestacao. Para tal, foi desenvolvida umaaplicacao que realiza os calculos necessarios a optimizacao dasligacoes dos aerogeradores a subestacao, feita no ambiente deVisual Studio em linguagem C.O objectivo da optimizacao e determinar as ligacoes dos

aerogeradores a subestacao tendo como finalidade minimizaros custos dessas ligacoes. Para esse fim, numa primeira fase,e realizada uma analise dos equipamentos constituintes dosparques eolicos e das tecnologias envolvidas ao tipo da redeelectrica. Numa segunda fase foi desenvolvida uma ferra-menta, em linguagem C, que permite minimizar os custos dasligacoes a subestacao. A aplicacao e baseada em algoritmosdeterminısticos, mais concretamente no algoritmo de Prim eentra em conta com as caracterısticas fısicas (electricas) dasligacoes.

Keywords – Optimization, Network Power, Eolian Park

Palavras chave – Optimizacao, Rede Electrica, Parque Eolico

I. INTRODUCAO

Nos ultimos anos, o consumo global de energia electricatem vindo a aumentar, impulsionado pelo crescimentoeconomico, o que se cre que continuara a acontecer nasgeracoes futuras, pois atingiu-se um nıvel de vida tao el-evado que e imprescindıvel viver sem energia. Tornando-seesta num bem muito procurado. Para alem do aumento doconsumo de electricidade, ha que considerar a substituicaode velhas centrais electricas, que ao longo dos temposforam atingindo o limite da sua vida util, e a producao deenergia electrica devera ser assegurada de qualquer forma.

O consumo de energia fossil provoca graves problemasrelacionados com a poluicao, como o efeito de estufa, oaquecimento global, a diminuicao da camada do ozono eas chuvas acidas. A instabilidade que se vive nos paısesprodutores de petroleo aliada a crescente preocupacao am-biental torna insustentavel a producao de energia atraves dequeima de combustıveis fosseis.O Protocolo de Quioto e uma consequencia destes even-

tos iniciada com a Toronto Conference on the Chang-ing Atmosphere, no Canada, e que culminou com aConvencao-Quadro das Nacoes Unidas sobre a MudancaClimatica (UNFCCC). Constitui-se entao no protocolo deum tratado internacional com compromissos mais severospara a reducao da emissao de gases que provocam o aquec-imento global do planeta.Consequentemente, nestes ultimos anos tem-se manifes-

tado um crescente interesse pelas energias renovaveis emgeral e em particular pela energia eolica, em todo o mundo,onde Portugal nao e excepcao.Em Portugal, pretende-se que as energias renovaveis

desempenhem um papel cada vez mais importante nasatisfacao dos consumos de electricidade.

TABELA IOBJECTIVOS DE PRODUCAO DE ENERGIA ELECTRICA DEFINIDOS

PELO GOVERNO PARA 2010

Estipulado Junho 2007 Em falta(MW) (MW) (MW)

Hıdricas5575

42341912Mini-Hıdricas 571

Fotovoltaicas 150 2.3 147.7Parques Eolicos 5100 1908 3192

Biomassa 250 24 226Biogas + RSU 100 8.2 91.8

Ondas 200 0 200Total 11375 6747.5 5769.5

Como se pode ver pela Tabela I 1, o Governo estipulou umaumento de quase 50% de electricidade produzida a partirde energias renovaveis ate 2010. Neste preciso momentoPortugal ja alcancou estes objectivos, sendo a energia eolicaa energia em maior expansao e com um maior contributo.As entidades governamentais pretendem aumentar o inves-

timento em energias renovaveis, dando assim um grandeapoio ao desenvolvimento dos recursos renovaveis, per-mitindo um maior equilıbrio entre as polıticas de energiae o ambiente.Alem dos benefıcios (subsıdios vindos da Uniao Europeia)

concedidos ao produtor de energia electrica, o desenvolvi-mento da tecnologia usada para a energia eolica atingiu

1Fonte: Direccao Geral de Energia e Geologiac© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

82 HENRIQUE dA FONTE [24981]

ja um alto nıvel permitindo que a producao de energiaelectrica a partir da energia cinetica do vento seja muitorentavel. Assim, a producao de energia electrica em par-ques eolicos e uma alternativa bastante interessante as out-ras formas de producao de energia electrica.

A producao de energia electrica atraves de fontesrenovaveis e muito menos agressiva para o meio ambi-ente que outras formas convencionais de producao de en-ergia electrica (centrais nucleares, a carvao, a petroleo, gas,etc.). Estas formas de producao de energia electrica ap-resentam efeitos positivos em termos de qualidade do ar,menos libertacao de CO2 na producao de energia electrica,de qualidade do ambiente e tambem de forma indirecta-mente, reflecte-se na qualidade de vida da populacao.

Dada a importancia da energia, varios investigadores tem-se debrucado sobre este assunto. Em 1999, Resende [1],utilizou os algoritmos geneticos para a optimizacao daconfiguracao da rede electrica de parques eolicos. O tra-balho apresenta conclusoes bastante positivas e aponta al-gumas direccoes para desenvolvimentos futuros nomeada-mente na possibilidade de um aerogerador poder recebermais do que duas ligacoes resultando em configuracoes darede diferentes que poderao ser interessantes de analisar.Posteriormente, em 2003 Davalos e Irving [2] usaram umalgoritmo genetico para encontrar a melhor localizacao etamanho de subestacoes e linhas de distribuicao com o fimde minimizar o custo da total da rede (incluindo o custoinicial e o custo operacional). Em 2004 Li et al [3] ap-resentaram um modelo para o planeamento de redes dedistribuicao baseado num conjunto de regras. Ao combinarregras heurısticas com algoritmos matematicos, o modelooptimiza a localizacao de subestacoes (recorrendo aos al-goritmos geneticos) e para determinar rede de distribuicaoo modelo recorre a metodos heurısticos onde sao consid-erados tanto os custos de investimento como os custos as-sociados as perdas nas linhas. Vitorino [4] usou os algo-ritmos geneticos para determinar a localizacao optima dasbaterias de condensadores com a finalidade de minimizar asperdas no sistema, o custo da compensacao de energia re-activa e tambem para a reconfiguracao de redes atraves deuma pesquisa nao direccionada e combinatoria de solucoespara determinar a topologia de exploracao que permite aminimizacao de perdas do sistema. Em 2007, Vicente [5]desenvolveu uma ferramenta de optimizacao de parqueseolicos, dum ponto de vista de perdas totais de energia e decustos totais. Nunes [6] usou os algoritmos geneticos paradeterminar a melhor configuracao da rede de distribuicaode energia electrica de um parque eolico com vista a mini-mizar o custo global da solucao.

Tendo em consideracao estas aplicacoes, o trabalho desen-volvido consistiu no desenvolvimento de um software quepermite determinar as melhores ligacoes entre a subestacaoe os aerogeradores de um parque eolico. Os dados do par-que encontram-se guardados em diversos ficheiros cons -truıdos para o efeito. Posteriormente, este software serafacilmente integrado na funcao de aptidao de um algoritmogenetico. O objectivo do algoritmo genetico e determinar amelhor localizacao da subestacao no parque eolico.

A. Estrutura do Artigo

Alem desta seccao introdutoria, o relatorio esta organizadaem 5 seccoes.Na seccao 2 e realizada uma caracterizacao dos parques

eolicos nomeadamente quanto aos princıpios fundamentaisda energia eolica e sao descritos os equipamentos que con-stituem os parques eolicos, tais como os aerogeradores eas ligacoes estabelecidas e as subestacoes. De seguida, naseccao 3 e explicado o princıpio de funcionamento do algo-ritmo de optimizacao e sao explicas as principais funcoesdo software desenvolvido.Na seccao 4 sao apresentados os resultados obtidos por

esta aplicacao, para o parque eolico de Pena Suar.Na seccao 5 sao tiradas as principais conclusoes do tra-

balho.Por ultimo, na seccao 6 sao apresentadas as perspectivas

para desenvolvimento futuro.

II. PARQUES EOLICOS

Pretende-se, nesta seccao, fazer uma descricao dos com-ponentes de um parque eolico e como estes se relacionamentre si de uma forma global.Os ventos sao causados por diferencas de pressao ao longo

da superfıcie terrestre, devido ao facto de haver radiacaosolar e esta ser recebida na terra com maior intensidade naszonas equatoriais do que nas zonas polares. A origem dovento e, portanto, a radiacao solar.Os ventos mais fortes, mais constantes e mais persistentes

ocorrem em zonas situadas a cerca de 10 km da superfıcieterrestre, nestas zonas a colocacao dos aerogeradores seriade elevado rendimento. Mas como e impossıvel a colocacaodos aerogeradores nessas zonas, o espaco encontra-se limi-tado a algumas dezenas de metros na atmosfera.Uma avaliacao correcta do potencial eolico com vista a

producao de energia electrica tem de basear-se em medi-das de vento efectuadas especificamente para esse efeito.Uma boa avaliacao, para o estudo do vento na Europa podeser conseguido atraves do Atlas Europeu de Vento. Assim,com estes dados do vento, pode-se determinar a melhorlocalizacao para a construcao de um eventual parque eolico.Portanto, deve ter-se em conta todos estes factores para de-terminar a localizacao geografica de um parque eolico. Porcausa destes factores que hoje em dia ouve-se muito falarde parques eolicos Offshore, sao parques eolicos que estaolocalizados no mar ou em lagos. Nestes locais a turbulenciados ventos e muito menor, sendo que estas localizacoes ap-resentam enumeras vantagens, como o facto de as torreseolicas poderem ser mais baixas mas tambem o facto deestas nao estarem sujeitas a ventos tao fortes e turbulen-tos, aumentando o tempo de vida util dos aerogeradores e apotencia produzida.

A. A energia eolica

A conversao tecnologica da energia do vento em ener-gia electrica e feita por uma maquina que se designa poraerogerador. Este e uma turbina movida pelo vento queacciona um gerador de energia electrica. Um aerogeradorobtem a sua potencia de entrada convertendo a energiacinetica do vento em energia mecanica.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 83

A potencia disponıvel no vento e obtida pela seguinteequacao:

Pv =12πρr2v3 (1)

Onde ρ representa a densidade do ar, r o raio das pas e v avelocidade do vento.Segundo o limite de Betz, a potencia eolica captada pelo

aerogerador esta limitada a cerca de 59% da potencia eolicadisponıvel no vento. Pois nao e possıvel extrair a totalidadeda energia cinetica do vento.A potencia gerada por um aerogerador e dada pela seguinte

equacao:

Pg =12ηπρr2v3 (2)

Onde η representa o rendimento do aerogerador.Como a potencia e proporcional ao cubo da velocidade do

vento, um aumento na velocidade do vento de 25% traduz-se num aumento de potencia de cerca de 100%.

B. Estudos de viabilidade de um parque eolico

Para que um parque eolico seja viavel numa determinadalocalizacao temos que analisar tres criterios:

1. Analise do potencial eolico;2. Estudo de impacto ambiental;3. Interligacao com a rede electrica.

B.1 Analise do potencial eolico

O recurso eolico e muito variavel dependendo de variosfactores como: o local, o perıodo sazonal, o perıodo diario,as condicoes climatericas.A escolha do potencial eolico num determinado local

normalmente implica a realizacao de um trabalho decaracterizacao dos ventos, sendo este realizado usandoequipamentos que permitem medir e registar a velocidade edireccao dos ventos. As medidas sao realizadas por grandesperıodos, por exemplo de 12 meses, para se conseguir obteruma amostragem significativa.Atendendo a que o valor da velocidade do vento varia com

muita frequencia, normalmente e usada a distribuicao deprobabilidade Weibull para caracterizar o vento em funcaodo valor medio medido.

B.2 Estudo de impacto ambiental

Os parques eolicos tem como principais impactes ambien-tais o ruıdo, o impacto visual e a influencia na fauna avıcola.Porem, devido a evolucao tecnologica na construcao dosequipamentos para parques eolicos (diminuicao dos ruıdos)e tambem o facto destes estarem localizados em zonas ondeo vento e mais forte (normalmente estao situados no topodas colinas), estas zonas normalmente estao desabitadas.Mas tambem a construcao de parques eolicos promovea construcao de estradas que ajuda ao acesso de zonasagrıcolas vizinhas e com essas novas vias de acesso facilitao combate ao incendio.

B.3 Interligacao com a rede electrica

Toda a energia electrica produzida pelos parques eolicose injectada na rede electrica publica. Pelo facto dalocalizacao dos parques eolicos se situarem em zonas mon-tanhosas, obtendo assim um melhor aproveitamento dosrecursos eolicos, muita das vezes encontram-se longe dosgrandes centros de consumo de energia electrica.

C. Equipamentos de um Parque Eolico

Um parque eolico normalmente costuma ser formadopor aerogeradores interligados entre si e ligados a umasubestacao instalada num edifıcio. A subestacao e re-sponsavel pela ligacao do parque a rede electrica. E com-posta pela sala de comando entre outras instalacoes auxil-iares.Portanto, pode definir-se a implementacao estrutural de um

parque eolico segundo os seguintes subsistemas:

1. Aerogeradores;2. Ligacao dos aerogeradores;3. Rede de Media Tensao;4. Subestacao de Transformacao;5. Sistema de Controlo/Supervisao.

C.1 Aerogeradores

Na actualidade a energia eolica atingiu ja uma grandeevolucao, sendo que nos dias que correm as turbinas maiscomuns sao as potencia de ordem de 2-3 MW.A maioria dos aerogeradores que se encontram instalados

em Portugal na actualidade sao aerogeradores de eixo hor-izontal com tres pas, apresentando diferentes dimensoes eaplicacoes mas na maioria ja sao equipados com maquinasde inducao de rotor bobinado com aproveitamento da ener-gia do escorregamento.Existem dois tipos de aerogeradores: os de eixo vertical

(ver figura 1) e os de eixo horizontal (ver figura 2).

Fig. 1TURBINA DE EIXO VERTICAL

As turbinas de ultima geracao, ja tem potencias instaladasda ordem dos 5 MW. Mas contudo encontrando-se ainda emfase de testes. E definido, [7], que, de uma forma geral, umaerogerador pode ser dividido em tres partes:

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

84 HENRIQUE dA FONTE [24981]

Fig. 2TURBINA DE EIXO HORIZONTAL

1. RotorO rotor e constituıdo pelo conjunto das pas e pelocubo. O projecto das pas do rotor beneficiou do estudoda tecnologia das asas dos avioes, que tem um fun-cionamento semelhante. De uma forma geral, o ventoataca as pas pelo lado da frente, devido ao facto deo vento incidente nao ser perturbado pela torre. Estasituacao e a mais usual e e denominada upwind. Noentanto existe tambem a opcao downwind, em que ovento incide pela parte de tras permitindo o auto alin-hamento do rotor na direccao do vento, mas o incon-veniente e que o escoamento e perturbado pela torreantes de incidir no rotor, pelo que nao e tao utilizada.

2. NacelleA Nacelle (ver figura 3) e a nave colocada no topo datorre e ligada ao rotor onde estao alojados, entre out-ros equipamentos, o gerador, o transformador, a caixade velocidades, o travao de disco e o mecanismo deorientacao direccional.

Fig. 3Nacelle DE UM AEROGERADOR

3. TorreA torre e o elemento fundamental do aerogerador dadoque e a estrutura de suporte do rotor e da nacelle e esta

eleva o rotor ate a cota a que a velocidade do vento epropria para o aerogerador e onde esta e menos per-turbada pelo efeito do solo, pois o vento tem maiorvelocidade e e mais constante quanto maior for a alti-tude.As torres devem ser dimensionadas para suportar car-gas significativas devido a altura a que se encontram eao peso da nacelle. As torres mais usuais sao do tipotubular (ver figura 4). Podem, contudo, ser tambem dotipo entrelacadas ( ver figura 5). As torres entrelacadasapesar de terem custos mais reduzidos, fundacoes maisligeiras e efeito de sombra da torre atenuado, temvindo a ser progressivamente abandonadas.

Fig. 4TORRE TUBULAR

Fig. 5TORRE ENTRELACADA

C.2 Ligacao dos aerogeradores

Uma vez que a energia cinetica do vento e convertida emenergia electrica em Baixa Tensao (BT), existe um trans-formador de Baixa Tensao para Media Tensao (BT/MT) nointerior da nacelle. Assim, a ligacao do gerador ao transfor-mador tera de ser mediante cabos de potencia que partiraodo seccionador principal instalado no quadro de potencia.

C.3 Rede de Media Tensao

O circuito de Media Tensao (MT) une os centros detransformacao dos aerogeradores, os quais se instalam en-terrados numa camara de passagem. Para canalizar os ca-bos da rede interna ate a subestacao sao utilizados tambem

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 85

cabos de MT enterrados. Usualmente, a camara de pas-sagem de cabos (ver figura 6) e constituıda por valas com1.20m de profundidade e 0.6m de largura, de acordo comas especificacoes das normas.A ligacao dos cabos e feita de acordo com o esquema

unifilar da planta do projecto e de acordo com o plano delocalizacao dos aerogeradores e a ligacao dos aerogeradorescom a subestacao e normalmente de topologia radial. Oscabos electricos podem ser do tipo unipolar ou tripolar.

Fig. 6CABOS SUBTERRANEOS DA REDE ELECTRICA DE DISTRIBUICAO EM

MEDIA TENSAO

C.4 Subestacao de Transformacao

Na subestacao e onde se faz a transformacao da energiaelectrica de Media Tensao (MT) para Alta Tensao (AT).Nesta zona esta colocado o transformador de potencia deMT/AT, a aparelhagem de contagem Transformador de In-tensidade de Corrente (TI’s) e Transformador de Tensao(TT’s) e o equipamento de interligacao com a rede deAT normalmente atraves de uma linha aerea. Geralmentesao construıdas subestacoes tipo exterior, ver figura 7. Apotencia do transformador da subestacao e da ordem dapotencia total instalada no parque eolico.

Fig. 7PARQUE EXTERIOR DE APARELHAGEM DE UMA SUBESTACAO TIPO

C.5 Sistema de Controlo/Supervisao

De forma a controlar a energia produzida no parque eolico,sao necessarios diversos equipamentos de medida e de

proteccao, bem como de controlo. Neste sistema estao in-stalados os quadros blindados (ver figura 8) de MT, o trans-formador (ver figura 9) de MT/BT dos servicos auxiliares,a contagem e a supervisao de todo o parque.

Fig. 8QUADROS BLINDADOS DE MEDIA TENSAO

Fig. 9TRANSFORMADOR DE POTENCIA MT/BT DOS SERVICOS AUXILIARES

III. OPTIMIZACAO DAS LIGACOES DEAEROGERADORES EM PARQUES EOLICOS

Uma vez que os parques eolicos comecam a tomar al-guma dimensao (da ordem de dezenas de aerogeradores),torna-se necessario realizar um dimensionamento cuidadoda sua rede electrica interna, tendo em conta determinadoscriterios de optimizacao.Pretende-se, em termos estritamente tecnicos, construir a

rede interna de um parque eolico com os menores custospossıveis, isto e, optimizar as ligacoes electricas do parque.

A. Criterios de optimizacao:

De forma a obter um parque eolico optimizado em termosde producao de energia electrica e de custos dessa energiaproduzida, devem ser levados em conta diversos factores.Nos quais, destacam-se:

• O tipo de aerogerador a utilizar;• A localizacao dos aerogeradores no terreno para obter

melhores condicoes de vento;• A localizacao da subestacao no terreno;

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

86 HENRIQUE dA FONTE [24981]

• O modo de ligacao entre aerogeradores a subestacao equais os cabos a usar para obter as menores perdas deenergia.

Uma vez que considerar todos estes factores levaria a umaanalise bastante complexa, e sendo que se pretende realizaruma optimizacao da rede electrica interna, alguns destesfactores sao estipulados a partida. Sendo que este pro-jecto, e a primeira parte da optimizacao das ligacoes in-ternas de um parque eolico. Este visa uma continuacaofutura, na area da tese de Mestrado em Engenharia Elec-trotecnica e de Computadores, onde todos estes factoresterao uma analise mais rigorosa. Como tal, neste projectoadmite-se que o tipo de aerogerador a considerar na redeanalisada e o definido no projecto de base, que dara origema optimizacao. Assume-se tambem o conhecimento previoda localizacao dos aerogeradores e da subestacao no ter-reno, supondo-se que estes se encontram nos locais com asmelhores condicoes de vento e com uma distancia entre sique minimiza a turbulencia provocada por uma turbina nasturbinas que o rodeiam (efeito de esteira).Nestes termos, a optimizacao do parque eolico e realizada

em termos das ligacoes da rede de media tensao interna doparque, sendo analisadas as varias configuracoes possıveis.Para este efeito sao descritos, de seguida, os criterios con-siderados nesta optimizacao.

B. Descricao do trabalho:

Nesta fase do trabalho, parte-se do conhecimento dalocalizacao geografica dos aerogeradores e da subestacao,assim obtendo as distancias relativas entre os sistemas.Desenvolveu-se um algoritmo de optimizacao das ligacoesdos aerogeradores ate a subestacao partindo do conheci-mento de todos dados de um parque eolico (caso de estudo:parque eolico de Pena Suar). Obtendo assim, as distanciaslineares dos aerogeradores ate a subestacao e os dados dosaerogeradores.

C. Algoritmo de optimizacao:

A base de optimizacao e de realizar agrupamentosde aerogeradores, constituindo ramais que ligarao asubestacao, sendo que em cada solucao obtida, os ramaiscontem diferente numero de aerogeradores.Neste sentido, o algoritmo de optimizacao consiste em

formar ligacoes entre aerogeradores e destes a subestacaoprocurando que as correntes maiores se desloquem o menortrajecto possıvel ate a subestacao. Nesta primeira parte,o trabalho foi realizado com um algoritmo determinıstico,mais concretamente o algoritmo de Prim.

D. Algoritmo de Prim:

O algoritmo de Prim [8] e um algoritmo ponderado que de-termina a arvore de custo mınimo para um grafo conexo2,sendo que as suas ligacoes possuam pesos, isto e, sao oscustos de cada ligacao. O algoritmo de Prim trabalha daseguinte forma, vai percorrendo o grafo, vendo as variaspossibilidades das ligacoes deste e com os pesos que estas

2Um grafo e conexo se existe caminho entre quaisquer dois dos seusvertices.

a

b c d

g

e

h i

f

3

8

8

9

7

5

102

7

2 1

11

Fig. 10GRAFO INICIAL

ligacoes possuam determina as melhores ligacoes. A ordemde complexidade para o algoritmo de Prim e O(E log V ),em que E e o conjunto de arestas (ou arcos) e V e o con-junto de vertices (nos) do grafo. E um algoritmo bastantecomplexo mas de elevado desempenho.

Entrada/Saıda: G do tipo grafo;W do tipo conjunto de arestaspara cada nodo u ∈ V [G] faca

chave[u]← +∞;pred[u]← nil

fimchave[r]← 0;A← ∅;Q← V [G];repetir enquanto FilaVazia(Q)=Falso

u← Extract-Min(Q);para cada nodo v ∈ adj[u] faca

se v ∈ Q e w(u, v) < chave[v] entaopred[v]← u;chave[v]← w(u, v);a← A ∪ {(u, v)}

fimfim

fim repetirretornar A

Algoritmo 1: Algoritmo de Prim

A funcao de Prim procura encontrar as ligacoes commenores custos que interligam os aerogeradores. De-termina a arvore de custos mınimos para a interligar osaerogeradores ate a subestacao. E de salientar que estafuncao vai procurar os aerogeradores da lista Q e selec-cionar o aerogerador cujo custo e menor, colocando-o nalistaA. Este processo e repetido ate serem removidos todosaerogeradores da lista Q. Na lista A e indicada a ligacaode cada aerogerador a rede. E de salientar que se despre-zou que ter alguns factores, como por exemplo, ao calcu-lar os custos admitimos que um segundo aerogerador aointerligar-se a outro nao trazia custos adicionais. Este custosera levado em conta futuramente.Atraves das figuras 10- 13, vai-se mostrar o funcionamento

do algoritmo de Prim.Comeca-se por seleccionar o no a e analisam-se as ligacoes

deste no aos restantes. Escolhe-se o elemento b pois a

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 87

a

b c d

g

e

h i

f

3

8

8

9

7

5

102

7

2 1

11

Fig. 11GRAFO COM UMA ITERACAO

a

b c d

g

e

h i

f

3

8

8

9

7

5

102

7

2 1

11

Fig. 12GRAFO COM DOIS ITERACOES

a

b c d

g

e

h i

f

3

8

8

9

7

5

102

7

2 1

11

Fig. 13ARVORE DE CUSTO M INIMO

sua ligacao (arco) corresponde ao peso mais pequeno (verfigura 11). De seguida, examina-se todos as ligacoes dosnos ja seleccionados {a, b} aos restantes, selecciona-se no-vamente o no cuja distancia seja menor, neste caso e o no c(ver figura 12). Repete-se o processo ate todos os nos seremseleccionados (ver figura 13)Neste caso, onde conhecemos as distancias dos aeroger-

adores ate a subestacao, o algoritmo de Prim foi uma pre-ciosa ajuda. Pois e um algoritmo que determina as mel-hores ligacoes internas, optimizando-as com uma elevadarapidez.Ao realizar o trabalho e com vista a facilitar a modificacao

dos dados, criaram-se funcoes genericas, para poder fun-cionar para qualquer parque eolico, os dados do parqueforam armazenados em ficheiros de texto. Desta forma,basta aceder aos ficheiros e poder substituir os dados poroutros de outro problema.

E. Ficheiros de interligacao com o software desenvolvido:

Foram construıdos ficheiros: para armazenar dados dediferentes tipos de cabos electricos, para armazenar da-dos de um parque eolico (nomes dos aerogeradores eda subestacao, tensao da rede de distribuicao, potenciaaparente nominal dos aeorogeradores), para armazenar asdistancias dos aerogeradores ate a subestacao e foram con-struıdas funcoes para leitura desses ficheiros.De seguida vai-se explicar as principais funcoes do pro-

grama.A funcao custo calcula o peso (ou custo) de cada ligacao

de um aerogerador a outro ou a subestacao e implementadatendo em consideracao os dados de cada aerogerador.A funcao acede aos dados de um aerogerador e ve a sua

potencia e a tensao, calculando assim a corrente maxima (3)que o cabo electrico tera de aguentar. Sendo que a funcaocalcula I , assim definido:

I =potaerogerador KVA

tensaoaerogerado KV(3)

Depois acede ao ficheiro de dados dos cabos e retorna opreco por metro do cabo relativo ao cabo mais adequado.Em seguida faz o calculo do custo da ligacao do aeroger-ador a outro ou a subestacao, tendo em conta o preco docabo por metro, da vala por metro e das distancias linearesdos aerogeradores entre si e ate a subestacao.

IV. CASO DE ESTUDO - PARQUE DE PENA SUAR:

Com o objectivo de testar o software desenvolvido,apresenta-se neste capıtulo a aplicacao do software a umparque eolico denominado parque eolico de Pena Suar.

A. Caracterizacao do parque:

O parque eolico de Pena Suar fica localizado a cerca de15km a oeste da cidade de Vila Real e foi um dos primeirosparques eolicos instalados em Portugal, foi ligado a rede em1998 com uma potencia electrica de 10MW. E constituıdopor 20 aerogeradores ENERCON modelo E40 com 500kW/ 400V de potencia nominal com um diametro de pas de40.2m instalados em torres tubulares com 44m de altura.Na figura 14, podemos ver a disposicao dos aeroge -

radores, bem como da subestacao e as ligacoes entre eles.Apresenta-se na Tabela II as localizacoes geograficas dosaerogeradores e da subestacao do parque eolico de PenaSuar.

B. Optimizacao do parque:

O software desenvolvido foi utilizado no parque de PenaSuar, tendo em conta os dados do parque. Foi feita umaoptimizacao deste parque, nesta fase desprezou-se o custoprovocado pelas ligacoes em serie. Este custo sera levadoem conta posteriormente.A aplicacao informatica onde foi implementado o algo-

ritmo de optimizacao do parque Eolico foi desenvolvido emlinguagem C e funciona da seguinte forma:

• Sao lidos os dados do ficheiro coordenadas.txt, quecontem as coordenadas geograficas dos aerogeradorese da subestacao;

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

88 HENRIQUE dA FONTE [24981]

Fig. 14PARQUE EOLICO DE PENA SUAR [IMAGEM DO GOOGLE EARTH]

• Sao importados os dados de caracterizacao do parqueeolico do ficheiro dados.txt que contem todos os dadosde um parque;• Com base na tensao nominal do parque eolico, sao im-

portados os dados referentes aos cabos electricos osquais estao definidos nos ficheiros: cabos10.txt, ca-bos15.txt, cabos20.txt e cabos30.txt.

O custo de cada arco (ligacao) entra em linha de conta coma distancia, o preco do cabo por metro, o custo da vala pormetro.

C. Resultados Obtidos:

Para o parque em estudo obtiveram-se as ligacoes da figura15. Como se pode ver pelas figuras 14 e 15 o resultadoe bastante semelhante ao implementado na realidade. Nafigura 15, o peso da ligacao do aerogerador 15 para o 13parece ser menor do que o peso da ligacao do aerogerador15 para 14, mas nao e, pois o custo da ligacao do aeroger-ador 15 para o 14 e de 12151 enquanto que o custo daligacao do aerogerador 15 para o 13 e de 12784, pois adistancia do aerogerador 15 para o 13 e maior do que adistancia do aerogerador 15 para o 14.

V. CONCLUSOES

Neste trabalho foi apresentada uma solucao para aoptimizacao da ligacao dos aerogeradores em parqueseolicos. A analise dos resultados obtidos permite concluirque a aplicacao informatica determina a melhor solucaopara o problema tendo em consideracao os valores carac-terısticos do parque eolico.

TABELA IIPOSICOES GEOGRAFICAS DOS SISTEMAS DO PARQUE EOLICO DE

PENA SUAR

Latitude LongitudeSE 41.281076 −7.922973

Aer

oger

ador

es

1 41.301086 −7.9148462 41.300110 −7.9145763 41.298801 −7.9156674 41.298065 −7.9170545 41.296584 −7.9168776 41.295289 −7.9174137 41.293928 −7.9192308 41.293074 −7.9217389 41.292708 −7.92049510 41.291898 −7.92347711 41.291459 −7.92213912 41.290551 −7.92466913 41.290022 −7.92299014 41.289164 −7, 92481815 41.288591 −7.92316816 41.286590 −7.92301317 41.286231 −7.92563318 41.285145 −7.92413019 41.284575 −7.92633520 41.283858 −7.927511

A optimizacao foi desenvolvida tendo por base alocalizacao geografica dos aerogeradores e da subestacao,calculando os custos entre os sistemas.Os dados referentes aos cabos electricos podem ser facil-

mente actualizados visto que a aplicacao importa umficheiro do tipo texto com as caracterısticas dos caboselectricos e por conseguinte a sua actualizacao e realizadade um modo simples. Alem do mais, o programa pode op-timizar as ligacoes de qualquer parque. Para esse fim bastautilizar um ficheiro correspondente a outro parque eolico.O trabalho desenvolvido corresponde aos objectivos pro-postos.O software desenvolvido foi testado partindo do con-

hecimento previo dos nıveis de tensao da rede internade distribuicao de energia electrica do parque eolico dePena Suar e tambem do conhecimento da localizacao dasubestacao.Esta aplicacao desenvolvida permite o seguimento para um

trabalho futuro para diferentes localizacoes da subestacaobem como para diferentes nıveis de tensao. O desen-volvimento deste trabalho sera no sentido de determinar alocalizacao optima da subestacao bem como o nıvel optimoda tensao da rede de distribuicao do parque eolico.

VI. PRESPECTIVA PARA TRABALHO FUTURO

Este trabalho visa uma continuacao futura, na area datese de Mestrado em Engenharia Electrotecnica e de Com-putadores, onde se pretende projectar um parque eolico deraiz. Visa-se desenvolver futuramente com uma pequenamodificacao das funcoes, determinar a localizacao optimada subestacao bem como o nıvel optimo da tensao da redede distribuicao do parque eolico.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 89

s

12

3

45

6

7

8

9

10

11

12

13

14

1516

17

18

19

20

8864

13735

11351

1322412064

17144

13760

8920

14615

6535

10120

15464

13935

14864

17831

12151

12375

12168

9375

8047

Fig. 15PARQUE EOLICO OPTIMIZADO COM O software DESENVOLVIDO

Este trabalho foi realizado com o enorme cuidado de criartodas as funcoes genericas, para futuramente, poder integra-las com grande facilidade num algoritmo genetico. Asfuncoes desenvolvidas neste trabalho vao ser integradas nafuncao de aptidao de um programa evolutivo, onde visa en-contrar a melhor localizacao da subestacao.

BIBLIOGRAFIA

[1] Fernanda de Oliveira Resende, “Optimizacao de configuracoes dasredeselectricas de parques eolicos”, Master’s thesis, Faculdade deEngenharia da Universidade do Porto, Dezembro de 1999.

[2] F. Rivas-Davalos e M. R. Irving, “An efficient genetic algorithm foroptimal largescale power distribution network planning”, em IEEEBologna PowerTech Conference on, June de 2003.

[3] K.K. Li, G.J. Chen, T.S. Chung, e G.Q. Tang, “Distribution plan-ning using a rule-based expert system approach”, em Electric UtilityDeregulation, Restructuring and Power Technologies, 2004. (DRPT2004). Proceedings of the 2004 IEEE International Conference on,April de 2004, vol. 2, pp. 814–819 Vol.2.

[4] Romeu Manuel Vieira Vitorino, “Exploracao de redes de distribuicaode energia electrica-optimizacao da colocacao de condensadores comreconfiguracao da topologia da rede”, Master’s thesis, Universidadede Coimbra, 2006.

[5] Filipe Guilherme Campos da Silva Pereira Vicente, “Optimizacao da

rede electrica interna de um parque eolico para minimizacao do custototal”, Master’s thesis, Universidade Tecnica de Lisboa, Instituto Su-perior Tecnico, Lisboa, Portugal, Setembro de 2007.

[6] Paulo Jorge da Conceicao Nunes, “Optimizacao da ligacoes electricados aerogeradores de um parques eolicos”, Master’s thesis, Universi-dade de Tras-os-Montes e Alto Douro, Julho de 2008.

[7] Rui M.G. Castro, “Introducao a energia eolica”, vol. 3.[8] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, e Clif-

ford Stein, Introduction to Algorithms, MIT Press and McGraw-Hill,2001.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 91

Sıntese de Circuitos DigitaisP0917

Helio Alves Freire, [email protected]

Abstract – This work proposes the construction of a tool basedon the principles of evolutionary computation, more preciselyusing genetic programming in order to build combinationallogic circuits. The circuit must satisfy the constrains and havethe minimum gates possible. We make a presentation on thebasic aspects of genetic programming, and done a case studyfor the multiplexer circuit 2-1.

Resumo – Este trabalho propoe a construcao de uma ferra-menta com base nos princıpios da computacao evolutiva, maisprecisamente usando programacao genetica, de forma a cons-truir circuitos digitais combinatorios. O circuito deve satis-fazer os requisitos e ter o mınimo de portas logicas possıvel.No artigo faz-se uma apresentacao sobre os aspectos basicosda programacao genetica, e realiza-se um estudo de caso parao circuito multiplexer 2-1.

Keywords – Evolutionary Computation, Genetic Program-ming, Digital Circuits

Palavras chave – Computacao Evolutiva, ProgramacaoGenetica, Circuitos Digitais

I. INTRODUCAO

O objectivo deste trabalho consiste no desenvolvimentode uma ferramenta de sıntese de circuitos electronicosdigitais usando a programacao genetica (PG). A PG e umatecnica de computacao evolutiva (CE) que procura resolverproblemas automaticamente sem ser necessario conhecerou especificar a estrutura da solucao [1].A PG baseia-se na teoria da Seleccao Natural de Darwinem que os indivıduos mais bem preparados sobreviveme podem passar as suas caracterısticas para as geracoesfuturas. Conjuntamente com a PG existe os AlgoritmosGeneticos (AG) como as duas principais tecnicas dedesenvolvimento em CE [2]. Os AG foram desenvolvidosprimeiramente por John Holland nos anos 60 e 70 doseculo passado. Mais tarde, nos anos 90, John Koza cria atecnica de PG inspirada na teoria de AG [3].Mas Jong [4] refere que a ideia de sistemas computacionaisbaseados na evolucao simulada tera dado os primeirospassos na decada de 30 por Sewell Wright. Contudo,tera sido nos anos 50 que a optimizacao de problemas setornou ate aos dias de hoje na principal area de pesquisada CE. Nos anos 60 e 70 Holland deu um grande con-tributo para o desenvolvimento da CE e principalmentetornou os Algoritmos Geneticos (GA) mais simples. Nosanos 90, Koza [5] [6], atraves da PG concebe circuitoscombinatorios e realiza a sıntese de circuitos electricosanalogicos. E esta tem sido uma area de forte pesquisa.Nas ultimas decadas as tecnicas de CE tem sido aplicadas

a concepcao de circuitos electronicos [7] como forma deresponder a maior complexidade dos circuitos digitaisexigidos actualmente e que sao de difıcil obtencao com osmetodos tradicionais como os mapas de Karnaugh.Na seccao 2 falaremos de Programacao Genetica, doque e, da inicializacao da populacao, da seleccao com osoperadores geneticos cruzamento e mutacao. Na seccao 3e 4 apresentaremos o trabalho desenvolvido e os resultadosobtidos. Por fim, na seccao 5 daremos as conclusoes eperspectivas de trabalho futuro.

II. PROGRAMACAO GENETICA

Na PG temos uma populacao constituıda por indivıduosque representam programas de computador, esperando queapos cada geracao tenhamos uma populacao de programasmelhor [1]. A forma normalmente usada em PG para re-presentar um indivıduo da populacao e na forma de arvore.Todo este processo baseia-se em alteracoes estocasticas quenem sempre nos conduzirao aos resultados optimos comoverificaremos na seccao 4.Existem cinco passos para a construcao de um algoritmo dePG, que sao:

1. criar aleatoriamente uma populacao inicial2. evoluir cada um dos indivıduos obtendo a aptidao3. seleccionar indivıduos4. aplicar os operadores geneticos (cruzamento e

mutacao)5. criar uma nova geracao tendo por base a populacao

anterior e a aplicacao dos operadores geneticos

e repetir desde o item dois estes passos ate se atingir acondicao de paragem. A estrutura do algoritmo de umprograma genetico esta representado em Alg. 1.

Algoritmo 1 Programacao Genetica1: Criar uma populacao inicial2: repeat3: Executar cada um dos programas e obter a aptidao4: Seleccionar um ou dois indivıduos conforme a ap-

tidao e o operador5: Aplicar o operador genetico6: Criar uma nova geracao7: until ate atingir o maximo de geracoes8: return O melhor indivıduo

Antes de passar a inicializacao da populacao e precisosaber o tipo de problema que se vai resolver para se esta-

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

92 HELIO FREIRE [18584]

belecer as folhas da arvore que representam variaveis ouconstantes do problema e as funcoes que estao represen-tadas nos restantes nos das arvores. A combinacao dasvariaveis/constantes e das funcoes criam o nosso programa.Na tabela I estao alguns exemplos do tipo de funcoes e nosterminais que se podem associar a um problema em PG.

TABELA IEXEMPLO DE FUNCOES E TERMINAIS

Tipo de FuncoesPrimitivas Exemplosaritmeticas +, −, *, /

matematicas sin(), cos()booleanas and, or, not

condicionais if-then-else... ...

Tipo de TerminaisPrimitivas Exemplosvariaveis x, y, a, b

constantes 3, 5.4, 0.444... ...

A. Inicializacao da Populacao

A populacao inicial e criada de uma forma aleatoria, fi-cando no nosso caso com arvores de diferentes dimensoes.Aqui temos de ter a percepcao de que se o numero defuncoes for inferior ao de variaveis ficamos com arvorespequenas, caso contrario obteremos arvores grandes, o quepode trazer problemas nao so na diversidade da populacaoinicial como nos tempos de computacao assim como na suaconvergencia para o optimo. Na Fig. 1 temos um exem-plo de uma arvore que se pode obter na inicializacao dapopulacao.

xor

and

xor

a b

not

c

or

not

b

a

Fig. 1EXEMPLO DE UMA ARVORE

B. Seleccao

Os indivıduos da populacao sao seleccionados aleatoria-mente com base no seu valor de aptidao que e obtido apli-cando a funcao de aptidao. O metodo de seleccao devegarantir que os melhores indivıduos tem maior probabili-dade de serem escolhidos para formar a geracao seguinte.No entanto, o metodo deve dar hipotese de os piores in-divıduos tambem poderem passar os seus genes para ageracao seguinte. E importante que assim seja para ter em

cada uma das geracoes diversidade na populacao, mas queesta, no conjunto, se aproxime do optimo estabelecido nodecorrer da optimizacao.O valor da aptidao e muitas vezes a unica forma de saberse um determinado indivıduo e a resposta ao problema ouse esta proximo de o ser. Geralmente cada ferramenta dePG tem uma forma de medir a aptidao (que representa umdado importante na nossa busca do optimo, ja que e combase neste valor que se cria a proxima geracao).Depois de termos a avaliacao de cada um dos in-divıduos aplicamos os operadores geneticos de cruzamentoe mutacao. A escolha de uma boa funcao de cruzamentoe de mutacao e um dos pontos chave para se conseguiratingir o objectivo proposto. Assim, obter uma funcao decruzamento e de mutacao que seja igualmente eficaz paratodas as situacoes que a nossa ferramenta procura resolverpodera ser difıcil de conseguir [8], por isso existem diversastecnicas para estabelecer este tipo de funcoes.

B.1 Cruzamento

O cruzamento consiste na escolha de dois indivıduosaleatoriamente (normalmente tenta-se que os de maior ap-tidao sejam mais vezes chamados a efectuar o cruzamento).Selecciona-se tambem aleatoriamente um nodo em cadaum dos indivıduos (ponto de cruzamento) e trocam-se entreos dois indivıduos as subarvores resultantes, obtendo-seneste caso dois filhos. Tambem e usado o processode dois pais gerarem um so filho. Nas Fig(s). 2, 3, 4e 5 exemplifica-se o processo usado no operador decruzamento. Nas Fig(s). 2, 3 selecciona-se o ponto decruzamento, implicando que a sub-arvore obtida (que seencontra dentro do cırculo nas figuras), va ser trocada.Fica-se assim com dois filhos, em que cada um deles teraos genes de cada um dos progenitores.

xor

and

a b

or

not

b

a

PAI 1Ponto de Cruzamento

Fig. 2ARVORE PAI 1

B.2 Mutacao

O operador de mutacao pode ser implementado de diversasmaneiras. A forma mais usada de mutacao e a que consistena escolha aleatoria de um indivıduo e de um ponto demutacao nesse indivıduo. Cria-se uma nova subarvore aparte que vai substituir a subarvore que se seleccionou no

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 93

and

or

a c

not

or

b c

PAI 2Ponto de Cruzamento

Fig. 3ARVORE PAI 2

xor

not

or

a c

or

not

b

a

FILHO 1

subarvore de Pai 2

Fig. 4ARVORE FILHO 1

and

or

a c

and

a b

FILHO 2

subarvore de Pai 1

Fig. 5ARVORE FILHO 2

indivıduo, sendo eliminada a sub-arvore substituıda. AsFigs. 6, 7, 8 ilustram este processo, que foi o escolhido pornos. Uma outra forma de mutacao e a de mutacao numponto em que se escolhe na mesma um nodo e so se alteraa funcao desse nodo escolhida tambem aleatoriamente.Na aplicacao usa-se o operador reproducao que ocorrequando a probabilidade de cruzamento nao e de 100%,assim os indivıduos seleccionados que nao realizam cruza-

mento passam atraves de copia para a geracao seguinte.

+

*

x y

-

3

PAI Ponto de Mutacao

Fig. 6ARVORE PAI

/

4 *

x x

Sub-arvore

Fig. 7SUB-ARVORE GERADA ALEATORIAMENTE

+

*

x y

/

4 *

x x

FILHO

A sub-arvore

Fig. 8ARVORE FILHO

III. TRABALHO DESENVOLVIDO

Para este trabalho pretendeu-se desenvolver uma ferra-menta1 que nos permita obter circuitos logicos combi-natorios atraves da especificacao de uma tabela de verdade.No nosso estudo estes circuitos podem ter multiplas en-tradas mas uma so saıda como por exemplo um multiplexer,

1A nossa aplicacao foi desenvolvida na linguagem c++ [9] [10]c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

94 HELIO FREIRE [18584]

a Fig. 9 mostra-nos o que pretendemos obter, sabemosa saıda, queremos saber as entradas e a forma como ocircuito e implementado. O objectivo e obter um circuitofuncional com o menor numero de portas logicas possıvel.Para tal, as portas logicas que usamos foram a AND, OR,XOR e NOT.

nen

trad

as

Circuito a Implementar

uma

saıd

a

Fig. 9ESQUEMATIZACAO DO CIRCUITO

Assim, cada um dos nossos indivıduos vai ser um conjuntode entradas e portas logicas que vao reproduzir para cadacombinacao dos valores das variaveis o respectivo valor desaıda.Portanto, o calculo da nossa funcao de aptidao representaa funcionalidade do indivıduo e a simplicidade do circuito.Considera-se f (1) como a nossa funcao de aptidao. Iremoster uma parte, f1(2) que representa a funcionalidade e f2(4)a simplicidade.O numero de variaveis de entrada e determinado a partirda dimensao do numero de condicoes (R) especificado noprograma.

TABELA IITABELA DE VERDADE DO EXEMPLO

g a b c Rg0 0 0 0 R0

g1 0 0 1 R1

g2 0 1 0 R2

g3 0 1 1 R3

g4 1 0 0 R4

g5 1 0 1 R5

g6 1 1 0 R6

g7 1 1 1 R7

A funcao de aptidao sera definida da forma abaixo.

f = {f1, f2} (1)

f1 =n−1∑

i=0

G(i) (2)

G(i) =

{1 gi = Ri

0 gi 6= Ri

(3)

f2 = min{no de portas logicas} (4)

Para o caso da Tab. II, o numero variaveis de entrada saotres {a, b, c}, pois o numero de condicoes e n = 8, (no devariaveis = log2 n). Assim vai-se criar uma populacao ini-cial em que podemos ter para cada um dos indivıduos tresentradas diferentes e uma combinacao de portas logicas.Um dos indivıduos da populacao inicial podera eventual-mente ser a arvore da Fig. 1. Este indivıduo (circuito) con-duziu a tabela de verdade ilustrada na Tab. III. Comparandoos resultados das funcoes g e R, ou usando as equacoes( 1- 3),obtem-se f1 = 5, que corresponde ao numero decondicoes verificadas, e f2 = 6, que indica o numero deportas utilizadas.No final da simulacao, com a funcao R = {01100010}, aferramenta gerou o circuito apresentado na Fig. 10.

TABELA IIITABELA DE VERDADE DA ARVORE FIG. 1

a b c g R0 0 0 1 00 0 1 1 10 1 0 1 10 1 1 0 01 0 0 0 01 0 1 1 01 1 0 1 11 1 1 1 0

a

c

bc

Fig. 10CIRCUITO QUE IMPLEMENTA R

IV. RESULTADOS

Com a aplicacao desenvolvida realizou-se uma segundasimulacao para um circuito logico combinacional. O cir-cuito foi um multiplexer 2-1. A funcao objectivo seraR={00110101}, tendo 3 entradas {a, b, c} e uma saıda{O},neste caso a variavel a sera o selector e as variaveis b, cserao as entradas. Como ja foi referido as funcoes logicaspossıveis sao {AND,OR, XOR, NOT}. Foi usada umapopulacao de 101 indivıduos e realizadas 100 geracoes. Aprobabilidade de cruzamento foi de 80%, a de mutacao 1%e a de reproducao 20%. O cruzamento e a reproducao foirealizado com a seleccao aleatoria de cinco indivıduos, edestes cinco escolhıamos os dois com maior valor de ap-tidao. Com estes dois indivıduos geravamos a dois in-divıduos para a geracao seguinte, ou atraves de cruzamentocomo especificado anteriormente ou atraves de reproducao.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 95

Na nova geracao era aplicada a mutacao como descritotambem anteriormente. De uma geracao para a outrapassavamos directamente o melhor indivıduo. Realizamos25 testes.A Tab. IV mostra-nos os resultados obtidos no fim dasimulacao, se conseguiu ou nao chegar a um circuito fun-cional, que representa um circuito capaz de gerar a funcaoR em cada uma das suas condicoes de entrada, (com F ={8, f2}).

TABELA IVRESULTADOS DAS SIMULACOES

no de vezesObteve circuito funcional 20Nao obteve circuito funcional 5

Dos 20 circuitos funcionais2 encontrados neste teste adistribuicao em relacao ao numero de portas por numerode vezes e circuitos diferentes (C. dif.) encontrados ficoucomo mostra a Tab. V. Verificamos que obtivemos oito cir-cuitos que ja tinham surgido anteriormente, todos eles nasituacao de terem quatro portas logicas.

TABELA VCIRCUITOS FUNCIONAIS VS NUMERO DE PORTAS

No Portas No vezes C. dif3 1 14 13 55 3 36 1 17 2 2

A Tab. VI mostra-nos em termos medios a aptidao do me-lhor indivıduo da populacao inicial, a geracao em que seobtinha o primeiro circuito funcional e a geracao em que seobteve o circuito com maior valor de aptidao.

TABELA VIRESULTADOS MEDIOS DO TESTE

Fit. Pop. Ini Ger. 1oCF Ger.CF final6.85 10.85 37.4

De referir que em tres casos o primeiro circuito funcionala ser gerado ultrapassou a vigesima geracao. So por setevezes o circuito funcional com menor numero de portas ul-trapassou a quinquagesima geracao.Nas Figs. 11, 12, 13 temos varios exemplos de circuitosgerados pela aplicacao. O primeiro foi o melhor caso ob-servado. O tempo de processamento de cada um dos testesteve uma media de 42 segundos. De notar que podemosconsiderar o circuito a gerar bastante simples.

2So estamos a tratar o circuito funcional com menor numero de portas.E normal haver mais que um circuito funcional na populacao da ultimageracao e existir tambem outros circuitos funcionais com o mesmo numerode portas logicas, portanto com o mesmo valor de aptidao

c

bab

Fig. 11MELHOR CIRCUITO OBTIDO POR PG

c

a

b

Fig. 12O CIRCUITO MAIS VEZES OBTIDO

b

a

c

Fig. 13EXEMPLO SEM PORTAS XOR

V. CONCLUSAO

A aplicacao desenvolvida, seguindo de uma forma geral osprincıpios da programacao genetica, gera circuitos logicosque respondem ao que era o objectivo deste trabalho, porum lado uma introducao a computacao evolutiva e princi-palmente aos algoritmos e programacao genetica, por outroo desenvolvimento da aplicacao.Os resultados apurados mostram o desempenho daaplicacao, sem poder fazer comparacao de resultados, aobservacao de varias simulacoes que se efectuaram para atestar permitem fazer algumas conclusoes que estao refe-renciadas tambem na literatura. No teste apresentado tinha-se tres entradas, se simplificarmos o circuito, duas entradaspor exemplo e rara a vez que nao temos o circuito optimo,caso aumentemos as entradas, quatro, cinco, seis o desem-penho vai diminuindo. Mas se conforme aumentamos acomplexidade aumentarmos a dimensao da populacao e onumero de geracoes, assim como o tamanho das arvores dapopulacao inicial, consegue-se aproximar da mesma quali-dade verificada, mas e claro que o tempo de processamentocresce bastante. Outro ponto crıtico e a forma de cruza-mento e de mutacao. Um dos problemas destes algoritmose a sua convergencia para maximos que nao sao o optimo e

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

96 HELIO FREIRE [18584]

a incapacidade para sair desse maximo local. Normalmentecom o cruzamento e reproducao vamos perdendo diversi-dade, mas ficamos mais perto do optimo, com a mutacaoprocuramos inserir de novo alguma diversidade.Este trabalho e a base para desenvolver circuitos digi-tais mais complexos. A computacao evolutiva e transver-sal a diversas areas do conhecimento, podendo os seusprincıpios ser aplicados com sucesso, nao so a problemasde electronica, como a propria genetica, a economia, entreoutros.

BIBLIOGRAFIA

[1] Riccardo Poli, William B. Langdon, e Nicholas FreitagMcPhee, A field guide to genetic programming, Pub-lished via http://lulu.com and freely available athttp://www.gp-field-guide.org.uk, 2008, (Withcontributions by J. R. Koza).URL: http://www.gp-field-guide.org.uk

[2] Cecılia Maria do Rio Fernades Moreira Reis, Sıntese de SistemasDigitais por Computa cao Evolutiva, PhD thesis, Universidade deTras-os-Montes e Alto Douro, Vila Real, Portugal, 2007.

[3] Cecılia Reis, Jose Antonio Tenreiro Machado, e J. BoaventuraCunha, “Evolutionary design of combinational logic circuits.”,JACIII, vol. 8, no. 5, pp. 507–513, 2004.

[4] Kenneth A. De Jong, Evolutionary Computation, The MIT Press,March de 2002.

[5] John R. Koza, “Introduction to genetic programming”, em Advancesin Genetic Programming, Kenneth E. Kinnear, Jr., Ed., capıtulo 2,pp. 21–42. MIT Press, Cambridge, MA, USA, 1994.URL: http://www.genetic-programming.com/jkpdf/aigp1994intro.pdf

[6] John R. Koza, Forrest H Bennett Iii, David Andre, Martin A, e FrankDunlap, “Automated synthesis of analog electrical circuits by meansof genetic programming”, IEEE Transactions on Evolutionary Com-putation, vol. 1, pp. 109–128, 1997.

[7] Cecılia Reis, Jose Antonio Tenreiro Machado, J. Boaventura Cunha,e Eduardo Jose Solteiro Pires, “Evolutionary computation in thedesign of logic circuits”, em SMC, 2007, pp. 1664–1669.

[8] Antonio Ferrolho e Manuel M. Crisostomo, “Optimization of ge-netic operators for scheduling problems”, JACIII, vol. 11, no. 9,pp. 1092–1098, 2007.

[9] Robert Lafore, Object-Oriented Programming in C++, SAMS, In-dianapolis, 2002.

[10] Adam Drozdek, Data Structures and Algorithms in C++,Brooks/Cole Publishing Co., Pacific Grove, CA, USA, 2000.

[11] K. A. De Jong, W. M. Spears, e D. F. Gordon, “Using genetic algo-rithms for concept learning.”, Machine Learning, vol. 16, pp. 161–188, 1993.

[12] Martin A. Keane, John R. Koza, e Matthew J. Streeter, “Auto-matic synthesis using genetic programming of an improved general-purpose controller for industrially representative plants”, EvolvableHardware, NASA/DoD Conference on, vol. 0, pp. 113, 2002.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 97

Data Logger com armazenamento de dados em cartoes SD/MMCP0918

Francisco Eduardo Gomes Baptista Cordeiro

Abstract – The main goal of this project is to use amicrocontroller-based platform, known as StudentKIT, tobuild a Data Logger system with the aim of acquiring datafrom environmental sensors and store them in a MMC/SDflash memory card. To this effect, the hardware system, com-prised by the StudentKIT and a MMC/CD card interface withFAT32 support, was explored and a proper application soft-ware was designed to configure its functions and to exchangedata using an USB port with a personal computer. The devel-oped application, written in C, builds upon a state machineimplementation to clearly define each stage of program ex-ecution. All programming tasks were performed under theMicrochip IDE (MPLAB) and Microchip PICKit2. As ex-pected, the data logger implementation can provide an im-portant monitoring tool in many different applications suchas room temperature control purposes.

Resumo – Este projecto tem como principal objectivo autilizacao de uma plataforma de hardware existente, conhe-cida por StudentKIT, na concepcao de um Data Logger cujafinalidade e a aquisicao de dados proveniente de sensores e ar-mazenar as suas amostras num cartao de memoria MMC/SD.Para isso, o sistema de hardware, composto pelo StudentKIT eum sistema de cartoes MMC/SD com suporte para FAT32, foiexplorado e uma aplicacao desenvolvida em C foi concebidapara configurar as suas funcoes e a troca de dados entre o Log-ger e um computador. A aplicacao foi inteiramente desenvol-vida sobre uma maquina de estados para definir claramentecada estagio da execucao do programa. Como ambiente deprogramacao recorreu-se ao ambiente integrado da Microchip(MPLAB) e ao PICKit2. Como esperado, a implementacaodas funcoes de Data Logger na plataforma utilizada podeconstituir uma importante ferramenta em muitas aplicacoestais como controlo de temperatura ambiente.

Keywords – Data Logger, microcontroller, MMC/SD card.

Palavras chave – Data Logger, Microcontrolador, CartoesMMC/SD.

I. INTRODUCAO

Um Data Logger e um equipamento electronico que temcomo finalidade principal o registo de dados provenien-tes de sensores ao longo de um perıodo de tempo. Saodispositivos que se baseiam num processamento de dadoscom uma tendencia para a utilizacao de microcontrolado-res. Sao tambem caracterizados por apresentarem variasformas, cada uma adequada ao ambiente onde sao inseri-dos em operacoes de monitorizacao de grandezas fısicas.Muitos sao alimentados pela tensao de rede e tem normal-mente suporte para a ligacao a baterias que permitem o seu

funcionamento autonomo. Relativamente a sua interfacecom o exterior, esta pode ser com fios (RS232 ou USB, porexemplo) ou sem fios (802.11x, Bluetooth). O programaque e executado para realizar as funcoes de data logger per-mite tambem que os dados adquiridos possam ser visua-lizados num ecran. O suporte de armazenamento de da-dos tem tambem algumas variantes desde o armazenamentoem memoria RAM (cujo conteudo desaparece se o equi-pamento for desligado), memoria ROM (em equipamentosmais antigos) ou em memoria flash (cartoes de memoria).Pretende-se que durante a execucao deste projecto seja

utilizado o StudentKIT v1.0 e uma placa especıficapara a gravacao e leitura de dados em cartoes dememoria (SD/MMC) com suporte FAT32. Assim, eem primeira instancia, ter-se-a de se estudar o fun-cionamento do leitor de cartoes e depois proceder aprogramacao do microcontrolador que e utilizado pelodo StudentKIT (PIC18F4620, Microchip, USA). Paraisso, as ferramentas de programacao a utilizar consis-tem no MPLAB IDE V.8.10 e o no programador MCC18(www.microchip.com) onde, depois de instalados, se po-dera efectuar a programacao do microcontrolador, criandoum ficheiro de projecto StudentKit.mcw. Este ultimo econstituıdo pelos ficheiros lcd.c, stdk.c, usb.c, lcd.h, usb.h,aos quais e necessario acrescentar-se novas linhas de codigoque, depois de compilados, serao enviados para microcon-trolador do StudentKIT atraves da sua interface (ICSP, In-Circuit Serial Programming) recorrendo a um programadorPICKit2.

II. DESENVOLVIMENTO

Para a concepcao de uma aplicacao de um Data Loggertorna-se necessario utilizar uma plataforma com as carac-terısticas compatıveis com o pretendido. Foi objectivo desteprojecto utilizar-se a plataforma StudentKIT, desenvolvidana UTAD para os alunos da Licenciatura em EngenhariaElectrotecnica e de Computadores desenvolverem as suasaplicacoes. Esta plataforma, ilustrada na figura 1, e essenci-almente composta por um microcontrolador da famılia PIC18F4620 da Microchip [1], um display, uma interface USBpara ligacao a um computador, um regulador de tensao in-terno e um conjunto de botoes para a elaboracao de menussimples. As suas caracterısticas encontram-se resumidas natabela I.

A. Organizacao do sistema de Data Logger

Diagrama de blocos da solucao completa, ilustrando Stu-dentKIT, sistema de cartoes MMC/SD, sensores, etc. Pode-se visualizar na figura 2 o diagrama de blocos do sistema.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

98 FRANCISCO CORDEIRO, [email protected] [22070]

Fig. 1FOTOGRAFIA DA PLATAFORMA DE HARDWARE UTILIZADA

(STUDENTKIT).

Item DescricaoProcessador PIC18F4620 (Microchip, USA)Visualizacao Display retroiluminado de 4 linhas por

20 colunasComunicacoes Porta USB (FTDI, USA)

Porta RS232 (TTL)Alimentacao Externa, 9VDC/100mA

Porta USB (5V/100mA)Saıdas 2 saıdas a rele livre de potencialEntradasanalogicas

2 canais com 10-bit de resolucao na es-cala de 0 – 5V.

TABELA ICARACTERISTICAS PRINCIPAIS DO STUDENTKIT.

Falar da filosofia de funcionamento. Como funciona emtermos gerais, sem grande pormenor. Vai ser descrito nosparametros a seguir mencionados.

B. Maquina de estados

A maquina de estados, e uma descricao de um determinadosistema que depende de algumas entidades. Neste sistema,e uma vez que funciona em circuito fechado, podem-se con-siderar como o estado inicial e o estado final. No fundo,apos a verificacao de um sımbolo de entrada num determi-nado instante, a maquina de estados elabora um determi-nado sinal de saıda atraves de um sımbolo num momentoexacto. Neste caso concreto, pode-se considerar o estadoinicial como sendo o momento da verificacao da prontidaodo sistema de leitor de cartoes para receber informacao e oestado final, o momento em que e possıvel e em que efec-tivamente o cartao de memoria armazena informacao. Estamaquina de estados constitui-se pela sequencializacao dosvarios estados que a constituem, que sao descritos conformeo constante na Tabela II.

Fig. 2DIAGRAMA DE BLOCOS DO SISTEMA DATA LOGGER

Portanto, cabe agora fazer uma brevıssima descricao decada um dos estados.O STATE 0 tem como principal funcao a inicializacao do

sistema (atraves do comando ”FI”). Da mesma forma, esteestado tem outras duas funcoes que sao: 1) programacaodos canais (existindo dois neste sistema); 2) programacaodo tempo de aquisicao de uma nova leitura. No tocante ao,STATE 1 o objectivo e verificar o processo de inicializacaodo sistema. Ou seja, neste estado verifica-se a correccaoda informacao para que o processo possa ter continuidade.Mas caso seja identificado algum erro no sistema, estainformacao e-nos fornecida pelo STATE 2. O STATE 3tem como principal funcao questionar o sistema sobrea data e a hora (assumida por defeito) cuja visualizacao edeterminada pelo STATE 4. Por sua vez, o STATE 5 per-mite que sejam feitas alteracoes na data e hora assumidaspelo sistema. A alteracao destes elementos, podera ser rea-lizada por um agente externo ao sistema (por ex. uma pes-soa) e para os valores pretendidos cuja confirmacao ocorreno STATE 16. Uma das possibilidades deste sistema, e aprogramacao do tempo de intervalo existente entre variosmomentos de recolha de dados, pelo que esta e a funcaodo STATE 6. Ja o STATE 7, tem a seu cargo a leitura dovalor que provem do sensor para posterior visualizacao nodisplay. Dados como o mes, dia e ano deverao ser arma-zenados num ficheiro criado no cartao de memoria, cujafuncionalidade fica a cargo do STATE 8. Isto permite quequando se abre o ficheiro do cartao de memoria, se consul-tem os dados conforme a data que convier. E tambem fun-damental que a correccao da resposta seja aferida. Portanto,o STATE 9 verifica se a resposta e correcta, permitindo ounao a continuidade do sistema criando um ficheiro que efechado pelo STATE 12. O STATE 10, tem como funcaoa redaccao, no ficheiro, dos dados recolhidos, nomeada-mente, a data e hora e os valores recolhidos do sensor. OsSTATE 11 e 13, verificam se a resposta e correcta, permi-tindo ou nao a continuidade do sistema. As medicoes ouafericoes feitas por este sistema poderao ser temporizadas.Assim, o STATE 14, tem como funcao controlar e regular otempo para que o sistema faca uma nova leitura. STATE 15,tem como funcao a programacao dos canais que, neste sis-tema, sao dois. Por outro lado, para que seja mais facil o seu

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 99

entendimento, esta maquina de estados pode ser esquemati-camente representada. Desta forma, na figura 3 poderemosfazer uma interpretacao do funcionamento da totalidade donosso sistema.

Estado Descricaode execucao do estadoSTATE00 Envio do comando FISTATE01 Verificacao da resposta ao comando FISTATE02 Erro do sistemaSTATE03 Envio do comando MTSTATE04 verificacao da resposta ao comando MTSTATE05 Envio do comando TSTATE06 Programacao do tempo de aquisicaoSTATE07 Leitura do valor do sensorSTATE08 Envio do comando MOSTATE09 Verificacao da resposta ao comando MOSTATE10 Envio do comando MWSTATE11 Verificacao da resposta ao comando MWSTATE12 Envio do comando FCSTATE13 Verificacao da resposta ao comando FCSTATE14 Tempo de espera para uma nova leituraSTATE15 Programacao dos canaisSTATE16 Comfirmacao da alteracao da data e

hora

TABELA IIDESCRICAO DOS ESTADOS UTILIZADOS NA APLICACAO

DESENVOLVIDA.

C. O comando de inicializacao (FI)

Para o sistema funcionar tem que se verificar acomunicacao entre dois sistemas (isto e, entre o Stu-dentKIT e o sistema de cartoes MMC/SD). Para queisto seja possıvel, torna-se necessaria a utilizacao do co-mando de inicializacao (FI). De referir que o comando deinicializacao (FI) bem como todos os outros (MO, MW, FC,MT e T) sao da responsabilidade de quem configurou o sis-tema de cartoes MMC/SD. Para que o sistema se inicie enecessaria a activacao do comando de inicializacao (FI) queenvia um f, um i e um \n em que este ultimo serve paramudar de linha. Apos isto, o sistema passa para o STATE1, onde se verifica a resposta que foi dada pelo sistema decartoes MMC/SD. A resposta pode ser considerada afirma-tiva (ok) ou negativa (erro). Caso seja negativa, o sistema eencaminhado para o STATE 2 onde e mostrado que houveum erro ao inicializar o sistema, havendo um retorno dosistema para o STATE 0 de forma que o processo se repita.Caso a resposta seja afirmativa, o sistema funcionara cor-rectamente seguindo sequencialmente cada um dos estadosdo sistema, conforme a descricao acima apresentada .O excerto do codigo seguinte refere-se a implementacao

do state0.case(STATE0):

lcd_gotoxy (1,1);printRomStr((rom char*)str);LcdSendCommand(0x0C);LimpaLCD();lcd_gotoxy (4,1);printRomStr((rom char*)strINIT2);

if (sProjecto.sButtons.ucBtn3==1){vCleanButtonFlags();lcd_gotoxy (4,1);printRomStr((rom char*)strLIMPA);lcd_gotoxy (2,1);printRomStr((rom char*)strINIT);LimpaBuffer();TXREG=’f’;delay(200);TXREG=’i’;delay(200);TXREG=’\n’;delay(200);

sProjecto.sSystem.eState=STATE1;}if(sProjecto.sButtons.ucBtn1==1){

vCleanButtonFlags();lcd_gotoxy (4,1);printRomStr((rom char*)strLIMPA);sProjecto.sSystem.bLastScreen=1;

sProjecto.sSystem.eState=STATE6;}if(sProjecto.sButtons.ucBtn2==1){

vCleanButtonFlags();lcd_gotoxy (4,1);printRomStr((rom char*)strLIMPA);sProjecto.sSystem.iOpcaoconfing1=0;

sProjecto.sSystem.eState=STATE15;}

break;

O excerto do codigo seguinte refere-se a implementacaodo state1.case(STATE1):

lcd_gotoxy (1,1);printRomStr((rom char*)str);

if(RXFlag==1) //Se flag==1 recebi dados pela porta serie{

RXFlag=0;//limpo a flagif(procuraOK()==1){

lcd_gotoxy (3,1);printRomStr((rom char*)strOK);sProjecto.sSystem.eState=STATE3;

}else{

sProjecto.sSystem.eState=STATE2;}}

break;

O excerto do codigo seguinte refere-se a implementacao dostate2.case(STATE2):

lcd_gotoxy (2,1);printRomStr((rom char*)strERRO);lcd_gotoxy (4,1);printRomStr((rom char*)strINIT7);

if(sProjecto.sButtons.ucBtn3==1){vCleanButtonFlags();

sProjecto.sSystem.eState=STATE0;

}if(sProjecto.sButtons.ucBtn1==1){

vCleanButtonFlags();sProjecto.sSystem.eState=STATE0;

}break;

D. Configuracao da aquisicao de dados

Neste trabalho foram configurados o tempo de aquisicaodos dados, a data e a hora e os canais que correspondemrespectivamente aos STATE 6, STATE 5 e STATE 15. Destaforma, esta configuracao permite que os dados sejam re-colhidos no tempo, na data e na hora, recorrendo ao canalescolhidos para o efeito. O tempo de aquisicao dos dadospode ser chamado quer pelo STATE 0 quer pelo STATE 4,uma vez que foi declarada uma variavel para o efeito (spro-jecto.sSystem.blastScreen). Para que a data e a hora sejamalteradas, o comando t tem que ser enviado para o sistema

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

100 FRANCISCO CORDEIRO, [email protected] [22070]

Fig. 3ESQUEMA DA MAQUINA DE DADOS

de cartoes de memoria MMC/SD. Por exemplo, este co-mando deve ser enviado da seguinte forma: "t" ano mesdia hora minutos segundos. Apos esta operacao a data e ahora do sistema de cartoes de memoria MMC/SD serao mo-dificados. A programacao dos canais serve para seleccionaro canal que esta pronto a ser utilizado.O excerto do codigo seguinte refere-se a implementacao

do state6.

case(STATE6):

lcd_gotoxy (1,1);printRomStr((rom char*)strINIT4);lcd_gotoxy (4,1);printRomStr((rom char*)strINIT6);lcd_gotoxy (2,8);LimpaBuffer();printIntNoSpaces(sProjecto.sSystem.tsample);printChar(’ ’);printChar(’S’);printChar(’e’);printChar(’c’);printChar(0x27);printChar(’s’);

if (sProjecto.sButtons.ucBtn2==BUTTON2){vCleanButtonFlags();if(sProjecto.sSystem.tsample<MAX_TIME_SAMPLE){

sProjecto.sSystem.tsample=sProjecto.sSystem.tsample+1;}else{

sProjecto.sSystem.tsample=MIN_TIME_SAMPLE;}

}if (sProjecto.sButtons.ucBtn1==BUTTON1){

vCleanButtonFlags();if(sProjecto.sSystem.tsample>MIN_TIME_SAMPLE){

sProjecto.sSystem.tsample=sProjecto.sSystem.tsample-1;}else{sProjecto.sSystem.tsample=MAX_TIME_SAMPLE;

}}

if (sProjecto.sButtons.ucBtn3==BUTTON3){vCleanButtonFlags();if(sProjecto.sSystem.bLastScreen==1){

lcd_gotoxy (4,1);printRomStr((rom char*)strLIMPA);

sProjecto.sSystem.eState=STATE0;}else{

LimpaLCD();sProjecto.sSystem.eState=STATE3;

}}

break;

O excerto do codigo seguinte refere-se a implementacao dostate5.

case(STATE5):lcd_gotoxy (1,1);printRomStr((rom char*)strINIT5);lcd_gotoxy (2,1);lcd_gotoxy (3,1);printRomStr((rom char*)strINIT16);

if(sProjecto.sButtons.ucBtn3==BUTTON3){vCleanButtonFlags();

sProjecto.sSystem.iOpcaoconfing=sProjecto.sSystem.iOpcaoconfing+1;if(sProjecto.sSystem.iOpcaoconfing>7) {

sProjecto.sSystem.iOpcaoconfing=0;}

}if(sProjecto.sSystem.iOpcaoconfing<6) {

lcd_gotoxy (4,1);printRomStr((rom char*)strINIT17);

}else{lcd_gotoxy (4,1);printRomStr((rom char*)strINIT19);

}if(sProjecto.sButtons.ucBtn2==BUTTON2){

vCleanButtonFlags();vProgDateTimeUpDown(1);

}if(sProjecto.sButtons.ucBtn1==BUTTON1){

vCleanButtonFlags();vProgDateTimeUpDown(0);

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 101

}vMostraMenu5();vMudaOpcao();

break;

E. Escrita e leitura de dados em cartao de memoria

Este parametro, considerando os estados descritos nestamaquina de estados, corresponde aos STATE 8, STATE 10 eSTATE 12. Neste sistema cada um dos estados apontados,tem funcoes diferentes, a saber: STATE 8 cria o ficheiro, oSTATE 10 escreve a informacao no ficheiro e o STATE 12fecha o ficheiro. Relativamente a leitura dos dados cons-tantes no cartao de memoria, e necessario que o cartao sejaligado a um computador, para posterior visualizacao dosdados nele expressos, uma vez que a visualizacao dos da-dos nao pode ser feita directamente neste sistema. Pode-sevisualizar na figura 4 como ficam guardados os dados noficheiro.

Fig. 4VISUALIZACAO DO FICHEIRO CRIADO NO CARTAO DE MEMORIA

Para que seja possıvel a criacao de um ficheiro no cartaode memoria, de forma que os dados sejam escritos e pos-teriormente lidos, e necessario o envio do comando MO daseguinte maneira: enviar um m, enviar um o, espaco eenviar um d e um \n (que serve para mudar de linha).O excerto do codigo seguinte refere-se a implementacao

do state8.case(STATE8):

lcd_gotoxy (1,1);printRomStr((rom char*)str);lcd_gotoxy (2,1);printRomStr((rom char*)strINIT10);lcd_gotoxy (3,1);printRomStr((rom char*)strLIMPA);LimpaBuffer();TXREG=’m’;delay(200);TXREG=’o’;delay(200);TXREG=’ ’;delay(200);TXREG=’d’;delay(200);TXREG=’\n’;delay(200);

sProjecto.sSystem.eState=STATE9;break;

Ha ainda a referir que e necessaria a verificacao da resposta

do comando MO, para se verificar se a resposta e afirmativaou negativa. Caso a resposta seja afirmativa o sistema temcontinuidade, funcionando normalmente, caso contrario osistema e encaminhado para o STATE 14, onde o sistemaentra num tempo de espera para uma nova leitura, para queo sistema nao bloqueie. No tocante ao STATE 10, tem afuncionalidade de escrever a informacao no ficheiro anteri-ormente criado. O envio deste comando e realizado atravesdo envio de um M, de um W, espaco, de um t, espaco,valor lido pelo sensor, \t (que significa dar umespaco) e um \n (que significa mudanca de linha). Ha asalientar que o processo que determina a verificacao da res-posta, e similar ao do comando MO.O excerto do codigo seguinte refere-se a implementacao

do state10.case(STATE10):

lcd_gotoxy (1,1);printRomStr((rom char*)str); lcd_gotoxy (2,1);printRomStr((rom char*)strINIT12);lcd_gotoxy (3,1);printRomStr((rom char*)strLIMPA);LimpaBuffer();TXREG=’m’;delay(200);TXREG=’w’;delay(200);TXREG=’ ’;delay(200);TXREG=’t’;delay(200);TXREG=’ ’;delay(200);

for(i=0;i<MAX_CHANNELS-1;i++){printIntToUsart(sProjecto.sSensores.adChannel[i]);TXREG=’\t’;delay(200);

}TXREG=’\n’;delay(200);

sProjecto.sSystem.eState=STATE11;break;

Quanto o fecho do ficheiro, que ocorre no STATE 12, torna-se necessario o envio do comando FC da seguinte forma:enviar um F, enviar um C e um\n (que serve para mudar delinha). A verificacao da resposta obedece aos parametrosexpressos no comando MO.O excerto do codigo seguinte refere-se a implementacao

do state12.case(STATE12):

lcd_gotoxy (1,1);printRomStr((rom char*)str);lcd_gotoxy (2,1);printRomStr((rom char*)strINIT13);lcd_gotoxy (3,1);printRomStr((rom char*)strLIMPA);LimpaBuffer();TXREG=’f’;delay(200);TXREG=’c’;delay(200);TXREG=’\n’;delay(200);

sProjecto.sSystem.eState=STATE13;break;

O excerto do codigo seguinte refere-se a implementacao dostate13.case(STATE13):

lcd_gotoxy (1,1);printRomStr((rom char*)str);lcd_gotoxy (1,1);printRomStr((rom char*)str);

if(RXFlag==1) //Se flag==1 recebi dados pela porta serie{

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

102 FRANCISCO CORDEIRO, [email protected] [22070]

RXFlag=0;//limpo a flagsProjecto.sSystem.eState=STATE14;

if(procuraOK() == 1){lcd_gotoxy (3,1);printRomStr((rom char*)strOK);

}else{lcd_gotoxy (2,1);printRomStr((rom char*)strERRO);

sProjecto.sSystem.eState=STATE14;conta1=0;

}}

break;

F. Interface com um computador

Para que a comunicacao entre este sistema e o computadorseja possıvel, e necessaria a existencia de duas portas USB,uma do StudentKIT e outra do computador. O sistema doStudentKIT e o sistema de cartoes MMC/SD comunicamatraves da porta RS232 (TTL). A totalidade do sistema podeser visualizada na figura 5.

Fig. 5FOTOGRAFIA DO DATA LOGGER ONDE SE PODERA VISUALIZAR O

LEITOR DE CARTOES E UM SENSOR DE TEMPERATURA.

III. CONCLUSOES

Conclui-se que o objectivo deste projecto foi alcancado,dado que o objectivo do Projecto era de fazer um sistemaData Logger na plataforma utilizada (StudentKIT). Pode-se referir que esta podera ser uma ferramenta de extremaimportancia nas mais variadas aplicacoes como, entre ou-tras, no controlo de temperatura ambiente.

AGRADECIMENTOS

Agradeco ao Professor Miguel pela ajuda que me deu aolongo do semestre para que este trabalho fosse realizadona totalidade. Ao Professor Raul Morais pela ajuda, nosconselhos, para fazer o artigo.

BIBLIOGRAFIA

[1] Microchip, “Folhas de dados do microcontrolador PIC18F4620”,Disponıel online, descarregado em Novembro de 2008 emhttp://www.microchip.com.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 103

Desenvolvimento de alvos de deteccao de tiro automatico para pentatlo modernoP0920

Helder Filipe Marques Cardoso, [email protected]

Abstract – This work aims to develop an automatic systemthat makes the detection of the target shooting in modern pen-tathlon. Over time the majority of sports have been adaptedto the adoption of new technologies, especially in the area ofelectronics. Modern pentathlon is no exception, so new ruleswill be implemented with the emergence of electronic targets.Instead of only five shots the athletes could trigger unlimitedslots for only one target, with the aim to hit five times in just70s, the athletes know when hit by changing the lamp state(installed above the target) from red to green. This system hasmany advantages such as: facilitating the tasks of the jury, acompetition easier to follow and understand, making competi-tion more attractive and interesting.

Resumo – Neste trabalho pretende-se desenvolver um sistemaque faca a deteccao automatica de tiro ao alvo no pentatlo mo-derno. Ao longo dos tempos a maioria dos desportos tem-seadaptado com a insercao de novas tecnologias, principalmentena area da electronica. O pentatlo moderno nao e excepcao,assim novas regras serao implementadas com o aparecimentode alvos electronicos. Em vez de apenas cinco tiros os atle-tas poderao disparar ilimitadamente, para apenas um alvo,com o objectivo de acertar cinco vezes em apenas 70s, os atle-tas saberao quando acertam atraves da mudanca do estadodas lampadas (instaladas por cima do alvo) de vermelho paraverde. Este sistema tem inumeras vantagens tais como: facili-tar as tarefas do juri, uma competicao mais facil de acompa-nhar e perceber. Assim teremos uma competicao muito maisatractiva e interessante.

Keywords – Reed switch sensor, Shot detection , Modern Pen-tathlon

Palavras chave – Sensor reed switch, Deteccao de tiro, Penta-tlo moderno

I. INTRODUCAO

O circuito ira ser iniciado atraves de um botao de pressao,ja incorporado no PICkit 2, que ao ser pressionado faz um”reset”(todos a vermelho) aos LED e acciona um contadordecrescente de setenta segundos. Neste espaco de tempo oatleta tem tiros ilimitados ao seu dispor. De cada vez queacerta o tiro um dos LED passa de vermelho para verde,quando acertar os cinco tiros o contador permanecera inal-terado ate proxima inicializacao. No final do tempo os tirosdisparados nao sao contabilizados. Este processo e detec-tado atraves de um sensor reed switch. Faremos ainda acomunicacao com o PC atraves do HiperTerminal para vi-sualizar a contagem e o numero de tiros certeiros. Todo osistema vai ser controlado atraves de um microcontrolador(PIC 16F887).

O sistema e constituıdo por 4 blocos: microcontrolador,sistema de sinalizacao, botao de inicializacao e sensor dedeteccao de tiro, como ilustrado na Figura 1. Seguidamentedescreve-se detalhadamente cada um dos blocos.

Fig. 1MODELO ESQUEMATICO DO SISTEMA IMPLEMENTADO

A montagem do sistema sera efectuada no PICkit 2 DebugExpress (Kit da Microchip que inclui placa de aprendiza-gem com microcontrolador 16F887, de 44 pinos, incorpo-rado e programador adaptavel) apenas por ser mais pratico.

Fig. 2PICKIT 2 DEBUG EXPRESS

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

104 HELDER CARDOSO [19707]

A. Microcontrolador

E um chip altamente integrado o qual inclui, num unicochip, todas ou a maior parte dos elementos necessariosa um controlador. Ele pode ser definido como umasolucao ”de um unico chip”. Tipicamente inclui: CPU,RAM, EPROM/PROM/ROM, I/O e controladores deinterrupcoes para interfaces paralelas e series. Por servoltado para aplicacoes especıficas de controlo, o seucusto e relativamente baixo. Um microcontrolador tıpicotem instrucoes de manipulacao de bits, acesso facil edirecto a I/O (entradas e saıdas) e processamento eficientede interrupcoes. Com frequencias de relogio de poucosMHz (Megahertz) ou talvez menos, os microcontroladoresoperam a uma frequencia muito baixa se comparados comos microprocessadores actuais, no entanto sao adequadospara a maioria das aplicacoes usuais como por exemplocontrolar uma maquina de lavar roupa. O seu consumo emgeral e relativamente pequeno, normalmente na casa dosmiliwatts e possuem geralmente habilidade para entrar emmodo de espera (Sleep) aguardando por uma interrupcaoou evento externo, como por exemplo o accionamento deuma tecla, ou um sinal que chega via uma interface dedados. O consumo destes microcontroladores em modo deespera e tipicamente baixo, alguns nano watt, tornando-osideais para aplicacoes onde a exigencia de baixo consumode energia e um factor decisivo para o sucesso do projecto.

Fig. 3DIAGRAMA DE PINOS DO PIC 16F887

B. Sensor de deteccao de tiro

O sistema de deteccao de tiro e efectuado atraves de umsensor reed switch, estes sensores sao dispositivos electro-

mecanicos que abrem ou fecham um contacto quando umcampo magnetico esta presente. Eles vem normalmente emcircuito aberto ou fechado e vao desde o tamanho de umgrao de arroz ate varios centımetros de comprimento. Umrele, outro dispositivo electromecanico, e composto porum reed switch construıdo numa caixa. Usos comuns parareed switches (nao contando reles que sao utilizados empraticamente todos os dispositivos electronicos) incluem o”pick up”na bicicleta a computadores, sensores de janela ealarmes de portas.

Fig. 4PRINCIPIO DE OPERACAO DE UM INTERRUPTOR MAGNETICO

C. Sistema de Sinalizacao

O sistema de sinalizacao e constituıdo por duas partes:Primeiro temos a sinalizacao luminosa atraves de LED(Dıodo emissor de luz) para uma amostragem do numerode tiros certeiros simplificada e visıvel. Os LED saorevolucionarios elementos luminosos, com caracterısticasdiferentes das usuais luminarias. Estes dıodos (valvulatermionica constituıda por dois electrodos - catodo eanodo) fazem com que os electroes de gas existentes noseu interior se excitem a passagem de uma determinadacorrente, emitindo energia luminosa ao voltarem ao seuestado original. Possuem vantagens em relacao as tradici-onais luminarias, ja que nao se podem fundir, sao deverasmais resistentes, mais economicas, bem como possuemuma maior longevidade, que segundo alguns fabricantes,podem chegar aos 11 anos. Em contrapartida o seu alcancee mais escasso que a das luminarias tradicionais. Hoje emdia sao muito utilizados como iluminacao de presenca oude ambiente estando ainda em estudos e aperfeicoamentopara efeitos de iluminacao domestica. Segundo temos asinalizacao da contagem decrescente atraves de 2 displaysde 7 segmentos para o atleta ter perfeita nocao do temporestante para o final da prova. O display de 7 segmentose a maneira mais facil de mostrar ao mundo exteriorinformacoes que estejam em circuitos electronicos. Estesdisplays sao fornecidos de duas maneiras: Com catodocomum e anodo comum. Na configuracao catodo comumtodos os catodos de todos os leds que formam o display sao

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 105

interligados entre si e ligados a massa. Para ligarmos umled do display basta aplicarmos uma tensao na resistenciaque esta ligada ao anodo do led correspondente. Naconfiguracao anodo comum todos os anodos de todosos leds que formam o display sao interligados entre sie ligados ao +VCC. Para ligarmos um led do displaybasta aplicarmos uma tensao em nıvel baixo na resistenciaque esta ligada ao catodo do led correspondente. Parainterligarmos o mundo digital com o mundo exteriorutilizando os display de 7 segmentos necessitamos de umcircuito integrado conversor de BCD para decimal nestecaso existem os CI catodo comum e os anodo comum.No nosso trabalho utilizaremos o 4511 juntamente comdisplays em anodo comum.

Fig. 5LED E DISPLAY DE 7 SEGMENTOS CATODO COMUM

II. IMPLEMENTACAO DO PROTOTIPO

A Figura 6 demonstra como foi implementado o sistemae podemos observar assim com mais clareza os variosblocos e a sua localizacao. Na parte A temos os circuitosintegrados conversores de BCD para decimal, do contador,a fim de monstrar nos displays. A parte da sinalizacaoluminosa esta demonstrada na parte B. Por fim temos aspartes C e D com dois circuitos semelhantes, o primeirocom o botao de inicializacao e o segundo com a parte dedeteccao de tiro atraves do sensor reed switch. Todas estaspartes sao ligadas ao microcontrolador que e o responsavelpor toda a gestao do sistema.

A. Funcionamento

Primeiramente definimos as portas de entrada e de saıda,decidimos colocar as nossas entradas no PORTB (apenasRB0 e RB1) pois ja temos o botao predefinido e o inter-ruptor reed seria efectuado nesse mesmo PORT devido aconfiguracao interna da PIC ter ”Pull-up resistor”. Comosaıdas decidimos usar o PORTD para os LED (visto jaestarem incluıdos no PICkit 2) e o PORTA para a entrada

do CI 4511, que ira converter de binario para decimal eassim poder ser visualizado nos displays. As saıdas RB2e RB3 serao as responsaveis pela escolha de qual displayestara em funcionamento primeiro para poder apresentarduas casas decimais e assim fazer a contagem decrescentede 70 segundos. Enquanto houver uma interrupcao, sejaatraves do sensor reed ou do botao ou ate mesmo do timero programa vai entrar num ciclo. E este mesmo cicloque nos vai permitir controlar o contador decrescente,pois o timer gera interrupcoes de 1s em 1s, bem comoa informacao mandada para o HiperTerminal, existe umoutro ciclo que e executado de 500ms em 500ms paraverificar se o sensor reed recebeu alguma alteracao noseu estado e assim modificar o estado dos LED. Para ocontrolo, deteccao e finalizacao do sistema de deteccao detiro implementou-se o codigo apresentado em anexo. Parauma melhor compreensao do sistema podemos observar ofluxograma seguinte.

Fig. 7FLUXOGRAMA DO PROGRAMA DE CONTROLO DO ALVO DE

DETECCAO DE TIRO

B. Testes

Foram realizados todos os testes necessarios de forma averificar cada passo explicado na figura 8 e chegamos aconclusao que todo o sistema esta aperfeicoado para umbom funcionamento tanto na deteccao como no sistema desinalizacao e na comunicacao com o PC.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

106 HELDER CARDOSO [19707]

Fig. 6CIRCUITO IMPLEMENTADO

Fig. 8FOTOGRAFIA DO PROTOTIPO UTILIZADO NO DESENVOLVIMENTO

Nas figuras 8 e 9 podem-se observar os testes realizados napratica.

III. CONCLUSOES

O sistema foi implementado de acordo com o pretendidomas existem alguns aspectos que podem ser melhoradosno futuro. Quanto a deteccao propriamente dita podemser usados os mais variados sensores, este foi escolhidoprincipalmente pelo baixo custo e por ser de facil aquisicao.

Fig. 9MENSAGEM OBTIDA NO HIPERTERMINAL

Relativamente a parte de visualizacao podia-se ter optadopor usar LED bicolores ou ate mesmo uma luminariade LED, mas este foi a maneira mais economica e maispratica. Futuramente podem ser executados melhoramen-tos no sistema tais como: a deteccao do disparo da armade forma a ter conhecimento que quantidade de tiros foidisparada ou fazer a deteccao automatica da posicao do tirono alvo mostrando num visor para o atleta poder melhorara trajectoria do tiro.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 107

BIBLIOGRAFIA

[1] David W. Smith, PIC in Practice, Second Edition: A Project ba-sed Approach, Elsevier, UK, 2006.

[2] http://www.srmpa.co.uk[3] Stephen A. Dyer, Survey of instrumentation and measurement,

John Wiley and sons, Canada, 2001.[4] http://www.westmidlandspentathlon.org.uk[5] http://tavares.st.googlepages.com/display7segmentos.pdf[6] http://www.flickr.com/photos/bbcsport/2492221242/[7] http://pt.wikipedia.org/wiki/Microcontrolador[8] http://www.nbcolympics.com/modernpentathlon

IV. ANEXOS

Segue-se o codigo implementado no programa MPLABIDE a fim de programar o microcontrolador. Pri-meiro sao inicializadas todas as variaveis gerais se-guido da configuracao de entradas/saıdas bem como asconfiguracoes da porta serie. O microcontrolador aceita 3interrupcoes, quando a alteracao do estado do botao, do ti-mer ou do sensor reed, esta funcao esta definida no final docodigo.

#include <pic.h>#include <stdio.h>#include <stdlib.h>#define clrscr()

#define botao RB0#define bar_LCD PORTA#define reed RB1

__CONFIG (INTIO & WDTDIS & LVPDIS); // intio-seleciona por defeito o relogio interno,desabilita o watch dog time, desabilita olow power(a tensao de programacao baixa)

void interrupt interrupcoes(void);void vfazcoisas(void);void disp_seg(unsigned char);

int timer1s=0;int timer500ms;int flag,flag2;int conta;

unsigned char seg=70;

void main(void){

// Configurar I/O

TRISA=0; // configura todos os pinoscomo saıda

PORTA=0;

TRISD=0; // configura todos os pinoscomo saıda

PORTD=0;

ANSELH=0;//configura o portb paraentradas digitais

TRISB=0b00000011;PORTB=0b00000011;

TRISC=0b10111110; //configurar PORTCcomo saıda (porta serie)

PORTC=0x00;

// o timer vai gerar interrupcoesde 500ms em 500ms

TMR1H=0x0b; // inicializa A 0 os1o 8 BITS, no valor 3035

TMR1L=0xdb; //inicializa a 0 os ultimos4bits, no valor 3035

TMR1CS=0; // Usa a frequencia interna,nao e preciso porque por defeito esta a 0

T1CKPS1=1; // prescaler 1:8T1CKPS0=1; // prescaler 1:8

INTE = 1; // Bit4 disable Externalinterrupts

RBIE = 1; // Bit3 disable PortBChange interrupts

INTEDG = 0;RBIF = 0; // Bit0 Clear portB

Change interrupt Flag

IOCB1 = 1;WPUB1= 1;

TMR1IE=1; //habilita as interrupcoes dotimer 1

PEIE=1; // habilita as interrupcoes dosperifericos

GIE=1; // habilita as interrupcoesglobais,basta um deste 3 estarem a zero, para nfuncionar

TMR1ON=1; // liga o timer 1, mas facoistode 1u em 1u o registo e incrementado, qdatinge65535, acontece uma interrupcao

// Configurar Porta serie

SYNC=0; // modo assıncronoTXEN=1; // Habilitar transmissao TxCREN=1; // Habilitar recepcao RxBRGH=1; // high speedSPBRG=12;// Baud Rate = 19200

velocidadeSPEN=1; // habilitar USART

RB0=1;RB2=1;RB3=1;

PORTD=0xFF;conta=0;

if(botao==0){TMR1IE=1;RBIE=1;while(1)

{

if(timer1s==2){disp_seg(seg);

printf("Atleta X :%u Tiro(s)certeiro(s) e faltam %u segundospara o final\n\r",conta,seg);

seg--;timer1s=0;}if (seg==0){break;

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

108 HELDER CARDOSO [19707]

}

if(timer500ms==1){timer500ms=0;vfazcoisas();}

if (conta==8){break;}

}

}

}void disp_seg(unsigned char seg){unsigned char D_H;unsigned char D_L;

D_H=(unsigned char) (seg/10);D_L=(unsigned char) (seg-D_H*10);

RB2=0;RB3=1;bar_LCD=D_L;RB2=1;RB3=0;bar_LCD=D_H;RB2=1;RB3=1;

}

void vfazcoisas(void){

if (flag2==1 ){conta++;RBIF=0;flag=0;flag2=0;

}if (conta==0){PORTD=0b11111111;}if (conta==1){PORTD=0b11111110;}if (conta==2){PORTD=0b11111100;}if (conta==3){PORTD=0b11111000;}if (conta==4){PORTD=0b11110000;}if (conta==5){PORTD=0b11100000;}if (conta==6){PORTD=0b11000000;}if (conta==7){PORTD=0b10000000;}

if (conta==8){PORTD=0x00;}

}

void putch(char c){ // esta funcao e paraenviar caracteres um a um de 8 bits, jaesta definida em <stdio>

while (!TRMT){};TXREG=c;

}

// entra nesta funcao sempre k ha umainterrupcao

void interrupt interrupcoes(void){

if (INTF==1){ // botaoINTF=0;conta=0;seg=70;PORTD=0b11111111;}

if (RBIF==1){ // reedRBIF=0;if (reed==0){flag=1;}else{if (flag==1){flag2=1;}}}

if(TMR1IF==1){ // timerTMR1H=0x0b; // inicializa A 0 os

1o 8 BITS, no valor 3035TMR1L=0xdb; //inicializa a 0 os

ultimos 4bits no valor 3035TMR1IF=0;timer1s++;timer500ms++;}

}

Projecto em Engenharia Electrotecnica e de Computadores 2009

Análise Matemática I Análise Matemática IIÁlgebra Linear e Geometria Analítica Mecânica e Ondas

Química Sistemas DigitaisProgramação Algoritmia

Técnicas Laboratoriais em Electrotecnia Teoria dos CircuitosSeminário em Ciências da Electrotecnia e Laboratórios de Electrónica e Computação I

Computação

Análise Matemática Complementar Matemática Computacional Termodinâmica e Estrutura da Matéria Electromagnetismo e Óptica

Probabilidades e Estatística Programação por Objectos Arquitectura de Computadores Sistemas e Sinais

Electrónica I Electrónica IILaboratórios de Electrónica e Computação II Laboratórios de Electrónica e Computação III

Comunicação de Dados Fundamentos de TelecomunicaçõesSistemas Operativos Sistemas Eléctricos e de Energia

Electrónica de Potência Instrumentação e SensoresSistemas de Controlo Bases de Dados

Electrónica Digital Redes de ComputadoresGestão Industrial Projecto em Eng. Electrotécnica e de

Computadores

Processamento Digital de Sinal Energias Alternativas Sistemas de Microcontroladores Instalações Eléctricas

Aplicações e Serviços Web Robótica e Sistemas InteligentesMáquinas Eléctricas Microtecnologias

Automação industrial Engenharia de SoftwareMétodos de Optimização Gestão de Redes e Sistemas Distribuídos

Dissertação DissertaçãoOpção AOpção B

Ética e DeontologiaGestão de Projectos em Engenharia

Engenharia Electrotécnica

e de Computadoresbolognaprocess

Grau de Licenciado Grau de Mestre

321

21

Acreditado pela

Ordem dos Engenheiros

Protocolo de Estágios com

BOSCH

InovAÇÃO Consumer & Industrial

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N∘ 1, JULHO 2009 111

Ambientes Tecnologicamente Assistidos - AplicacaoP0921

Luıs Guilherme Martins Ferreira Coutinho, luis coutinho [email protected]

Abstract – The following work was consisted on the study andresearch of several methods of measurement of glucose andblood pressure, in a non-intrusive manner; it has, as a ma-jor goal, to find new methods of measurement of glucose andblood pressure, in a way to improve the quality of life of di-abetic and high-pressure patients. The present project is in-serted in the AAL program(Ambient Assisted Living), whichaims the improvement of older people quality of life, using twofundamental tools: information and communication technol-ogy.

Resumo – O trabalho que se segue consistiu no estudo epesquisa de varios metodos de medicao da glicose e tensaode um modo nao intrusivo; tem como principal objectivo en-contrar novos metodos de medicao da Glicose e pressao ar-terial, de forma a melhorar a qualidade de vida dos doentesdiabeticos e hiper-tensos. O presente projecto esta inseridono programa AAL(Ambient Assisted Living), programa quevisa o melhoramento da qualidade de vida de uma faixa etariamais avancada, recorrendo a duas ferramentas fundamentais:tecnologia das comunicacoes e informacao.

Keywords – Non-invasive measurement,Glucose,Blood pres-sure

Palavras chave – Metodos nao invasivos, Glicose, Pressao ar-terial

I. INTRODUCAO

Cerca de um terco da populacao portuguesa tem diabetesou encontra-se em situacao de risco. De acordo com oEstudo da Prevalencia da Diabetes em Portugal, 11,7 porcento da populacao portuguesa e diabetica. Mais 5,2 porcento do total que em 2006. O cenario torna-se ainda maisnegro quando a estes numeros se juntam os da pre-diabetes.Um crescimento assustador na opiniao unanime das enti-dades que desenvolveram o estudo, para quem so a uniaode esforcos pode travar o aumento descontrolado

”Os numeros tornam-se realmente alarmantes. O estudorevela que ha hoje 2.687.698 portugueses com diabetes ouem situacao de risco, o que significa mais de um terco dapopulacao (34,9 por cento).”Luis Gardete Correia, Coordenador do Estudo e Presidenteda APDP [1].

Sabe-se que a prevalencia de hipertensao arterial em Por-tugal e de quarenta e dois por cento da populacao adulta(afecta cerca de tres milhoes de Portugueses, ou seja quasemetade dos mesmos) [2]. Apenas onze por cento dosdoentes hipertensos estao controlados e a consequencia

maior insuficiente controlo dos mesmos e o AVC (Acidentevascular cerebral) - 1a causa de morte no nosso paıs. A HTA(Hipertensao Arterial) e um factor de risco importantıssimode doenca cardiovascular, e a principal causa de morte eincapacidade no nosso paıs. A nossa intencao e melhorara qualidade de vida dos doentes. Atraves do desenvolvi-mento de novos sensores (nao intrusivos) para a medicaoda Glicose pretendemos reduzir ao maximo o numero dasconhecidas ”picadas”que um diabetico tem de fazer diari-amente. A nossa meta e conseguir que o diabetico e ohipertenso consigam medir quer a Glicose quer a tensaocom a sua rotina diaria ou com accoes que uma pessoa fazdiariamente sem ser ”obrigada”.

II. DESENVOLVIMENTO

A. Diabetes Mellitus

A.1 O Diabetes

A diabetes e um conjunto de doencas heterogeneas que secaracterizam pela presenca de hiperglicemia cronica e deperturbacoes no metabolismo dos carbohidratos, proteınase lipidos.Os tipos de diabetes mais comuns sao o tipo I ou insulino-

dependente e o tipo II, contudo existem outros tipos como ogestacional, o LADA ou relacionado a alteracoes geneticasespecificas [3].Na diabetes tipo I ha disturbios auto-imunes que se car-

acterizam pela destruicao das celulas beta produtoras deinsulina. Deste modo vai haver producao insuficientede insulina, pelo que estes doentes vao necessitar deinjeccoes frequentes para regularizar o metabolismo e evitarcomplicacoes. Surge geralmente antes dos 35 anos e cursacom poliuria, polidipsia, fadiga, nauseas, vomitos, agitacaoe tonturas.Na diabetes tipo II ha um grande contributo de factores

hereditarios, bem como uma relacao estabelecida com aobesidade e o sedentarismo. Surge geralmente depois dos40 anos. Neste tipo nao ha deficiencia na producao mas simresistencia a accao da insulina [4].Para diagnosticar esta doenca e necessario analisar

a Glicemia sanguınea, tendo que se verificar um dosseguintes items [3]:

- nıvel plasmatico de Glicose em jejum ≫= 126 mg/dl emduas medicoes- nıvel plasmatico de Glicose ≫= 200 mg/dl em teste de

tolerancia a glicose- nıvel plasmatico de Glicose ≫= 200 mg/dl associada a

sintomas caracterısticos

c⃝ UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

112 LUIS COUTINHO [23817]

A diabetes mellitus esta associada a complicacoes comoretinopatia e nefropatia diabetica, pe diabetico, enfarte domiocardio, AVC e infeccoes. Deste modo e muito impor-tante que um diabetico mantenha os seus nıveis de Glicemiaregulados atraves do controle das ingestoes de acucar bemcomo da admnistracao de insulina ou antidiabeticos orais.Para alem dos valores classicos da Glicemia sanguınea e

tambem importante a medida da hemoglobina glicosilada(HbA 1c). Esta nao tem interesse diagnostico mas sim natomada de decisoes terapeuticas pois, dada a longa semi-vida da hemoglobina e o seu contacto com a Glicose nosvasos, vai reagir de modo nao enzimatico, espelhando osnıveis de acucar a longo prazo [4].A diabetes faz tambem parte de uma entidade clınica

de grande relevo na saude publica que e o sındromemetabolico com a obesidade, a hipertensao e a dislipi-demia, constituindo um importante factor de risco dedoenca cardiovascular. Por tudo isto e determinante aeducacao e consciencializacao destes doentes para im-portancia da adopcao de estilos de vida saudaveis e damotorizacao frequente dos nıveis de Glicose, atraves daconvencional picada do dedo [4].

A.2 Sensores de Glicose

Metodos invasivos

Hoje em dia a maioria dos sensores de Glicose usam ummetodo electroquımico com caracter invasivo (Fig. 1) queconsiste na recolha de uma pequena quantidade de sangue,atraves de uma picada, que e colocada nas tiras de teste.As tiras de teste contem uma capilaridade que absorve umapequena quantidade de sangue onde a Glicose presentereage com uma enzima do electrodo que contem Glicoseoxidase e que e posteriormente reoxidada com um reagente,tal como o iao ferricianeto. Depois da-se uma reaccaoao nıvel do electrodo onde se gera corrente electrica. Ototal de corrente que passa pelo electrodo e directamenteproporcional a quantidade de Glicose presente no sangueque reagiu com a enzima [5].

-Metodos contınuos

Outro tipo de metodo invasivo e o metodo demonitorizacao continua. Neste sao utilizados aparel-hos cuja ligacao ao doente e permanente e efectuamuma medicao dos nıveis de Glicose no sangue em inter-valos de sensivelmente 10min. Este tipo de sensores emais recomendado para doentes com diabetes do tipo I(insulino-dependente) pois tem como principal vantagem apossibilidade de irem injectando automaticamente insulinano corpo do doente(Fig. 2) [6].

Metodos nao invasivos

Fig. 1TIPICO SENSOR DE GLICOSE (INVASIVO)

Fig. 2TIPICO SENSOR CONTINUO DE GLICOSE (INVASIVO)

A-SENSOR DE GLICOSEB-TRANSMISSOR

C-BOMBA DE INSULINA

-Orsense NBM-200g

O NBM-200g (Fig. 3) e baseado na prioridade da OrS-ense que visa o avanco tecnologico de modo a permitira medicao nao invasiva e com grande sensibilidade daglicose, hemoglobina e saturacao do oxigenio. O NBM-200g e operado pela colocacao de um anel em forma desonda no dedo do paciente, ao qual se aplica uma pressaosuave que bloqueia temporariamente o fluxo de sangue.Durante o bloqueio, elementos opticos do sensor realizamuma medicao da luz transmitida atraves do dedo. Estemetodo, chamado Occlusion Spectroscopy, proporcionauma rapida, indolor e precisa medicao da Glicemia dopaciente. O metodo foi testado em mais de 400 indivıduos,exibindo uma precisao comparavel as solucoes invasivas,proporcionando ao mesmo tempo uma maior facilidade deutilizacao e seguranca [7].

-Lentes contacto que monitorizam a Glicose

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N∘ 1, JULHO 2009 113

Fig. 3ORSENSE NBM-200G(NAO INVASIVO)

Cientistas Norte Americanos desenvolveram uma lente decontacto (Fig. 4) capaz de monitorizar os nıveis de Gli-cose no sangue. O dispositivo funciona mudando de corde acordo com a quantidade de Glicose presente no lıquidolacrimal.Foram desenvolvidas moleculas especiais sensıveis a

nıveis muito baixos de Glicose que foram incorporadas nastradicionais lentes de contacto disponıveis no mercado.Um utilizador das lentes sensıveis a Glicose consegue ver

um pequeno ponto transparente que vai mudando de corconsoante os diferentes nıveis de concertacao de Glicoseno sangue [8].

Fig. 4LENTE SENSIVEL A GLICOSE(NAO INVASIVO)

O resultado e completamente nao invasivo, funcionandocontinuamente.

-Sensor biologico implantavel para monitorizar nıveis deGlicose

Foi desenvolvido por uma universidade norte americanaum novo sensor biologico implantavel no corpo humanoque podera, quando totalmente desenvolvido, permitir que

os portadores de diabetes monitorizem continuamente osseus nıveis de Glicose, sem a necessidade de tirar qualquergota de sangue.O novo sensor e baseado totalmente em nano tubos de car-

bono cujas paredes sao formadas por uma unica camada deatomos de carbono.O sensor biologico explora a propriedade de fluorescencia

dos nano tubos, que os faz brilhar quando submetidos acertos comprimentos de onda de luz infravermelha - umaregiao do espectro na qual os tecidos humanos e fluidosbiologicos sao particularmente transparentes.Para construir o sensor, cobriram os nano tubos com com-

postos que reagem fortemente com um composto quımicoespecıfico - a Glicose, nesse caso. A mistura de compos-tos foi escolhida de tal forma que a reaccao com a Glicosetambem altera a fluorescencia dos nano tubos. Os nano tu-bos sao ”encapados”num finıssimo tubo de vidro que podeser implantado com seguranca no corpo humano. O tubode vidro possui uma capilaridade tal que evita que os nanotubos toquem directamente as celulas vivas do organismo,mas permite a entrada da Glicose.O novo sensor de Glicose foi testado directamente no

corpo humano (Fig. 5). Quando iluminaram a amostra comum laser infravermelho, os cientistas comprovaram que apotencia do brilho do sensor implantado e directamenterelacionado com a concentracao de glicose nos tecidos [9].

Fig. 5SENSOR BIOLOGICO IMPLANTADO(NAO INVASIVO)

B. Hipertensao Arterial

B.1 A Hipertensao Arterial

A hipertensao tem-se revelado nos ultimos anos um ver-dadeiro problema de saude publica, nao so por afectarcerca de 42 por cento da populacao adulta portuguesa comotambem por constituir um importante factor de risco dedoenca cardiovascular.O facto de ser uma condicao assintomatica, faz com que

a realizacao de rastreios e campanhas de sensibilizacao ec⃝ UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

114 LUIS COUTINHO [23817]

prevencao junto da sociedade tenham um papel prepon-derante na diminuicao desta patologia silenciosa e conse-quentemente na diminuicao de casos de acidente vascularcerebral, enfarte e insuficiencia cardıaca [10].A pressao arterial e a forca exercida pelo sangue sobre

uma unidade de area da parede de um vaso e e medida emmilımetros de mercurio (mmHg*). A tıtulo de exemplo,quando dizemos que a pressao de um vaso e de 90 mmHg,significa que a forca exercida e suficiente para deslocar umacoluna de mercurio ate aos 90mm.A pressao arterial (PA) e definida atraves das pressoes

maxima e mınima, obtidas por medicao directa atraves daintroducao de um cateter conectado a um transductor depressao, ou indirectamente utilizando um estetoscopio e umesfingomanometro aneroide ou de mercurio [10].Em pessoas jovens, a pressao sanguınea na sıstole e de 120

mmHg, enquanto na diastole e de 80 mmHg.Um hipertenso e um doente que tem cronicamente uma

pressao arterial superior a 140/90 mmHg. A hipertensaopode adicionalmente ser classificada em diversos estagios,reflectindo a sua gravidade (Fig. 15).Depois de diagnosticados estes doentes devem ser acon-

selhados a mudanca de estilos de vida (perda de peso, ex-ercıcio fısico, deixar de fumar, alimentacao com pouco sal).Em determinados casos sera tambem util a medicacao comanti-hipertensores [10].Independentemente das medidas terapeuticas escolhidas, a

estes pacientes devera ser monitorizada a pressao arteriale realizado, periodicamente, o exame fısico a retina e sis-tema nervoso. E tambem importante e medida da Glicemia,a analise da funcao renal e a realizacao do ECG afim dedetectar possıveis complicacoes da hipertensao.Tendo em conta a reducao significativa que o controle

da hipertensao causa no risco de ocorrencia de AVC edoenca arterial coronaria, tem se apostado cada vez maisna prevencao e diagnostico precoce desta patologia [10].*- 1mmHg = 133,322 Pa

B.2 Esfingomanometros

-Esfingomanometro Mercurio

O esfingomanometro e um aparelho que mede a pressaosanguınea, e constituıdo por uma coluna de mercurio(Fig. 6) em que uma das extremidades esta ligada a umabolsa que pode ser insuflada por uma pequena bomba deborracha. De um modo simplificado o princıpio de fun-cionamento do esfigmomanometro e bastante simples: aoexercer uma forca de fora para dentro no braco, ele con-segue medir a forca que vem de dentro para fora, ou seja, apressao que o sangue exerce sobre os vasos.Para utiliza-lo, a bolsa envolve o braco, sendo insuflada e

produzindo uma pressao externa maior que a interna. Destemodo o fluxo da arteria braquial e bloqueado. A bolsa ecolocada no braco esquerdo e a altura do coracao, a fim degarantir que as pressoes medidas sejam as mais proximasdas da arteria aorta. De seguida comeca-se a libertar grad-ualmente o ar da bolsa ao mesmo tempo que se utilizao estetoscopio para ouvir as pulsacoes. O primeiro somsurge quando a pressao do ar na bolsa for igual a pressao

sistolica, que e a pressao maxima sanguınea. O ultimosom audıvel e devido a pressao diastolica, isto e, a menorpressao sanguınea. Esses sons ouvidos sao chamados desons de Korotkoff [10].

Fig. 6ESFINGOMANOMETRO MERCURIO(NAO INVASIVO)

-Esfingomanometro Aneroide

A palavra aneroide deriva do grego ”a neros”(nao lıquido)e do sufixo ”oid”(semelhante). O esfigmomanometroaneroide (Fig. 7), portanto, nao contem qualquer lıquido,ao contrario do esfigmomanometro de coluna de mercurio,que utiliza um lıquido como indicador: o mercurio. Diz-seque este tipo de manometro funciona por elasticidade delaminas metalicas, ao contrario do manometro de colunade mercurio. E um instrumento nao invasivo usado paramedir a pressao arterial e composto por uma bomba deborracha para gerar pressao, com valvula de controlo paradeflacao, um manometro aneroide para medir a pressao,manguito e bracadeira para manter a pressao constante [11].

Fig. 7ESFINGOMANOMETRO ANEROIDE(NAO INVASIVO)

-Esfingomanometro Digital

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N∘ 1, JULHO 2009 115

Instrumento electronico (Fig. 8) para medicao da pressaoarterial, facil de utilizar, pratico, e com possibilidade deser usado em ambiente ruidoso, pois utiliza o metodo os-cilometrico em vez da ausculta. Estes dispositivos me-dem a pressao arterial media e usam algoritmos para cal-cular a pressao arterial sistolica e a pressao arterial di-astolica. Neste caso, eles nao medem propriamente apressao sanguınea, mas derivam as leituras da pressao. Estemetodo gera resultados ligeiramente abaixo dos obtidos porausculta [11].

Fig. 8ESFINGOMANOMETRO DIGITAL(NAO INVASIVO)

C. Electrocardiograma

C.1 O ECG

O electrocardiograma e um grafico que regista activi-dade electrica cardıaca. Apesar do aparecimento de novastecnicas como a ecocardiografia cardıaca, o Tomografia Ax-ial Computorizada (TAC) e a Ressonancia Magnetica Nu-clear (RMN), o electrocardiograma continua a ser essencialno estudo da patologia cardıaca, por ser um exame simples,barato e versatil, e por permitir obter diversas informacoes:orientacao anatomica do coracao, tamanho das camarascardıacas, perturbacoes do ritmo e frequencia, entre outros[12].A superfıcie, na parede toracica sao colocados os

electrodos que vao detectar as diferencas de potencial,emitindo-as para o electrocardiografo que vai amplificar eregistar o sinal.Todas as celulas do organismo tem um potencial de re-

pouso negativo gerado pela diferenca de concentracao deioes de sodio (Na+) predominantemente no liquido ex-tracelular e de potassio (K+), mais abundante no cito-plasma. Dada a impermeabilidade selectiva das membranascelulares e seus canais ionicos, nomeadamente a bomba ac-tiva de sodio e potassio (ATPase Na/K), elas sao excitaveis,gerando em determinados momentos potenciais de accaoFig. 9.Tudo tem inicio com a alteracao da permeabilidade para o

Fig. 9MENBRANA CELULAR

Sodio, este comeca entao a entrar na celula segundo o gra-diente de concentracao, tornando-a mais positiva. A celulae assim excitada mantendo um potencial positivo (+60 mV)e podendo transmitir esta onda de despolarizacao as celulasvizinhas.No coracao ha dois tipos de tecidos, o musculo cardıaco

propriamente dito e o sistema especializado de conducao.Apesar de ambos terem capacidade de conduzir os im-pulsos electricos gerados, apenas o sistema especializadoconsegue sofrer despolarizacao espontanea, funcionandocomo pacemakers cardıacos. E esta despolarizacao celularque e captada ao nıvel dos electrodos. O ECG estudaos fenomenos electricos do coracao em dois planos ohorizontal e o frontal [3].

Fig. 10LOCALIZACAO DOS ELECTRODOS

No plano horizontal atraves das derivacoes precordiais:V1 - 4o espaco intercostal do lado direito do esternoV2 - 4o espaco intercostal do lado esquerdo do esternoV3 - Equidistante de V2 e V4V4 - 5o espaco intercostal na linha medio-clavicular es-

c⃝ UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

116 LUIS COUTINHO [23817]

querdaV5 - No mesmo plano horizontal de V4 na linha axilar

anterior esquerdaV6 - No mesmo plano horizontal de V4 na linha axilar

media esquerda

No plano frontal, atraves dos electrodos das quatro extrem-idades, determinando as derivacoes monopolares ( aVR,aVL, aVF) e as derivacoes bipolares classicas:DI - diferenca de potencial entre o braco esquerdo e o

braco direitoDII - diferenca de potencial entre a perna esquerda e o

braco direitoDIII - diferenca de potencial entre a perna esquerda e o

braco esquerdo

O sinal electrico emitido vai entao ao nıvel do electrocar-diografo ser ampliado e verticais e medida a tensao (miliVolts) correspondendo cada 10 mm a 1 mV. Quando as on-das electricas se aproximam do electrodo vao produzir umadeflexao positiva e quando se afastam formam uma deflexaonegativa. O ECG e constituıdo graficamente por uma ondaP que corresponde a despolarizacao auricular. O impulsoprossegue depois para o no aurıculo-ventricular e depoispelo feixe de His, dando lugar a despolarizacao ventricularque e representada pelo complexo QRS. Por fim segue-se arepolarizacao ventricular, quando os miocitos recuperam opotencial de repouso, que marca a onda T no ECG [13].

Fig. 11ONDA DE ECG

E pela analise das amplitudes e do sinal das deflexoes nasdiferentes derivacoes elctrocardiograficas que se vai anal-isar a funcionalidade cardıaca e as possıveis patologias.

C.2 Electrocardiografos de ultima geracao

-HeartView ECG 12-Derivacoes Registador/Transmissor

O Electrocardiografo Registador/Transmissor mais pe-queno do mercado. Um aparelho de utilizacao simples efacil, capaz de transmitir dados do ECG de qualquer lugarem qualquer altura. Colocam-se no paciente 10 electrodos,que vem juntamente com o dispositivo. E tambem capaz

Fig. 12HEARTVIEW ECG 12-DERIVACOES

de realizar ECG de 12-Derivacoes. O registro do ECGe transmitido por telefone, por via acustica para umCall Center, para um diagnostico rapido e imediato. OHeartView permite tambem a possibilidade de transmissaode dados digitalmente Fig. 12.

Aplicacoes:- Diagnostico de sintomas cardıacos;- Monitorizacao remota de pacientes com doencascardıacas cronicas;- Transmissao de ECG para um Call Center onde eanalisado por especialistas;- Armazenamento em sistema de informacao;- Aplicacao em estudos clınicos.

Caracteristicas:- 10 electrodos ligados ao paciente atraves de fios;- Gravacao rapida de um ECG de 12-Derivacoes;- Demora 2.5segundos por transmissao e 10 segundos aregistrar um ECG;- Os dados do ECG podem ser gravados em qualquercomputador desde que instalado o software apropriado;- Bateria.

Beneficios:- Facil de usar;- Pequeno e portatil;- Transmissao de ECG de alta qualidade [14].

-Heart 2006 Registador/Transmissor Permanente deeventos

O Heart 2006 e a resposta para a necessidade demonitorizacao de longa duracao de sintomas cardıacos.Um aparelho de utilizacao simples e facil. O utilizadorpressiona o botao e comeca a gravar o seu electro-cardiograma pre e pos sentir a arritmia ou palpitacao.Pressionando o botao de ”Transmissao”o paciente envia oregistro do ECG para um Call Center, onde e realizado odiagnostico por especialistas qualificados Fig. 13.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N∘ 1, JULHO 2009 117

Fig. 13HEART 2006 1-DERIVACAO

Aplicacoes:- Deteccao de arritmias sintomaticas;- Ideal para o follow-up de pacientes que ja tiveramenfartes;- Dores de peito inexplicaveis.

Caracteristicas:- 1 Derivacao;- Memoria ”flash”;- 4 eventos de 30/30 segundos ou 1 evento de 180/60segundos;- Bateria: 1 mes;- 4X velocidade de transmissao.

Beneficios:- Facil de usar;- Pequeno e portatil;- Transmissao de ECG de alta qualidade [14].

Heart One

O HeartOne e um electrocardiografo com caracterısticasunicas e particulares portatil e movel. E tao pequeno que efacilmente transportado num bolso, permitindo que estejasempre pronto para ser utilizado, em qualquer altura emqualquer lugar. O paciente apenas tem de colocar os pole-gares nos dois electrodos e pressionar o botao para gravaro electrocardiograma. O registro e entao transmitido pelopaciente para um Call Center onde e realizado de imediatoo diagnostico por especialistas qualificados Fig. 14.

Fig. 14HEARTONE 2-DERIVACOES

Aplicacoes:- Deteccao de problemas cardıacos;- Ideal para o follow-up e monitorizacao de pacientes comdoencas cardıacas cronicas;- Ideal para acompanhamento e seguimento de criancascom problemas cardıacos.

Caracteristicas:- 2 Derivacoes;- 2 botoes de activacao.

Beneficios:- Facil de usar;- Pequeno e portatil;- Transmissao de ECG de alta qualidade [14].

III. CONCLUSOES

O trabalho desenvolvido permitiu-nos obter uma novaperspectiva acerca da diabetes, da hipertensao e o funciona-mento do electrocardiograma, bem como de diferentesmetodos de medicao quer da glicose quer da pressao arte-rial. Actualmente o tema da medicao dos nıveis de glicoseno sangue atraves de metodos nao intrusivos e assuntode debate e alvo de inumeros estudos, havendo ja umagrande variedade de sensores experimentais; no entanto, aciencia depara-se com a dificuldade da aprovacao clınicados mesmos.

c⃝ UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

118 LUIS COUTINHO [23817]

Fig. 15

BIBLIOGRAFIA

[1] http://www.orio.pt/modules/news/article.php?storyid=4724, Em14/07/2009.

[2] http://static.publico.clix.pt/pesoemedida/documentos.aspx, Em14/07/2009.

[3] Andreoli, Carpenter, Griggs, e Loscalzo, Medicina interna basica,Elsevier, 6 edicao, 2005.

[4] Kasper, Braunwald, Fauci, Hauser, Longo, e Jameson, HarrisonManual de medicina, McGraw Hill, 16 edicao, 2006.

[5] http://en.wikipedia.org/wiki/Glucose meter, Em 14/07/2009.[6] http://www.endotext.org/diabetes/diabetes12/diabetes21.html, Em

14/07/2009.[7] http://www.orsense.com/Glucose, Em 14/07/2009.[8] http://portal.alert-online.com/?key=680B3D50093A6A002E42140A

321A2A5C0B683E0A7607527B635B73, Em 14/07/2009.[9] http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=01

0165041217, Em 14/07/2009.[10] Brent M. Egan, Jan N. Basile, e Daniel T. Lackland, HOT TOPICS-

Hipertensao, Euromedice, 4 edicao, 2003.[11] http://www2.dbd.puc rio.br/pergamum/tesesabertas/051108908cap03.pdf,

Em 14/07/2009.[12] J.C. Machado Rodrigues, Electrocardiografia Clinica, Lidel, 1

edicao, 2008.[13] Antonio Miguel Silva Reis e Rui Paulo Mata Borges Santos, Ou-

vindo o som do corpo humano, Licenciatura em Eng. Electrotecnicae de Computadores,Universidade Tras-os-Montes e Alto Douro, VilaReal, Portugal, 2008.

[14] http://www.tcare.pt/servico/tcare coracao, Em 14/07/2009.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 15, JULHO 2009 119

Desenvolvimento de firmware para um sensor de humidade para o soloP0922

Nuno Andre Dias Branco, nuno a [email protected]

Abstract – This article demonstrates the functioning of multi-functional sensor firmware to make measurements of varioussoil properties. This sensor was designed to make simultane-ous measurements of humidity, temperature, electrical con-ductivity and water holding capacity of a sample of soil. Thesystem will consist of two basic parts: a thermistor and a mi-crocontroller, the last is connected to a computer and usinga specific application will do the monitoring of the propertiesand make the storage of data for later analysis. By monitoringthese values can be make a better management of one of ourmajor natural resources, which in the case is water.

Resumo – Com este artigo pretendeu-se demonstrar o fun-cionamento um firmware de um sensor multifuncional quefaca a medicao de varias propriedades do solo. Este sen-sor foi desenhado para que conseguisse fazer simultanea-mente as medidas da humidade, temperatura, condutividadeelectrica e capacidade de retencao de agua numa amostra desolo. O sistema sera constituıdo por duas partes basicas: umtermıstor e por um microcontrolador, a este ultimo sera lig-ado um computador que utilizando um aplicativo especificoira fazer a monitorizacao das propriedades(fig. 1) e ainda farao armazenamento dos dados para posterior analise. Atravesda monitorizacao desses valores podera ser feita uma melhorgestao de um dos nossos principais recursos naturais, que parao caso e a agua.

Keywords – Soil properties, Sensor, Firmware

Palavras chave – Propriedades do solo, Sensor, Firmware

I. INTRODUCAO

Para que haja desenvolvimento sustentavel, e necessarioum uso adequado dos recursos naturais na Terra. Existehoje o consenso que o uso indiscriminado dos recursos nat-urais pode levar o planeta a um colapso e, consequente-mente inviabilizar a propria vida que nele existe. A aguae fundamental para a vida na Terra, seja do ponto de vistada sobrevivencia humana basica, seja do ponto de vista dosistema produtivo. A realizacao deste projecto vem pro-mover o uso racional da agua na irrigacao agrıcola e delazer. O principal objectivo e evitar o desperdıcio de aguaquando o solo ainda apresenta elevados ındices de humi-dade e manter as areas irrigadas sempre com um nıvel ade-quado e constante de humidade. O metodo utilizado sera amonitorizacao constante das propriedades do solo da zona aestudar, podendo assim controla-la e guardar os dados parafuturas analises, conclusoes e por ultimo medidas a tomar.O resultado e a utilizacao de agua na quantidade e no mo-mento ideal com a consequente preservacao ambiental (dasculturas e da agua).

Fig. 1MONITORIZACAO

II. A PROBLEMATICA ACTUAL

A agua e um recurso finito e vulneravel, essencial para asustentacao da vida, do desenvolvimento e do meio am-biente. Actualmente de toda agua retirada da natureza,80% sao destinados a agricultura irrigada, 12% aos proces-sos industriais e 8% ao consumo humano. Sendo que dovolume total destinado a agricultura apenas uma pequenaparte e efectivamente utilizada pelas plantacoes, o restanteperde-se por deficiencias nas instalacoes de irrigacao, neg-ligencias nestas operacoes ou simplesmente por mau uso daagua destinada para este fim. O elevado subsıdio da elec-tricidade destinada a agricultura, quando usada durante anoite, induz nos utilizadores de irrigacao na agricultura in-tensiva, a promoverem uma grande quantidade de agua du-rante este perıodo, esperando que os solos a retenham ate omomento de sua utilizacao pelas culturas (plantacoes). Isto,na realidade nao ocorre, por conta da porosidade dos solos,que promove a drenagem da maior parte desta agua antes doinıcio das irradiacoes solares que, por sua vez, promovema fotossıntese e geram a energia necessaria a circulacao daagua e dos nutrientes pelo interior das plantas. Alem doque, existe o habito de irrigar plantacoes durante a noite noanseio equivocado de que assim, nao existindo evaporacaoe com o solo frio, haja economia de agua e esta se pre-serve durante mais tempo. Assim, verifica-se que existeconsumo desnecessario de agua potavel pela agricultura ir-rigada. Como agravante, constata-se que a agua usada emexcesso pela irrigacao, promove a ”limpeza”dos nutrientesdo solo, contribuindo com os processos de desertificacaoque actualmente atinge 20% de toda area irrigada do plan-eta. Acrescente-se a isto o facto de que este excesso de aguaja contem altas taxas de fertilizantes e pesticidas que vaocontaminar as reservas subterraneas de agua potavel. As-sim todos os metodos tecnologicos que venham contribuirpara o melhor aproveitamento da agua e para o seu uso sus-tentavel sao de felicitar.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

120 NUNO BRANCO [23050]

III. DINAMICA DA AGUA NO SOLO

A agua e os sais minerais estao em constante movimentono solo. Eles imigram das zonas de menor gradiente paraas zonas de maior gradiente ate atingirem o equilıbrio. As-sim, durante as horas de maior calor dos dias de verao, asraızes extraem agua e nutrientes do solo a sua volta en-quanto a noite, quando param de absorver a agua, o solotende a se uniformizar novamente para equilibrar os gradi-entes de concentracao. Assim, somos levados a dizer queas plantas e que promovem os movimentos de agua e nutri-entes do solo, sendo que a gravidade, a tensao superficial,a evaporacao e a condensacao, as pressoes hidraulicas e oatrito controlam os movimentos da agua no solo. Destesfactores, depreendem-se duas importantes informacoes: Afertilizacao-irrigacao deve ser feita ao final da tarde, pois,como as plantas param de absorver agua do solo a noite,havera tempo suficiente para que os movimentos dos nu-trientes no solo conduzam ao equilıbrio, espalhando mel-hor os adubos. A irrigacao, se o sistema escolhido permi-tir, e mais eficiente no inıcio e durante os processos foto-ssinteticos e antes dos horarios de pico de insolacao, poisevitam a exaustao hıdrica temporaria na zona radicular.

IV. IRRIGACAO INTELIGENTE

Uma irrigacao e inteligente quando utiliza-se a aguadisponıvel de modo a manter a humidade do solo em umnıvel optimo, sem agredir o meio ambiente (fig. 2). Casoa humidade nao seja mantida em nıveis optimos, pode-seter duas alternativas: Em excesso: Se nao houver limitacaoda agua disponıvel, deixamos de irrigar mais areas com amesma disponibilidade.

Fig. 2IMAGEM DE IRRIGACAO

Em falta: As plantas nao desenvolvem todo seu poten-cial. Para se obter um bom controlo da humidade do solo enecessario ter aparelhos que indiquem os valores obtidos eprogramas de irrigacao baseados nestes controlos. Partindode um controlo eficiente da humidade, veremos que os cic-los de irrigacao variam muito no espaco e no tempo, comotambem variam as quantidades de agua a serem disponi-bilizadas por ciclo. A irrigacao convencional caracteriza-se por ter um ciclo de rega definido, com uma quanti-dade fixa e predeterminada de agua a ser utilizada, sendo

estes parametros definidos pela media dos gastos previstospara a cultura. Este procedimento provoca falta de humi-dade nos horarios de pico de transpiracao, e excesso deagua nos perıodos de menor transpiracao. A irrigacao in-teligente caracteriza-se por fornecer quantidades diferenci-adas de agua com intervalos entre os ciclos e tempo dosciclos diferentes para cada ocasiao. A chave da irrigacao in-teligente e ter um teor de humidade constante nos perıodoscrıticos de absorcao das plantas.

V. IMPLEMENTACAO

Neste sistema, para que se possa actuar sobre o sen-sor (termıstor) (fig. 3) e se possa obter posteriormenteos seus valores, sao usados conversores analogico-digitalenderecaveis(ADC). Assim para cada tipo de propriedadeque se esta a observar, tem de ler-se uma determinada ADCe uma funcao de transferencia especıfica a calcular, depoissao enviados os valores calculados para um aplicativo alo-cado num computador. O sistema integrado ja tinha pre-viamente sido desenvolvido, pelo que a minha tarefa seraverificar possıveis erros e fazer todos os blocos interagirem.[1]

Fig. 3ESQUEMA DO SENSOR MULTI-FUNCIONAL

VI. DESENVOLVIMENTO

Para que se pudesse colocar a tensao necessaria no sensorforam usadas dois consversores digital-analogico (DAC)4725, cada um com o seu proprio endereco e com a suafuncao de transferencia a realizar [4]. Assim para que fossepossıvel activa-los e colocar os valores correspondentes, foinecessario enviar por I2C as mensagens especıficas. Paraescrever na DAC e verificado se o BUS nao esta ocupado,se nao estiver ira ser enviado um ”STARTBIT”para iniciara comunicacao, se este for bem executado, entao serao en-viadas quatro mensagens de um byte cada. Primeira men-sagem sera constituıda pelo codigo do aparelho, no caso daMCP4725 sera o ”1100”, pelos bits endereco (A2,A1 e A0)e pelo bit de escrita ou leitura. A segunda mensagem leva3 bits de comandos, que indicam a DAC se le dos regis-tos ou escreve na EEPROM (C2, C1 e C0), no sistema saoos dados sao guardados na EEPROM; de seguida dois bitsque nao sao usados; depois mais dois bits, tendo estes afuncao de informar a DAC o modo de operacao, havendodois modos de funcionamento: normal mode e power-down mode, no sistema foi usado o modo normal, termi-nando com um bit sem ser usado. A terceira mensagem e

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 15, JULHO 2009 121

constituıda pelos 8 bits de dados mais significativos (D11-D4). A quarta mensagem levara os quatro ultimos bits dedados e mais quatro bits que nao se usam. Depois de envi-adas as mensagens a comunicacao e parada com o enviou deum ”STOPBIT”. No final de cada mensagem sao feitas trescoisas, verifica-se se nao existiu colisoes, aguarda-se peloACK durante um tempo e aguardasse que o bus fique des-impedido para que seja escrita a proxima mensagem. Findoa comunicacao a DAC ira fornecer ao termıstor os valoresde tensao para que este funcione (fig. 4).

Fig. 4ESCREVER POR I2C NA DAC 4725

Para ler os diferentes valores que o sensor retorna temosquatro ADC, duas MCP3421 [3] com comunicacao por I2Ce duas MCP3302 com comunicacao por SPI [2]. Para ler osdados das ADC MCP3421 e usado um processo semelhanteao usado no MCP4725. Termos entao o ”STARTBIT”e o”STOPBIT”no inicio e no fim da comunicacao assim su-cessivamente, mas desta feita o microcontrolador so en-viara duas mensagem. Primeira mensagem levara o codigodo aparelho nos quatro primeiros bits, ”1101”no caso doMCP3421, de tres bits de endereco e o ultimo bit de leituraou escrita. A segunda mensagem sera constituıda por oitobits de configuracao que irao escolher o modo de funciona-mento do conversor. Depois de escolhida a ADC e o seu

Fig. 5LER POR I2C DA ADC 3421

modo de funcionamento, e momento para activar o modode recepcao, este indica a ADC que o microcontroladoresta pronto a receber dados. O modo de operacao escol-

hido para as ADC MCP3421 foram o de 16bits, por isso onumero de mensagem que iremos receber e de duas, sendo aprimeira relativa aos bits mais significativos e a segunda aosmenos significativos. Cada vez que o conversor transmiteuma mensagem e enviado da parte do microcontrolador umACK, para que possa enviar a seguinte (fig. 5). Para o mi-crocontrolador ler os dados da ADC MCP3302 e mais sim-ples do que nos conversores que utilizam a comunicacaopor I2C. Nesta ADC e necessario mandar tres mensagens.A primeira tem os quatro primeiros bits a zero, depois vemo ”STARTBIT”seguido de quatro bits de controlo que se-leccionam a configuracao do canal de entrada, e de notarque o 4o bit de controlo ja pertence a segunda mensagem.Os bits da segunda e da terceira mensagem nao interes-sam como escrita a excepcao do bit mais significativo dasegunda mensagem, que como ja foi dito representa um dosbits de controlo. Os dados vao ser transferidos aquando oenvio dessas mensagens (fig. 6).

Fig. 6LER POR SPI DA ADC 3302

Apos a recepcao dos dados, irao ser efectuadas asoperacoes para o calculo das diferentes propriedades dosolo que estao sob analise e os resultados dessas operacoessao enviados por UART para um computador.Formulas usadas na funcao de transferencia(fig. 7,fig. 8 e

fig. 9):

Fig. 7FORMULA DA CONDUTIVIDADE

Fig. 8FORMULA DA CAPACIDADE DE ABSORCAO DO SOLO, (UNIDADE

Jm−3K−1)

Na comunicacao com o computador sera usada o protocoloUART, e o programa ira funcionar a base de comandos en-viados pela aplicacao. Assim quando e recebido uma men-sagem pela porta RX do microcontrolador [5], ele vai gerar

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

122 NUNO BRANCO [23050]

Fig. 9FORMULA DA TEMPERATURA, (UNIDADE K)

uma interrupcao aonde sera lido o valor para uma variavele por sua vez verificado a autenticidade da mensagem. Paraque as mensagens fossem interpretadas como comandos,foi realizado uma maquina de estados em que cada estadoequivale a um comando ou a actualizacao de um vector deestados. O vector de estados ira guardar as configuracoesque foram seleccionadas no aplicativo que lhe esta a co-municar. Nas configuracoes estao os parametros que fazemparte das varias funcoes de transferencia que o microcontro-lador implementa, assim como o tempo de operacao, tempode actualizacao e ainda quais das propriedades do solo queira ser analisada. Assim que recebe um comando valido ese as configuracoes estiverem actualizadas, o microcontro-lador ira enviar os valores calculados pela porta TX(fig. 10).Aonde o aplicativo ira fazer um grafico temporal com pos-sibilidade de ser armazenado em disco.

Fig. 10DIAGRAMA DA MAQUINA DE ESTADOS

VII. RESULTADOS E CONCLUSOES

Apos a conclusao do firmware foram feitos testes acomunicacao entre o PIC e os perifericos bem como o enviodos resultados das operacoes, os quais foram realizados namaioria com sucesso, faltara testar o sensor numa situacaoreal e corrigir problemas de sincronizacao que podem acon-tecer durante o funcionamento normal do sensor.O objectivo deste sistema era poder ser uma mais valia na

avaliacao ambiental do solo, e apesar de ele ter sido criadocom o intuito de ser um componente passivo de monitoriza-mento ambiental, ele podera com poucas alteracoes ser umelemento activo num sistema de rega moderna.O grande desafio deste projecto foi ter de estudar e melho-

rar bastante o meu conhecimento de microcontroladores edos restantes componentes que fizeram parte deste sistema,bem como os protocolos de comunicacao utilizados entreeles.

BIBLIOGRAFIA

[1] A. Valente a,., R. Morais a, A. Tulib, J.W. Hopmansb, G.J. Kluitenberg c,.Multi-functional probe for small-scale simultaneous measurementsof soil thermal properties, water content, and electrical conductiv-ity.2008

[2] Data Sheet MCP3302 13-Bit Differential Input, Low Power A/DConverter with SPI Serial Interface.2002

[3] Data Sheet MCP3421 18-Bit Analog-to-Digital Converter withI2C Interface and On-Board Reference.2007

[4] Data Sheet MCP4725 12-Bit Digital-to-Analog Converter withEEPROM Memory in SOT-23-6.2007

[5] Data Sheet PIC24FJ64GA004 Family.2008

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 123

Desenvolvimento de uma aplicacao para aquisicao de dados de um sensor dehumidade para do solo

P0923

Pedro Joel Barbosa Barros, [email protected]

Abstract – Monitor and control in a precise and simple waydifferent properties of diverse kinds of soils, has each timemore importance at industry and domestic level. From thispoint of view, the acquisition of data from a sensor of diverseproperties of the soil, based on the project P0922, were wasdeveloped a firmware to the sensor, and with Medidor, theuser can start measures to monitor the state of each propertyindividually or simultaneously. The results are presented ingraphics that can be saved to future discussion. The com-munication between software and the sensor is made by se-rial port through UART (Universal Asynchronous Receiver-Transmitter).

Resumo – Monitorizar e controlar, de forma simples e pre-cisa, diferentes propriedades dos varios tipos de solos tem cadavez mais uma grande importancia tanto na industria como anıvel domestico. Neste sentido, para a aquisicao de dados deum sensor de varias propriedades do solo, com base no pro-jecto P0922, em que se desenvolveu o firmware para o sensor,e atraves do Medidor, o utilizador podera iniciar medicoespara monitorizar o estado de cada propriedade individual-mente ou em simultaneo. Os resultados sao apresentados emgraficos que poderao ser guardados para futura consulta. Acomunicacao entre o software e o sensor e feita pela da portaserie atraves do UART (Universal Asynchronous Receiver-Transmitter).

Keywords – Soil property sensor; Matlab programming; Se-rial communication;

Palavras chave – Sensor de propriedades do solo;Programacao em Matlab; Comunicacao serie

I. INTRODUCAO

A industria de sensores e um sector que apresenta um de-senvolvimento acentuado, devido as necessidades impostaspelo mercado em controlar e monitorizar os diversos pro-cessos existentes. Entre os diversos processos, o de medirpropriedades dos solos e de extrema importancia para tornarmais eficiente a industria agrıcola e para melhorar o con-trolo ambiental dos espacos verdes, tanto publicos comoprivados.Neste sentido foi desenvolvida uma aplicacao que mostra

graficamente os valores lidos por um sensor de pro-priedades do solo. Para proceder ao desenvolvimento destesoftware foi utilizada uma linguagem de alto nıvel para fa-cilitar a tarefa de criacao de um ambiente interactivo com outilizador final. A linguagem MATLAB (MATrix LABora-tory) tem algumas vantagens em relacao a outros. Trata-se

de uma ferramenta com enormes potencialidades de calculoe que permite facilmente a implementacao de graficosatraves da funcao plot, sendo esta caracterıstica muito im-portante no contexto deste projecto. Consegue processare manipular dados de forma eficiente e possui uma vastabiblioteca de funcoes, sendo algumas importantes devidoa sua simplicidade na hora de estabelecer a comunicacaocom o sensor (ex: fprintf(serial), fscanf(serial)). Gera exe-cutaveis capazes de correr em computadores com diferentessistemas operativos (ex: Linux, Windows) mesmo que essamaquina nao tenha o MATLAB instalado. Para alem destasvantagens o MATLAB protege o codigo fonte.Para estabelecer a comunicacao entre o software e o sensor

foi usada a porta serie DB9, que e uma das mais antigase utilizadas nas comunicacoes entre diferentes dispositivos.A sua constituicao e muito simples, tem um canal que enviaos dados e outro que os recebe, sendo os restantes canaisresponsaveis pela regulacao das transmissoes. A porta serieapresenta o seguinte formato de dados:

Fig. 1FORMATO DOS DADOS DA PORTA SERIE

Uma palavra no formato de dados serie e composta porum start bit, os bits de dados podem ir de 5 a 8 bits e umstop bit. Podem tambem ser incluıdos um bit de paridadee um stop bit. Para lidar com a comunicacao serie foi uti-lizado o UART que faculta ao sistema com o Data TerminalEquipment RS-232 a possibilidade de comunicar e trocardados com outro dispositivo serie. Para alem disso o UARTconverte os bytes que recebe do computador de circuitosparalelos numa palavra serie de bits para transmissao. Narecepcao, converte a palavra serie de bits em bytes que ocomputador podera ler. Adiciona o bit da paridade (se es-tiver seleccionado) no envio dos dados, verifica a paridadede bytes na recepcao (se seleccionado) e dispensa o bit daparidade. E tambem adiciona o start e o stop bits no enviodos dados e descarta-os na recepcao.

II. DESENVOLVIMENTO

A aplicacao desenvolvida podera ter como utilizadorespessoas que nao tenham um conhecimento informatico

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

124 PEDRO BARROS [21517]

muito elevado, isto faz com que a sua simplicidade e fun-cionalidade sejam ainda mais importantes.2.1 MenuNa figura 2 e apresentado o menu onde o utilizador

podera escolher a medicao que pretende efectuar, sendo asopcoes ja conhecidas, humidade, temperatura, condutivi-dade electrica e fluxo de agua. Quando uma destas opcoesfor seleccionada a medicao sera individual, no entanto ex-iste tambem a opcao de as fazer todas simultaneamente.Para que os dados medidos possam ser facilmente e

posteriormente analisados foi introduzida a opcao ”abrirmedicao”, em que o utilizador podera procurar e abriros ficheiros correspondentes a medicoes previamentegravadas. O menu contem tambem uma opcao que permiteao utilizador saber qual e a configuracao actual do sensor eainda uma outra com alguma informacao sobre o Medidor.

Fig. 2MENU PRINCIPAL

2.2 Humidade do soloNo menu, quando se clica no botao ”Humidade”abre-se

uma nova janela, que pode ser vista na figura 3.Aqui o utilizador tera que seleccionar o perıodo para cada

actualizacao dos valores de humidade a serem apresenta-dos no grafico. As opcoes sao: 15, 30, 45, ou 60 minu-tos. Foram escolhidos estes valores para todas as medicoes,pois todos os parametros variam de forma demorada namaioria dos ecossistemas e portanto a sua representacao nografico apenas faz sentido numa escala de tempo relativa-mente grande como esta. Desta forma sera possıvel fazermedicoes de varias horas, com maior ou menor precisao,dependendo do tipo de analise que sera feita aos dados pos-teriormente. Terao que ser introduzidos numericamente o

Fig. 3SUB-MENU DA HUMIDADE

tempo de medicao e os parametros de calibracao A e B paraque sejam enviados ao sensor pelo botao ”enviar status”.Ao nıvel do codigo, interessa salientar a forma como foi se-leccionado o perıodo de actualizacao, como foram lidos osparametros e como todos estes dados foram enviados:

act=0 %inicializacao do perıodo de actualizacao

if get(handles.radiobutton15,’Value’)==1act=15

elseif get(handles.radiobutton30,’Value’)==1

act=30else

if get(handles.radiobutton45,’Value’)==1act=45

elseif get(handles.radiobutton60,’Value’)==1

act=60end

endend

end

t=get(handles.tempo,’string’) %le valor do tempotemp=str2num(t) %de string para numeric

pa=get(handles.parametroa,’string’) %le valor do parametro AparamA = str2num(pa) %string para numeric

pb=get(handles.parametrob,’string’) %le valor do parametro BparamB = str2num(pb) %de string para numeric

param3=0 %parametro 3 nao existeparam4=0 %parametro 4 nao existehumidade=2 %2-humidade

s = serial(’COM16’);fopen(s)fprintf(s,’%d;’,humidade) %2-humidadefprintf(s,’%d;’,paramA) %parametro de calibracao Afprintf(s,’%d;’,paramB) %parametro de calibracao Bfprintf(s,’%d;’,param3) %parametro 3fprintf(s,’%d;’,param4) %parametro 4fprintf(s,’%d;’,temp) %tempo da medicaofprintf(s,’%d;’,act) %perıodo de actualizacao

fclose(s)delete(s)clear s

Note-se que quando algum parametro nao existe, como o3 e 4 no caso da humidade, estes serao enviados a zero.Este facto resulta da necessidade de criacao de uma formastandar de comunicacao que resulte para todos os tipos demedicoes incluindo as que se fazem simultaneamente. Por-

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 125

tanto, como se ve pelo codigo, os parametros serao envia-dos sucessivamente pela seguinte ordem: tipo de medicao;parametro1; parametro2; parametro3; parametro4; tempototal da medcao; perıodo de actualizacao;So depois de o sensor ter acesso a estas informacoes e que

este podera comecar a toma de valores atraves do botao”iniciar medicao”. Aqui, importa ressaltar a forma comoforam feitas as rotinas de escrita dos valores no grafico:t=get(handles.tempo,’string’) %leitura tempo da medicaotemp=str2num(t)

set(handles.axes1,’XLim’,[0 temp]) %actualizacao do eixo Xset(handles.axes1,’YLim’,[0 100]) %percentagem de humidade

s = serial(’COM16’); %definicao da porta seriefopen(s) %abertura da porta seriefprintf(s,’%s’,’humidade’) %2-humidade

h=0 %tempo actual

while get(handles.radiobutton15,’Value’)==1 & h˜=tempval = fscanf(s,’%d’) %leitura da humidade

plot(h,val,’o’) %marcacao do ponto no graficohold on %retencao do ponto no grafico

pause(900) %pausa de 15 mins

h=h+0.25; %incrementacao de 1/4 de horaend.. %outros ciclos while.fclose(s) %delete(s) %fecho da porta serieclear s %

Depois de ser premida a tecla, e lido o valor do tempo in-troduzido pelo utilizador que sera o valor limite do eixo dotempo no grafico. E definida e aberta a porta serie para queseja enviado o comando correspondente ao tipo de medicao,’humidade’ neste caso. Finalmente, comeca o ciclo corre-spondente ao perıodo de actualizacao que foi seleccionado,15 minutos neste exemplo. O ciclo nao para enquanto que otempo ”actual”(h) for diferente do tempo total da medicao(temp). E lido o valor do sensor atraves da porta serieque sera escrito no grafico em forma de ponto com coor-denadas (tempo ”actual”, valor da humidade) e e feita umapausa de 15 minutos. Depois o tempo ”actual”e actualizadoe o ciclo volta ao inicio. Desta forma o grafico e entaopreenchido com os valores da humidade e quando o pro-cesso termina e perguntado ao utilizador se deseja gravar apresente medicao.

if menu(’Pretende guardar a medicao?’,’Sim’,’Nao’)==1[FileName] = uiputfile(’’,’A guardar...’)if FileName == 0

msgbox(’A medicao nao foi guardada!’)else hgsave(FileName)

endend

E importante referir que o perıodo de actualizacao, osdois parametros e o tempo total da medicao serao tambemguardados caso a resposta a pergunta final seja afirmativa,visto que o grafico sem esta informacao de pouco serviria.Foi adicionado o botao ”limpar”para que depois de uma

medicao se possa voltar a ter todos os campos vazios, ografico limpo e assim se possa reiniciar o processo sem quehaja sobreposicao de valores.

2.3 Condutividade electrica do soloTal como para a humidade, na medicao da condutivi-

dade electrica do solo o software foi concebido para op-erar exactamente da mesma forma. Variando apenas osparametros a serem introduzidos pelo utilizador. Neste casoos parametros serao a densidade d(Kg/m-3) e o calor es-pecıfico c(J Kg-1 K-1), sendo estes caracterısticas fısicasdo solo que variam de acordo com os diferentes tipos desolo.2.4 Temperatura do soloPara a medicao da temperatura do solo a aplicacao foi con-

struıda de forma semelhante como se pode ver na figura4. Neste caso nao sao enviados pelo utilizador quais-quer parametros relativos as caracterısticas do solo. Nao enecessario, pois a ponta de prova possui um sensor de tem-peratura e o valor e transmitido directamente, sendo apenasindispensavel enviar o tempo total de medicao e o tempo deactualizacao dos dados.

Fig. 4SUB-MENU DA TEMPERATURA

2.5 Fluxo de agua do soloPara a medicao do fluxo de agua tambem nao serao

necessarios quaisquer parametros para alem do tempo to-tal da medicao e do perıodo de actualizacao, funcionando oprograma exactamente da mesma forma.2.6 Todas as medicoes simultaneamentePara aproveitar todas as capacidades do sensor e permitir

um acompanhamento total do que esta a passar-se no ter-reno, foi criada ainda outra opcao para que permite monitor-izar todas as propriedades do solo simultaneamente, comose ve na figura 5.Quando o botao ”enviar status”for clicado serao enviados

todos os parametros de todas as propriedades do solo aosensor e tal como nos outros casos o sensor estara prontopara iniciar as medicoes. Quando estas se iniciam o pro-grama entra igualmente num ciclo while, mas este diferedos anteriores.t=get(handles.tempo,’string’) %leitura do tempotemp=str2num(t) %passagem de string para numeric

%definicao dos eixosset(handles.axes1,’XLim’,[0 temp])set(handles.axes1,’YLim’,[-20 80])

set(handles.axes2,’XLim’,[0 temp])set(handles.axes2,’YLim’,[0 100])

set(handles.axes3,’XLim’,[0 temp])set(handles.axes3,’YLim’,[0 100])

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

126 PEDRO BARROS [21517]

Fig. 5SUB-MENU DE TODAS AS MEDICOES SIMULTANEAMENTE

set(handles.axes4,’XLim’,[0 temp])set(handles.axes4,’YLim’,[0 100])

s = serial(’COM16’); %definicao da porta seriefopen(s) %abertura da porta seriefprintf(s,’%s’,’todas’) %5-todas simultaneamente

h=0 %inicializacao do tempo actual

while get(handles.radiobutton15,’Value’)==1 & h˜=tempfor i=1:4 %para valores de 1 ate 4

val(i)=fscanf(s,’%d’) %le para a posicao ii=i+1 %incrementa i

end

%escrita dos valores no grafico correspondentesubplot(2,2,1); plot(h,val(1),’o’); hold onsubplot(2,2,2); plot(h,val(2),’o’); hold onsubplot(2,2,3); plot(h,val(3),’o’); hold onsubplot(2,2,4); plot(h,val(4),’o’); hold on

pause(900) %pausa de 15 minutos

h=h+0.25 %incrementa 1/4 de horaend.. %outros ciclos while.fclose(s)delete(s) %fecho da porta serieclear s

Como o sensor enviara quatro valores, estes serao rece-bidos, com a ajuda do ciclo for, por um vector de qua-tro elementos em que cada um esta associado a uma pro-priedade do solo. Portanto, cada valor sera encaminhadopara o seu respectivo grafico. Para que os quatro graficossejam feitos na posicao da janela em que se apresentam foiusada a funcao subplot.2.7 Status actualNa figura 6 pode ver-se ainda outro sub-menu que serve

para que um utilizador possa saber qual e a configuracao ac-tual do sensor, isto e, qual e o propriedade que esta a ser me-dida, o tempo total de medicao, o perıodo de actualizacao,os parametros envolvidos e o seu valor.2.8 Comunicacao com o sensorA comunicacao com o sensor foi feita usando a porta

serie como ja foi referido, portanto foi necessario ter ematencao a configuracao do formato dos dados para a suatransmissao. Foi tambem implementado, como se pode verna figura 7, um circuito auxiliar com o MAX 232 que per-mite a troca de dados com o sensor.

Fig. 6SUB-MENU DO STATUS ACTUAL

2.9 Configuracao do formato dos dadosPara a transmissao de dados entre os dois dispositivos foi

necessario definir determinados parametros. O numero debits de dados transmitidos por palavra serao 8, a taxa detransmissao de dados sera de 9600 bits/segundo, o numerode stop bits sera 1, e nao sera utilizado o bit de paridade.2.10 Circuito auxiliar MAX 232Como se pode constatar na figura 7 [3], o MAX232 e um

circuito que converte sinais de uma porta serie para sinaisque possam ser interpretados por circuitos micro processa-dos.

Fig. 7CIRCUITO MAX-232

Depois da configuracao do formato de dados estar feita eeste circuito estar conectado ao sensor o sistema esta com-pleto e pronto a funcionar. O programa pode ser executadoe as medicoes iniciadas.2.11 ResultadosQuando chegou o momento dos teste, o sensor nao es-

tava preparado para funcionar, portanto teve que encontrar-

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 127

se outra forma de comprovar o bom funcionamento daaplicacao desenvolvida. Inicialmente foi conectado o com-putador onde se encontra o software a outro computadoratraves da porta serie. Depois de concluıda com sucesso aconfiguracao do formato dos dados, foi feita a transmissaode dados usando o hyper terminal do Windows. Os resulta-dos sao apresentados seguidamente nas figuras 8 e 9.

Fig. 8ENVIO DO STATUS

Fig. 9RECEPCAO DO STATUS

O resultado no hyper terminal sao os valores introduzidosno programa separados por ponto e virgula. Atraves desteso sensor podera dar inıcio as suas rotinas de leitura e calculodo valor da humidade. Este sera enviado, lido pelo pro-grama e encaminhado para o grafico.Para testar a apresentacao de valores nos graficos foi intro-

duzido um ficheiro com valores de humidade ja conhecidos[2]. Foi necessario efectuar algumas alteracoes no codigomas o resultado foi positivo.Note-se que, nao foram introduzidos os valores dos

parametros A e B, pois apenas se trata de um teste naosendo, portanto, essas constantes relevantes.

III. CONCLUSOES

A figura 10 certifica o bom funcionamento das rotinas deescrita dos valores no grafico e portanto, o bom funciona-mento do software. A variacao acentuada da humidadedeve-se ao facto de estes valores serem relativos a um in-

Fig. 10ESCRITA NO GRAFICO

tervalo de tempo bastante maior do que as 14 horas intro-duzidas. Foi escolhido este valor de tempo porque se tratavade 14 amostras de humidade.Relativamente a comunicacao, atraves da figura 9 pode

ver-se que esta a funcionar perfeitamente o que me leva aconcluir que os objectivos foram atingidos com sucesso.

IV. BIBLIOGRAFIA

[1] A. Valente, R. Morais, A. Tuli, J. W. Hopmans, G.J.Kluitengerg: Multi-functional probe for small-scale simul-taneous measurements of soil thermal properties, watercontent, and electrical conductivity, 2006.[2] Syonei V. Zanette, Silvio C. Sampaio, Marciane G. Sil-

vestre: Analise espacial da humidade do solo cultivado comsoja sob dois sistemas de manejo, Revista Brasileira de En-genharia Agricula e Ambiental, pag:243, 2007.[3] Do It Yourself, 10 de julho 2009,

www.doityourself.com

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 129

Site Web para gestao de exames - Interface com o Utilizador e Interface deAdministracao - P0924

Rafael Duarte Inacio Vilarinho, [email protected]

Abstract –

The final purpose of this work is to build a gate that will allowfixing exams in a simple and efficient way. This task may becarried out within defined limits or restrictions, according to thefilter shaped by the manager. At this stage of the project relatedto the interaction of site-user, it is intended to implement themanagement and User Interfaces. The used tools are CascadingStyle Sheets (CSS) to define the style and JajaServer Pages (JSP)for Web Applications.

Resumo –

O objectivo deste trabalho e a implementacao de um por-tal que permita de uma forma simples e eficaz efectuar amarcacao de exames. Estes exames poderao ser marcados comdeterminadas restricoes, de acordo com os filtros definidospelo gestor. Nesta componente do projecto, relacionada coma interaccao site-utilizador, pretende-se a implementacao daInterface de Gestao e Interface do Utilizador. As tecnologiasutilizadas sao Cascading Stye Sheets (CSS) para definir o es-tilo e JavaServer Pages (JSP) para as aplicacoes Web.

Keywords – JavaServer Pages, Cascading Style Sheets,Graphic Interface

Palavras chave – JavaServer Pages, Cascading Style Sheets,Interface Grafica

I. INTRODUCAO

O objectivo deste projecto e a realizacao de um site parainscricoes e marcacoes de exames. As marcacoes poderaoser efectuadas pelos proprios docentes, com as respectivasrestricoes, enquanto que os alunos apenas se poderaoinscrever nas ofertas existentes e consultar os examesefectuados.Os docentes tem varias accoes disponıveis, como acres-centar/editar exames, apagar exames, ver e assinalar aspresencas dos alunos nas respectivas provas.Tentou-se fazer um portal de utilizacao bastante simples esucinto nas informacoes nele contidas.

II. TECNOLOGIAS UTILIZADAS

As tecnologias usadas nesta componente do projecto sao:

• Cascading Style Sheets;• JavaServer Pages;

Cascading Stye Sheets - CSS - e uma linguagem de estiloutilizada para definir a apresentacao de documentos escritosnuma linguagem de programacao, como HTML ou XML.O seu principal benefıcio e prover a separacao entre o for-mato e o conteudo de um documento. Serve para definirregras de formatacao ou de estilos, a serem aplicadas aoselementos estruturais de marcacao.

Algumas vantagens de Utilizar CSS [1]:

• Agilizacao da manutencao e re-design do site;• Reducao do tempo de download dos documentos Web;• Aumento consideravel na portabilidade dos documen-

tos Web;

JavaServer Pages [2] - JSP - e uma tecnologia utilizada nodesenvolvimento de aplicacoes Web, similar as tecnologiasActive Server Pages (ASP) da Microsoft ou PHP.Por ser baseada na linguagem de programacao Java, tema vantagem da portabilidade de plataforma, que permite asua execucao em diversos sistemas operacionais, como oWindows da Microsoft, Unix e Linux.Esta tecnologia permite ao criador de paginas Web pro-duzir aplicacoes que acedam a base de dados, manipulemarquivos no formato texto, captem informacoes a partir deformularios e sobre o visitante e sobre o servidor.Neste caso utilizou-se o servidor Tomcat por ser compatıvelcom a tecnologia JSP.

III. CONCEPCAO E DESENVOLVIMENTO

O modelo idealizado para este portal consiste numa paginainicial com informacoes (novos exames, exames termina-dos, etc ) com uma box de login, onde sera preenchido peloutilizador o campo ”User”e o campo ”Password”.Apos ser validada a sessao, havera tres possibilidades;se for docente, este e reencaminhado para a pagina dedocente; se for aluno para a pagina de aluno; se nao seencontrar registado ou houver erro algum na validacao dasessao sera apresentada novamente a pagina inicial. [3]

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

130 RAFAEL VILARINHO [23116]

Fig. 1DIAGRAMA DE FUNCIONAMENTO DO SITE

Pagina do Docente:Na pagina de docente existira um menu com as variasopcoes validas para docente, sendo estas, AcrescentarExame, Editar Exame, Apagar Exame, Ver Inscritos.

Fig. 2MENU DO DOCENTE

Na opcao Acrescentar Exame, havera varios camposde preenchimento, o tipo de exame, o tıtulo, uma brevedescricao do mesmo, restricoes ( ano dos alunos que podemrealizar o exame, sexo, idade, data do exame ). A opcaoEditar Exame tera os mesmo campos que a opcao anterior.[1]

Fig. 3VISTA DAS OPCOES DA PAGINA ACRESCENTAR EXAME

Na opcao Apagar Exame o docente tem a lista de examese podera apagar os exames que pretender.Na opcao Ver Inscritos aparecera a lista de exames, aposseleccionado um exame, o docente podera ver inscritos,marcar e imprimir as presencas.

Pagina do Aluno:Na pagina de aluno existira outro menu com as opcoesvalidas para aluno, sendo estas, Exames Disponıveis eExames Efectuados.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 131

Fig. 4MENU DO ALUNO

Na opcao Exames Disponıveis aparece uma lista com osexames existentes e o aluno podera inscrever-se nos quepretender.

Na opcao Exames Efectuados, o aluno podera consultaros exames que ja realizou.

Atraves do ficheiro CSS foram definidas as varias caixasnecessarias . Com a tecnologia utilizada neste portal, ofuncionamento e bastante pratico.Por exemplo, nao e necessario fazer inumeras paginasdiferentes, existe uma pagina de raiz, que depois consoanteas permissoes do utilizador, nos mostra menus e opcoesdiferentes, estes menus e opcoes sao apenas outros ficheirosJSP, que sao chamados para a caixa que se pretender, assimse o administrador decidir alterar as opcoes e os menus,nao tera que fazer isso em todas as paginas, mas apenas noficheiro JSP onde os mesmos estao detalhadas. Esta foi oopcao preferida por se considerar a mais adequada para umSite deste tipo, e por permitir facil utilizacao e aplicacao.

Fig. 5VISTA DAS OPCOES DA PAGINA EXAMES DISPONIVEIS

Fig. 6FUNCIONAMENTO DA PAGINA COM FICHEIROS JSP

Explicacao do funcionamento em termos de ficheiros:(exemplo)

1. Home Page;2. Apos o utilizador preencher os campos de login e

clicar no botao Login, e executado o ficheiro vali-dar login.jsp;

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

132 RAFAEL VILARINHO [23116]

No ficheiro validar login.jsp existe uma chamada do Bean:(Bean esta definido ao fundo desta coluna)

1

2 <j s p : useBean i d ="auth" c l a s s ="utad.auth.Authentication" scope ="session" />

Este bean, serve para verificar se o login do utilizadore valido, se for valido retorna o tipo de utilizador que e,”docente”ou ”aluno”se nao for valido retorna ”guest”.

1 . . .2 <%3

4 S t r i n g u s e r = r e q u e s t . g e t P a r a m e t e r ("login" ) ;5 S t r i n g password = r e q u e s t . g e t P a r a m e t e r ("

password" ) ;6

7 b o o l e a n v a l i d l o g i n = a u t h . v a l i d a t e L o g i n ( use r ,password ) ;

8 S t r i n g t i p o = a u t h . ge tUse rType ( u s e r ) ;9

10 %>11

12 <%13 i f ( v a l i d l o g i n ) {14

15 s e s s i o n . s e t A t t r i b u t e ("user" , u s e r ) ;16 s e s s i o n . s e t A t t r i b u t e ("userType" , t i p o ) ;17 }18 e l s e {19 s e s s i o n . s e t A t t r i b u t e ("user" ,"" ) ;20 s e s s i o n . s e t A t t r i b u t e ("userType" ,"guest" ) ;21 }%>22

23 <meta h t t p−e q u i v ="refresh" c o n t e n t ="0;URL=page.jsp">

24

25

26 </body>

E envia-nos para a page.jsp, que em consonancia comotipo de utilizador nos mostrara diferentes menus e opcoescomo foi referido em cima. O ficheiro bean (JAVA) e o quenos permite interagir com a base dados (SQL).

A. Beans

Um Javabean e um componente reutilizavel que tem comofinalidade representar um modelo de dados. Beans saoclasses que tem propriedades, e podem desencadear even-tos.

• Define convencoes para que atributos de dados sejamtratados como propriedades;• Permite a manipulacao das suas propriedades,

activacao de eventos, etc. atraves de um frameworkque reconheca as convencoes utilizadas;

Basicamente, um Bean e uma classe Java qualquer, que temas seguintes caracterısticas:

• Construtor publico default (sem argumentos);• Atributos de dados private;• Metodos de acesso e/ou alteracao para cada

atributo usando a convencao getPropriedade() e

setPropriedade();

Excerto do bean utilizado:

1 package u t a d . a u t h ;2

3

4

5 i m p o r t j a v a . s q l . ∗ ;6 i m p o r t j a v a . s q l . Connection ;7 i m p o r t j a v a . s q l . Dr ive rManager ;8 i m p o r t j a v a . s q l . S t a t e m e n t ;9 i m p o r t j a v a . s q l . R e s u l t S e t ;

10

11

12

13

14 /∗ ∗15 ∗16 ∗ @author R a f a e l17 ∗ /18

19

20 p u b l i c c l a s s A u t h e n t i c a t i o n {21 p r i v a t e Connection c o n n e c t i o n = n u l l ;22 p r i v a t e R e s u l t S e t r s = n u l l ;23 p r i v a t e S t a t e m e n t s t = n u l l ;24 S t r i n g d b u s e r = "*********" ;25 S t r i n g d b p a s s = "*********" ;26 S t r i n g u r l = "jdbc:mysql://jini.utad.pt/

inscricoes" ;27

28

29 p u b l i c b o o l e a n v a l i d a t e L o g i n ( S t r i n g use r ,S t r i n g password ) {

30

31

32 t r y {33 C l a s s . forName ("com.mysql.jdbc.Driver

" ) . n e w I n s t a n c e ( ) ;34 }35 c a t c h ( C l a s s N o t F o u n d E x c e p t i o n c n f e ) {36 c n f e . p r i n t S t a c k T r a c e ( ) ;37 r e t u r n f a l s e ;38 / /39 }40 c a t c h ( I n s t a n t i a t i o n E x c e p t i o n i e x ) {41 i e x . p r i n t S t a c k T r a c e ( ) ;42 r e t u r n f a l s e ;43 } c a t c h ( I l l e g a l A c c e s s E x c e p t i o n i a e ) {44 i a e . p r i n t S t a c k T r a c e ( ) ;45 r e t u r n f a l s e ;46 }47

48 t r y {49 c o n n e c t i o n = Dr ive rManager .

g e t C o n n e c t i o n ( u r l , dbuse r ,d b p a s s ) ;

50 S t a t e m e n t s t = c o n n e c t i o n .c r e a t e S t a t e m e n t ( ) ;

51

52

53 S t r i n g que ry = "SELECT * FROM loginsWHERE user=’" + u s e r + "’ andpass=’" + password + "’" ;

54 System . o u t . p r i n t l n ( que ry ) ;55 R e s u l t S e t r s = s t . e x e c u t e Q u e r y ( que ry

) ;56

57 i f ( r s . next ( ) ) {58

59 c o n n e c t i o n . c l o s e ( ) ;60 r e t u r n t ru e ;61 }62 e l s e {63

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 133

64 c o n n e c t i o n . c l o s e ( ) ;65 r e t u r n f a l s e ;66 }67 } c a t c h ( SQLException t e s t e ) {68 t e s t e . p r i n t S t a c k T r a c e ( ) ;69 r e t u r n f a l s e ;70 }71

72

73 }74 }

Neste excerto do bean, podemos verificar que e feita aligacao a base de dados, o que nos permite fazer a validacaodo login, bem como por exemplo, ver a utilizacao doparametro get.

B. Como utilizar um bean?

Para usar um bean numa pagina JSP, existem tres atributosque devem ser fornecidos:

• um ID, que fornece um nome local;• o nome da classe, que e usado para criar uma instancia

para o caso de ele nao existir;• um campo de aplicacao, que especifica o tempo de

vida do bean;

Existem quatro opcoes disponıveis - ”page, request,session, and application”. A ”page-scoped”esta disponıvelapenas na pagina JSP e e destruıda quando a paginativer terminado a sua execucao para gerar o pedido. Um”request-scoped”e destruıdo quando a resposta e envi-ada. A ”session-scoped”e terminada quando a sessao eterminada. Um pedido de ”application-scoped”e destruıdoquando a aplicacao Web e terminada.

IV. CONCLUSOES

Ao longo do desenvolvimento deste projecto, pudeadquirir variados conhecimentos ao nıvel de CSS e JSP.Tive nocao real do quanto e importante ser-se minuciosocom todas as questoes relacionadas com a acessibilidade,funcionalidade, estetica, conteudo, etc.Do ponto de vista do administrador (docente), o site estabastante facil de utilizar, consegue-se facilmente introduzirnovos exames na base de dados, bem como alterar exames.Em relacao ao utilizador (aluno), o site esta simples, tendoem conta que este apenas tem as opcoes de se inscrever emexames ou ver os exames que ja realizou.

Alguns screen shots do site:

Fig. 7IMAGEM DA PAGINA INICIAL

Fig. 8IMAGEM DA PAGINA DO DOCENTE

Desenvolvimentos futuros:Podera ser adicionada uma pagina para se registarem novosutilizadores, e podera ser utilizado um template consoantea instituicao a que for aplicado.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

134 RAFAEL VILARINHO [23116]

Fig. 9IMAGEM DA PAGINA DO ALUNO

BIBLIOGRAFIA

[1] w3schools, “The largest web developer site on the net”,http://www.w3schools.com/.

[2] Inc. Sun Microsystems, “Javaserver pages technology”,http://java.sun.com/products/jsp/.

[3] Craig Cook David Schultz, Beginning HTML with CSS and XHTML:Modern Guide and Reference (Beginning: from Novice to Profes-sional), Apress, 2007.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N∘ 1, JULHO 2009 135

Site Web para gestao de exames - Gestao de Base de Dados e Relatorios - P0925

Joao Carlos Araujo Rodrigues, [email protected]

Abstract –The objective of this work is to implement a portal to allows

a simple and effective way to schedule assessments. These ex-ams may have restrictions, according to the filters defined bythe manager. This component of the project, related to datamanagement has as main objective implement the databaseand generate reports of the system. The database will be com-posed of eight tables, all linked together. Each table containsseveral fields of data storage,these fields were created as theneeds of the proper functioning of the portal. To create thisdatabase i use the phpMyadmin, because it is an applicationto complete all requirements. as the database needs to collectdata from web site, therefore have to be connected to this,forthis was done in an indirect way, through a system of Beans,this system control the connection of database to the portal.

Resumo – O objectivo deste trabalho e a implementacao deum portal que permita de uma forma simples e eficaz efec-tuar a marcacao de exames. Estes exames poderao ser mar-cados com determinadas restricoes, de acordo com os filtrosdefinidos pelo gestor. Nesta componente do projecto, rela-cionada com a gestao de dados, pretende-se que a base de da-dos forneca relatorios relativos ao sistema. A Base de Dadossera composta por oito tabelas, todas elas interligadas entresi. Cada tabela contem varios campos de armazenamento dedados, esses campos foram criados conforme as necessidadesdo bom funcionamento do portal. Para a criacao desta base dedados utilizamos como ferramenta o phpMyadmin pois e umaaplicacao que completa todas as necessidades. Como a base dedados necessita de recolher dados da pagina de Internet, con-sequentemente tera que estar interligada a esta, para isso foifeita de forma indirecta, atraves de um sistema de Beans, estesistema e que controlara a ligacao da base de dados ao portal.

Keywords – Data Base,jdbc,phpMyadmin,web portal

Palavras chave – base de dados, jdbc, phpMyadmin,portalweb

I. INTRODUCAO

O objectivo deste trabalho e a implementacao de umportal que permita de uma forma simples e eficaz efectuara marcacao de exames. Estes exames poderao ser mar-cados com determinadas restricoes, de acordo com os fil-tros definidos pelo gestor. Nesta componente do projecto,relacionada com a gestao de dados,projectar e implementaruma base de dados que respeite as especificacoes do sis-tema de inscricoes. Este site tem que ter a capacidade defazer uma distincao entre tipos de utilizadores, neste caso”docente”, e ”alunos”, dando permissoes aos docentes que

os alunos nao possuem, e vice -versa.Isto porque os objec-tivos de ambos os utilizadores sao diferentes.De acordo com os objectivos dos docentes, estes vao ter queconseguir fazer a insercao e marcacao de exames, tendo emconta que os exames tem condicionantes,como por exem-plo,unidades curriculares,curso,ano curricular, assim comolistar os alunos inscritos num determinado exame e marcaras presencas dos alunos.Os alunos por sua vez terao permissao, para se inscrever nosexames submetidos pelos professores, esta inscricao nos ex-ames por parte dos alunos, tem em conta as restricoes im-postas pelo docente. Por sua vez este site ira estar ligado auma base de dados.Esta base de dados foi criada tendo em conta o bom fun-cionamento do site, tendo em consideracao situacoes decongestionamento, acesso rapido e eficaz aos dados ar-mazenados, confianca no armazenamento dos dados, tendoa certeza que os dados nao se irao perder ou modificar. Abase de dados e o site estarao interligados atraves de um sis-tema de Beans, sistema que ira fazer a ligacao entre o portale a base de dados de forma fiavel. Na construcao deste sitefoi tido em conta tambem aspectos relativos a seguranca,tendo a certeza que nao sera possıvel aceder ao site sem seter efectuado o previo login, e que esse login constara nabase de dados.

II. BASE DE DADOS

A utilizacao das chamadas Tecnologias da Informacaotem vindo a ser cada vez mais importante no nossodia-a-dia, diria mesmo que sao imprescindıveis, pois elasestao presentes em varios sectores da economia, desdea administracao publica ate ao sector privado, a areaindustrial ate a area de servicos e, mais recentemente nosnossos lares. [1]A tecnologia de Bases de Dados, veio revolucionar odesenvolvimento e a exploracao de sistemas informaticosnas organizacoes e consequentemente a utilizacao dastecnologias da informacao.Esta tecnologia teve uma adesao tao significativa porparte do mercado que o seu ritmo de desenvolvimento edivulgacao pelas organizacoes tem vindo sempre a crescer,sendo esta uma tecnologia contida na maior parte dosprogramas desenvolvidos.Devido a esta tecnologia fornecer um conjunto de facili-dades e um ambiente de trabalho de alto nıvel, com reflexosconcretos ao nıvel da produtividade, disponibiliza um con-junto de caracterısticas como a seguranca nos acessos, ocontrolo da concorrencia, a recuperacao/tolerancia a falhas,etc. Todos estes factores contribuıram para o sucesso econsequente desenvolvimento desta tecnologia pois saofactores fundamentais em qualquer sistema utilizado num

c⃝ UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

136 JOAO RODRIGUES [23363]

ambiente de multiutilizacao.Esta tecnologia e caracterizada em termos de evolucaopelo seu ritmo de desenvolvimento assinalavel. Desdeos primeiros sistemas criados, passando pelos sistemasrelacionados cujas caracterısticas de flexibilidade e facil-idade de utilizacao permitiram uma divulgacao massivadesta tecnologia, ate aos sistemas de 3a geracao, em queos sistemas de bases de dados Object-Oriented sao os maisrepresentativos e promissores.Novas perspectivas para a utilizacao da tecnologia debases de dados foram abertas devido aos desenvolvimentosocorridos com os dispositivos de hardware e com asinfra-estruturas de comunicacoes.A tecnologia de bases de dados foi inicialmente projectadapara a area de processamento de dados de gestao, tendoesta tecnologia vindo a evoluir, tem sido utilizada em variasareas de aplicacao, de onde se podem destacar as ferramen-tas CASE (Computer-Aided Software Engineering), CAD(Computer Aided Design), CIM (Computer IntegratedManufacturing), GIS (Geografic Information Systems),sistemas multimedia, etc.Como se verifica, estas novas areas de aplicacao comcaracterısticas bastante diferentes na area tradicional deactuacao, necessitam da tecnologia de bases de dados outrotipo de funcionalidades. Surgem entao novos conteudosdentro desta tecnologia que, suportando essas funcionali-dades, alargam o seu ambito de aplicacao a essas areas.Uma vez que o constituinte central de qualquer sistemade informacao e a sua memoria, a solucao informatica,para qualquer organizacao, deve assentar num depositointegrado de dados, a Base de Dados. Uma base de dados e,por definicao um conjunto organizado de dados, disponıvela todos os utilizadores ou processamentos da organizacaoque deles tenham necessidade.A tecnologia de bases de dados vai, entao tentar respondera dois objectivos: por um lado, dar corpo a uma formamais natural de pensar os sistemas de informacao surgindocomo elemento integrador dos recursos informativos daorganizacao; por outro lado, disponibilizar meios de desen-volvimento de novos sistemas e facilitar a manutencao dossistemas construıdos segundo esta tecnologia. [2]

III. JDBC

JDBC (Java Database Connectivity) e nem mais nemmenos que uma API Java (Application ProgrammingInterface) que permite que os programas Java executemcomandos SQL. JDBC fornece metodos para consultar eactualizar os dados na Base de Dados relacional, tais comoSQL, Oracle etc.

O API do Java fornece um mecanismo para carregardinamicamente Drivers JDBC, registra-os com o JDBCDriver Manager que e usado para fazer uma ligacao aBase de Dados partindo que as aplicacoes possam exercercomandos SQL como:INSERT, UPDATE e DELETE .Driver Manager e a espinha dorsal da arquitectura JDBC.Geralmente todos Relational Database Management Sys-

Fig. 1EXEPLO DO FUNCIONAMENTO DE UM JDBC

tem suporta SQL e a plataforma Java e independente, demodo JDBC torna possıvel escrever um unico pedido dedados que pode ser executado em diferentes plataformas einteragir com diferentes Database Management Systems.[3]

Java Database Connectivity e semelhante ao ODBC(Open Database Connectivity) que e utilizado para acedere gerir bases de dados, mas a diferenca e que o JDBC eprojectado especificamente para programas em Java, e oODBC nao depende de qualquer idioma.Em suma o JDBC ajuda os programadores a escreveraplicacoes em Java para nos ajudar a ligar a uma fontede dados, como uma Base de Dados, ajuda a nos enviarperguntas e declaracoes para actualizar a Base de Dados eobter e processar os resultados recebidos da Base de Dadosem termos de resposta a sua consulta.Para a gestao da Base de Dados podemos utilizar aaplicacao phpMyAdmin pois e uma aplicacao de facilutilizacao que serve para controlar a Base de DadosMySQL. Pode ser utilizado para criar, copiar, eliminar,renomear e alterar tabelas, fazer a manutencao de tabelas,eliminar, editar e adicionar campos, exportar ou importaruma Base de Dados, e muito mais.

IV. MYSQL

O phpMyAdmin e uma ferramenta em PHP quepermite administrar facilmente bases de dados MySQL,atraves de um browser,e das aplicacoes open sourcedas mais populares, que nos proporciona uma poderosainterface grafica para gerir o MySQL. Enquanto a maioriados desenvolvedores utilizam funcionalidades de rotinaphpMyAdmin todos os dias, poucos estao conscientes doseu poder e potencial.Suporta grande numero desites dinamicos e aplicacoes.OMySQL adquiriu esta vasta popularidade em virtude dasua natureza de open source, desempenho, fiabilidade,robustez, e suporte para multiplas plataformas. No entanto,esta popularidade tambem foi favorecida pela existencia

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N∘ 1, JULHO 2009 137

de phpMyAdmin a industria standard, o que torna a ferra-menta administrativa de gestao de dados facil para ambos.Trazendo uma interface web para MySQL phpMyAdmintornou um instrumento indispensavel para o MySQL edesenvolvedores web, sejam eles profissionais ou na salade aula. Cada utilizador pode beneficiar phpMyAdmin, atelibertar todo o potencial desta poderosa aplicacao. [4]

Fig. 2EXEMPLO PHPMYADMIN DA BASE DE DADOS

V. CONCEPCAO

Como ja referimos em cima a Base de Dados seraconstituıda por oito tabelas, que contem uma tabelachamada logins, que e constituıda por tres campos dearmazenamento de dados, um campo chamado user queira guardar o user name de cada utilizador,e um campodenominado pass, em que este campo ira armazenar asrespectivas passwords de cada utilizador.

Atraves de estes dois campos de armazenamento de dadosa Base de Dados ira deixar aceder ou nao o utilizador quetenta aceder ao portal. Esta tabela contem tambem umcampo denominado ID user , este campo e de extremaimportancia daı ser designado por chave primaria, estecampo ira tornar a nossa Base de Dados mais flexıvel poisira fazer a interligacao da tabela loginse da tabela chamadauser, da tabela register e uma outra tabela denominadaexaminandos.Esta tabela denominada de user, e muito importante poisira conter todos os dados necessarios a identificacao dosutilizadores que irao usufruir deste portal, compreendecampos tais como o name, age, year of birth, gender,school year e type, assim atraves do campo ID usercorrespondente a tabela logins, podemos aceder aos dadosque estarao introduzidos na tabela user.Como referimos anteriormente o campo ID user da tabelalogins, ira fazer a interligacao a uma outra tabela denomi-

nada de register.Atraves desta interligacao poderemos ter acesso a as-siduidade dos utilizadores relativamente a um exame,podemos tambem saber os exames realizados relativamenteao utilizador em questao.

O campo ID user interliga-nos tambem a tabela logins,e uma outra tabela chamada examinando, com estainterligacao podemos ter acesso aos utilizadores inscritosnum determinado exame e a data em que ele efectuou asua inscricao, para podermos ter uma listagem dos alunosinscritos num determinado exame.

A Base de Dados abarca tambem uma tabela de extremaimportancia designada exam, que ira conter todos os dadosrelativos a um determinado exame.Contem um campo de igual importancia ao ID user databela logins,que neste caso sera denominado porID exam,que nos dara ligacao a outras tabelas aumentado assim aversatilidade da base de dados, para alem deste campo estatabela tera tambem campos de armazenamento tais como:title,date actv,actv hours,date desact,desact hours, de-scription e um campo ID type, este campo ira facilitar naintroducao de novos exames, pois o tipo de exame ja estaraguardado numa tabela chamada exam type, o utilizadorapenas tera que o seleccionar numa lista.Esta tabela ira estar interligada as tabelas examinandose register, ja referidas anteriormente, para alem destas,esta tabela esta tambem interligada a mais tres tabelas.Ambas estas tres tabelas referidas por ultimo, tem fi-nalidade de auxiliar o utilizador a inserir restricoes noexame em questao, pois cada uma destas tabelas ira conter

c⃝ UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

138 JOAO RODRIGUES [23363]

as condicoes necessarias para ser possıvel a realizacaodessas restricoes, tais como rest gender, rest idd e a tabelarest year.Assim sera composto o nosso sistema de Base de Dados,que foi criado com objectivo de tornar o seu acesso emodificacao de forma facil e simples.

Para ser possıvel a Base de Dados armazenar dadosprovenientes do nosso site temos que construir um sistemade comunicacao, de modo a que os dados provenientes dosite sejam armazenados nos campos correctos de maneirafiavel, para realizar este processo recorremos a um sistemade BEANS.

Um sistema de BEANS e nada mais nada menos queuma maneira de gerir as ligacoes de uma Base de Dadospersistente, para isso tem que ser utilizados determinadoscomandos definidos pelo sistema de BEANS utilizando ainterface JDBC, assim para obter uma conexao JDBC, emcada metodo devem ser realizadas as seguintes operacoes:

1. Especificar o nome da base de dadosprivate String dbname = ”java: comp / env / jdbc / Sav-ingsAccountDB”;

2. Obter o DataSource associado ao nome logico.InitialContext ic = new InitialContext (); DataSource ds =(DataSource) ic.lookup (dbname);

3. Obter a ligacao a partir do DataSource.Connection con = ds.getConnection ();

1 package u t a d . a u t h ;2 i m p o r t j a v a . s q l . Connection ;3 i m p o r t j a v a . s q l . Dr ive rManager ;4 i m p o r t j a v a . s q l . S t a t e m e n t ;5 i m p o r t j a v a . s q l . R e s u l t S e t ;6

7 p u b l i c c l a s s A u t h e n t i c a t i o n {8 p r i v a t e Connection c o n n e c t i o n = n u l l ;9 p r i v a t e R e s u l t S e t r s = n u l l ;

10 p r i v a t e S t a t e m e n t s t = n u l l ;11 S t r i n g d b u s e r = "***********" ;12 S t r i n g d bp as s = "**********" ;13 S t r i n g u r l = "jdbc:mysql

://*******************" ;

VI. CONCLUSOES

Os nossos objectivos foram todos alcancados com sucesso,as tecnologias optadas foram as correctas, pois as necessi-dades foram todas obtidas,o sistema de Beans funciona naperfeicao,phpMyadmin foi bem indicado para este projecto,pois e uma ferramenta de facil e eficaz utilizacao. Atravesda implementacao que foi efectuada, e possıvel a obtencaode registos relativos a assiduidade e ao numero de inscritosa partir do site em questao. A ligacao as outras partes doprojectos foram efectuadas com sucesso.

Fig. 3DIAGRAMA E-R DA BASE DE DADOS

Fig. 4EXEMPLO DA BASE DE DADOS COMUNICANDO COM O PORTAL WEB

ATRAVES DO BEAN

BIBLIOGRAFIA

[1] Jose Luis Pereira, Tecnologia de Bases de Dados, FCA, third edicao.[2] Marc Delisle, Mastering phpMyAdmin, PAKT, 2009.[3] Inc. Sun Microsystems, “jdbc”,

http://java.sun.com/javase/technologies/database/.[4] Inc. Sun Microsystems, “phpmysql”, http://www.mysql.com/.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 139

Site Web para gestao de exames - Testes, Seguranca, Autenticacao e PrivacidadeP0926

Antonio Manuel de Oliveira Macedo, [email protected]

Abstract – The main objective of the overall project, of wichthe current work is part, is to implement a Web Site that allowsschedule assessment in an efficient and easy way for the teach-ers and students. This component of the project aims to providethe Web Site with security, secure authentication, privacy, andalso to do some robustness and security tests. For its implemen-tation the necessary tools are Java Server Pages (JSP), sessionmanagement, secure way to store passwords in the database.

Resumo – O principal objectivo do projecto global, doqual o trabalho aqui apresentado faz parte, consiste naimplementacao de um Site Web que possibilite aos docentese alunos, de uma forma facil e eficaz, a inscricao/marcacao deexames. Nesta componente do projecto pretende-se dotar esseportal com mecanismos de seguranca, autenticacao segura,privacidade e tambem efectuar testes de robustez e seguranca.Para a sua implementacao as tecnologias necessarias sao asJava Server Pages (JSP), gestao de sessoes, formas seguras deguardar passwords na base de dados.Keywords – Security, Authentication, Privacy, JSP, Schedule

assessmentPalavras chave – Seguranca, Autenticacao, Privacidade, JSP,

Incricoes on-line

I. INTRODUCAO

O objectivo principal deste projecto na globalidade, emque o presente trabalho e apenas uma parte, consiste narealizacao de um Site Web para a marcacao de exames deuma forma simples e eficaz. Este sera utilizado por pro-fessores e alunos, onde os exames terao certas restricoes,de acordo com o tipo de exame e/ou definidos pelos do-centes. Relativamente a esta componente do projecto, oobjectivo consiste em garantir aspectos relacionados coma seguranca do portal, onde se pretende que este usufrua decapacidades que vao desde a autenticacao segura, gestao desessoes, privacidade ate a realizacao de testes de robusteze seguranca do mesmo. A existencia deste projecto passapor garantir que depois de finalizado o site, e apos a juncaodas respectivas componentes, este consiga tornar a gestaode todo o processo de inscricoes dos alunos para os exa-mes mais simples, rapida, facil e ao mesmo tempo segura,evitando-se assim o metodo antigo em que se usava papelpara o efeito.

II. TECNOLOGIAS UTILIZADAS

Para a realizacao deste projecto foi necessario recorrer atecnologias utilizadas para a programacao na Web. Estaseccao do artigo sera usada para mostrar alguns conceitos

teoricos dessas mesmas tecnologias. Em primeiro lugarserao abordados os temas relativamente as paginas JSP eseguranca (formas de guardar passwords na base de dados,gestao de sessoes) em seguida a privacidade e por fim otipo de testes efectuados para testar a seguranca do portal.

A. Java Server Pages (JSP)

A sigla JSP significa Java Server Pages. Pode-se dizer quee uma tecnologia de Web-scripting utilizada para o desen-volvimento de aplicacoes Web, em que serve o conteudodinamico para o utilizador, utilizando logica e dados pelolado do servidor e similar a outras tecnologias, tais como oPHP (Hypertext Preprocessor) ou ASP (Active Server Pa-ges) da Microsoft. A sua principal vantagem recai na porta-bilidade de plataforma da linguagem Java, que permite serexecutada em outros Sistemas Operativos. Alem da porta-bilidade permite que se consigam realizar certas aplicacoesque possibilitam o acesso e manipulacao a base de dados,arquivos-texto e a recolha de informacoes a partir de for-mularios bem como informacoes sobre o utilizador do WebSite (visitante) e tambem sobre o servidor, permite ainda ouso de variaveis e loops [1].Algumas das caracterısticas principais do JSP sao [2]:

• Facil codificacao, que permite a elaboracao emanutencao de uma aplicacao;• Separacao da parte dinamica (programacao logica) e

da parte estatica (parte visual), permitindo que o pro-gramador e o Web designer trabalhem no projecto masde forma independente;• Produz conteudos dinamicos que possam ser reuti-

lizaveis;• A diversidade de formatos, qualquer formato actual

pode ser utilizado numa pagina JSP como por exem-plo: HTML, XML, DHTML, WML, entre outros;• Utilizacao de codigo Java, onde e possıvel utilizar

scriplets (pedacos de codigo Java puro introduzidosdentro da pagina JSP).

B. Conteudo de uma pagina JSP

Uma pagina JSP e um documento baseado em texto emque possui dois tipos de texto, um com dados de templateestaticos (qualquer formato baseado em texto HTML, XMLetc. ) e o outro com elementos JSP que permitem construiro conteudo dinamico [3].Exemplo de um bloco de codigo de uma pagina JSP:

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

140 ANTONIO MACEDO [22474]

1 <html>2 <head>3 < t i t l e >Exemplo p a g i n a JSP </ t i t l e >4 </head>5 <body>6 <%7 S t r i n g x="Uma simples pagina

JSP!" ;8 %>9 <%=x%>

10 </body>11 </ html>

C. Sessoes

Num portal Web, os utilizadores podem estar a visualizarvarias paginas ao mesmo tempo, podendo interagir comelas de diversas formas, como e o caso do site de gestaode exames relativo a este projecto, sendo assim a tecnolo-gia JSP permite o uso de sessoes. Uma sessao e um con-ceito que permite representar um conjunto de solicitacoesHTTP e respostas que sao trocadas entre um browser eum servidor Web, sessao esta que esta relacionada com outilizador, onde podem ser inseridas informacoes que po-dem ser utilizadas/recuperadas mais tarde. Esse conjuntode informacoes e usado para cada utilizador do portal [4][5]. A Fig. 1 ilustra um exemplo de uma sessao [3].

Fig. 1EXEMPLO DE UMA SESSAO

D. Funcionamento de uma sessao JSP

Como dito anteriormente, os pedidos que o utilizador fazficam a fazer parte de uma unica sucessao de interaccoescom o servidor, fazendo estas parte de uma sessao, caso outilizador continue com esses pedidos ao servidor a sessaocontinua, no entanto, se durante um determinado perıodode tempo nao existir nenhuma solicitacao por parte do uti-lizador, a sessao vai expirar [4]. Uma sessao e representadapor um objecto session, em que todas as informacoes rela-tivas a sessao sao armazenadas. Os dados sao adicionadosatraves de dois metodos [3]:

• Caso a sessao nao exista, e retornado null, senao re-torna sessao“ HttpSession session = request.getSession(false);”• O segundo metodo retorna a sessao ou cria uma nova,

mesmo que getSession(true)“ HttpSession session = request.getSession();”

E. Privacidade

A privacidade e outra das partes importantes naimplementacao deste projecto, pois sendo um site paragestao de exames, as informacoes contidas serao importan-tes sendo necessario ter bastantes cuidados ao proteger oseu conteudo. E entao necessario ter nocoes de como en-criptar as informacoes/dados.

Hoje em dia a encriptacao de dados e tida como algovalioso, ou seja, como se de um cofre se tratasse. Naencriptacao de dados, estes sao encriptados utilizando al-goritmos de encriptacao e uma chave, chave esta que vaipermitir a leitura dos dados. Estas chaves sao determinadasno momento da ligacao entre os computadores que estabe-lecem a ligacao. A encriptacao de dados tanto pode seriniciada pelo servidor como tambem pelo computador queestabelece a ligacao.

Uma utilizacao comum quando se quer manter uma certaseguranca entre o cliente e o servidor, evitando que os dadossejam lidos por terceiros e a utilizacao do protocolo HTTPS(HyperText Transfer Protocol Secure) [6], sendo este umaexecucao do protocolo HTTP (HyperText Transfer Proto-col) sobre uma camada SSL (Secure Sockets Layer) ou doTLS (Transport Layer Security) [7], esta camada vai per-mitir que as informacoes sejam enviados entre uma ligacaocriptografada, verificando-se a autenticidade do servidor edo cliente atraves do uso de certificados digitais. Por suavez o TLS e o SSL sao protocolos criptograficos que permi-tem uma comunicacao segura na Internet como por exem-plo a navegacao por paginas e outros tipos de transferenciade dados.

O funcionamento deste baseia-se no envio de uma chavepublica do servidor do site para o browser, utilizada poreste para enviar uma ligacao secreta criada aleatoriamente,permitindo a troca de dados criptografados entre os dois.

F. Autenticacao

Para uma utilizacao segura do portal e necessario antes detudo ter em atencao aos aspectos relativos ao processo deautenticacao, sendo muito provavelmente este o mais im-portante de todos, pois uma autenticacao segura e meiocaminho para o sucesso em todos os aspectos relativos aseguranca. Autenticacao e nada mais nada menos que umprocesso cujo objectivo recai na verificacao da identidadede um determinado utilizador de um sistema. Por vezes otermo autenticacao e confundido pela palavra autorizacao,no entanto a autorizacao apenas verifica se o utilizador tempermissao para executar certas operacoes. O processo deautenticacao depende de alguns factores de autenticacao,para o Homem estes sao classificados em tres [8]:

• Factores humanos que o utilizador possui: Impressoesdigitais, ADN, reconhecimento de voz, entre outros;• Factores de propriedade: Cartoes de identificacao;• Factores que o utilizador conhece: Palavras-chave,

PIN (personal identification number), frases deseguranca.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 141

G. Seguranca

Numa aplicacao Web os aspectos de seguranca normal-mente recaem sempre na forma segura de guardar as pas-swords dos utilizador. Estas devem ser guardadas na basede dados nao da forma de texto legıvel, mas sim encrip-tadas. O processo de autenticacao neste caso passaria poruma comparacao entre a password cifrada e a recebida, in-troduzida pelo utilizador, que tambem devera ser cifrada.Existem inumeros algoritmos que podem ser usados, existeum que e muito utilizado para a verificacao de integridade ede logins, o MD5 (Message-Digest algorithm 5), desenvol-vido pela RSA Data Security. O seguinte bloco de codigomostra um exemplo de uma classe utilizando o MD5 [9]:

1 i m p o r t j a v a . s e c u r i t y . MessageDiges t ;2 i m p o r t j a v a . s e c u r i t y . NoSuchAlgor i thmExcep t ion ;3 p u b l i c c l a s s C r i p t o g r a f i a {4 p r i v a t e s t a t i c MessageDiges t md = n u l l ;5 s t a t i c {6 t r y {7 md = MessageDiges t . g e t I n s t a n c e ("MD5?)

;8 } catch (NoSuchAlgorithmException ex) {9 ex.printStackTrace();

10 }11 }12 private static char[] hexCodes(byte[] text) {13 char[] hexOutput = new char[text.length *

2];14 String hexString;15 for (int i = 0; i < text.length; i++) {16 hexString = "00? + I n t e g e r .

t o H e x S t r i n g ( t e x t [ i ] ) ;17 h e x S t r i n g . toUpperCase ( ) . g e t C h a r s (

h e x S t r i n g . l e n g t h ( ) − 2 ,18 h e x S t r i n g .

l e n g t h ( ) ,

hexOutput, i ∗ 2) ;

19 }20 r e t u r n hexOutpu t ;21 }22 p u b l i c s t a t i c S t r i n g c r i p t o g r a f a r ( S t r i n g pwd ) {23 i f (md != n u l l ) {24 r e t u r n new S t r i n g ( hexCodes (md . d i g e s t (

pwd . g e t B y t e s ( ) ) ) ) ;25 }26 r e t u r n n u l l ;27 }28 }

H. Testes de Robustez

Tendo em conta que existem informacoes que os utiliza-dores nao terao acesso, ou seja, quais as paginas JSP quesao chamadas, utilizou-se esta informacao para proceder arealizacao dos testes. A Fig. 2 ilustra os varios tipos detestes efectuados.

III. CONCEPCAO E IMPLEMENTACAO

Nesta seccao do artigo sera demonstrado como foramutilizadas as tecnologias referidas na seccao anterior, re-correndo ao uso de figuras e/ou extractos de codigo daimplementacao pratica do projecto. O servidor de JSP uti-lizado neste projecto foi o Tomcat 6.0+JDK1.6.

Fig. 2TIPO DE TESTES EFECTUADOS

A. Testes de Robustez

Os testes que foram efectuados foram os descritos naseccao anterior.A Fig. 3 ilustra o resultado de um login efectuado como

docente.

Fig. 3LOGIN COM PERMISSOES DE DOCENTE

Para efectuar o teste e entao necessario tentar aceder a umapagina onde apenas o aluno tem permissoes para aceder,neste caso a pagina “Exames Disponıveis”, o resultado foium acesso negado, transmitido sob a forma de uma paginaem branco, ilustrado na Fig. 4.Relativamente ao teste inverso, ou seja, o aluno tentar ace-

der a paginas de uso exclusivo por parte do docente, o resul-tado tambem foi positivo no que diz respeito a restricao. Foifeito o login usando permissoes de aluno como e ilustradoatraves da Fig. 5.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

142 ANTONIO MACEDO [22474]

Fig. 4RESULTADO DO TESTE LOGIN DOCENTE- AREA DE TENTATIVA DE

ACESSO ALUNO

Fig. 5LOGIN COM PERMISSOES DE ALUNO

Ao tentar abrir por exemplo a pagina “AcrescentarExame”, que apenas os docentes podem abrir, o resultadofoi identico ao anterior (pagina em branco) Fig. 6.

No caso de um login invalido ou sem efectuar o login outilizador e reencaminhado para uma pagina guest, ondetambem qualquer tentativa de chegar a paginas restritas naoe permitida. A Fig.7 ilustra a pagina com permissoes Guest.

A Fig. 8 e Fig. 9 ilustram a tentativa de acesso negada apagina “Apagar Exame” e “Exames Efectuados”, da “AreaDocente” e “Area Aluno” respectivamente, utilizando per-missoes guest.

Fig. 6RESULTADO DO TESTE LOGIN ALUNO - AREA DE TENTATIVA DE

ACESSO DOCENTE

Fig. 7PAGINA COM PERMISSOES DE GUEST

B. Gestao de Sessoes

Relativamente a gestao de sessoes, estas foram baseadasno diagrama de concepcao que a Fig. 10 ilustra.Depois de ser feita a validacao do login e atribuıdo um tipo

de login, neste caso Docente ou Aluno, o seguinte extractode codigo exemplifica esta atribuicao.

1 <%2 S t r i n g t i p o ="" ;3 S t r i n g paged = r e q u e s t . g e t P a r a m e t e r ("

pagetodisplay" ) ;4 i f ( paged == n u l l )5 paged="" ;6

7 t i p o = ( S t r i n g ) s e s s i o n . g e t A t t r i b u t e ("userType" ) ;8

9 i f ( t i p o == n u l l )10 t i p o = "guest" ;11

12 %>

Sempre que o utilizador tenta abrir uma pagina e feita uma

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 143

Fig. 8RESULTADO DO TESTE LOGIN GUEST - AREA DE TENTATIVA DE

ACESSO DOCENTE

Fig. 9RESULTADO DO TESTE LOGIN GUEST - AREA DE TENTATIVA DE

ACESSO ALUNO

verificacao relativa ao tipo de utilizador, verificacao estafeita atraves do seguinte bloco de codigo:

1 <% S t r i n g t i p o = ( S t r i n g ) s e s s i o n . g e t A t t r i b u t e ("userType" ) ;

2 i f ( t i p o == n u l l )3 t i p o = "guest" ;4 i f ( t i p o . e q u a l s ("docente" ) ) {5 %>

Um mecanismo importante na gestao de sessoes e o deexpiracao das sessoes, ou seja, caso nao sejam feitas nenhu-

Fig. 10GESTAO DE SESSOES

mas interaccoes com o site durante um perıodo de tempo asessao em vigor expira, e o utilizador e reencaminhado paraum novo login que ira dar origem a uma nova sessao. O me-canismo e baseado no seguinte algoritmo:

• E vista a hora a que e feita o pedido;• E vista a hora da ultima interaccao guardada;• As duas horas sao comparadas, se a diferenca for

maior que o timeout (tempo predefinido de utilizacao)e feito logout e as variaveis de sessao sao ao mesmotempo limpas, se a diferenca for menor e guardada anova hora e a sessao permanece ligada.

C. Autenticacao

Para o processo de autenticacao estariam a partida duashipoteses a utilizar:

• Autenticacao e todas as outras paginas em HTTPS;• Apenas a autenticacao usando HTTPS e o resto das

paginas em HTTP.

Depois de um estudo teorico relativamente as duashipoteses, e tendo em conta por exemplo portais como oSIDE (UTAD), uma implementacao da primeira hipoteseseria muito mais segura que a primeira, mas em contrapar-tida o Site Web requere mais recursos do lado do servidor. Etendo em conta que sera utilizado por um grande conjuntode pessoas, a sua performance iria ser mais baixa, no en-tanto uma implementacao da segunda hipotese e muito maisviavel, pois tras seguranca devido a autenticacao usandoHTTPS e utilizando a gestao de sessoes confirmando sem-pre a autenticidade do utilizador no resto das paginas emHTTP e e ao mesmo tempo facil e eficaz.Foi entao necessario configurar o TOMCAT para suportar

HTTPS [10] [11]. Para tal sao necessarios apenas 3 passos:

1. Gerar um ficheiro Keystore;2. Configurar o Tomcat para usar o ficheiro Keystore;3. Configurar a aplicacao Web (site de gestao) para tra-

balhar com SSL.

Gerar um ficheiro KeystoreEste ficheiro armazena dados de certificados digitais,

dados tais como chaves publicas e privadas usadas nac© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

144 ANTONIO MACEDO [22474]

autenticacao/integridade dos dados, e informacoes sobra afonte da qual se esta a receber a aplicacao de dados. Paracriar este ficheiro foi necessario usar o keytool, para talabriu-se a consola de comandos do Windows e digitou-seo seguinte codigo:

1 cd %d i r e c t o r i a JAVA% / b i n ( a b r e a p a s t a b i n doJava )

Em seguida:

1 k e y t o o l −genkey −a l i a s t o mc a t −k e y a l g RSA

Depois de executada a linha anterior irao aparecer algu-mas perguntas para criar o certificado. A Fig. 11 ilustra oprocesso de criacao do ficheiro Keystore.

Fig. 11ASPECTO DO FORMULARIO DO FICHEIRO KEYSTORE

Configurar o TomcatPara a configuracao do Tomcat e necessario efectuar al-

gumas alteracoes no ficheiro de configuracao (server.xml),para tal, basta abri-lo num editor de texto. Este ficheiroencontra -se em “CATALINA-HOME/Conf/server.xm”.

Para efectuar as alteracoes basta descomentar o seguintebloco de codigo:

1 <!−−2 <Connec to r p o r t ="8443" p r o t o c o l ="HTTP/1.1"

SSLEnabled="true"3 maxThreads="150" scheme="https"

s e c u r e ="true"4 c l i e n t A u t h ="false" s s l P r o t o c o l ="

TLS"5 />

E substitui-se por:

1 <Connec to r p o r t ="8443" p r o t o c o l ="HTTP/1.1"SSLEnabled="true"

2 maxThreads="150" scheme="https" s e c u r e ="true"3 c l i e n t A u t h ="false" s s l P r o t o c o l ="TLS"4 k e y s t o r e F i l e ="(localizacao do ficheiro)"5 k e y s t o r e P a s s ="keystore password" />

E necessario reiniciar o tomcat e atraves do URL“https://localhost:8443/” verifica-se a utilizacao do certifi-cado feito, como ilustra a Fig. 12.

Fig. 12ASPECTO DO CERTIFICADO

Por fim para que a aplicacao utilize SSL, basta abrir o fi-cheiro Web.xml da aplicacao e adicionar o seguinte frag-mento de codigo:

1 <s e c u r i t y−c o n s t r a i n t >2 <web−r e s o u r c e−c o l l e c t i o n >3 <web−r e s o u r c e−name>s ec u r ed a pp </web−r e s o u r c e−name>4 <u r l−p a t t e r n >/∗</ u r l−p a t t e r n >5 </web−r e s o u r c e−c o l l e c t i o n >6 <user−data−c o n s t r a i n t >7 <t r a n s p o r t−guaran tee>CONFIDENTIAL</ t r a n s p o r t−

guaran tee>8 </ user−data−c o n s t r a i n t >9 </ s e c u r i t y−c o n s t r a i n t >

Em que o “/*” significa que qualquer recurso da aplicacaovai utilizar o HTTPS para ser acedida, e que o termo “con-fidential” indica ao servidor que tem que fazer o trabalhosobre a aplicacao SSL, caso se pretenda desligar o modoSSL basta substituir por “None”.

IV. CONCLUSOES

Relativamente aos testes de seguranca efectuados, estestiveram sucesso, sendo que todas as restricoes de acessoeram executadas, ou seja, nenhum utilizador conseguiuaceder a conteudos para os quais nao tinha autorizacao.A gestao de sessoes tambem esta foi implementada comsucesso, permitindo confirmar e verificar sempre a auten-ticidade do utilizador sempre que este acedia a uma novapagina, e recusando todos os acessos a quem por algumfactor conseguisse ter acesso ao link completo para algumapagina. Um possıvel desenvolvimento futuro passa pelautilizacao de protocolos de autenticacao.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 145

BIBLIOGRAFIA

[1] Simon Brown, Sam Dalton, Daniel Jepp, David Johnson, Sing Li, eMatt Raible, Pro JSP 2, Grace Wong, fourth edicao, 2005.

[2] Alex Dias Ferreira e Luis Andre Martins, “Comparativo entre astecnologias jsp (java server pages) e asp (active server pages)”,http://www.inf.ufrgs.br/procpar/disc/cmp167/trabalhos/sem2001-1/T2/alex/.

[3] Laboratory of Automated Systems Engineering, “Fun-damentos do desenvolvimento baseado em componentes”,http://labase.nce.ufrj.br/cursos/fdbc/aulas/aula12/slide.html.

[4] Andre Temple, Rodrigo Fernandes de Mello, Danival Taffarel Cale-gari, e MaurAcio Schiezaro, Programacao Web com Jsp, Servlets eJ2EE, 2004.

[5] Dr. Herong Yang, “Jsp sessions and debugging”,http://www.herongyang.com/jsp/session.html.

[6] Wikipedia, “Https”, http://pt.wikipedia.org/wiki/HTTPS.[7] Wikipedia, “Transport layer security”,

http://pt.wikipedia.org/wiki/TLS.[8] Wikipedia, “Authentication methods”,

http://en.wikipedia.org/wiki/Authentication.[9] Christiano Vale, “Criptografia md5 em java”,

http://www.devcenter.mobi/v1/index.php/criptografia-md5/.[10] Apache Software Foundation, “Apache tomcat 6.0 ssl configuration

how-to”, http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html.[11] Nitinpai, “Setting up ssl on tomcat in 3 easy steps”,

http://techtracer.com/2007/09/12/setting-up-ssl-on-tomcat-in-3-easy-steps/.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 147, N◦ 147, JULHO 2009 147

Paineis de Informacao WirelessP0927

Daniel Antunes Ledo, [email protected]

Abstract – The goal is to implement a pervasive informa-tion system, which lower information layer consists of wire-less panels. Initially the information will be preferably theavailability characterization based on the position/location.The information provided by the panels can be derived frompre-programmed messages or a remote database, accessedthrough a wireless network supported by a distributed archi-tecture. It is based on a server/client model (extended). Allinformation can be managed both on the LCD side with but-tons for quick access to small menus, as part of the user bysending information via the wireless network. Puting all to-gether this project is aimeid help the student-teacher commu-nications quickly and effectively. The development of wirelesstechnology motivates us in order to study and develop systemswith high utility in our days.

Resumo – E pretendido a implementacao de um sistema deinformacao pervasivo, cuja camada inferior de informacaoe constituıda por paineis wireless. Numa primeira fase ainformacao sera preferencialmente a caracterizacao de dispo-nibilidade baseada no par posicao/localizacao. A informacaoconstante dos paineis podera ser proveniente de mensagenspre-programadas ou de uma base de dados remota acedidaatraves uma rede sem fios suportada por uma arquitecturadistribuıda, baseada na configuracao servidor/cliente (exten-dido). Toda a informacao pode ser gerida tanto do ladodos LCD com recurso a botoes de acesso rapido a peque-nos menus, como do lado do utilizador atraves do envio deinformacao atraves da rede wireless. De uma forma simpleseste projecto visa ajudar nas comunicacoes aluno-docente deforma rapida e eficaz. O desenvolvimento desta tecnologia semfios motiva-nos de forma a estudar e desenvolver sistemas comgrande utilidade no quatidiano.

Keywords – wireless, comunication, XBee

Palavras chave – wireless, comunicacao, XBee

I. INTRODUCAO

De forma a facilitar a comunicacao entre docente-aluno foielaborado um sistema capaz de receber mensagens de textoe apresenta-las posteriormente num LCD. Deste modo, odesenvolvimento do sistema descrito neste artigo permitemelhor substancialmente esta comunicacao, assim comodesenvolver uma interface wireless. Para permitir estatransmissao de informacao sem fios foi utilizado um dis-positivo XBee.Actualmente, constata-se que a tecnologia RF tem de-sempenhado, de forma crescente, um papel fundamentalno desenvolvimento de sistemas de informacao adaptaveisa diversas situacoes. Deste modo, torna-se possıvel a

comunicacao eficiente a baixo custo de implementacao,baixo consumo de energia e a taxas de transmissao de dadosreduzidas. Em acrescento a estas caracterısticas fundamen-tais, pode-se ainda referir que a tecnologia XBee permitemelhorar substancialmente a qualidade de vida das pessoase trazer uma maior comodidade de modo a reduzir o temponecessario para as comunicacoes desejadas.Para a implementacao do sistema acima descrito pretende-se utilizar como base o padrao IEEE 802.15.4, que ira serutilizado pelo dispositivo XBee de modo a tornar possıvela comunicacao pretendida.

A. O padrao IEEE 802.15.4 e XBee

O IEEE 802.15.4 [1]tem como objectivo principal propor-cionar camadas inferiores de rede fundamentais de umaWPAN (Wireless Personal Area Network). A aplicacaomais eficiente deste padrao e para comunicacoes entre dis-positivos vizinhos, requerendo pouca infra-estrutura subja-cente. Este facto permite reduzir significativamente o con-sumo de energia.O padrao IEEE 802.15.4 e um Standard que permite especi-ficar a camada fısica e a MAC (Media Access Control) pararedes PANs (Personal Area Network) de baixas taxas detransmissao de dados, tambem designadas de LR-WPANs.O XBee baseia-se essencialmente neste padrao, tendo comoobjectivo principal oferecer uma solucao completa de redeao desenvolver as camadas superiores, que nao sao abran-gidas por este Standard.A aplicacao mais usual dos padroes XBee [2] e IEEE802.15.4 e para equipamentos que necessita de uma grandeautonomia da bateria, mas que nao necessitem de taxas detransmissao de dados elevadas. Outra vantagem que estatecnologia oferecer e o facto de poder ser aplicada em re-des de maior alcance.Com mencionado anteriormente, o IEEE 802.15.4 incidesobre a especificacao das duas camadas inferiores do mo-delo OSI (camada Fısica e Ligacao de dados). Por outrolado, o XBee visa estabelecer as camadas superiores da pi-lha protocolar do modelo OSI (desde a camada Rede ate acamada Aplicacao). Esta estrutura protocolar esta esque-matizada na figura 1 e especificada em [3].O IEEE 802.15.4 estabelece as definicoes para o proto-

colo XBee, que opera na faixa das frequencias ISM [4] (In-dustrial Scientific Medical), incluindo as faixas de 2.4Ghz(Global), 915Mhz (America) e 868Mhz (Europa). Tambempossui uma taxa de transferencia de dados ate 250kbpsem 2.4Ghz (16 canais), 40kbps em 915Mhz (10 canais) e20kbps em 868Mhz (1 canal), visando possibilitar uma me-lhor integracao e operabilidade entre os diversos dispositi-

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

148 DANIEL LEDO [22602]

Fig. 1PILHA PROTOCOLOAR DO ZIGBEE/802.15.4

vos.As principais caracterısticas do XBee sao:

• Comunicacao sem fio com alcance previsto de ate 500metros;• Frequencias de operacao entre 868MHz e 2,4Ghz;• Taxa de transmissao em torno de 250Kbps;• Baixo consumo de energia;• Baixo custo de implementacao;• Topologia de rede variavel.

B. Topologias IEEE 802.15.4 e ZigBee

O protocolo define uma estrutura de rede que incorporaos conceitos de redes ad hoc, as caracterısticas de conexaoem malha e multi-hop. [5] As topologias que podemos en-contrar numa rede Zigbee e IEEE 802.15.4 sao a topologiaem estrela (star), em arvore (tree) e em malha (mesh), es-tando detalhadas nestas a especificacao de PHY (PhysicalLayer) e MAC (Media Access Control Layer). Os princi-pais componentes integrantes dessa rede sao o coordenador(coordinator), os routers e os clientes.

1. Topologia estrela:E a topologia mais simples onde temos um coorde-nador e os elementos clientes. Ela e indicada paraambientes que oferecam poucos obstaculos para atransmissao dos sinais.A sua principal vantagem e a facilidade deimplementacao e coordenacao. Uma das desvan-tagens esta na presenca de um unico coordenador, oque gera a dependencia de todos os clientes. Umaoutra limitacao consiste no pequeno alcance do sinal

RF neste tipo de rede.2. Topologia arvore:

Essa topologia e formada por sub-redes que se comu-nicam entre si atraves de elementos roteadores. Aquitemos mais de um elemento coordenador, cada um ge-renciando uma rede diferente. Sua aplicacao principalesta na comunicacao de dispositivos situados em an-dares diferentes e ou entre salas distantes entre si, se-paradas por paredes.O alcance do sinal de RF deste tipo de rede e maior,tendo em vista que um coordenador pode controlar umcliente ligado em outra rede atraves de uma solicitacaoao outro coordenador.

3. Topologia malha:Essa topologia permite que, com a entrada de no-vos dispositivos, a rede se ajuste automaticamente du-rante sua inicializacao, optimizando o trafego de da-dos. Com essa topologia e possıvel construir redesmais extensas e de maior complexidade, possibilitandoo controlo e monitorizacao de grandes areas.

Apos o estudo das diversas topologias e localizacao dospaineis wireless, constatou-se que a topologia estrela se re-flectia mais vantajosa para o projecto em causa. Esta es-colha deve-se ao facto de existir uma reduzida distanciaentre os paineis e o servidor, e um numero reduzido deobstaculos. Torna-se, no entanto, relevante mencionar quea topologia dos paineis wireless e o seu modo de fun-cionamento e configuracao sao variaveis com o tipo delocalizacao destes.

II. DESENVOLVIMENTO

A implementacao do projecto retratado neste artigodesdobra-se em duas fases. A primeira, consistiu naimplementacao do software dos diversos dispositivos e suacomunicacao. A segunda fase consistiu na implementacaodo hardware que implicou a criacao de uma interface decomunicacao em PCB(Printed Circuit Board), como sepode observar na figura 2. Esta interface para alem do dis-positivo XBee engloba um display LCD e um microcontro-lador.

Fig. 2PLACA DO SISTEMA EM CIRCUITO IMPRESSO

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 147, N◦ 147, JULHO 2009 149

Embora seja utilizado um dispositivo XBee, o termo maisapropriado para a comunicacao patente neste sistema e detransceiver XBee. A definicao geral de um transceiver[?] consiste num dispositivo que combina um transmissore um receptor, utilizando componentes de circuito comunspara ambas funcoes. De facto a utilizacao de um disposi-tivo XBee na forma de transceiver permite-nos utilizar umacomunicacao de facil configuracao sem nos preocupar coma forma como estes modulos comunicam entre eles, a fimde enviar um pacote de informacao. Assim a forma de en-viar informacao entre dispositivos XBee transceivers passapor o dispositivo emissor enviar a informacao atraves daporta RS232 e esperar que o dispositivo receptor capte ainformacao atraves da comunicacao RF estabelecida.O diagrama de blocos da figura 3 ilustra todos os pon-tos de ligacao deste sistema. Como se pode observar aligacao (1), relativa ao computador/ transceiver emissor,tem como funcao o envio de mensagens, utilizando paratal a ligacao fısica da porta RS232 de ambos os dispositivosem questao. A ligacao logica entre estes dois dispositivosfoi feita atraves da utilizacao de um firmware elaborado naplataforma JAVA.Por outro lado a ligacao (2), correspondente ao microcon-trolador/transceiver receptor, sera responsavel por receberas mensagens de texto e as processar de forma simples e es-tas serem apresentadas no LCD. Assim como e de esperartodo o processamento de informacao chegado ao transcei-ver receptor sera gerido pelo microcontrolador. Para tal foinecessario desenvolver um firmware recorrendo ao compi-lador MCC18, para que estes dois meios se pudessem com-preender e fosse possıvel gerir as mensagens a partir doPIC. Assim um dos objectivos a atingir neste projecto pas-sou em criar um driver capaz de descodificar as mensagensrecebidas pelo transceiver receptor, sendo estas posterior-mente apresentadas no display LCD pelo microcontrolador.

Fig. 3DIAGRAMA DO SISTEMA

De forma a ser possıvel a visualizacao das mensagens noLCD a codificacao do microcontrolador teve um aspectoimportante no desenvolvimento deste projecto. Como foi

referido anteriormente, a mensagem ao chegar ao transcei-ver receptor sera encaminhada para o PIC para que estefaca toda gerencia e apresentacao das mensagens no LCD.Todo o processo referido passa essencialmente pelo con-trolo da memoria interna (EEPROM) do PIC e a colocacaode switches no respectivo dispositivo. Assim toda a men-sagem recebida sera guardada, opcao atribuıda pelo utiliza-dor atraves dos switches, para posteriormente ser lida pelomicrocontrolador de forma a apresenta-la no display. Nafigura 4 podemos observar o ciclo de funcionamento domicrocontrolador, desde a chegada da informacao ate estaser apresentada no LCD passando de forma opcional namemoria EEPROM.

Fig. 4DIAGRAMA DO FUNCIONAMENTO DO MICROCONTROLADOR

Elaboracao do codigo em MPLAB descrito anteriormenteteve 3 fases de implementacao:

• A criacao dos diversos menus de forma a poder ler eescrever na memoria interna do PIC em parceria comtres switches;• O desenvolvimento da comunicacao serial do micro

controlador uma vez que o dispositivo transceiver co-munica atraves deste meio;• O desenvolvimento do driver de forma a estabelecer o

contacto entre o transceiver e o microcontrolador.

Respectivamente a primeira fase na elaboracao do codigo,foi efectuado um conjunto de estruturas de forma a interli-gar todos os menus de uma forma rapida e de facil acessoaos mesmos.Quando se passou para a segunda fase desta implementacaoteve-se que ter em conta o simples facto da fase ante-rior estar de certa forma ligada a esta, pois a entrada deinformacao pela comunicacao serie deveria ser gerida au-tomaticamente pelo utilizador atraves dos menus referidosanteriormente.Uma forma de testar esta ligacao foi efectuar uma ligacaofısica entre o computador e o microcontrolador e verificarse a respectiva comunicacao, assim como todo o sistema demenus para gerir informacao, estaria a funcionar.Antes de se passar para a elaboracao do driver foi efec-

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

150 DANIEL LEDO [22602]

tuado a insercao dos dispositivos transceivers na ligacaoUSB/serie. Para isso foi necessaria a configuracao dostransceivers para o modo transparente,ou seja funcionandoapenas como cable replacement. Para tal foi utilizado osoftware X-CTU como demonstra a figura 5. Este modofunciona simplesmente como uma ligacao serie/USB tes-tada anteriormente mas sem a necessidade de um meiofısico (cabo serie/USB) para o fazer.

Fig. 5PROGRAMACAO DO XBEE

Uma vez realizados os testes com sucesso foi possıvel pas-sar para a ultima fase da implementacao deste codigo - aelaboracao do driver de comunicacao entre o PIC e o trans-ceiver receptor.Ao elaborar este driver, o modo de funcionamento dosXBee transceivers passa a ser o modo API (ApplicationProgramming Interface). Este modo e baseado em fra-mes e assim estende o nıvel para o qual uma aplicacao dehost pode interagir com as capacidades de rede do modulo.Cada frame contem, neste modo de operacao, o enderecoorigem, o endereco destino, dados a transmitir e tamanho.Assim, neste driver temos como objectivo manipular certosdados e informacoes relativas as frames de forma a eleboraro nosso driver de comunicacao como se pode observar nafigura 6. Com isto vamos ter como caracterısticas impor-tantes a transmissao de dados para multiplos destinos sementrar em Modo de Comandos, identificar o endereco fontede cada pacote recebido e receber estados de sucesso/falhade cada pacote de RF transmitido.Antes de configurar os dispositivos sem fios para o modo

API, a comunicacao era feita exclusivamente de um trans-ceiver emissor para apenas um transceiver receptor. Comisto era impossıvel definir um receptor concreto numarede com varios dispositivos. O objectivo pretendido nao

Fig. 6CONSTITUICAO DE UMA FRAME

era de todo ter apenas um dispositivo que efectuasse acomunicacao com o computador. Por isso a utilizacao destedriver de comunicacao elaborada a base de uma arquitec-tura de envio de frames faz proporcionar-nos um controloespecıfico no envio de mensagens. Assim manipulando oendereco de destino e possıvel escolher o dispositivo para oqual queremos comunicar de forma a receber a mensagemcontida no campo dados da frame enviada.Como ja foi referido anteriormente o processo de envio demensagem por parte do emissor esta a cabo de um compu-tador atraves da plataforma Java. Nesta podemos com umasimples alteracao no campo endereco destino mudar o des-tinatario como podemos ver na figura 7. Assim desta formapassamos a ter uma topologia Single peer. Esta topologiarevela-se importante no desenvolvimento do respectivo sis-tema, pois tal facilita a insercao de novos paineis wireless.

Fig. 7SOFTWARE EM JAVA PARA O ENVIO DE MENSAGENS

O nosso prototipo consistiu na elaboracao na codificacaopara dois dispositivos de forma a comunicarem indepen-dentemente com o emissor. A construcao de uma tabela(tabela 1) torna possıvel compreender o papel fundamentalque o driver de comunicacao desempenha no sistema, assimcomo a insercao facil de novos paineis wireless.Na figura 8 pode-se constatar que foi realizado com exito

um teste a um dos dispositivos. Como e observado ainformacao contida no campo dados da frame, e transmitidaaparecendo posteriormente no LCD. Uma vez concluıdaesta operacao passa pelo utilizador deste sistema gerir damelhor maneira as mensagens recebidas pelo microcontro-

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 147, N◦ 147, JULHO 2009 151

Dispositivo 1 Dispositivo 2 Dispositivo n

f.destAddress = 1 f.destAddress = 2 f.destAddress = n

TABELA ITABELA DE ENDERECOS DOS DISPOSITIVOS

lador atraves dos switches.

Fig. 8DISPOSITIVO FINAL EM PLENO FUNCIONAMENTO

III. CONCLUSOES

Atraves deste artigo foi possıvel exibir algumas potencia-lidades dos dispositivos sem fios. Permitiu identificar di-versos meios de trabalho onde estes dispositivos se adop-tam utilizando como apoio a comunicacao do padrao IEEE802.15.4. Isto permite desenvolver sistemas que de algummodo afirmem o novo mundo das tecnologias sem fios. Sis-temas esses que vem colmatar algumas limitacoes de diver-sos perifericos a nıvel de autonomia de alimentacao, custoe de protocolo proprietario. Sendo uma tecnologia relativa-mente simples e de facil implementacao proporcionou-nosuma grande aprendizagem sobre os seus diversos modos defuncionamento.Utilizando a estrutura de frames atraves do IEEE 802.15.4podemos requisitar e executar accoes para outros disposi-tivos na rede. Ao utilizar sistemas construıdos sobre es-tes padroes estamos a libertar-nos da necessidade de im-plementar os servicos de gerenciamento de dados sobre arede, cabendo ao utilizador o uso dos recursos destes dis-positivos. Apesar de ser um padrao divulgado para uso naautomacao residencial, as alternativas descobertas durante

este estudo e implementacao, apontam para um grande le-que de aplicacoes que podem ser beneficiadas por ele. Pro-jectos na area de robotica, aplicacao de algoritmos colabo-rativos em ambientes remotos, e monitorizacao de pacientes24h por dia sao alguns das possıveis aplicacoes onde se re-tiram as grandes potencialidades destes dispositivos.Os objectivos a que nos propusemos ao elaborar este artigoforam todos atingidos, com especial atencao ao desenvol-vimento dos paineis wireless. Estes foram desenvolvidostanto a nıvel fısico como a nıvel logico. Na verdade esteultimo proporcionou-nos uma abordagem satisfatoria emrelacao a esta tecnologia o que nos incentiva a continuareste projecto de forma a expandir todas as potencialidadesque estes paineis wireless nos podem trazer.

A. Trabalho Futuro

O sistema apresentado neste artigo pode integrar-se numsistema mais complexo, por exemplo enviando mensagensatraves da rede internet chegando estas a um servidor, sendoeste o responsavel pelo contacto com o respectivo dispo-sitivo. De forma aperceber a complexidade e a expansaoque o sistema descrito neste artigo pode atingir, a figura 9proporciona-nos uma ideia geral das potencialidades futu-ras que puderam ser implementadas seguindo a tecnologiaaqui descrita.

Fig. 9SISTEMA FUTURO DE IMPLEMENTACAO

Como trabalho futuro fica a ideia de transformar a pequenarede RF efectuada numa rede dinamica. Isto ira permitir oenvio e gestao de menagens em qualquer parte do mundobastando para isso estabelecer uma ligacao a internet ousimplesmente enviar uma mensagem por telemovel. O de-senvolvimento de toda a comunicacao por parte dos diver-sos servidores permite estabelecer contactos remotos entreo utilizador e os diversos dispositivos, assim como mini-mizar alguns dos problemas causados pelas caracterısticasdestes dispositivos (distancias, obstaculos, entre outros).

BIBLIOGRAFIA

[1] LAN/MAN Standards Committee, Part 15.4: Wireless Medium Ac-cess Control (MAC) and Physical Layer (PHY) Specifications forLow-Rate Wireless Personal Area Networks(LR-WPANs, The Insti-tute of Electrical and Electronics Engineers, Inc., 2003.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

152 DANIEL LEDO [22602]

[2] Pillai P. Chock V. W. C. Chessa S. Gotta A. e Hu Y. F. Baronti, P., “Wi-reless sensor networks: A survey on the state of art and the 802.15.4and zigbee standards”, pp. 1665–1695, 2007.

[3] Kinney P., “Zigbee technology: Wireless control that simply works”,p. 20, 2008.

[4] ANACOM, “Quadro nacional de atribuicao de frequencias”, 2008.[5] Almerindo Nascimento Rehem Neto e Everton da Silva Santana, “Wi-

reless sobre controle: Usando o padrao 802.15.4 no gerenciamento deappliances em rede”, J. Comp. Phys., vol. 49, pp. 1–8, 2009.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 153

HELPMI - integracao de servicos de voz entre Messengers e Mundos VirtuaisP0928

Luis Filipe Rocha Rolo, [email protected]

Abstract – This project consist in the implementation of aprototype of communication by VoIP between Websites andan IP Phone, between Websites and Instant Messaging Ser-vices, and between Websites and Virtual Worlds like SecondLife or OpenSimulator forwarding the voice through differ-ents servers. This communication will be done between aclient and a Helpdesk team. For This project will be use Java,Flash, and PBX servers (Openfire, Red5 Server and Aster-iskwin32), a Flash application (Red5phone) and a Softphone(X-Lite).

Resumo – Este projecto consiste na implementacao de umprototipo de comunicacao por VoIP entre paginas Web e Tele-phone IP, entre paginas Web e Instant Messaging Services, eainda entre paginas Web e Mundos Virtuais como o SecondLife ou o OpenSimulator encaminhando a voz por diferentestipos de servidores. Esta comunicacao sera efectuada entreum cliente e uma equipa de atendimento Helpdesk. Para esteprojecto serao usados servidores Java, Flash, e PBX (Open-fire, Red5 Server e Asteriskwin32), uma aplicacao em Flash(Red5phone) e um Softphone (X-Lite).

Keywords – VoIP; Websites; Helpdesk;

Palavras chave – VoIP; paginas Web; Helpdesk;

I. INTRODUCAO

Actualmente os utilizadores de Internet sao cada vez maisexigentes, procurando sempre mais ofertas modernas e sat-isfatorias para as suas necessidades. Uma das tecnologiasmais requisitadas e a introducao de voz nos servicos Web.Esta seria uma mais-valia quer para os utilizadores de In-ternet como para empresas que explorem este servico. Eum servico que facilitara a comunicacao sem ruıdo bemcomo a interaccao entre utilizadores. Apesar de ja existiremvarias empresas que disponibilizam este servico (WindowsLive Messenger, Skype, Google Chat) a sua introducao naspaginas Web ainda nao foi explorada. O objectivo deste tra-balho e explorar este campo bem como meios necessariospara implementar este novo servico em paginas Web bemcomo interagir com os diferentes servicos disponibilizadospelas empresas acima referidas.

II. PROTOCOLOS VOIP

A. Session Initiation Protocol (SIP)

E um protocolo da camada de aplicacao na pilha de pro-tocolos TCP/IP (em termos da pilha OSI, da camada desessao), que utiliza um modelo ”pedido-resposta”, comoo HTTP, para iniciar sessoes de comunicacao entre uti-lizadores. O protocolo SIP e responsavel por estabelecer,

alterar e encerrar sessoes de comunicacao ponto a ponto oumultiponto, sem efectuar transporte, pelo que e indepen-dente do tipo de dados, que pode incluir audio e vıdeo. [1]

B. Jabber (XMPP)

Este protocolo e baseado no XML protocol e aberto. Eusado essencialmente em Instant Messaging Services para atroca de pacotes de dados. Alem dos Instant Messaging esteprotocolo foi expandido a outras areas como a do VoIP. [2]

C. Jingle

O protocolo Jingle e uma extensao ao protocolo XMPP,que permite a sinalizacao de interaccoes multimedia (porex., voz e vıdeo), mas nao efectua transporte de dados. Em-bora tenha sido desenvolvido em conjunto pela Google epela Internet Engineering TaskForce (IETF), a bibliotecapublica mais utilizada, a libjingle, nao implementa com ex-actidao a especificacao publicada pela IETF, pelo que sopode ser utilizada com fiabilidade para o servico GoogleTalk, o qual e implementado com base na libjingle. [3]

D. Real-time Transport Protocol (RTP)

O protocolo RTP estabelece um formato de pacotes paratransporte de dados de audio ou de vıdeo, podendo ser uti-lizado em combinacao com os protocolos SIP e Jingle parafornecer uma solucao completa de VoIP. [4]

E. Real-time Transport Messaging Protocol (RTMP)

O RTMP e um protocolo usado pelo Flash Player para en-caminhar som, video, ou objectos em tempo real a clientesusando uma ligacao TCP ou HTTP (tunel). [5]

F. Interactive Connectivity Establishment (ICE)

O protocolo ICE proporciona um mecanismo de conversaode enderecos de rede para permitir o estabelecimento emanutencao de sessoes de VoIP entre clientes SIP ou Jin-gle situados atras de firewalls. [6]

III. VOIP NOS SISTEMAS DE MESSAGING

A. Google Talk

As funcionalidades de VoIP do Googel Talk usam o Jin-gle e o Jingle Audio, extensoes para VoIP do protocoloXMPP. Para facilitar a integracao do Google Talk comoutro software existe uma biblioteca, a Libjingle. Esta pos-sui o codigo necessario para negociar, estabelecer e man-ter sessoes de voz peer-to-peer. Relativamente ao SIP, oGoogle Talk possui um servico de gateway para este proto-colo, designado Gtalk2VoIP. [7]

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

154 LUIS ROLO [20971]

B. Sapo Messenger

As funcionalidades de VoIP do SAPO Messenger usamo protocolo SIP, existindo um parametro, normalmentedesignado ”SIP Pass-through”ou ”SIP support”. Acomunicacao efectua-se atraves das porta 5070/UDPe 30000-45000/UDP, que tem de estar abertas paraproxy.voip.sapo.pt (213.13.86.168). Para efectuar umachamada de voz sao necessarios pelo menos 27 a 50 kbpsde largura de banda, em ambos os sentidos (upload e down-load). Se a largura de banda disponıvel for inferior, querpor caracterısticas da ligacao, quer pelo comportamento deoutras aplicacoes na mesma maquina, a qualidade da vozpode ressentir-se, atraves de maior atraso na recepcao dosom ou mesmo ocorrencia de quebras ou falhas. [8]

C. Skype

As funcionalidades de VoIP do Skype usam o Skype Pro-tocol, desenvolvido pela propria empresa Skype. Con-tudo, desde Marco de 2009, uma versao Beta do clienteSkype suporta o protocolo SIP, pelo que podemos antever abreve a disponibilizacao generalizada desta funcionalidadepara esta plataforma sem necessidade de implementacoestecnicas adicionais. [9]

D. Windows Live Messenger (Windows Live Call)

Quando se efectua uma ligacao por voz entre clientes Mes-senger para PC, e utilizado o protocolo SIP na negociacao.Contudo, para ligacao entre Messenger e telefone, esteservico e prestado pela propria Microsoft, atraves de umagateway SIP da Telefonica (nos Estados Unidos) ou da Or-ange (resto do mundo). Por este motivo, pode-se utilizarum gateway SIP, para comunicacao entre mundos virtuaise Web. Tambem a comunicacao por voz com membros daequipa disponıveis por telemovel pode ser efectuada atravesdo gateway SIP do HELPMI (a desenvolver). Se houveralguma eventual especificacao de contacto entre um mem-bro da equipa em Messenger e um membro da equipa emtelemovel, tal sera feito atraves do gateway SIP, para evitaro recurso aos gateway de empresas terceiras. [10])

IV. VOIP EM MUNDOS VIRTUAIS

A. Second Life

As funcionalidades de VoIP no Second Life usam a tec-nologia Vivox. Esta baseia-se no Real-time Transport Pro-tocol (RTP), disponıvel atraves da biblioteca oRTP, e emSIP, OpenAL, TinyXPath, OpenSSL e libcurl. [11]

B. OpenSim

As funcionalidades de VoIP estao disponıveis de mo-mento no OpenSimulator usando um servidor chamadofreeswitch. Outra opcao de implementacao de e o jVoice-Bridge, que suporta SIP. [12]

C. Clientes automatizados (”bots”)

Os clientes automatizados sao criados para ambos os sis-temas atraves da biblioteca libopenmetaverse, que inclui jaum conjunto de classes para acesso e processamento de

voz (ainda nao testadas para confirmacao das funcionali-dades). [13]

V. FORMAS DE COMUNICACAO

A. Servidor Asterisk

Este servidor e uma solucao de codigo-fonte aberto paraVoIP. Permite a instalacao de um servidor para funcionarcomo ponto de encaminhamento e comutacao entre diver-sos tipos de chamadas, incluindo analogicas e digitais. Rel-ativamente a VoIP suporta varios protocolos, incluindo oSIP (mas nao de forma completa) e o Jingle. [14]

B. Servidor FreeSWITCH

O FreeSWITCH e uma solucao semelhante ao Asterisk,tambem de codigo-fonte aberto, igualmente para encam-inhamento e comutacao entre chamadas. Suporta diversastecnologias da comunicacao, entre as quais os protocolosSIP e Jingle. [15]

C. Servidor proxy SIP

Dado que o projecto HELPMI necessita de encaminharvoz nao directamente entre dois pontos, mas sim interme-diada por um sistema de decisao, uma alternativa aos servi-dores Asterisk e FreeSWITCH e a utilizacao ou desenvolvi-mento de um servidor que efectue a tarefa de proxy SIP. Umservidor proxy SIP pode encaminhar pedidos quer numasituacao sem contexto (”stateless”) quer numa situacao comcontexto (”stateful”), o que possibilita determinar o encam-inhamento face ao estado dos varios membros da equipa deatendimento.

D. Softphone

Um softphone e qualquer aplicacao informatica que per-mita falar por VoIP sem necessidade de ter um telefonefısico. Embora as funcionalidades de comunicacao por voznos mundos virtuais sejam disponibilizadas pelas propriasplataformas, nao existem de forma predefinida nas paginasWeb, pelo que se vai usar um softphone em linguagemFlash, de utilizacao generalizada, como forma de obtencaodo stream de audio nos computadores pessoais. Um dossoftphones usados neste projecto foi o X-Lite. [16]

E. Red5Phone

Red5phone e uma aplicacao SIP (Softphone) para AdobeFlash e que usa o Red5 server, o qual e um servidor escritoem java e que tem como objectivo servir de intermediariopara realizar comunicacoes entre aplicacoes Flash (nestecaso o red5phone) e fazer transferencias e gravacao de sons,vıdeos e musicas. Existe a possibilidade de configurar osRed5phone com o asterisk (ou com o freeswitch). Para tal,teremos de usar um servidor de chat XMPP denominadopor OPENFIRE. [17]

F. Red5 Server

Este servidor foi desenvolvido em Java e tem como fun-cionalidade o suporte, monitorizacao e transferencia deficheiros de audio, vıdeo e dados de aplicacoes em Flash.Pode-se dizer que e um clone do Flash Media Server

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 155

mas claro Open Source. Este servidor usa o protocoloRTMP. [18]

G. Openfire Server

O Openfire consiste num servidor XMPP desenvolvidoem Java. As suas principais funcionalidades sao servirde chat server (Instant Messaging). Alem desta carac-terıstica tambem podemos usar plugins para outros fins(Red5, Asterisk-IM e IM-Gateway). O Red5 plugin vaifazer a ligacao entre o Openfire e o Red5 server (dentro doqual esta o Red5phone). O Asterisk-IM vai servir para criarum servidor dentro do proprio Openfire ao qual se vai ligaro Asterisk. Por fim o IM-Gateway vai servir para ligar osdiferentes Instant Messaging Services ao Openfire. Destaforma podemos interagir entre estas diversas plataformasusando o Openfire. [19]

VI. RESULTADOS

No primeiro teste efectuado foram usados dois softphonesSIP (X-Lite) ligados entre eles atraves de um servidor PBXo ”asteriskwin32”.

Fig. 1DOIS X-LITE LIGADOS AO ASTERISK

O primeiro Softphone com extensao 3000 encontra-se in-stalado numa maquina virtual (Windows XP) ligada pelarede ao sistema operativo principal (Windows 7 build 7127)atraves de uma bridge na ligacao de rede.

Fig. 2X-LITE LIGADO AO ASTERISK

O segundo Softphone encontra-se instalado no sistema op-erativo principal (Windows 7 build 7127) e tem como ex-tensao 3001.Ambos os utilizadores a serem usados nestetrabalho tem de ser configurados no asterisk com a devidaextensao e nome de utilizador.

Fig. 3SERVIDOR ASTERISK

Fig. 4FICHEIRO DE CONFIGURACAO DOS UTILIZADORES REGISTADO NO

ASTERISK

Fig. 5FICHEIRO DE CONFIGURACAO DAS EXTENSOES PARA OS

UTILIZADORES NO ASTERISK

Depois dos Softphones estarem configurados com os da-dos dos utilizadores registados no servidor PBX efectuou-se uma chamada de teste entre estes dois Softphones sendoum utilizador a chamar para a extensao do outro utilizador.Esta chamada vai ser gerida pelo servidor PBX como sepode ver na figura.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

156 LUIS ROLO [20971]

Fig. 6DOIS X-LITE A REALIZAREM UMA CHAMADA ENTRE ELES

De seguida instala-se um servidor java o ”Red5”(Figura7)para paginas Web no qual vao ser embutidos dentro deuma pasta, os ”red5phone”(Figura8, Figura9 e Figura10)(softphones em Flash). Tambem foi instalado um servi-dor de chat com suporte para JABBER/XMPP o ”OPEN-FIRE”(Figura11).

Fig. 7SERVIDOR RED5 INSTALADO

Fig. 8RED5PHONE JAVASCRIPT

Fig. 9RED5PHONE OPENLASZLO

Fig. 10RED5PHONE FLEX

Fig. 11SERVIDOR XMPP OPENFIRE

O servidor Openfire vai ser usado como elo de ligacaoentre os Red5phones, o servidor PBX e o servidor Red5,gracas aos plugins Asterisk-IM e Red5. O Asterisk-IM vaiservir para ligar ao servidor PBX. O Red5 vai ser configu-rado com os dados do nosso servidor Asterisk-IM ao qualse vai ligar o Red5phone.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 157

Fig. 12PLUGINS RED5 E ASTERISK-IM INSTALADOS NO OPENFIRE

Apos a instalacao destes elementos, efectuou-se aconfiguracao de um utilizador do Asterisk dentro doRed5phone com o ambito de realizar uma chamada parao Softphone usado previamente (Figura13, Figura14 eFigura15).

Fig. 13ASTERISK, OPENFIRE, RED5 E RED5PHONE LIGADOS ENTRE ELES

Fig. 14CHAMADA ENTRE RED5PHONE E X-LITE

Fig. 15CHAMADA ENTRE X-LITE E RED5PHONE

Para concluir estes testes, efectuou-se o registo de outroutilizador noutro Red5phone e fez-se uma chamada entreos dois Red5phones (Figura16).

Fig. 16CHAMADA ENTRE DOIS RED5PHONES

Um Webphone esta neste momento a ser desenvolvido deraiz (Figura17) de modo a poder ser aplicado ao modeloCliente-Helpdesk.

Fig. 17PROTOTIPO DE SOFTPHONE AINDA EM DESENVOLVIMENTO

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

158 LUIS ROLO [20971]

VII. CONCLUSAO

O facto de poder comunicar por VoIP entre utilizadoresde paginas Web permite uma melhor comunicacao e maisfacil expressao. A implementacao da voz em paginas Webatraves do Flashphone e realmente possıvel, mas ao nıvelde Instant Messaging Services o mesmo nao acontece deforma tao transparente devido ao facto das empresas dese-jarem futuramente explorar outros campos VoIP e por con-sequente fecharem o codigo das suas aplicacoes de forma aestas terem uso exclusivo com software desenvolvido pelaempresa em questao. Podemos tambem implementar estesistema a nıvel empresarial como por exemplo atendimentoon-line.

BIBLIOGRAFIA

[1] Joe Marzulla, “(http://www.sipcenter.com/sip.nsf/html/What+Is+SIP+Introduction”, 2009.

[2] “(http://xmpp.org/protocols/”, 2008.[3] “(http://xmpp.org/extensions/xep-0166.html”,

2009.[4] Ju Almeida, “(http://www.gta.ufrj.br/grad/01_2/

vidconf/rtp.html”.[5] “(http://osflash.org/documentation/rtmp”, 2009.[6] Robert Scheifler e Jordan Brown, “(http://www.xfree86.

org/current/ice.pdf”, 1994.[7] Google, “(http://code.google.com/intl/pt-PT/

apis/talk/open_communications.html”, 2009.[8] Sapo Messenger, “(http://ajuda.sapo.pt/

comunicacao/Messenger2/8_SAPO_VOIP_.html”,2009.

[9] Skype, “(http://www.skype.com/intl/en/business/form/sip-beta/”, 2009.

[10] Dharmesh Mehta, “(http://windowslivewire.spaces.live.com/blog/cns!2F7EB29B42641D59!11568.entry”, 2009.

[11] Linden Lab, “(http://wiki.secondlife.com/wiki/Voice/Technical”, 2009.

[12] “(http://opensimulator.org/wiki/Main_Page”,2009.

[13] “(http://pt.wikipedia.org/wiki/Bot”, 2009.[14] Asterisk, “(http://www.asteriskwin32.com/”, 2009.[15] “(http://www.freeswitch.org/”, 2009.[16] “(http://tudo-sobre-voip.com.br/softphone.

html”, 2009.[17] “(http://code.google.com/p/red5phone/”, 2009.[18] “(http://code.google.com/p/red5/”, 2009.[19] “(http://www.igniterealtime.org/projects/

openfire/index.jsp”, 2009.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 159

Sistema de Gestao de Adegas e Cooperativas AgricolasP0929

Ricardo Gil Macedo Teixeira Sousa Cabral, ([email protected])

Abstract – Today, mobile devices are embeded in our dailyroutines. According to a ONU research, 6 out of 10 peoplehave a mobile device [1]. According to surveys [2], in 2020mobile devices will be the main vehicle to access the Internet.It’s in the best interest of the farmers associations to mergethis kind of technology with their production and commercialprocesses. With that in mind, a study was made to evaluate theneeds of this associations namely those who deal with wine andolive oil production. Contextualizing labels, as bidimensionalcodes, together with mobile devices could help improve prof-its, assist production, and offer the client information aboutadditional typical portuguese products.

Resumo – Hoje em dia os dispositivos moveis sao ubıquos.Segundo um estudo da ONU, 6 em cada 10 pessoas possuemtelemoveis. [1] De acordo com estudos [2], em 2020 os dispos-itivos moveis serao os principais veıculos de acesso a internetum pouco por todo o mundo. No caso das estruturas colectivasde produtores agrıcolas, e de todo o interesse destas, integrar atecnologia nos seus processos produtivos, de gestao e comerci-ais. Assim, foi elaborado um estudo acerca das necessidadesmais prementes destas colectividades, em particular adegascooperativas de vinho e azeite, e definidas areas de accao nasquais a inovacao tecnologica poderia melhorar a eficiencia dasmesmas. A introducao de codigos bidimensionais, combinadoscom o uso de dispositivos moveis, pode representar um avancoao nıvel da gestao destas estruturas.

Keywords – WebServices, QRCodes, Dispositivos Moveis,PHP, JAVA

Palavras chave – WebServices, QRCodes, Mobile Devices,PHP, JAVA

I. INTRODUCAO

De acordo com estudos referidos anteriormente os dispos-itivos moveis estao em franco crescimento e com tendenciapara aumentar em numero. Desde o aparecimento doprimeiro telemovel, em 1973 [3], a posse de um disposi-tivo movel de comunicacao tornou-se um bem ao alcancede todos, tornando quase impossıvel imaginar a vida quo-tidiana sem um destes dispositivos. Assim, os disposi-tivos moveis ganham forca e presenca no mundo e por con-seguinte ganham atractividade para aplicacoes inovadoras.Cada vez mais este mundo se torna numa aldeia global,onde a velocidade e eficacia com que a informacao chegase torna num imperativo. Com o desenvolver das coopera-tivas agrıcolas, notando-se uma evolucao acentuada quandocomparada com ha 20 anos atras, tambem as relacoes entreestas e os seus membros, a eficacia na gestao de produtosou a divulgacao do produto final, tiveram a sua evolucao.

Atraves de uma informatizacao dos sistemas de gestao, daentrada em cena da internet, ou ainda de diferentes formasde publicidade, os produtos agrıcolas, em especial os vin-hos, souberam ocupar o seu espaco no mercado e assegu-rar a sua sobrevivencia neste mundo informatizado, con-seguindo ainda marcar territorio e melhorar a qualidade,com um aumento de lucro consideravel [4]. Esta evolucaopode ser ainda mais capitalizada usando um dispositivomovel, com um acesso cada vez mais ilimitado e com ca-pacidades de hardware e software, com uma capacidade depenetracao no mercado fora do comum e com um publico-alvo sem idades ou estratos sociais definidos. Claro quecomo todas as ciencias, as dificuldades existem e persistem.A deficiente gestao dos bens quando entregues nas adegasou cooperativas, a dificuldade de relacionamento entre as-sociados e cooperativas, a falta de relacao entre o consumi-dor final e a origem do produto, tudo isto sao territorios porexplorar, e com muito potencial. A partir de um estudo feitonas associacoes de produtores, foi possıvel detectar essasdificuldades e verificar as areas de intervencao possıveis.Tendo como objectivo a melhoria dos sistemas de gestaoe nao a sua completa formatacao, verifica-se uma dificul-dade na gestao dos produtos no momento da sua entreganas cooperativas e ao nıvel da conservacao dos mesmos.Pode-se assim falar em dificuldades ao nıvel logıstico derecepcao e conservacao. Na relacao entre as cooperativas eos seus associados, as melhorias sao tambem possıveis, po-dendo ser implementada uma relacao mais pessoal e fiavel,usando precisamente o aparelho com maior presenca, otelemovel ou outros dispositivos moveis. O que e validopara a relacao anterior, e tambem verdade para a relacaocliente, origem, podendo ser possıvel ainda permitir a umconsumidor final a obtencao de informacoes e curiosidadesdo produto que esta a consumir. Para isto, para alem daimplementacao de um WebService, contempla-se tambema utilidade de codigos bidimensionais como elementos decontextualizacao. Estes codigos, tambem chamados deQRCodes, tem uma grande utilizacao no Japao, tendo asseguintes capacidades de armazenamento:

• Numerica - Max. 7.089 caracteres• Alfanumerica - Max. 4.296 caracteres• Binario (8 bits) - Max. 2.953 bytes• Kanji/Kana - Max. 1.817 caracteres

Assim, atraves de uma inovacao tecnologica e recorrendo adispositivos moveis para promover a leitura destes codigos,atraves de uma aplicacao preparada para o efeito, e possıvelauxiliar no desenvolvimento das cooperativas agrıcolas.Neste trabalho, foram levadas a cabo visitas a duas adegas

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

160 RICARDO CABRAL [18288]

cooperativas e a uma cooperativa de azeite, mais concre-tamente as Adegas Cooperativas de Vila Real, Murca e aCooperativa do Azeite de Murca. Os objectivos destas vis-itas consistiam em avaliar as condicoes de cada uma dasadegas, verificar os processos de cada uma delas, o per-curso dos produtos quando entregues, ate chegarem ao con-sumidor e verificar a receptividade a inovacoes tecnologicase hipoteses de evolucao. No caso da Adega Cooperativade Vila Real e de Murca, os processos ja estao perfeita-mente cimentados. A gestao e feita recorrendo a softwareadequado as necessidades e as hipoteses de intervencaorevelavam-se limitadas,com a excepcao da hipotese deintervencao na criacao de um WebService para facilitar acomunicacao entre associados e adegas, na divulgacao dosprodutos e regioes vinıcolas atraves da aplicacao dos QR-Codes nos produtos e na gestao das filas de espera no mo-mento da entrega dos bens. Na Cooperativa do Azeite,observou-se uma maior area de intervencao: desde o mo-mento da entrega do azeite, ate a gestao das dornas ondeele e armazenado, com a criacao de um WebService eda implementacao dos QRCodes nos rotulos, as hipotesesde introducao de novas tecnologias, pareceram ser bemaceites.

II. ESTADO DA ARTE

A partir de evolucoes tecnologicas e possıvel dar um passofrente rumo a modernizacao, e a maximizacao dos pro-dutos e respectivos lucros. Contrastando com os tradi-cionais codigos de barras, os QRCodes sustentam o ex-poente maximo do registo de dados referentes a produ-tos ou bens, possibilitando uma eficiente gestao dos mes-mos. A evolucao ao nıvel da leitura destes codigos estabem documentada [5] e esta em constante desenvolvi-mento, estando tambem a ser melhorada a extraccao deinformacao de um QR-CODE inserido numa superfıcie naouniforme [6]. A ligacao entre estes codigos e dispositivosmoveis, tem sido desenvolvida de maneira a maximizaras vantagens desta evolucao [7]. A evolucao das camarasde telemoveis e outros dispositivos moveis tambem temcontribuıdo para o aumento da qualidade de leitura destescodigos. A dependencia do mundo dos telemoveis e ouso das camaras destes, tem-se tornado uma constante euma necessidade [8]. A introducao num unico codigode tabelas de valores completas, bem como imagens ehiperligacoes, representa avanco e eficacia nas relacoescomerciais, publicitarias e aumenta a visibilidade e lucrodo produto. Atraves da implementacao destes codigos epossıvel obter informacao sobre um produto que esteja aser adquirido, e ter assim informacao fidedigna acerca domesmo, contribuindo para aumentar a confianca do con-sumidor [9]. A conexao entre QRCodes e dispositivosmoveis tem sido alvo de estudo e desenvolvimento em di-versas areas. A utilidade social e comercial desta ligacaotem superado todas as expectativas, estando neste momentobem documentada a sua utilidade em areas tao distintascomo a saude, eventos sociais, publicidade, entre outros.Na saude, os QRCodes tem sido testados com sucesso noapoio a invisuais [10], ou ate em campos tao especıficoscomo a medicao da temperatura corporal de uma mul-

her durante o ciclo menstrual. Assim, os QR-CODEStem estado em foco especialmente pela possibilidade deleitura pelas camaras de telemoveis [11]. Tal facilidade estatambem a ser usada a nıvel cultural, tendo neste momentoestes codigos presenca em museus, centros historicos, ouate jardins zoologicos [12], tendo os visitantes hipotese deobter informacoes detalhadas, melhorando a ligacao entreo consumidor e o produto exposto. O mundo publicitariotambem tem as suas portas abertas aos QRCodes. Filmes,publicidade a marcas de roupa, perfumes, e ate eventosdesportivos, ou promocoes e passatempos, tem feito umaaposta forte a este nıvel, podendo-se tambem inclusive,efectuar compras recorrendo a estes codigos [13]. Perantetudo isto, podemos dizer que 2009 sera o ano dos QRCodes,estando estes a ter um desenvolvimento muito rapido.

III. DESENVOLVIMENTO

A. QRCodes

QRCodes sao neste momento um instrumento preciosode armazenamento de informacao e divulgacao de dados.Com base nestes pressupostos, torna-se urgente explorareste caminho, com vista ao melhoramento dos produtos epromover uma maior satisfacao ao consumidor. Em par-ticular, neste projecto, os QRCodes sao usados com o ob-jectivo de ajudar a promover as cooperativas e a facilitar agestao das mesmas, bem como a ajudar a criar um elo deligacao entre o produto e o consumidor.Os QRCodes, foram criados e desenvolvidos pela Denso-

Wave, uma empresa japonesa e e no Japao que estes saomais vistos e usados, contudo, o misterio em torno destescodigos ainda e grande, mas ja comeca a fazer-se um poucode luz sobre o assunto. O QR significa Quick Response,devido a sua rapida interpretacao. Tendo sido criado paraser usado para catalogar diferentes partes de veıculos, naindustria automovel, hoje em dia comecam a ser usadosna manutencao de inventarios em diferentes empresas, dediferentes areas. Para alem disso, os QRCodes ja podem servistos um pouco por todo o lado: na arte, na publicidade,em areas turısticas, ate na musica, como pode ser visto nafigura 1.Outra vantagem e a capacidade de guardar os dados inde-

pendentemente do tamanho, isto e, e possıvel guardar umaquantidade consideravel de informacao, mesmo num QR-Code de pequeno tamanho, como visto na figura 2, contra-stando com o tamanho que e necessario dar a um codigo debarros tradicional para armazenar a mesma informacao.Outra vantagem dos QRCodes e a sua facil leitura. Nao

obedecendo a uma posicao pre-definida, podem ser lidosde qualquer maneira ou posicao, nao havendo ruptura dosdados. O QRCode consegue isto devido as marcas dedeteccao de posicao que possui, localizados em tres cantosdo sımbolo, conforme e visto na figura 3A capacidade de recuperacao de informacao de dados dos

QRCodes e tambem uma caracterıstica muito importante.Ao contrario de qualquer codigo de barras, mesmo estandodanificado como visto na figura 4 quase trinta por centodo codigo das codewards, sendo que uma codeward corre-sponde a 8 bits, pode ser recuperado. O mesmo processo evalido se o QRCode estiver sujo, ou pouco compreensıvel.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 161

Fig. 1APLICACOES DOS QRCODES NA SOCIEDADE.

Fig. 2CONTRASTE ENTRE UM QRCODE E UM CODIGO DE BARRAS, PARA A

MESMA INFORMACAO.

Fig. 3MARCAS DE DETECCAO DE POSICAO .

Finalmente, e possıvel tambem subdividir a informacaocontida num unico QRCode. Na figura 5 e possıvel verificarque a informacao contida nos quatro QRCodes e passıvelde ser reconstruıda num unico QRCode. Um unico sımbolopode ser dividido ate 16 sımbolosNeste projecto criou-se uma ferramenta, que apoiada pe-

los softwares ja existentes de leitura destes codigos, per-mita fazer circular a informacao entre dispositivos moveis,terminais, promovendo assim, a rapida difusao do conteudodestes codigos. Podendo fazer uso do software gratuito paragerar QRCodes, neste projecto utilizou-se uma API open-source e criou-se uma ferramenta web para gerar estes mes-mos codigos.

B. WEB Services

Usando linguagem PHP criou-se um webservice para efec-tuar a comunicacao entre cliente e servidor e com recurso alinguagem JAVA, implementou-se este webservice em dis-positivos moveis, usando o Java Wireless Toolkit(WTK)para simulacoes. Para o elaboracao destes programas,

Fig. 4QRCODE DANIFICADO .

Fig. 5A INFORMACAO DOS 4 QRCODES PODE SER RECONVERTIDA NUM

UNICO .

tentou-se utilizar codigo simples e de facil leitura, sendoa linguagem PHP escolhida por ser de facil leitura em todasas plataformas.Um WebService,(fig. 6) e descrito pela W3C, como

uma solucao utilizada na integracao de sistemas e nacomunicacao entre aplicacoes diferentes. Com esta tec-nologia e possıvel que novas aplicacoes possam interagircom aquelas que ja existem e que sistemas desenvolvidosem plataformas diferentes sejam compatıveis.

Fig. 6EXEMPLO DE UM WEBSERVICE.

Com base em arquitecturas pre-definidas, foi criado umWebService em PHP para efectuar a comunicacao entre umcliente e um servidor.Para a implementacao dos parametros de entrada e saıda

foi usado o protocolo SOAP. Este protocolo consiste numainvocacao remota de um metodo e para tal necessita de es-pecificar o endereco do componente, o nome do metodoe os argumentos do metodo. Nao define ou impoe qual-quer semantica, seja qual for o modelo de programacao, ou

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

162 RICARDO CABRAL [18288]

a semantica especıfica da implementacao. Este aspecto eextremamente importante, pois permite que quer o servico,quer o cliente que invoca o servico, sejam aplicacoes desen-volvidas sobre diferentes linguagens de programacao. Poresta razao, o SOAP tornou-se uma norma aceite para seutilizar com WebServices, uma tecnologia construıda combase em XML e HTTP. Desta forma, pretende-se garan-tir a interoperabilidade e intercomunicacao entre diferentessistemas, atraves da utilizacao da linguagem XML e domecanismo de transporte HTTP. A plataforma escolhidapara testar o webservice foi o NetBeans, atraves do emu-lador WTK.

C. SOAP

E um protocolo utilizado para troca de informacoes numaplataforma distribuıda, utilizando tecnologias XML.A suanotacao define uma framework que permite construir men-sagens que podem ser utilizadas pelos diferentes protoco-los e que e independente do tipo de programacao utilizada.Normalmente os protocolos SOAP sao implementados us-ando servidores HTTP.

D. PHP

PHP e uma linguagem de programacao livre e utilizadapara gerar conteudo dinamico. E uma linguagem de facilimplementacao e ideal para instalacao e uso em servidores.Pode ser incluıda em codigo HTML. O PHP esta disponıvelpara varios sistemas operativos: Windows, Linux, MACOS, entre outros.

E. JAVA

JAVA e uma linguagem de programacao orientada ao ob-jecto, desenvolvida na decada de 90. Ao contrario das lin-guagens convencionais, que sao compiladas para codigo na-tivo, a linguagem Java e compilada para um ”bytecode”quee executado por uma maquina virtual. O ambiente de desen-volvimento escolhido como ja referimos para implementaro codigo foi o NetBeans, um software da empresa Sun Mi-crosystems. No caso deste projecto, foi usado em particularo JME, Java Platform MicroEdition, usada para dispositivoscompactos como telemoveis, PDA’s, e outros dispositivosmoveis. O JME e uma coleccao de API do JAVA definidosatraves da JCP (Java community process), e estes defini-ram duas abordagens para especificar as necessidades dosdispositivos moveis: a execucao do JRE (Java Run-TimeEnvironment) e o MIDP (Mobile Information Device Pro-file)

IV. FERRAMENTAS USADAS NO DESENVOLVIMENTO

A. NetBeans

O NetBeans e um ambiente de desenvolvimento integrado(IDE) gratuito e open source, para criadores de softwareem linguagem JAVA. Este IDE e um ambiente de desen-volvimento multiplataforma e e uma fonte de auxılio muitoimportante para compilar, escrever e instalar aplicacoes.Visa pela facilidade de interpretacao e pela simplicidade deimplementacao de processos. Para alem de ser distribuido

em diversos idiomas,e escrito em JAVA, tornando-o inde-pendente da plataforma, funcionando assim em qualquersistema operativo que suporte Java virtual machine (JVM).

B. WTK

O WTK e uma ferramenta topo de gama, para desenvolveraplicacoes para dispositivos sem fios que sejam baseadosem J2ME’s Connected Limited Device Configuration e Mo-bile Information Device Profile (MIDP) e criada para serexecutada em dispositivos moveis. Inclui um emulador,optimizacao de performance e varios exemplos para ajudaros programadores a criar com sucesso aplicacoes. O usodeste emulador, deveu-se ao facto de ser uma aplicacao us-ada para desenvolvimento de aplicacoes para telemoveis, apartir de linguagem JAVA e que tem como proposito fun-cionar em dispositivos moveis. A partir deste emulador,e possıvel testar o funcionamento e melhorar as carac-terısticas do programa, antes da implementacao num dis-positivo movel real.

C. Gerador de QRCodes

Atraves do site gratuito da Kaywa, e possıvel gerar e criarqualquer QRCode. Sendo um site de facil acesso, a criacaode codigos esta assim ao alcance de qualquer um. Con-tudo, neste projecto o objectivo foi mais ambicioso e foilevada a cabo a criacao de uma rotina em PHP que geraesses codigos e que tem a saida vista na figura 7.

Fig. 7ASPECTO DO GERADOR DE QRCODE DESENVOLVIDO.

O codigo usado para criar esta rotina, e bastante simplese de facil leitura. Fazendo uso de uma API: ”QRForALL”,mais complexa, foi criado uma rotina que nos permite gerarqualquer codigo desde o mais simples ao mais complexo. Apartir deste gerador desenvolvido, e possıvel criar qualquercodigo desde um simples ”ola mundo”, como ilustrado nafigura 8:Ou entao criar um QRCode mais complexo como o exem-

plo da figura 9 com letras e numeros em elevada quantidade.Nesse caso o codigo podera tornar-se demasiado denso, oque podera impossibilitar a leitura pelo dispositivo movel.

D. Leitor de QRCodes: I-nigma

Este software foi o programa escolhido para a leitura dosQRCodes. Para alem de ser de livre distribuicao, e de faciluso e pode ser acedido atraves do site: www.i-nigma.com.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 163

Fig. 8QRCODE GERADO A PARTIR DO TEXTO “OLA MUNDO”.

Fig. 9ILUSTRACAO DE UM QRCODE MAIS COMPLEXO, CONTENDO

CARACTERES E NUMEROS, CORRESPONDENTE AO TEXTO “ARTIGO

PARA A REVISTA DA LICENCIATURA EM ENGENHARIA

ELECTROTECNICA E DE COMPUTADORES POR RICARDO CABRAL”.

No entanto foi tambem desenvolvido o software de leitura,baseado numa API gratuita, encontrada no Google API.

V. APLICACAO

Apos a elaboracao do WebService, e do gerador de QR-Codes, a etapa seguinte constituiu na sua aplicacao. O ob-jectivo principal residiu na aplicacao de QRCodes e cor-respondente leitura e registo de dados usando o WebSer-vice, na gestao de uma vindima ou cooperativa de azeite.Pretende assim, colocar-se codigos nas dornas, tal comoilustrado na figura 10 e com a ajuda de um dispositivomovel, proceder a leitura de dados e insercao de outros,usando um simples dispositivo, que comunicara atraves doWebService com um terminal.Assim, com a ajuda de um dispositivo movel, procede-

se a leitura dos codigos bidimensionais. E possıvel inserirno momento da leitura, todos os dados necessarios para ocontrolo da dorna. A leitura desses dados e entao regis-tada no dispositivo movel e atraves do WebService, essesmesmo dados sao enviados em tempo real, para um ter-minal, acelerando o processo de divulgacao dos resultadosda entrega dos produtos.Um exemplo do funcionamento

pode ser visto na figura 11. A utilidade destes codigosnao se limita ao momento da entrega dos produtos. Coma aplicacao de um QRCode, e possıvel manter actualizadoconstantemente o conteudo de cada dorna, sem necessidadede recorrer a apontamentos em papel, ou ate de ter um ter-minal perto do local onde as dornas estao armazenadas. Nocaso de uma cooperativa de azeite, onde nas dornas finais semisturam varios tipos, pode-se manter actualizado o tipo deazeite que aquela dorna contem, e os nomes dos produtoresa quem pertencem.Como foi dito na introducao, o objectivo e acelerar os pro-

cessos numa cooperativa agrıcola. Com a introducao destescodigos, combinado com um WebService, consegue-se op-timizar os processos de entrega dos bens, possibilitar aosprodutores informacao em tempo real acerca dos seus pro-dutos, podendo assim tambem eles optimizarem recursos, enuma fase seguinte, manter um registo apurado e constanteacerca dos produtos que as cooperativas vao armazenar notempo que se segue. Em fases posteriores, esta informacaopodera chegar tambem ate ao consumidor final, na formade um codigo no rotulo de uma garrafa figura 12, no casodas adegas, ou em qualquer produto, seja qual for a coop-erativa agrıcola. Nesta etapa, a informacao contida no QR-Code pode ser dinamica, usando hiperligacoes e facilitandoo acesso do consumidor a outros sites, e a informacao on-line, ou estatica, o que torna este investimento ainda maisatraente, pois monetariamente o consumidor nao tem degastar nada, e a publicidade e quase gratuita para as co-operativas.

Fig. 12QRCODE APLICADO A ROTULOS DE GARRAFAS.

VI. CONCLUSAO

E de todo o interesse das colectividades e da industria emgeral, a receptividade aos QRCodes. A sua utilizacao eaplicabilidade, para alem de serem de facil implementacao,revelam-se uma solucao eficiente e de baixo custo,tornando-se apetecıvel para qualquer area. No contextoeconomico actual, e um instrumento acessıvel para qual-quer economia. A sua eficiencia ajuda a melhorar o desem-penho. Com a capacidade de armazenamento, e podendoser acedida por qualquer dispositivo com uma camara in-

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

164 RICARDO CABRAL [18288]

Fig. 10UTILIZACAO DE QRCODE EM DORNAS PARA USO NUMA APLICACAO DE GESTAO DE ALUGUERES.

Fig. 11ESQUEMA DE COMUNICACAO ENTRE DISPOSITIVO MOVEL, DORNA E TERMINAL.

tegrada e com o software certo, torna-se disponıvel a qual-quer pessoa. Em casos mais concretos, especificamentenas cooperativas de azeite, a aplicabilidade dos QRCodese flagrante. Como os conteudos das dornas, sao misturasde azeites, e necessario proceder-se a escolha dos mel-hores. Com o controlo destes a ser feito atraves de umcodigo, consegue-se uma maior precisao no momento daavaliacao da qualidade do azeite, podendo-se assim emanos seguintes, efectuar-se a triagem dos produtos rece-bidos, escolhendo-se os produtos certos, e nıveis adequa-dos, para se obter produtos de excelencia. A aplicabilidadedos WebServices nas adegas e uma vertente importante. Acomunicacao entre os associados e as suas cooperativas euma mais valia para todos, e leva a uma maior sintonia en-tre ambos. No caso da aplicacao dos codigos nos rotulos,as vantagens sao imensas; desde a hipotese do consumi-dor aceder a informacoes acerca do produto que esta a con-

sumir, a visibilidade que se torna possıvel dar a regiao ondeo produtor esta inserido, ou ate a sugestoes de outros pro-dutos da mesma qualidade do que consome no momento,as chances de uma publicidade destas passar despercebidasao muito pequenas. Cria-se assim um elo entre a origem eo destino, uma ligacao tao necessaria quanto justificada nosdias de hoje. Os consumidores mudaram, e hoje queremsaber o que consomem e de onde vem. A confianca do con-sumidor no produto cresce, e quem produz sai da sombra etorna-se num rosto para quem compra e consome, aumen-tando assim a visibilidade dos seus produtos.

VII. AGRADECIMENTOS

Gostaria de deixar o meu agradecimento e reconhecimentoaos meus orientadores: Prof. Dr. Raul Morais e Engen-heiro Emanuel Peres por toda a ajuda, paciencia, presencae orientacao durante a elaboracao deste projecto. Aos

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 165

produtores Miguel Antero Macedo Teixeira Gomes, pelaajuda e esclarecimentos prestados durante este trabalho,Filipe Teixeira da Quinta do Caleiro pela colaboracao dada,aos funcionarios das Adegas Cooperativas de Vila Reale Murca, aos funcionarios da Cooperativa do Azeite deMurca pelos esclarecimentos fornecidos, e ao Lino Silva([email protected]) pelas imagens fornecidas.

BIBLIOGRAFIA

[1] ITU, “http://tv1.rtp.pt”, Disponivel online em http://www.rtp.pt, consultado em 12 de Julho de 2009.

[2] PCWORLD, “http://pcworld.uol.com.br/noticias/2008/12/16/dispositivos-moveis-dominarao-acesso-a-web-em-2020-diz-estudo/”, Disponivelonline em http://pcworld.uol.com.br, consultado em 15de Julho de 2009.

[3] SIRIUS, “http://sirius-efasec.blogs.sapo.pt/789.html”, Disponivelonline em http://sirius-efasec.blogs.sapo.pt, con-sultado em 18 de Julho de 2009.

[4] NEGOCIOS DIGITAL, “http://negocios.maiadigital.pt/”,Disponivel online em http://negocios.maisdigital.pt,consultado em 19 de Julho de 2009.

[5] Yue Liu, Ju Yang, e Mingjun Liu, “Recognition of qr code withmobile phones”, em Control and Decision Conference, 2008. CCDC2008. Chinese, July de 2008, pp. 203–206.

[6] Yu-Hsuan Chang, Chung-Hua Chu, e Ming-Syan Chen, “A generalscheme for extracting qr code from a non-uniform background incamera phones and applications”, em Multimedia, 2007. ISM 2007.Ninth IEEE International Symposium on, Dec. de 2007, pp. 123–130.

[7] E. Ouaviani, A. Pavan, M. Bottazzi, E. Brunelli, F. Caselli, eM. Guerrero, “A common image processing framework for 2d bar-code reading”, em Image Processing and Its Applications, 1999.Seventh International Conference on (Conf. Publ. No. 465), 1999,vol. 2, pp. 652–655 vol.2.

[8] Michael Rohs, “Real-world interaction with camera-phones”, emIn 2nd International Symposium on Ubiquitous Computing Systems(UCS 2004. 2004, pp. 74–89, Springer.

[9] K. Seine, S. Kuwabara, S. Mikami, Y. Takahashi, M. Yoshikawa,H. Narumi, K. Koganezaki, T. Wakabayashi, e A. Nagano, “Devel-opment of the traceability system which secures the safety of fisheryproducts using the qr code and a digital signature”, em OCEANS’04. MTTS/IEEE TECHNO-OCEAN ’04, Nov. de 2004, vol. 1, pp.476–481.

[10] Hend S. Al-Khalifa, “Utilizing qr code and mobile phones for blindsand visually impaired people”, em ICCHP ’08: Proceedings of the11th international conference on Computers Helping People withSpecial Needs, Berlin, Heidelberg, 2008, pp. 1065–1069, Springer-Verlag.

[11] J. Rouillard, “Contextual qr codes”, em Computing in the GlobalInformation Technology, 2008. ICCGI ’08. The Third InternationalMulti-Conference on, 27 2008-Aug. 1 de 2008, pp. 50–55.

[12] Kenton O’Hara, Tim Kindberg, Maxine Glancy, Luciana Baptista,Byju Sukumaran, Gil Kahana, e Julie Rowbotham, “Collecting andsharing location-based content on mobile phones in a zoo visitor ex-perience”, Comput. Supported Coop. Work, vol. 16, no. 1-2, pp. 11–44, 2007.

[13] TIME, “http://www.time.com/time/magazine/article/0,9171,1832875,00.html”,Disponivel online em http://time.com, consultado em 19 deJulho de 2009.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 167

Sistemas de Vigilancia InteligenteP0930

Fernando Gil de Abreu Mesquita da Costa, [email protected]

Abstract – This article describes the method used for facialrecognition. The first part is a technique used for the recog-nition of the skin, technique that uses the RGB space. Thesecond part presents the algorithm that makes facial recog-nition itself, based on facial characteristics of a person (eyes,nose, mouth).

Resumo – Este artigo descreve o metodo utilizado para o re-conhecimento facial. Numa primeira parte e utilizada umatecnica para o reconhecimento da pele, tecnica que utiliza oespaco RGB. Numa segunda parte, e apresentado o algoritmoque faz o reconhecimento facial, propriamente dito, baseadonas caracterısticas faciais de uma pessoa (olhos, nariz, boca).

Keywords – skin detection, facial recognition, RGB colorspace

Palavras chave – deteccao da pele, reconhecimento facial,espaco de cor RGB

I. INTRODUCAO

A Percepcao da face humana e um grande motivo deestudo na area da visao computacional. Deteccao oulocalizacao da face humana sao um pre-requisito para apercepcao facial. E a chave para identificacao em sistemasde seguranca, reconhecimento facial, analise de expressoesfaciais . Uma analise robusta e precisa das caracterısticasfaciais apresenta grandes dificuldades praticas, principal-mente devido as diferencas entre as pessoas, e a grandevariacao dessas mesma caracterısticas na mesma pessoa,devido a mudanca de pose, luz, etc .Os diferentes metodos existentes para deteccao facial po-dem ser divididos em tres categorias [1]. Uma categoriae localizar a face atraves de partes especificas tais como osolhos, boca ou labios, nariz rugas, ou outras caracterısticasimportantes. Apos as caracterısticas serem identificadas,a localizacao da face e determinada atraves de informacaogeometrica. As suas principais desvantagens sao: necessi-dade de imagens com elevado grau de nitidez e de granderesolucao, o que e impraticavel na pratica. Alem do mais,as caracterısticas faciais podem variar, dependendo dascondicoes a que estao sujeitas (luminosidade, orientacao eescala). Torna-se entao difıcil detectar essas caracterısticasfaciais de uma forma robusta e viavel.No segundo metodo, a face e examinada como um todo

utilizando redes neuronais [2], ou atraves das suas compo-nentes principais [3]. A sua desvantagem assenta na suacomplexidade e na quantidade enorme de dados analisados.Quando o resultado obtido nao e o correcto, nao se con-segue descobrir qual e a parte que influencia o resultado,impossibilitando assim a melhoria do algoritmo.

Ambos os metodos atras referenciados utiliza imagens emescala de cinza, negligenciando a cor. Porem, a cor e muitoimportante na deteccao facial. Por este motivo nos ultimosanos tem havido uma grande pesquisa nesta area.O metodo utilizado neste artigo para deteccao do tom depele, base para o reconhecimento facial, foi desenvolvidopor Cheddad e outros [4]A modulacao da cor da pele implica a identificacao decor aceitavel e um conjunto cuidado de regras por formaa encontrar os pixeis associados a pele. A maior partedos metodos utilizados ate a data, tendem a eliminar a lu-minancia, actuando sobre espacos de cor que a separacaodos componentes luminancia e crominancia. Abadpourand Kasaei [5] concluıram que em espacos YUV, YIQ eYCbCr, a remocao da luminancia aumenta a performanceno processo de deteccao da pele. Outros [6] [7] de-fendem que a luminancia deve ser removida priormente aqualquer outro processo, uma vez que a mistura entre acrominancia e a luminancia em RGB nao e uma boa opcaopara analise de cor. Entao a solucao encontrada e con-verter o RGB para outros espacos de cor, onde estas com-ponentes sao separadas. Albiol e outros [8] e Hsieh e out-ros [9] demonstra que a escolha do espaco de cor nao temqualquer implicacao na deteccao dado que um bom algo-ritmo de deteccao de pele seja utilizado. Analogo a istoPhung e outros [10] demonstra que a segmentacao da pelebaseada na classificacao da cor nao e afectada pela alteracaodo espaco de cor. Em contrapartida, a performance obtidana segmentacao degrada-se quando existem componentesda crominancia na classificacao. Em metodos baseados nacrominancia, alguma da informacao sobre a cor da pele eperdida, quando e feita a separacao entre a luminancia e acrominancia de acordo com Abdullah e outros [11]. Shin eoutros [12] questiona os benefıcios da transformacao da corpara a deteccao da pele. Jayaram e outros [13] concluiramque a componente luminancia contem diferentes nıveis deinformacao para a separacao em cor de pele e nao cor depele. Esta conclusao levou ao aparecimento de novos es-tudos, como o caso de Lee and Lee [14], onde fizeram adeteccao do tom de pele no espaco YCbCr, utilizando astres componentes. O metodo utilizado neste artigo paradeteccao do tom de pele, base para o reconhecimento facial,foi desenvolvido por Cheddad e outros [4]. Este metododemonstra que a componente da luminancia transporta con-sideravel informacao relativa ao tom de pele.As proximas seccoes estao organizadas da seguinte forma:Seccao 2 refere-se a trabalhos relacionados, na seccao 3 edescrito o metodo proposto e resultados obtidos. A con-clusao e trabalho futuro estao descritas na seccao 4.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

168 FERNANDO COSTA [20165]

II. TRABALHO EXISTENTE NA IDENTIFICACAO DAPELE

A transformacao da cor e de extrema importancia em visaopor computador. Existem varios espacos de cor incluindo:RGB, CMY, XYZ, xyY, UVW, LSLM, L*a*b, L*u*v,LHC, LHS, HSV, HSI, YUV, YIQ, YCbCr. A representacaonativa de uma imagem a cores e feita em RGB, que descreveo imagem em tres matrizes de cor, Red(R), Green(G); andBlue(B): A luminancia e apresentada neste espaco e exis-tem varios metodos com a intencao de a extrair.

A. Log opponent e HSV

Segundo J. Berens e outros [15] o log-opponent (LO) uti-liza o logaritmo na base 10 para converter matrizes RGBnos componentes I, Rg, By como e demonstrada em

IRgBy :

I = L(G)Rg = L(R)− L(G)By = L(B)− (L(R) + L(G))/2

(1)

onde L(x)=105+log(x+1);Este metodo utiliza o que e denominado de espaco de cor

hıbrido. O conceito fundamental por detras de um espacode cor hıbrido e que combina diferentes espacos de cor paraaumentar a eficiencia dos componentes de cor, de forma ater uma melhor percepcao da cor. Alem disso, serve paradiminuir a taxa de dependencia na correlacao entre os com-ponentes de cor [16]. Aqui, sao utilizados dois espacos decor, nomeadamente IRGBy e HS do HSV (hue, saturation,value). HS pode ser obtido aplicando uma transformacaonao linear como demonstrado na eq 2.O algoritmo encontraprimeiro regioes contendo grandes areas onde a cor e a tex-tura e apropriada para o tom de pele. O mapa de texturas egerado da atraves da matriz I aplicando-lhe filtros media. Atransformacao de RGB para HSV pode ser expressa como

HSV :

H :

{h B ≤ G2− h B > G

h = cos−1 1/2[(R−G)+(R−B)√(R−G)2+(R−G)(G−B)

S = max(R,G,B)−min(R,G,B)max(R,G,B)

V = max(R,G,B)

(2)

De forma a detectar potenciais regioes faciais Chen eoutros [17] analisa a cor dos pixeis em RGB para diminuiros efeitos quando a iluminacao muda, e classifica-os emtom de pele ou nao, baseada no hue(H), componente Hna eq 2. A classificacao e feita utilizando regras decisaoBayesianas. Este metodo degrada-se quando as imagenscontem complexos fundos e iluminacao nao uniforme.Outros [18] utilizam o histograma de cor da pele emespaco HSV, em conjugacao com a funcao edge por formaa localizar a face. O algoritmo proposto por eles encontra aseguir

Algoritmo Proposto

1o Passo: Converter a imagem RGB (rgb (i,j)) numaimagem HSV (hsv(i,j))

2o Passo: Obter o mapa das fronteiras (edge(i,j)) daiamgem RGB utilizando operadores Sobel

3o Passo: Para cada pixel (i,j) obter os respectivosvalores de H e de S

4o Passo: Se (histograma de cor (H,S) > thresholdpele e edge(i,j) < threshold edge)entao pele(i,j)=1 e um pixel de pelesenao pele(i,j)=0 nao e um pixel de pele

5o Passo: Encontrar as diferentes regioes da imagempela implementacao da analise da vizinhanca.

6o Passo: Encontrar a altura, largura e centro de cadaregiao e a percentagem da pele em cada regiao

7o Passo: Para cada regiao se a relacao entre a alturae largura, ou a relacao largura por altura, estiver dentrodo limite e se a percentagem da pele > percentagem dethreshold entao a regiao e uma face, senao nao e uma face

B. Espaco de cor YCbCr

Os componentes Y,Cb,Cr referem-se respectivamente a lu-minancia, chromatic blue, e Chromatic red. Este e umespaco pertencente a famılia das transmissoes televisivas.E utilizado em codificacao e compressao de vıdeo. Estemetodo e muito util para fazer a separacao entre a lu-minancia e o crominancia. A transformacao de RGB paraYCbCr, pode ser calculado utilizando o seguinte sistema

Y CbCr :

Y = 0.299R+ 0.587G+ 0.114BCb = 0.56(B − Y )Cr = 0.71(R− Y )

(3)

Hsu e outros [19] utilizou as componentes CbCr para fazera deteccao da face em imagens a cores. Desenvolveramum modelo onde reparam a concentracao do tom de peleno espaco CbCr. Este dois componentes foram calculadosapos ser feito uma compensacao de luz. Os autores afirmamque o seu algoritmo detecta poucos pixeis nao referentes acara e mais pixeis relativos ao tom de pele. A figura 1descreve o algoritmo utilizado em [19].Shin e outros [12] demonstrou que o uso de tal espaco de

cor quando comparado com outros sete obtem melhores re-sultados na deteccao facial. OS oito espacos de cor estuda-dos foram: NRGB (Normalized RGB), CIEXYZ, CIELAB,HSI, SCT (spherical coordinate transform), YCbCr, YIQ eYUV. O espaco RGB foi utilizado como referencia.Choudhhury e outros [20] desenvolveram um metodo

que passou a ser utilizado pelas forcas da lei durante as

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 169

suas investigacoes forenses para recuperar qualquer im-agem pornograficas de um disco rıgido. Eles propuseramum algoritmo hıbrido, onde as componentes RGB e YCbCrsao explorados. Eles descobriram as desvantagens ex-istentes quando se utiliza RGB sao compensadas com autilizacao do YCbCr, e vice-versa. Para este fim, apenasregioes relativamente grande que foram desprezadas pelofiltro RGB, sao novamente filtradas por um filtro YCbCr.Zhao e outros [21] construiu um vector englobando uma

variedade de componentes de diferentes espacos de coronde a componente Cr esta presente.O algoritmo de Hsu e outros. [19] foi escolhido por Shaik

and Asari [22] para seguir as faces durante uma cena uti-lizando filtros Kalman. Zhang and Shi [23] utilizarama mesma abordagem com alguma modificacoes quando obrilho da cara numa imagem e baixa. O seu metodo e prati-camente igual ao [19], com a excepcao que existe um preprocessamento da imagem aonde os pixeis abaixo dos 80sao reduzidos para 0 nas 3 cores primarias. Eles afirmamque o seu metodo funciona melhor sobre condicoes compouco brilho devido principalmente ao pre-processamento.

Fig. 1SISTEMA UTILIZADO POR HSU E OUTROS [19]

C. Regras basicas para deteccao no espaco RGB

E um simples ainda que poderoso metodo para construirum classificador de pele directamente das componentes doRGB. Kovac e outros [24] utilizam as seguintes regras:um pixel R, G, B pode ser classificado como pele se e so se:

R>95 and G>40 and B>20and max(R,G,B)-min(R,G,B)>15and |R−G|>15 and R>G and R>B

Alguns autores preferem fazer primeiro a normalizacaodas componentes RGB. As componentes RBG podem sernormalizadas da seguinte forma:

r =R

R+G+Bg =

G

R+G+Bb =

G

R+G+B(4)

A componente b, e a que tem menor representacao quando

nos referimos ao tom de pele e e normalmente omissa nasegmentacao [25].

III. METODO UTILIZADO

A. Metodo de deteccao da pele

O metodo utilizado para deteccao da regiao facial foibaseado no artigo publicado A. Cheddad, e outros. [4].Eles afirmam que a iluminacao esta espalhada ao longo doespectro RGB. Existem diversos metodos para segregar talinformacao. E utilizado uma matriz definida por

α = [0.298936021293775390,0.587043074451121360,0.140209042551032500]T

Onde o T significa transposta de forma a permitir amultiplicacao de matrizes. E de notar que Ψ significa amatriz 3D contendo os vectores de RGB. A primeira abor-dagem para a transformacao da cor e dada por

I(x) = (Ψ (r(x), g(x), b(x))⊗ α) () (5)

onde ⊗ representa a multiplicacao de matrizes. Isto reduza representacao RGB do espaco 3D para 1D. O vector I(x)elimina a matiz (hue) e a saturacao(saturation), mas man-tendo a luminancia. E considerada como uma cor na gamados cinzentos. A seguir o algoritmo tenta obter outra versaoda luminancia, mas desta vez sem ter em conta o vector R.A maior parte da cor da pele tende para se situar no vec-tor R. A omissao do vector R e deliberado, uma vez que nafase final vai-nos ajudar para calcular o erro do sinal. Entaoo novo vector vai ter os maiores elementos retirados dosvectores G e B:

Ic(x) = arg max(G(x), B(x)) (6)

Eq.(6) e nada mais que uma alteracao da forma como ecalculado o vector V (value) no espaco HSV. A diferenca eque este metodo nao inclui o componente R no seu calculo.Entao para qualquer valor de x, o erro e calculado atraves dasubtraccao de matrizes geradas pela eq.(5) e eq.(6) e podeser definida por:

e(x) = I(x)− Ic(x) (7)

De notar que o e(x) nao deve ser arredondado.Os autores do artigo [4] segundo foi baseado o metodo

para deteccao da pele, construıram, atraves de testes efec-tuadas a uma grande gama de pixeis seleccionados de difer-entes regioes, de diferentes racas e com diferentes efeitos deluz, o que denominaram de ”Skin Probablity Map (SPM)”.Alem disso atraves de estaticas obtidas chegaram a seguinteequacao que identifica as fronteiras da pele.

f(x) :

{1 0.02511 ≤ e(x) < 0.11770 otherwise

(8)

Este artigo afirma baseado em extensas experiencias, quecom esta regra obtemos uma solucao quase optima para adeteccao das fronteiras.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

170 FERNANDO COSTA [20165]

Metodo DescricaoTecnicas domınio espacial Nao e robusto contra filtros de imagens e percas na compressao

Nao e robusto na rotacao, corte e translaccaoNao e robusto contra ruido

Trabalha apenas com o formato BMPNao permite encriptacao nem utiliza algoritmos convencionais

Tecnicas com base no domınio DCT Menos vulneravel a ataques que os metodosexistentes a custa da capacidade

Falha na estatısticas de segunda ordemFalha na distribuicao dos coeficientes DCT

Trabalha apenas com o formato JPGDupla compressao do ficheiro

Nao e robusto na rotacao, corte e translaccaoNao e robusto contra ruido

Modificacao nas tabelas de qauntificacaoNao permite encriptacao nem utiliza algoritmos convencionais

Metodo proposto Orientado a objectosResistente a rotacao, corte, translacao e a impulsos moderados de ruido

Sem falhas conhecidasResistente a perca na compressao

Tem uma melhor performance que os algoritmos DCT em manter a distorcaona portadora no minimo

Permite encriptacao

TABELA IDESVANTAGENS DOS METODOS EXISTENTES E BENEFICIOS DO METODO PROPOSTO

Na tabela seguinte estao descritas as vantagens apontadaspelos autores em relacao a outros metodos de deteccao dapele.Apos a implementacao do algoritmo descrito no artigo de

[4] obtivemos os resultados demonstrados na figura 2

B. Deteccao das caracterısticas faciais

A determinacao da zona de pele e fundamental para de-limitar a zona de processamento. Dentro da zona de peleencontramos os olhos, as narinas, a boca e a partir do seurelevo se caracterizam as rugas e expressoes faciais. O re-conhecimento da zona de pele na imagem foi obtido peloprocessamento no domınio das cores. Deste processamentoresultam pequenas zonas na imagem que correspondem asombras ou reflexos, coloramento da pele, zonas de pelosou fundo da imagem. Estas zonas da imagem nao sao rel-evantes para o reconhecimento das expressoes faciais, peloque foram utilizadas um conjunto de tecnicas com vista asua remocao. As tecnicas a seguir descritas visam processara imagem para o reconhecimento eficaz da posicao dos ol-hos, nariz e boca. A imagem resultante do reconhecimentoda pele e uma imagem binaria, onde zonas de nao pele saode valor nulo. Um primeiro passo consiste em remover ob-jectos da imagem com dimensoes inferiores a 3 por centoda dimensao da zona de pele. Segue-se o preenchido dofundo da imagem e zona dos cabelos com cor branca, fi-cando apenas salientes as zonas dos olhos boca e narinas.O resultado deste processamento pode ser visualizado nafigura 3. Apesar do bom desempenho destas tecnicas, estasnao sao suficientes para eliminar determinadas zonas naocaracterısticas, essencialmente situadas na fronteira entre o

cabelo e a face.

Fig. 3

Para a determinacao da localizacao na imagem da posicaodos olhos, boca e narina propusemos um algoritmo que con-siste na soma dos pixeis na direccao horizontal (x) e nadireccao vertical (y) da imagem. Ambos os sinais sao fil-trados com um filtro de media de largura de 10 pixeis. Nafigura 4 estao representados o resultados destas operacoes.A figura superior mostra a curva y e a figura inferior acurva x. Da curva y sao possıveis conhecer as coordenadashorizontais dos olhos e nariz-boca. Da curva x sao deter-minaveis as coordenadas verticais dos olhos, nariz e boca.Esta informacao permite reprocessar de novo a imagembinaria para a remocao dos objectos parasitas, pela mesmatecnica atras utilizada, resultando a imagem da figura 5.Sem estes objectos nao caracterısticos as curvas x e y saode novo recalculadas, agora representados na figura 6 deamplitude normalizadas.Com base no grafico obtido, podemos afirmar que

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 171

Fig. 2(DA ESQUERDA PARA A DIREITA)IMAGEM ORIGINAL,RESULTADO DA APLICACAO DA EQ.7,RESULTADO DA APLICACAO DA EQ.8

Fig. 4GRAFICO I

Fig. 5

os elementos nao caracterısticos foram eliminados, per-manecendo apenas os elementos caracterısticos. Anal-isando a posicao dessas mesmas caracterısticas torna-seentao possıvel fazer o corte das seccoes pretendidas na im-agem original. O resultado final pode ser verificado nafigura 7, com regioes delimitadas por linhas rectangulares.

IV. CONCLUSOES

Este trabalho fez concluir que um metodo de reconheci-mento facial eficaz e eficiente depende de um bom algo-ritmo de reconhecimento da pele. Neste trabalho sao re-sumidas as principais tecnicas utilizadas para essa tarefa,sendo por nos escolhida a tecnica proposta por Cheddad eoutros [4], que nos evidenciou obter melhores resultados.Os parametros deste metodo foram sintonizados por nos ex-

Fig. 6GRAFICO II

Fig. 7RESULTADO FINAL

perimentalmente, melhorando significativamente os resul-tados. As vantagens apontadas pelos autores foram por nostambem confirmada experimentalmente, pela realizacao devarios testes. A superioridade desta tecnica permitiu-nospropor um metodo para a identificacao posicional dos ol-hos, buracos das narinas e boca e retirar da imagem origi-nal sub-imagens de cada uma destas partes. Na continuacaodeste trabalho espera-se propor metodos de reconhecimentofacial, que processe cada uma das sub-imagens obtidas,para construir um sistema de vigilancia inteligente e queopere em tempo real.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

172 FERNANDO COSTA [20165]

BIBLIOGRAFIA

[1] Wen Gao Hongxun Yao, “Face detection and location based onskin chrominance and lip chrominance transformation from colorimages”.

[2] H. Hunke H.Martin, “Location and tracking of human faces withneural netwworks”, Technical Report of CMU, 1994.

[3] M.A. Turk, “Face recognition using eigenfaces”, IEEE ComputerSoc. on Computer Vision and Pattern Recognition, pp. 586–591.

[4] Kevin Curran Paul McKevitt Abbas Cheddad, Joan Condell, “A skintone detection algorithm for an adaptive approach to steganography”,Signal Process.

[5] S.Kasaei A.Abadpour, “Pixel-based skin detection for pornographyfiltering”, Iranian Journal of Electrical and Electronic Engineering1, pp. 21–41.

[6] A.K.Jain R.L.Hsu, M.Abdel-Mottaleb, “Face detection in color im-ages”, IEEE Transactions on Pattern Analysis and Machine Intelli-gence 24, pp. 696–702.

[7] A.Andreeva V.Vezhnevets, V.Sazonov, “A survey on pixel-basedskin color detection techniques”, Proceedings of Graphicon, pp. 85–92.

[8] E.J.Delp A.Albiol, L.Torres, “Optimum color spaces for skin detec-tion”, Proceedings of the IEEE International Conference on ImageProcessing, vol. 1, pp. 122–124.

[9] C.Lin I.S.Hsieh, K.C.Fan, “A statistic approach to the detection ofhuman faces in color nature scene”, Pattern Recognition 35, pp.1583–1596.

[10] D.Chai S.L.Phung, A.Bouzerdoum, “Skin segmentation using colorpixel classification:analysis and comparison”, IEEE Transactions onPattern Analysis and Machine Intelligence27, pp. 148–154.

[11] O.Chae M.Abdullah-Al-Wadud, “Skin segmentation using color dis-tance map and water-flow property”, Proceedings of InternationalConference on Information Assurance and Security, pp. 83–88.

[12] L.V. Tsap M.C.Shin, K.I. Chang, “Does colorspace tranformationamke any difference on skin detection?”, Proceedings of IEEE Work-shop on Applications of Computer Vision, vol. 3, no. 4, pp. 275–279,2002.

[13] M.C.Shin L.V.Tsap S.Jayaram, S.Schmugge, “Effect of color spacetransformation, the illuminance component,and color modelling onskin detection”, Proceedings of IEEE Computer Vision and Pattern-Recognition, vol. 2, pp. 813–818, 2004.

[14] C.C.Lee H.J.Lee, “Human skin tone detection in ycbcr space”, 2005.[15] G.D.Finlayson J.Berens, “Log-opponent chromaticity coding of

colour space”, Proceedings of IEEE International Conference onPatternRecognition, vol. 1, pp. 206–211, 2000.

[16] M.Fleck D.Forsyth, “Automatic detection of human nudes”, Inter-national Journal of Computer Vision 32, pp. 63–77, 1999.

[17] C.M.Fu H.Y.Chen, C.L.Huang, “Hybrid-boost learning fo rmulti-pose face detection and facial expression recognition”, PatternRecognition, vol. 41, pp. 1173–1185, 2008.

[18] K. Sandeep e A.N. Rajagopalan, “Human face detection in clutteredcolor images using skin color and edge information”.

[19] A.K. Jain R.L. Hsu, M. Abdel-Mottaleb, “Face detection in colorimages”, J. Comp. Phys., vol. 24, no. 5, pp. 696–702, 2002.

[20] B. Gillam K. Watson A. Choudhury, M. Rogers, “A novel skin tonedetection algorithm for contraband image analysis”, Proceedings ofInternational Workshop on Systematic Approaches to Digital foren-sic Engineering, pp. 3–9, 2008.

[21] X.Xi AMumford-Shah Y.J.Zhao, S.L.Dai, “level-set approach forskin segmentation using a new color space system”, Proceedings ofInternational Conference on Simulation and Scientific Computing,pp. 307–310, 2008.

[22] V.Asari Z.Shaik, “A robust method for multiple face tracking us-ing kalman filter”, Proceedings of IEEE Applied Imagery PatternRecognition Workshop, pp. 125–130, 2007.

[23] Y.Shi Z.Zhang, “Face detection method based on a new non lineartransformation of color spaces”, Proceedings of International Con-ference on Fuzzy Systems and Knowledge Discovery, vol. 4, pp. 34–38, 2008.

[24] F.Solina J.Kovac, P.Peer, “Human skin colour clustering for facedetection”, Proceedings of International Conference on Computeras a Tool, vol. 2, pp. 144–148, 2003.

[25] F.Wong G.Sainarayanan R.R.Porle, A.Chekima, “Wavelet-basedskin segmentation for detecting occluded arms in human body posemodelling system”, Proceedings of International Conference on In-telligent and Advanced Systems, pp. 764–769, 2007.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 19, JULHO 2009 173

Desenvolvimento de um sistema de instrumentacao para monitorizacao de umasonda de ultra-sons

P0933

Hugo Daniel da Silva Zava, [email protected]

Abstract – This study aims to evaluate the possibility of,through images captured by a camera attached to a ultrasonicprobe, determine its position and orientation in the world ref-erence frame. Through digital image processing, we can calcu-late the coordinates of the camera pose and the normal vectorrelated to the image projection surface. If we get an imageboth through the camera and the ultrasonic probe, we can re-construct the 3D scene observed by the ultrasonic probe. Inthis paper, we propose a implementation of a method to ob-tain a correspondence between 2D image points and 3D ref-erence points. In this study, it’s proposed the implementationof a method, for matching 2D image points and 3D referencepoints. We proposed a robust algorithm, capable to calculatethe camera pose and orientation in the world reference frame.This camera must always detect a sufficient set of marks, reg-istered in color images. A set of routines of digital image pro-cessing is used to identify the reference marks contained in theimage and relates them with it’s position in the world refer-ence frame. From this knowledge, using an inverse transformis possible to estimate the location and orientation of the cam-era. In addition, with the aim of improving the accuracy androbustness of the calculation of the camera pose, a estimatorwas integrated, which is a process of optimization. The re-sulting algorithm for the camera pose calculation in the worldreference frame is well capable of dealing with irregular fea-tures resulting from tracking. A set of experience in virtualenvironment showed the supremacy of the proposed method.

Resumo – Este trabalho tem como objectivo avaliar a pos-sibilidade de, atraves de imagens captadas por uma camaraligada a extremidade de uma sonda de ultra-sons, determinara sua posicao e orientacao no espaco. Atraves de processa-mento digital de imagem, podemos calcular as coordenadasda posicao da camara e o vector normal ao plano de projeccaoda imagem. Assim se obtermos simultaneamente uma imagematraves da camara e da sonda de ultra-sons podemos recon-struir a cena 3D observada pela sonda de ultra-sons. Neste tra-balho, propoe-se a implementacao de um metodo, para obteruma correspondencia entre pontos 2D da imagem e os pontosde referencia 3D. E proposto um algoritmo robusto, capaz decalcular a posicao e orientacao de uma camara em relacao aum referencial no mundo. Esta camara tem sempre sobre vi-sionamento um conjunto suficiente de marcas, registada emimagens a cores. Um conjunto de rotinas de processamentodigital de imagem e utilizado para identificar as marcas de re-ferencia contidas na imagem e relaciona-las com a sua posicaono espaco mundo. A partir deste conhecimento, utilizandouma transformada inversa e possıvel estimar a localizacao e

orientacao da camara. Em complemento e com o objectivode melhorar a precisao e robustez do calculo da posicao dacamara integrou-se um estimador, que compreende um pro-cesso de optimizacao. O algoritmo resultante para o calculoda posicao da camara no espaco e assim capaz de lidar comcaracterısticas incorrectas resultantes dos erros associados aaquisicao de imagem. Um conjunto de experiencia em ambi-ente virtual evidenciou a supremacia do metodo proposto.

Keywords – Image, digital, processing, camera, pose

Palavras chave – Processamento, digital, imagem, posicao,camara

I. INTRODUCAO

Com o processamento digital de imagem e possıvel re-construir um espaco 3D a partir de um conjunto de per-spectivas, obtidas de posicoes conhecidas, dessa mesmacena. A maioria das tecnicas utilizadas apoiam-se e con-fiam em dispositivos mecanicos, para estimar a posicao eorientacao da qual foi obtida a perspectiva. No entantoestes dispositivos sao geralmente grandes e caros. Nestesentido procurou-se encontrar um metodo simples, baratoe fiavel para localizar uma camara no espaco. O objec-tivo sera acoplar uma camara na extremidade oposta deuma sonda de ultra-sons. Desta maneira, atraves de pro-cessamento digital de imagem, podemos calcular as coor-denadas da posicao da camara e o vector normal ao planode projeccao da imagem. Assim se conhecermos com pre-cisao e orientacao da camara, podemos reconstruir ima-gens ultra-sonicas 3D de imagens adquiridas a 2D. Esti-mar a posicao de uma camara a partir de imagens parao espaco correspondente a marcas, isto e de pontos, lin-has ou cones 2D e 3D, e um problema basico na analisee compreensao de imagens. Maquina de visao 3D tematraıdo muita atencao dos investigadores que trabalham nocampo de medicoes 3D por visao por computador, robotica[1] [2], engenharia submarina [3], fotogrametria por im-agens aerea, exame topografico [4], etc. Durante muitosanos, era necessario conhecer a relacao entre o mundo 3Dou as coordenadas do objecto e as coordenadas da imagemcorrespondente. Isto era geralmente feito em uma etapapreliminar de calibracao geometrica da camara, para esti-mar os parametros desconhecidos do modelo de camara.Os metodos tradicionais para a calibracao da camara queutilizam objectos com uma geometria 3D fornecem geral-mente resultados precisos [5] [6] [7]. Recentemente,tambem houve uma serie de pesquisas sobre a estimacaoda posicao de objectos colocados no mundo 3D utilizando

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

174 HUGO ZAVA [20923]

sistema de visao 3D [8] [9] [10] [11]. O problema dadeterminacao da posicao de uma camara foi formalmentedefinido por [12]. Na resolucao deste problema, nos ire-mos assumir que a distancia focal da camara e conhecido (aconstante f neste artigo) e em que a correspondencia entreobjectos 2D e 3D e conhecida. Para a calibracao da camarae estimacao da sua posicao, e muito importante extrair ainformacao exacta de um objecto a partir de imagens cor-respondentes que podem ter erros de quantificacao, proble-mas nas etapas de pre-processamento, devido a iluminacaonao uniforme e ruıdo extra, criado pelas fontes luminosas.Os metodos convencionais de estimacao de parametros uti-lizam um modelo linear da camara, denominado de tecnicaslineares de calibracao. Estes sao baseadas em estimadoresde mınimos quadrados que garante resultados bastante pre-cisos para o caso lentes ideais sem distorcao. Na pratica,porem, nas camaras comerciais, de producao geral, temlentes com distorcao. Neste caso, para obter resultados su-ficientemente precisos, as imagens distorcidas devem sercorrigidas com um bom metodo antes da estimacao dosparametros. Porque nao e facil saber exactamente os co-eficientes do modelo de distorcao da lente no sistema decamaras utilizado, estes tambem sao parametros estima-dos no processo de calibracao. Apesar de nem sempreser desprezavel na maior parte das situacoes praticas, nestetrabalho iremos considerar que a lente e ideal, sem qual-quer tipo de distorcao. Muito trabalhos foram desenvolvi-dos em visao por computador para resolver o problema daestimacao da posicao de uma camara , (por exemplo, [13][14] [15] [16] [17] [18] [19] [20] [21] [22] ). Mas, paraa maior parte dos metodos baseados na correspondencia en-tre os espacos 2D e 3D somente pontos ou linhas sao uti-lizados. Pouco trabalho foi feito com base em outras car-acterısticas, tais como cantos, que sao muito comuns emobjectos feito pelo homem. [23] e [24] tem utilizadocorrespondencias de cantos para estimacao de movimentoe apresentam bons resultados. Neste artigo nos propomosum metodo para estimacao da pose de uma camara visandoestudar a possibilidade de liga-la a uma sonda ultra-sonicapara a reconstrucao de imagens ultra sonicas em 3D.

II. DESENVOLVIMENTO

A. Formulacao do Problema

Durante este artigo, nos assumimos uma camara semdistorcao de lente e um modelo de projeccao de perspectiva.Se um ponto tem coordenadas (x, y, z)T no espaco 3D emrelacao ao referencial da camara, a sua projeccao no planoda imagem e (x/z, y/z, 1)T . Nesta seccao, apresentamosas equacoes de calibracao da camara, fazendo recurso a umconjunto de marcas.

B. Metodo de projeccao 3D para 2D

A projeccao de perspectiva exige uma grande definicao.Uma ajuda conceptual para a compreensao da mecanica dapresente projeccao envolve o tratamento da projeccao 2Dcomo sendo vista atraves de uma camara. A posicao dacamara, a orientacao e o campo de visao controlam o com-portamento da transformacao da projeccao. As seguintesvariaveis sao definidas para descrever essa transformacao:

Fig. 1PROJECCAO DE UM PONTO

• px,y,z = (x, y, z) - o ponto no espaco 3D que esta aser projectado Figura 1.

• cx,y,z - a localizacao da camara.• θx,y,z - O vector de rotacao da camara. Quandocx,y,z = (0, 0, 0) e θx,y,z = (0, 0, 0), o vector 3D(1, 2, 0) e projectado no vector (1, 2) em 2D.

• ex,y,z - A posicao relativa do observador relativamentea superfıcie de visionamento.

O qual resulta num

• qu,v = (u, v, 1) - ponto em 2D da projeccao de ax,y,z

Primeiro, nos definimos dx,y,z como o vector translacao doponto p nas coordenadas do sistema definido por c. Isto ealcancado pela subtraccao (p− c) seguida de multiplicacaopela matriz rotacaoR, funcao do vector de rotacao−θ. Estatransformacao e muita das vezes chamada de transformadada camara:

D = R ∗ (p− c) (1)

onde:

D =

dx

dy

dz

(2)

R(θx, θy, θz) = Rx(θx) ∗Ry(θy) ∗Rz(θz) (3)

Rx(θx) =

1 0 00 cos− θx sen− θx

0 −sen− θx cos− θx

(4)

Ry(θy) =

cos− θy 0 −sen− θy

0 1 0sen− θy 0 cos− θy

(5)

Rz(θz) =

cos− θz sen− θz 0sen− θz cos− θz 0

0 0 1

(6)

p− c =

ax

ay

az

cxcycz

(7)

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 19, JULHO 2009 175

Este ponto transformado pode entao ser projectado noplano 2D usando a formula (aqui, x/y e utilizado comoplano de projeccao):

u = (dx − ex)(ez

dz) (8)

v = (dy − ey)(ez

dz) (9)

ou, numa forma matricial usando coordenadas ho-mogeneas:

fx

fy

fz

fw

=

1 0 0 −ex

o 1 0 −ey

0 0 1 00 0 1/ez 0

dx

dy

dz

0

(10)

e

u =fx

fw(11)

v =fy

fw(12)

A distancia do observador a superfıcie de projeccao, ez ,esta directamente relacionada com o campo de visao, ondeα = 2 tan−1(1/ez) e o angulo de visao. Posteriormenteoperacoes de recorte e de escamacao podem ser necessariaspara mapear o plano 2D para exibir num display especıfico.

C. Calibracao da Camara

Calibracao da camara e o processo de encontrar os mel-hores parametros do modelo da camara que produz umadada fotografia ou vıdeo. A maior parte das vezes, osparametros da camara estao representados numa matriz3× 4 chamada de matriz da camara. Muitas vezes, usamos[u, v, 1]T para representar uma posicao, em coordenadas2D, de um ponto em pixel. [x, y, z]T e usado para represen-tar uma posicao de um ponto 3D em relacao ao referencialmundo. Note que esta coordenada pode ser expressa emnotacao aumentada, notacao de coordenadas homogeneas,que e mais utilizada em robotica e transformada do corporıgido. Referindo-se ao modelo do orifıcio da camara, umamatriz camara e utilizada para designar um mapeamentoprojectivo das coordenadas mundo para coordenadas pixel.

zc

uv1

= A[RT ]

xyz1

(13)

A matriz A, contem um conjunto de 5 parametrosintrınsecos.

A =

αx γ vo

0 αy v00 0 1

(14)

Estes parametros englobam comprimento focal, formatoda imagem, e o ponto principal. Os parametros αx =f.mx e αy = f.my representam o comprimento focalem termos de pıxeis, onde mx e my sao factores deescala relacionando pıxeis a distancia. R e T sao os

parametros extrınsecos os quais fazem parte do sistema detransformacao do sistema de coordenadas mundo 3D paracoordenadas camara 3D. Equivalentemente, os parametrosextrınsecos definem a posicao do centro da camara no ref-erencial mundo. A calibracao da Camara e frequentementeutilizada como uma fase inicial no computador e, sobre-tudo, na visao do campo de realidade aumentada. Quandouma camara e usada, a luz do ambiente e centrada numa im-agem plana e capturada. Este processo reduz as dimensoesdos dados extraıdos pela camara de tres para dois (a luz deum cenario 3D esta armazenado em uma imagem 2D). Cadapixel da imagem do plano, portanto, corresponde a um eixode luz a partir da cena original. Na recepcao a camara de-termina qual da luz recebida esta associada a cada pixel naimagem resultante. Numa camara de orifıcio ideal, umasimples matriz de projeccao e o suficiente para fazer isso.Com sistemas de camaras mais complexas, erros resultantesde lentes desalinhadas e deformacoes nas suas estruturaspodem resultar em distorcoes mais complexas na imagemfinal. A matriz de projeccao da camara e derivada da ma-triz dos parametros intrınsecos e extrınsecos e e muitasvezes representado por uma serie de transformacoes, porexemplo, uma matriz de parametros intrınsecos, uma ma-triz 3×3 de rotacao, e um vector de translacao. A matriz deprojeccao da camara pode ser utilizada para associar pontosna imagem com localizacoes no espaco Mundo 3D. Esta ea tarefa deste trabalho. O erro de estimacao de um ponto demarca da imagem, obtido da relacao entre os pontos 3D dereferencia os seus correspondente 2D extraıdos da imagem,dependem da estimacao dos parametros da camara, sendodeterminado por:

Epi =

((u− u)2 + (v − v)2

)p(15)

em quem = (u, v, 1)T sao as coordenadas do pontos marcaobservados na imagem.

D. Estimar a Posicao da Camara

Visto que o numero de parametros para calcular a posicaoda camara sao seis (tres para a rotacao e tres para atranslacao) o problema pode ser resolvido se no mınimotres pontos de correspondencia estao disponıveis. No casogeral, se N for o numero de pontos de correspondentes oproblema do calculo da posicao da camara no espaco cor-responde a um problema de minimizacao de erros que semostra a seguir:

f1(R, T ) =N∑

i=1

(Epi )2 (16)

onde Epi corresponde a constricao de pontos definida na

equacao 15. Tradicionalmente, esta minimizacao e feita us-ando uma aproximacao pelo metodo dos mınimos quadra-dos [25] [26]. No entanto, quando outliers estao presentesnas medicoes, e necessario uma estimativa robusta. Noproblema de calculo da posicao da camara, os outliers acor-rem tanto devido a correspondencia de pontos 2D-3D inde-vidas como com partes incorrectas no modelo 3D. Histori-camente, algumas aproximacoes a uma estimativa robustaforam propostas, incluindo R-estimadores e L-estimadores.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

176 HUGO ZAVA [20923]

No entanto actualmente os L-estimadores parecem domi-nar este campo como resultado da sua generalizacao, altoponto de Breakdown e a sua eficiencia [27] [28]. Os M-estimadores sao a generalizacao de estimadores de prob-abilidades, eles tentam definir a funcao objectivo na qualo mınimo global nao seja significativamente afectado poroutliers. Entao em vez de minimizar

i

r2i

onde ri sao os erros residuais, os M-estimadores mini-mizam a sua versao robusta

i

ρ(ri)

A funcao ρ(u) e uma funcao continua simetrica comvalor mınimo em u = 0. Para alem disso ρ(u) deveser monotonicamente nao descendente com o aumento de|u|. Muitas destas funcoes foram propostas. Huber de-senvolveu o metodo Interactive Reweighted Least Square(IRLS) para minimizar o erro robusto. Este metodo con-verte o problema de M-estimador em um equivalente demınimos quadrados ponderados. Foi incorporado o algo-ritmo Interactive Reweighted Least Square neste procedi-mento de minimizacao dos parametros relativos a posicaoda camara. Isto e concretizado multiplicando as funcoes deerro da equacao 16 por um peso. A funcao objectivo a serminimizada e entao definida por:

f2(R, T ) =N∑

i=1

wpi (Ep

i )2 (17)

onde o peso wpi reflecte o coeficiente em cada caracterıstica

e a sua computacao esta descrita em [29]. Em seguida,o grande objectivo para a resolucao deste problema e tercorretas e suficientes correspondencias 2D/3D.

III. SIMULACAO EXPERIMENTAL E ANALISE DE ERROS

Nesta seccao, algumas experiencias com dados sintetiza-dos sao realizados. Um ambiente grafico tri-dimensionalfoi criado em linguagem VRML (Virtual Reality ModelingLanguage), envolvendo um objecto rectangular que repre-senta uma divisao de uma casa, onde no seu interior as pare-des possuem conjunto de marcas em forma circulares ouquadradas (ver figura 2)As coordenadas reais das marcas sao perfeitamente con-

hecidas neste ambiente de coordenadas. Por outro lado,podemos visualizar este espaco a partir de diferentesposicoes e orientacoes, como se uma camara de vıdeo setratasse, especificando atraves de comando VRML. De cadaposicao uma imagem pode ser obtida, estando nela parte oua totalidade dos pontos de marca. A fase seguinte consisteem processar a imagem obtida (pela camara) com vista adeterminacao das marcas. Este processamento envolve autilizacao de varios algoritmos, cuja funcionalidade se re-sume:

1. Transformar a Imagem RGB para coordenadas de corNTSC (National Television System(s) Committee)

Fig. 2IMAGEM DO AMBIENTE VIRTUAL

2. Utilizar as componente de cor Q e I para encontrar asmarcas na imagem;

3. Filtrar a imagem, preenchendo pequenos orifıcios.4. Determinar o no de objectos na imagem (marcas), sua

posicao, area e outras propriedades geometricas.5. Construir um vector das coordenadas pıxeis das mar-

cas e as respectivas coordenadas mundo.

A figura 3 mostra o resultado da localizacao automaticade marcas de uma imagem captada, estando ai assinalado ocentro de cada marca por uma cruz vermelha.

Fig. 3RESULTADO DO PROCESSAMENTO DE IMAGEM COM

REPRESENTACAO DO CENTRO DAS MARCAS

Com o conhecimento das coordenadas pıxeis e das cor-respondentes coordenadas Mundo de todas as marcas pre-sentes na imagem, torna-se possıvel, recorrendo ao metodoproposto na seccao anterior, a determinacao dos parametrosda matriz rotacao R e do vector translacao T , minimizandoo erro de estimacao expresso na equacao 17.Um conjunto de experiencias, para diferentes posicoes e

orientacoes da camara, foram realizados, visando validaro metodo proposto. A tabela I resume os resultados obti-dos para 10 experiencias realizadas. Em cada experienciauma posicao e orientacao da camara foram impostas. Uma

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 19, JULHO 2009 177

no θx θy θz θ′x θ′y θ′z dx dy dz d′x d′y d′z1 0 0 15 5,2 3,6 12,1 10 10 10 12,4 15,2 12,02 0 15 15 -3,4 13,2 16,8 10 10 20 11.5 17,1 25,23 15 -15 15 18,2 -17,5 16,1 10 10 30 17.8 12,6 30,84 0 0 30 3,2 -2,5 26,7 10 20 10 11.4 20,2 17,15 0 30 30 3 32,5 32,4 10 20 20 15.5 22,5 27,06 30 30 30 27,1 28,9 29,1 10 20 30 16,3 21,9 36,17 0 0 50 -5,2 1,2 48,2 20 20 10 22,6 22,3 13,38 0 50 50 1,1 56,2 42,1 20 20 20 21,3 20,0 26,59 50 50 50 46,2 47,2 55,1 20 20 30 21,8 20,7 31,610 0 45 -10 -2,6 48,3 -7,2 30 30 30 36,9 36,4 33,7

TABELA IRESULTADOS EXPERIMENTAIS

Fig. 4ERROS ABSOLUTOS DOS TRES ANGULOS DE ROTACAO

Fig. 5ERROS ABSOLUTOS DAS TRES COORDENADAS DO VECTOR

TRANSLACAO

imagem para cada posicao e orientacao foi obtida, sendoposteriormente processada de acordo com o metodo atrasdescrito. A matriz rotacao e o vector translacao foram esti-mados com o objectivo de minimizar a diferenca no espaco2D da discrepancia entre as marcas na imagem e a estimadapelo modelo.Nas figura 4 e 5 estao representados os erros absolutos

da estimacao de cada uma das variaveis (tres angulos derotacao - Figura 4 e as tres coordenadas do vector translacao- Figura 5) para o conjunto das 10 experiencias. O erromedio da estimacao dos angulos foi de 2,95 com um desviopadrao de 1,55. Um valor superior de erro foi superior naestimacao das coordenadas translacao, sendo o erro mediode 3,66 e o desvio padrao de 2,48.A Tabela I mostra os resultados do metodo sobre a imagem

ideal. Uma vez que os dados sao sintetizados, imagem livrede ruıdo, os resultados sao precisos, que verificam que onosso algoritmo e correcto. A fim de testar a robustez do al-goritmo a fase seguinte de teste devera ter em conta ruıdose imprecisoes dos modelos. A partir dos resultados obtidosna Tabela I, vemos que tanto a matriz orientacao como aestimativa da localizacao (vector posicao) sao bastante pre-cisos. O tempo de computacao total nao e mais do que 0,1s no PC com processador Intel Pentium Core 2.A partir de resultados da simulacao, vemos que a estima-

tiva da localizacao e relativamente mais sensıvel ao ruıdo(resolucao de imagem e erros numericos) do que a estima-tiva da orientacao. Ha tres razoes para o erro na estimativada localizacao:

1. O ruıdo na imagem sintetizada, em especial dadeterminacao do centros das diferentes marcas;

2. O erro de calculo da matriz rotacao, o qual se propagapara o erro da estimativa translacao, quando se elimi-nar o movimento rotacional para obter uma translacaopura;

3. O metodo para a resolucao da translacao, que esensıvel ao ruıdo.

Erro na determinacao do centro das marcas e o erro na ma-triz rotacao resultam num relativo alto erro nos dados osquais sao usados como o coeficiente da matriz no metodo demınimo quadrados. Para analise detalhada de erros, reme-tem para [23].

IV. CONCLUSOES

Este trabalho mostrou ser possıvel estimar a posicaode uma camara atraves processamento das suas ima-gens, contendo um numero significativo de marcas. Aacoplagem desta camara a uma sonda ultra-sonica permi-tira a reconstrucao de imagens medicas a 3D de sequencias

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

178 HUGO ZAVA [20923]

de imagens 2D. Foram apresentadas as transformadas en-tre os pontos em coordenadas Mundo e em coordenadaspıxeis. Para a estimacao dos parametros da matriz rotacaoe vector translacao foi apresentado um metodo baseado naminimizacao quadratica dos erros. Um conjunto de testesfoi realizado, mostrando a viabilidade do metodo proposto.A aplicacao deste Metodologia a imagens reais, com acaptacao em ambientes reais, sera o proximo passo destetrabalho.

BIBLIOGRAFIA

[1] R. K. Lenz e R. Y. Tsai, “Calibrating a cartesian robot with eye-on-hand configuration independent of eye-to-hand relationship”, IEEETrans. Pattern Anal. Mach. Intell., vol. 11, no. 9, pp. 916–928, 1989.

[2] G. Puskorius e I. Feldkamp, “Calibration of robot vision”, Proc.IEEE Int. Conf on Robotic and Automation, 1987.

[3] T. Melen, “Geometrical modeling and calibration of video camerasfor underwater navigations”, 1994.

[4] Y.I. Abdel-Aziz e H.M. Karana, “Direct linear transformation fromcomparator coordinates into object space coordinates in close-rangephotogrammetry”, Proc. Symp.Close-Range Photogrammetry, 1971.

[5] O. Faugeras, “Computer vision - a geometric viewpoint”, MITPress,, 1993.

[6] Roger Y. Tsai, “A versatile camera calibration technique for high-accuracy 3d machine vision metrology using off-the-shelf tv camerasand lenses”, pp. 221–244, 1922.

[7] Z. Zhang, “A flexible new technique for camera calibration”, IEEETransactions on pattern analysis and machine intelligence, vol. 22,no. 11, pp. 1330–1334, 2000.

[8] M. M. Y. Chang e Kin H. Wong, “Model reconstruction and pose ac-quisition using extended lowe’s method”, Multimedia, IEEE Trans-actions on, vol. 7, no. 2, pp. 253–260, 2005.

[9] Xiang Zhang, Stephan Fronz, e Nassir Navab, “Visual marker de-tection and decoding in ar systems: A comparative study”, Mixedand Augmented Reality, IEEE / ACM International Symposium on,vol. 0, 2002.

[10] Bill Triggs, Philip F. Mclauchlan, Richard I. Hartley, e Andrew W.Fitzgibbon, Bundle Adjustment – A Modern Synthesis, vol. 1883,January de 2000.

[11] Simon Gibson, Jon Cook, Toby Howard, Roger Hubbold, e DanOram, “Accurate camera calibration for off-line, video-based aug-mented reality”, Mixed and Augmented Reality, IEEE / ACM Inter-national Symposium on, vol. 0, pp. 37, 2002.

[12] Martin A. Fischler e Robert C. Bolles, “Random sample consensus:a paradigm for model fitting with applications to image analysis andautomated cartography”, Commun. ACM, vol. 24, no. 6, pp. 381–395, June de 1981.

[13] Huang T.S. Faugeras O.D. Liu, Y., “Determination of camera loca-tion from 2-d to 3-d line and point correspondences”, IEEE Trans.Pattern Anal. Mach. Intell., 1990.

[14] Hanson A.R. Kumar, R., “Robust estimation of camera location andorientation from noisy data having outliers”, In: Proc. Workshop onInterpretation of 3D Scenes, 1989.

[15] Roger Y. Tsai, “A versatile camera calibration technique for high-accuracy 3d machine vision metrology using off-the-shelf tv camerasand lenses”, pp. 221–244, 1992.

[16] T.Q. Phong, Radu P. Horaud, A. Yassine, e P.D. Tao, “Object posefrom 2d to 3d point and line correspondences”, International Journalof Computer Vision, vol. 15, no. 3, pp. 225–243, July de 1995.

[17] Peter Sturm, “Algorithms for plane-based pose estimation”, Pro-ceedings of the IEEE Conference on Computer Vision and PatternRecognition, Hilton Head Island, South Carolina, USA, pp. 1010–1017, June de 2000.

[18] Zhengyou Zhang e Zhengyou Zhang, “A flexible new technique forcamera calibration”, IEEE Transactions on Pattern Analysis andMachine Intelligence, vol. 22, pp. 1330–1334, 1998.

[19] Zhengyou Zhang, “Camera calibration with one-dimensional ob-jects”, ECCV ’02: Proceedings of the 7th European Conference onComputer Vision-Part IV, pp. 161–174, 2002.

[20] Long Quan e Zhongdan Lan, “Linear n-point camera pose determi-nation”, Pattern Analysis and Machine Intelligence, IEEE Transac-tions on, vol. 21, no. 8, pp. 774–780, 1999.

[21] Paul D. Fiore, “Efficient linear solution of exterior orientation”,IEEE Transactions on Pattern Analysis and Machine Intelligence,vol. 23, no. 2, pp. 140–148, 2001.

[22] Adnan Ansar e Kostas Daniilidis, “Linear pose estimation frompoints or lines”, IEEE Transactions on Pattern Analysis and Ma-chine Intelligence, vol. 25, pp. 282–296, 2003.

[23] Zhang X. Huang T.S. Liu, Y., “Estimation of 3d structure and motionfrom image corners”, Pattern Recog. 36, 2003.

[24] Xiaoyun Zhang, Yuncai Liu, e Thomas S. Huang, “Determining3d structure and motion of man-made objects from image corners”,SSIAI ’02: Proceedings of the Fifth IEEE Southwest Symposium onImage Analysis and Interpretation, p. 26, 2002.

[25] D. G. Lowe, “Fitting parameterized three-dimensional models toimages”, Pattern Analysis and Machine Intelligence, IEEE Transac-tions on, vol. 13, no. 5, pp. 441–450, 1991.

[26] Chien-Ping Lu, Gregory D. Hager, e Eric Mjolsness, “Fast and glob-ally convergent pose estimation from video images”, IEEE Trans.Pattern Anal. Mach. Intell., vol. 22, no. 6, pp. 610–622, 2000.

[27] F. Ababsa e M. Mallem, “Robust camera pose estimation combining2d/3d points and lines tracking”, em 2008 IEEE International Sym-posium on Industrial Electronics (IEEE ISIE’08), Cambridge, UK,30 June - 02 July de 2008, pp. 774–779.

[28] Peter Huber, Robust Statistics, Wiley, New York, 1981.[29] Rakesh Kumar e Allen R. Hanson, “Robust methods for estimating

pose and a sensitivity analysis”, CVGIP: Image Underst., vol. 60,no. 3, pp. 313–342, 1994.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 179

Ferramenta de Simulacao Computacional Grafica de Sistemas AutomatizadosP0937

Pedro Eduardo Sobrinho Da Silva, [email protected]

Abstract – The Petri networks as a tool for computational sim-ulation of systems of discreet events are used in many scientificareas, specifically automation of industrial systems. So, thedevelopment of education tools that allow the pedagogic sup-port in teaching in this area is relevant. This paper is aboutthe development of a tool of computational graphic simulationof automated systems, called PetriSim. Fundamental conceptsrelated to Petri networks will be discussed as well the develop-ment of the tool PetriSim.

Resumo – As redes de Petri como ferramenta de simulacaocomputacional de sistemas de eventos discretos sao utilizadasem muitas areas cientıficas, nomeadamente na automacao desistemas industriais. Assim, o desenvolvimento de ferramen-tas educacionais que permitam o apoio pedagogico no en-sino de unidades curriculares na area e relevante. Este ar-tigo versa sobre o desenvolvimento de uma ferramenta desimulacao computacional grafica de sistemas automatizados,denominada PetriSim. Conceitos fundamentais das redes dePetri sao apresentados assim como o desenvolvimento da fer-ramenta.

Keywords – Industrial Automation, Petri Network, ElectronicLearning

Palavras chave – Automacao Industrial, Redes de Petri,Aprendizagem Electronica

I. INTRODUCAO

As Redes de Petri sao uma tecnica de modelacaomatematica e grafica, que permite escrever e estu-dar processamentos de sistemas concorrentes, paralelos,assıncronos, distribuıdos e nao determinısticos. Historica-mente, o conceito das Redes de Petri teve origem no tra-balho de Carl Adam Petri na sua dissertacao, entregue em1962 na Faculdade de Matematica e Fısica da UniversidadeTecnica de Darmstadt, pretendendo estudar a comunicacaoentre automatos [1]. As Redes de Petri podem ser aplicadasnuma grande variedades de areas, tais como:

• Automacao de edifıcios (Domotica);• Manufactura industrial;• Avaliacao de desempenho;• Protocolos de comunicacao;• Circuitos integrados e sistemas electronicos;• Sistemas de informacao;• Sistemas distribuıdos;• Sistemas de producao.

As Redes de Petri podem ser classificadas como sendo deBaixo e Alto nıvel e Autonomas e Nao Autonomas, comose ilustra na Tabela 1.

Redes de Petri Automatas Nao AutomatasCondicao-Evento Interpretadas

Baixo Nıvel Elementares SincronizadasLugar Transicao Temporizadas

Predicado TransicaoAlto Nıvel Coloridos Reactivas

Objecto

TABELA ICLASSIFICACAO DAS REDES DE PETRI

A representacao grafica das Redes de Petri basica e con-stituıda por dois componentes, o passivo e o activo. O pas-sivo e denominado de lugar (representado por um cırculo ouelipses), que equivale a possıveis estados de um sistema. Oactivo, chamado de transicao (representado por uma barras,segmentos de recta ou rectangulos), que equivale a eventosou accoes que alteram os estados do sistema [2]. Estesestao interligados por arcos direccionados ou orientados.Os elementos graficos de uma rede de Petri elementar saoilustrados na figura 1.

Fig. 1ELEMENTOS GRAFICOS FUNDAMENTAIS DAS REDES DE PETRI

Este tipo de ferramenta de modelacao de sistemas de even-tos discretos e ensinado em varias unidades curriculares,nomeadamente na unidade curricular de Automacao Indus-trial do curso de Engenharia Electrotecnica e de Computa-dores da UTAD. No contexto de Automacao Industrial estaferramenta e utilizada para modelar sistemas de manufac-tura industrial, que permitem a implementacao de contro-ladores logicos programaveis para os mesmos. Assim, odesenvolvimento de ferramentas educacionais que permi-tam auxiliar o ensino das mesmas e de grande utilidade, emparticular utilizando tecnicas chamadas de e-learning.O objectivo global deste projecto e o desenvolvimento de

uma ferramenta de simulacao computacional grafica quesirva de apoio a aprendizagem de competencias na area dasRedes de Petri. A ferramenta desenvolvida, que sera expli-cada neste artigo, foi designada de PetriSim. O PetriSim

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

180 PEDRO SILVA [23099]

foi criado atraves da ferramenta Adobe Flash CS3. A ferra-menta desenvolvida sera disponibilizada atraves de um siteda internet a alojar num servidor.

II. SOFTWARES UTILIZADOS

Neste capıtulo sao descritos os softwares utilizados no de-senvolvimento da ferramenta de simulacao computacionalgrafica de eventos discretos PetriSim.

A. Funcionamento do Adobe Flash CS3

Adobe Flash, ou simplesmente Flash, e um softwareacima de tudo de desenho vectorial, geralmente usado nageracao de animacoes interactivas e estas utilizadas empaginas Web. O Flash utiliza tambem uma linguagem deprogramacao chamada ActionScript. Esta e, simplesmente,uma forca dentro das aplicacoes Flash que permite ir alemde simples animacoes e dar a estas inteligencia, poder eclasse. E conhecida tambem por ser uma linguagem deprogramacao poderosa [3]. Devido a grande variedade derecursos fornecidos pelo Flash, e possıvel criar varios tiposde aplicacoes. A seguir apresentam-se exemplos de algunstipos de aplicacoes Flash que se podem criar:

• Animacoes, que incluem cartoes de aniversario on-line, banner e caricaturas.• Jogos, que combinam a capacidade de animacao Flash

com a logica das capacidades ActionScript.• Interface dos utilizadores. Varios designers usam o

Flash para criarem paginas Web. As interfaces tembarras de navegacao simples, assim como interfacesmais complexas.• Areas de mensagem flexıvel. Estas sao areas nas

paginas Web utilizadas pelos designers para expor asinformacoes que mudam ao longo do tempo.• Aplicacoes na Internet. Estas incluem um espectro

amplo de aplicacoes que fornecem uma boa interfacepara o utilizador visualizar e manipular remotamenteos dados armazenados atraves da Internet [4].

Para criar uma aplicacao Flash geralmente realiza-se asseguintes etapas basicas:

1. Decidir quais as tarefas basicas da aplicacao que sevai executar.

2. Construir e introduzir os elementos da aplicacao,como vıdeos, sons, imagens e textos.

3. Organizar os elementos da aplicacao no estagio e nocronograma para definir quando eles aparecem.

4. Aplicar efeitos especiais aos elementos da aplicacao.5. Escrever o codigo em ActionScript para controlar

o comportamento dos elementos da aplicacao, in-cluindo quais os elementos correspondentes para usarinteraccoes.

6. Testar a aplicacao em todo o processo da criacaopara determinar se esta a funcionar como planeado eencontrar eventuais erros na construcao [4].

Fig. 2ADOBE FLASH CS3

B. Funcionamento do Adobe Dreamweaver CS3

O Adobe Dreamweaver permite, atraves das suas carac-terısticas visuais, criar paginas Web sem inserir uma linhade codigo. E possıvel ver todos os elementos activos do sitee arrasta-los a partir de um painel facil de usar directamentenum documento. O trabalho pode ser racionalizado atravesda criacao e do desenvolvimento de imagens em qualqueraplicacao grafica e em seguida introduzi-los directamenteno Dreamweaver. Este software fornece tambem ferramen-tas que tornam mais facil adicionar aplicacoes Flash naspaginas Web [4].Para alem das funcionalidades de arrastar e largar que aju-

dam a criacao de paginas Web, o Dreamweaver forneceum full-featured de codificacao ambiente, isto inclui umcodigo de edicao de ferramentas, como codigo colorido,tag conclusao, uma barra de codificacao de ferramentase codigo colapso. E tambem fornecido material de re-ferencia sobre a linguagem Cascading Style Sheets (CSS),JavaScript, ColdFusion Markup Language (CFML), en-tre outras. No Dreamweaver pode fazer importacoes dedocumentos HTML sem reformatar o codigo, ou seja,podendo-se reformatar o codigo com formatacao do estilopreferido [4].O Dreamweaver permite tambem criacoes dinamicas,

aplicacoes de base de dados Web usando servidores comtecnologias, como CFML, ASP.NET, ASP, JSP e PHP. Podetambem trabalhar com dados XML, ja que o Dreamweaverfornece ferramentas que permitem que criar facilmentepaginas XLST, anexar arquivos XML, e exibir Dados XMLem paginas da Web [4].O Dreamweaver e completamente personalizavel, isto

porque, ao usar novos comportamentos, propriedadesinspectores e relatorios do site, pode-se criar objectos ecomandos proprios, modificar os atalhos do teclado, eate mesmo escrever um codigo JavaScript para alargar ascapacidades do Dreamweaver [4].

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 181

Fig. 3ADOBE DREAMWEAVER CS3

III. DESENVOLVIMENTO DA FERRAMENTA PETRISIM

A estrutura seguida no desenvolvimento da ferramenta estasumariada nos seguintes pontos, relacionadas com topicosfundamentais das redes de Petri:

• Conceitos elementares• Estruturas elementares• Redes de Petri Generalizadas• Limitacao de Capacidade• Arco Inibidor• Exemplos de Modelacao

A. Conceitos elementares

Nos conceitos elementares sao introduzidos varias nocoes,dos quais destaco: o lugar, transicao, arcos e marcas (to-kens) ilustrado na figura 1. Dos varios conceitos a ferra-menta disponibiliza varios exemplos. Considere-se o ex-emplo classico da Maquina de Chocolates (Oliveira, 2007):Neste exemplo esta representada uma maquina automaticaque vende dois tipos de chocolate: A e B. Os chocolates Acustam 15 centimos e os B custam 20 centimos. A maquinaso aceita moedas de 5 e 10 centimos e nao devolve trocos.Depois de introduzir a quantia certa o utilizador pressionao botao A ou B e a maquina liberta o chocolate respectivo,passando ao estado inicial, sem devolver qualquer quantiaem excesso. Apresenta-se um modelo para este sistema nafigura 4.

Fig. 4REDE DE PETRI PARA A MAQUINA DE CHOCOLATES

Este exemplo permite compreender as nocoes de:validacao e disparo de uma transicao, marcacao, evolucaoda rede de Petri, da importancia dos significados de cadalugar e transicao.

B. Estruturas elementares

Nas estruturas elementares sao apresentados os conceitosde varios tipos de estruturas. A primeira estrutura apresen-tada e a sequencial com um pequeno exemplo ilustrado nafigura 5. Este exemplo demonstra que a estrutura sequen-cial nao e mais do que uma sequencia de eventos e estados.

Fig. 5ESTRUTURA SEQUENCIAL

Outra estrutura apresentada diz respeito a modelacao desequencias paralelas, figura 6. Neste exemplo e possıvelilustrar duas sequencias de operacoes que sao iniciadassimultaneamente a partir de um evento ligado a umatransicao, que vao evoluir de forma paralela e indepen-dentes.

Fig. 6ESTRUTURA PARALELA

Incluem-se estruturas com conflito, figura 7, onde se desta-cam dois tipos de conflitos: o conflito estrutural e o conflitoefectivo. E incluıdo um modelo que permite resolver umconflito, figura 8.

Fig. 7ESTRUTURA COM CONFLITO

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

182 PEDRO SILVA [23099]

Fig. 8RESOLUCAO DE CONFLITO

A estrutura com exclusao mutua onde se demonstra quedois processos que partilham um recurso, nao sao executa-dos simultaneamente como pode observar na figura 9.

Fig. 9ESTRUTURA COM EXCLUSAO MUTUA

Por fim apresenta-se a estrutura com ciclo proprio atravespequeno exemplo ilustrado na figura 10. Um ciclo proprioexiste quando um lugar e simultaneamente lugar de saıda eentrada da mesma transicao.

Fig. 10ESTRUTURA COM CICLO PROPRIO

Podemos ainda encontrar um exemplo chamado de Car-ros em paralelo onde a evolucao da rede de Petri e acom-panhada pelos respectivos significados de cada lugar etransicao e tambem a animacao dos dois carros num cir-cuito com sensores de fim de curso ver na figura 11.O exemplo representa dois carros C1 e C2 que transportam

materiais entre dois pontos. Inicialmente o C1 esta em A eC2 em C. Quando o botao de pressao, m, e activado, C1faz o ciclo ABA e C2 o ciclo CDC, com sensores de fimde curso: a, b, c, d, nas posicoes correspondentes. Apesardos carros iniciarem as viagens simultaneamente, estes po-dem deslocar-se com velocidades diferentes, podendo ter-minar os ciclos separadamente. Quando ambos os carros

Fig. 11CARROS

terminarem os seus ciclos, pode-se iniciar um novo ciclo.A rede de Petri que modela este sistema encontra-se repre-sentado na figura 12.

Fig. 12REDE DE PETRI DO EXEMPLO CARROS

C. Rede de Petri generalizada

Nas redes de Petri generalizadas a diferenca entre estase as redes de Petri elementares sao os pesos que estaoassociados aos arcos, assim as nocoes de validacao edisparo de uma transicao nas redes de Petri vao ter algumasalteracoes em relacao as redes de Petri elementar, podendoser compreendidas no exemplo implementado no PetriSimilustrado na figura 13.

Fig. 13EXEMPLO DE VALIDACAO E DISPARO DE UMA REDE DE PETRI

GENERALIZADA

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 183

Nesta seccao o PetriSim tem um exemplo chamado deLinha de Montagem ilustrada na figura 14.

Fig. 14EXEMPLO LINHA DE MONTAGEM

A Linha de Montagem e constituıda por uma maquina Mque fabrica produtos R, que resultam da montagem de doiscomponentes A com tres componentes B. Os componentesA entram no sistema para um buffer de armazenagem BA,um a um. Os componentes B entram no sistema para umbuffer de armazenagem BB, um a um. Depois de produzi-dos os produtos R sao depositados num buffer RR antes desaırem do sistema. Esta ilustrada na figura 15 a rede de Petrique modela este sistema.

Fig. 15REDE DE PETRI DO EXEMPLO LINHA DE MONTAGEM

D. Limitacao de capacidade

A limitacao de capacidade e necessaria quando se pretendelimitar um lugar, ou seja, podemos associar a um lugar umnumero inteiro e este esta associado ao numero de marcasmaximas que o lugar pode conter, como podemos observarno exemplo ilustrado na figura 16.

Fig. 16EXEMPLO DE UM LUGAR COM LIMITACAO

Neste exemplo a Linha de Montagem representada nafigura 16, os buffers vao ser limitados para que os buffersde entrada BA e BB, tenham a sua capacidade limitada a 2e 3 componentes, respectivamente, atrves dos lugares P´1 eP´2, que sao o numero de vagas existentes nos buffers BA eBB, respectivamente como podemos observar na figura 17.

Fig. 17REDE DE PETRI DO EXEMPLO LINHA DE MONTAGEM COM LIMITACAO

E. Arco Inibidor

O arco inibidor e um arco que consiste em nao permi-tir a validacao de uma transicao se esta estiver ligada aum lugar com marca, logo se o lugar nao tiver marca atransicao e validada. O arco inibidor e representado porum cırculo na sua extremidade. No PetriSim encontramosum exemplo onde tem a validacao ou nao de uma transicaoe a sua representacao grafica numa rede de Petri elementarilustrada na figura 18.

Fig. 18EXEMPLO DE UM ARCO INIBIDOR

Neste exemplo ilustrado na figura 19 e apresentado um sis-tema classico de manufactura. Uma maquina, M, que re-cebe pecas para maquinar, J, de um buffer de entrada Q.

Fig. 19SISTEMA DE MANUFACTURA

O ciclo de funcionamento rege-se pelas seguintes regras:as pecas entram uma a uma para o buffer; a maquina, re-cebe as pecas uma a uma do buffer; a maquina so processauma peca de cada vez; quando se da inicio a fase de pro-cessamento, termina a fase de recepcao de pecas para obuffer; o fim da fase de processamento ocorre quando todasas pecas a espera de processamento no buffer tiverem sidomaquinadas, iniciando-se novamente a fase de recepcao depecas; inicialmente nao existe o fornecimento de pecas para

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

184 PEDRO SILVA [23099]

a aguardar no buffer ou em processamento na maquina; e,considera-se que o fornecimento de pecas para o buffer elimitado. O sistema modelado esta ilustrado na figura 20.

Fig. 20REDE DE PETRI DO SISTEMA DE MANUFACTURA

F. Exemplos de Modelacao

Nesta seccao sao apresentados exemplos de modelacao deredes de Petri que contem todos os conceitos e nocoes co-mentados anteriormente.

F.1 Exemplo semaforos

Neste exemplo estao representados dois semaforos SM1e SM2 que regulam o transito dos carros num cruzamentocomo se ilustra na figura 21.

Fig. 21EXEMPLO SEMAFOROS

A modelacao deste sistema de dois semaforos encontra-seilustrada na figura 22.

Fig. 22REDE DE PETRI DO EXEMPLO SEMAFOROS

F.2 Exemplo Produtor-consumidor

Versao IO exemplo representa um problema do produtor-

consumidor, em que o produtor produz um componente decada vez, depositando-o num buffer, o consumidor levantaum componente de cada vez do buffer, ilustrada na figura23.

Fig. 23Buffer E CONSUMIDOR

A figura 24 representa a modelacao do sistema para esteexemplo.

Fig. 24REDE DE PETRI DA VERSAOI

Versao IINesta versao o buffer esta limitado a tres componentes,

para isto acontecer foi inserido um lugar P6 para limitar obuffer P3 a tres marcas.A figura 25 representa da modelacaodo sistema para este exemplo.

Fig. 25REDE DE PETRI DA VERSAOII

Versao IIINeste exemplo existe um produtor que serve dois consumi-

dores, atraves de um buffer. Os consumidores tem a mesmaprioridade no acesso ao buffer, ilustrada na figura 26.

Fig. 26Buffer E CONSUMIDORES

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 185

A figura 27 representa da modelacao do sistema para esteexemplo.

Fig. 27REDE DE PETRI DA VERSAOIII

Versao IVNesta versao existe um produtor que serve dois consum-

idores, atraves de um buffer. Neste caso o acesso aobuffer por parte dos consumidores e feito em alternanciacomecando o produtor 1. Os lugares P8 e P9 garantem aalternancia no acesso ao buffer.A figura 28 representa damodelacao do sistema para este exemplo.

Fig. 28REDE DE PETRI DA VERSAOIV

F.3 Exemplo tapete rolante

Neste exemplo apresenta-se um tapete rolante, accionadopor um motor M, que transporta pecas do tipo J1, para umdeposito de armazenamento de pecas (J1D), ilustrada nafigura 29, o motor e ligado por um botao de pressao on edesligado por um botao de pressao off, existem tres espacos,E1, E2, E3, so podem ser ocupados por uma peca de cadavez logo o tapete suporta no maximo tres pecas.Considere a seguinte modelacao para este sistema ilustrada

na figura 30.

Fig. 29EXEPLO TAPETE ROLANTE

Fig. 30REDE DE PETRI PARA O EXEMPLO TAPETE ROLANTE

F.4 Exemplo robo partilhado

Considere-se um sistema de manufactura representadona figura 31, constituıdo por dois tapetes rolantes, duasmaquinas M1 e M2, um buffer de armazenamento de pecas,B, com sete posicoes de armazenamento, e um robo R.

Fig. 31ROBO PARTILHADO

Cada ciclo de funcionamento da maquina M1 rege-se pelasseguintes regras: no inıcio a maquina esta livre; as pecas en-tram no sistema atraves de um tapete rolante, uma a uma;quando o sensor S1 fica activo (ao nıvel alto), o tapete (T1)para; o robo carrega uma peca do tapete para a maquina(M1); a peca e maquinada em M1; depois de processadaem M1 a peca e depositada no buffer intermedio, B, pelo

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

186 PEDRO SILVA [23099]

robo, caso tenha vaga disponıvel no mesmo; e, a maquinavolta ao estado inicial. Cada ciclo de funcionamento damaquina M2 rege-se pelas seguintes regras: inicialmente amaquina esta livre; as pecas semi-processadas sao levan-tadas do buffer B (caso existam), uma a uma, pelo robo R, eentram na maquina M2; a peca e maquinada em M2; depoisde processada em M2 a peca e descarregada no tapete notapete de evacuacao pelo robo, se o inıcio do tapete estiverlivre. O sensor S2 (activo ao nıvel alto) detecta a presencade uma peca no inıcio deste tapete; e, a maquina volta aoestado inicial. Apresenta-se a rede de Petri modelada paraeste sistema ilustrada na figura 32.

Fig. 32REDE DE PETRI PARA O EXEMPLO ROBO PARTILHADO

IV. CONCLUSOES

Foi elaborada uma ferramenta de simulacao computa-cional grafica de sistemas automatizados.Foram adquiridos conhecimentos em relacao as Redes

de Petri e tambem o conhecimento do funcionamento deduas ferramentas, o Adobe Flash e o Adobe Dreamweaver,bastantes importantes a nıvel profissional em relacao asimulacao grafica e manipulacao e construcao de paginasWeb. Ambos os programas sao muito completos, faceis detrabalhar, mas com muitas funcionalidades a que requer al-gum tempo de aprendizagem.O PetriSim representa uma mais valia pelo facto de permi-

tir, atraves de uma animacao interactiva, uma melhor com-preensao e percepcao dos conceitos, estruturas, modelacaode sistemas e do funcionamento das Redes de Petri.No futuro esta ferramenta pode servir de modelo teorico

de simulacao de sistemas automatizados para visualizacaoe optimizacao do sistema antes deste passar para a pratica.

BIBLIOGRAFIA

[1] Murata e Tadao, “Petri nets: Properties, analysis and application”,Proceedings of the IEEE, vol. 77, no. 4, pp. 541–580, 1989.

[2] Paulo Moura Oliveira, Modelacao e Controlo de Sistemas de Eventosdiscretos com Redes Petri: Uma Perspectiva Informal, Serie DidaticaCiencias Aplicadas, Nunber 322, first edicao, 2007.

[3] Sham Bhangal e David Powers Kristian Besley, Foundation Action-Script for Flash 8, Chris Mills, fourth edicao, 2006.

[4] Jennifer Rowe David Sullivan Jon Michael Varese Jay Armstrong,Charles Nadeau, Exploring Macromedia Studio 8, RosanaFrancescato, first edicao, 2005.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 187

Aqua DisplayP0938

Pedro Miguel Correia de Barros Gomes

Abstract – Water is essential to the existence of life and besidesbeing a natural resource of inestimable value, is also a symbolof prosperity. In many parks, buildings and coffeeshop themain attraction is the water, with various light sources andlakes. Focusing attention on water, it was developed a displayusing this operating principle as the modulation of water byopening and closing of coordinated electrovalves enabling thecreation of images and letters.

Resumo – A agua e essencial para a existencia da vida e alemde ser um recurso natural de valor inestimavel, e tambem umsımbolo de prosperidade. Em diversos parques, edifıcios ecafes a atraccao principal e a agua, existindo diversas fontese lagos luminosos. Centrando a atencao na agua, foi desen-volvido um display usando como prıncipio de funcionamentoa modulacao da agua atraves da abertura e do fecho coorde-nado de eletrovalvulas, possibilitando assim a criacao de ima-gens, e letras.Keywords – Display, Water, ElectrovalvesPalavras chave – Mostrador, Agua, Electrovalvulas

I. INTRODUCAO

Este trabalho aborda o estudo e o desenvolvimento de umdisplay de agua. Nos dias de hoje, muitos parques, edifıciose cafes locais tem algum tipo de atraccao envolvendo aagua. Atraves de processos de modulacao de agua pode-sedesenvolver verdadeiras atracoes turısticas, possibilitandodesta forma o aumento do comercio e prestıgio locais, vistoa agua ser um recurso da natureza e um sımbolo de pros-peridade.

II. DESENVOLVIMENTO

Funcionamento do display:

O princıpio de funcionamento do display baseia-se naqueda de gotas de agua, devidamente controladas, desdeuma certa altura, sendo possıvel formar com elas diversostipos de figuras e caracteres atraves do controlo da aberturadas electrovalvulas. O seu controlo e feito por softwaree o comando e feito atraves de hardware. O display ealimentado com agua, que devera ter um caudal suficientepara evitar problemas como o da falta de abastecimentopara as electrovalvulas que formam as colunas e onde aslinhas sao a sequencia de gotas a cair desde uma dadaaltura.

Funcionamento do hardware:

No controlo da queda das gotas de agua que formamo display, foi usado o PIC18F4620 [1] (programado emlinguagem C), sendo este responsavel pelo controlo daselectrovalvulas e pela implementacao da matriz gerada combase nas imagens desejadas para a apresentacao no display.O conjunto constituıdo pelo tubo que contem a agua e obloco de electrovalvulas e montado numa base sustentadapor duas pranchas laterais de madeira a aproximadamente2,0 metros de altura para que possam ser mais perceptıveisas imagens geradas pelo display.

Funcionamento do software:

O software utilizado interpreta a matriz que foi gerada apartir das imagens a apresentar no display.

Desenvolvimento do display:

No inıcio deste trabalho testaram-se diferentes elec-trovalvulas encontradas no mercado, para encontrar amais adequada a implementacao do display, uma vezque e necessario que as electrovalvulas tenham umacaracterıstica da maxima importancia, que e o seu baixotempo de resposta de modo a que as linhas ficassem o maisproximas possıvel umas das outras, aumentando assim aresolucao do display.

Processo utilizado para a modulacao da agua:

A modulacao da agua e feita atraves da coordenacaode gotas, que saem das electrovalvulas e caem de formaordenada ao longo do tempo formando as imagens durantea sua queda. As imagens sao formadas a partir de umamatriz de pontos que e codificada e enviada para aselectrovalvulas. Na queda de gotas, as imagens formam-seno espaco compreendido entre as electrovalvulas e o chao.Para o processo de codificacao da matriz foi usado umprograma, em linguagem C, que interpreta os desenhosfeitos num quadriculado. Os pontos inseridos nessequadriculado, sao interpretados como zero ou um, sendodepois de interpretados passados para as electrovalvulas.O software de controlo transmite para as electrovalvulas osdados interpretados, sendo tambem possıvel variar o tempode duracao das gotas e assim formar gotas maiores ou maispequenas.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

188 PEDRO GOMES [7341]

CRITERIOS PARA ESCOLHA DA ELEC-TROVALVULA:

Para garantir o funcionamento em modo contınuo daselectrovalvulas devem-se seguir certos criterios:- Verificacao das caracterısticas fısicas do componente;- Verificacao da tensao de trabalho;- Verificacao do tempo de resposta;

Tipos de electrovalvulas usadas para testes:

ELECTROVALVULA HIDRAULICA 1

Existe pouca variedade de componentes de pequenas di-mensoes disponıveis comercialmente para utilizacao nestetrabalho e devido a omissao de muitas especificacoestecnicas dos varios tipos de electrovalvulas, o modelo uti-lizado para inicio dos testes foi a electrovalvula utilizada namaioria das maquinas de lavar.A Figura 1 apresenta a electrovalvula hidraulica 1.

Fig. 1FOTO DA ELECTROVALVULA HIDRAULICA 1

As especificacoes tecnicas principais da electrovalvula 1:Modelo: Electrovalvula hidraulica 1Tensao de trabalho: 220/240VPressao de trabalho: 0,2 - 10 bar

ELECTROVALVULA DE CORTE DE COMBUSTIVEL

Este modelo de electrovalvula e muito utilizado em au-tomoveis equipados com gas natural. Esta electrovalvulacorta o combustıvel no momento em que o motor passa afuncionar com gas natural. Este modelo de electrovalvulaparecia ser o mais indicado para aplicacao neste trabalho,mas devido ao seu preco elevado, foi posta de parte a suautilizacao.Especificacoes tecnicas desta electrovalvula :

Modelo: Electrovalvula de corte de combustıvelTensao de trabalho: 12VccPressao de trabalho: - 0,1MPa

Fig. 2FOTO DA ELECTROVALVULA DE CORTE DE COMBUSTIVEL

ELECTROVALVULA HIDRAULICA 3

Este modelo de electrovalvula, e mais pequeno do que osapresentados anteriormente, e e vulgarmente utilizado emmaquinas de cafe e em ferros de engomar a vapor. As pe-quenas dimensoes desta electrovalvula foram decisivas nasua escolha, para ser utilizada no desenvolvimento do dis-play.

Fig. 3FOTO DA ELECTROVALVULA HIDRAULICA 3

Especificacoes tecnicas da electrovalvula 3:Modelo: Electrovalvula hidraulica CEME [2]Tensao de trabalho: 220V /240VPressao de trabalho: 0 - 1 bar

TESTES PARA A ELECTROVALVULA 1

Elaboracao do hardware de testes - electrovalvula 1:Na elaboracao do hardware para a electrovalvula 1,

usou-se um rele 6V / 220V, pois a tensao de accionamento

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 189

da electrovalvula e alta (220V). O accionamento daelectrovalvula faz-se por meio do software implementadona PIC. Esta electrovalvula e alimentada a partir da redeelectrica.

Resultados obtidos:

Nos testes realizados para a electrovalvula 1, constatou-seque o tempo de resposta (abertura / fecho) da electrovalvulapoderia tornar o display muito alto, resultando na possıveldeformacao do desenho formado pelas gotas e necessi-tava de um caudal de agua bastante aceitavel, devido asdimensoes das electrovalvulas. Assim da analise das carac-terısticas e teste desta electrovalvula, verificou-se que naoseria o modelo adequado para actuar como componente dodisplay, devido ao seu baixo tempo de resposta. Alem distoas caracterısticas da electrovalvula, tornariam o displaymuito grande.

TESTES PARA A ELECTROVALVULA 2

Resultados obtidos:

Esta electrovalvula conseguiu responder adequadamenteaos testes, com respostas satisfatorias em termos deintervalos de tempo para abertura e fecho da agua. As suasdimensoes e forma permitem a montagem lado a lado (emlinha), sendo esta caracterıstica muito importante para aconstrucao fısica do display. Uma outra vantagem destaelectrovalvula e a sua baixa tensao de trabalho, mas emcontrapartida o seu custo e comparativamente alto, ja queirao ser usadas 16 electrovalvulas, o que condiciona dealguma forma a utilizacao deste modelo. Outro pontoa ter em conta e a necessidade do desenvolvimento deuma alimentacao auxiliar, uma vez que o display vai levarum numero significativo de electrovalvulas, a corrente dealimentacao vai-se tornar elevada, visto cada electrovalvuladeste tipo necessitar de 0.6 A.

TESTES PARA A ELECTROVALVULA 3

Resultados obtidos:

Esta electrovalvula foi a que melhor respondeu aos testesde abertura e fecho, com respostas satisfatorias em termosde abertura e fecho. A sua reduzida dimensao demonstraser bastante adequada para ser efectuada uma montagemem serie (lado a lado), sendo esta caracterıstica muitoimportante para a construcao fısica do display. Outroponto positivo desta electrovalvula e o facto de ser menosdispendiosa que a electrovalvula de corte de combustıvel.Pelas caracterısticas que esta electrovalvula apresenta, foia escolhida para o desenvolvimento do trabalho.

INICIO DO DESENVOLVIMENTO DO PROTOTIPO

Apos se concluir que a electrovalvula mais indicada parao uso no display seria a electrovalvula 3, deu-se ınicioa construcao do prototipo. A construcao deste prototipo

e decisiva para a viabilidade eco e tecnica do display, jaque nao sera desenvolvido nenhum equipamento ou pecadedicada especialmente para esta construcao. Todas aspecas utilizadas na sua concepcao encontram-se a vendaem lojas de material electronico e em lojas de reparacaode electrodomesticos, a excepcao da estrutura fisıca desuporte as electrovalvulas que sera feita artesanalmente.

DESENVOLVIMENTO DO HARDWARE

A placa contara entao com um regulador de tensao 7805[4] de forma a fornecer uma tensao constante a PIC, comum microcontrolador da microchip PIC 18F4620 e com umRele Iskra trk 1403 de 6V / 220 V. Este rele e responsavelpor efectuar o accionamento de dispositivos de maiorpotencia (neste caso a electrovalvula), com um integradoULN 2803 [3] e com algumas resistencias e diodos. Orele pode ser alimentado por uma fonte de alimentacaoseparada, com 10 ou 12 volts. Usou-se um diodo roda-livreem paralelo com a bobine do rele para fazer com que acorrente ande ”a roda”entre o diodo e a bobine oferecendodeste modo um caminho alternativo para a corrente circularquando a bobine e aberta. A figura abaixo mostra o circuitopara o primeiro prototipo desenvolvido.

Fig. 4CIRCUITO PARA CONTROLO DA ELECTROVALVULA

Montagem da alimentacao hidraulica

Um dos pontos prıncipais para ser implementado odisplay e a parte hidraulica com caudal suficiente, pois seraatraves do fornecimento de agua em quantidade suficienteque se poderao visualizar correctamente as imagens. Naslojas que comercializam acessorios hidraulicos, existemvarias conexoes e tubos, mas optou-se por conceber ummodelo artesanal constituıdo por um tubo de pvc (quefunciona como reservatorio) com um orificio de saıda deagua para cada electrovalvula, ao qual esta acoplada umabase de madeira que servira como suporte para a estrutura.

Desenvolvimento do software do prototipo

Nos testes de desempenho do software utilizou-se umamatriz codificada atraves de um desenho numa quadrıcula

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

190 PEDRO GOMES [7341]

Fig. 5PROTOTIPO PARA A ALIMENTACAO HIDRAULICA

em que se tentou desenhar a letra L. O software devera sercapaz de interpretar a matriz e controlar as electrovalvulasde forma a que as gotas saiam das electrovalvulas deacordo com o desenho.A codificacao das linhas, pela ordem de processamento

(Exemplo para o caso de termos 5 electrovalvulas) :

10000 - 5o linha10000 - 4o linha10000 - 3o linha10000 - 2o linha11100 - 1o linha

Fig. 6MATRIZ DE PONTOS FORMADA

TESTES INICIAIS DO PROTOTIPO:

Os testes foram realizados apos a montagem da partehidraulica, da sustentacao da electrovalvula e do desen-volvimento do software. Verificou-se inicialmente, que asgotas de agua nao caiam de uma forma contınua, devidoas bolhas de ar que circulam juntamente com a agua natubagem. A solucao foi fazer um sangramento inicial,deixando a agua correr em fio ( mantendo a electrovalvulaaberta ), ate que as bolhas de ar desaparecessem e deixarem aberto o orifıcio de enchimento da tubagem, actuandoeste como dreno de ar.

DESENVOLVIMENTO DO SOFTWARE:

No desenvolvimento do software foi criado um fluxo-grama que previa um display com 16 electrovalvulas (masinicialmente so sera usada 1). No entanto sera criado umesquema que faca uma leitura de oito em oito colunas paracada porto do microcontrolador. O fluxograma mostraresumidamente os processos para a leitura da matriz dedesenho e escrita nas electrovalvulas.

Fig. 7FLUXOGRAMA DO SOFTWARE DO DISPLAY

Finalmente, pode-se adaptar um recipiente e uma bombade agua com o objectivo de efectuar o retorno da aguaa tubagem das electrovalvulas. Como forma de tornaras figuras formadas mais visıveis pode ser adicionadailuminacao exterior direccionada para as gotas de agua.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 191

III. CONCLUSOES

O prototipo do display mostrou-se muito interessante du-rante o seu desenvolvimento. Apesar de alguns problemasque surgiram durante sua criacao, e possıvel com recursoa mais electrovalvulas e melhoria do software utilizadoa implementacao de um modelo totalmente funcional. Oreservatorio da alimentacao hidraulica das electrovalvulasfuncionou de forma razoavel para uma electrovalvula,mas se o numero de electrovalvulas aumentar, deveraser necessario um aumento de pressao na conduta quealimenta as electrovalvulas. Neste prototipo nao foiprevisto nenhum sistema de controlo de pressao, pois aagua entra nas electrovalvulas por gravidade. O sistemafinal devera ser composto por uma valvula de desvie ofluxo de agua desnecessario para um detector de nıvel eque podera eventualmente ter um comparador, sendo destemodo possıvel verificar a pressao em tempo real.

BIBLIOGRAFIA

[1] Microchip, Datasheet PIC18F4620.http://ww1.microchip.com/downloads/en/DeviceDoc/39626e.pdf

[2] C.E.M.E. Electrovalves, Electropompes, Pressostati.http://www.ulka.it

[3] TI, Datasheet Darlington Transistor Array - ULN2803A.http://focus.ti.com/lit/ds/symlink/uln2803a.pdf

[4] Regulador Tensao, Datasheet Regulador Tensao 7805.http://www.datasheetcatalog.net/

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 193

Estudo e desenvolvimento de um sensor para o crescimento da uvaP0939

Nuno Andre Guerra Pimenta, n guerra [email protected]

Abstract – With this work, we have studied and developeda sensor to measure the the grapes growth. It is presentedthe theory and structure of the developed sensor, which hasbeen based on the integrated circuit AS5304A, capable of lin-ear measuring using one magnetic strips iman. In the sameway, it is presented the study of the working principle of othersensors, which could also have been used in this application.

Resumo – Neste trabalho estudou-se e desenvolveu-se um sen-sor para a medicao do crescimento do bago de uva. E ap-resentada a fundamentacao teorica e a estrutura do tipo desensor desenvolvido, baseado no circuito integrado AS5304Apara medicao linear usando um ıman de tiras magneticas. Domesmo modo, e apresentado o estudo do princıpio de fun-cionamento de outros de sensores, que poderiam tambem serconsiderados nesta aplicacao.

Keywords – Sensor, Grape, AS5304A

Palavras chave – Sensor, Uva, AS5304A

I. INTRODUCAO

Este projecto tem como objectivo fazer uma avaliacao desensores para aplicar na deteccao do crescimento de umbago de uva e a partir daı desenvolver o sensor que for maisvantajoso. Assim, fez-se um estudo dos diferentes tipos decastas, para determinar o diametro maximo que um bagopodera atingir e tambem a estrategia para posteriormenteimplementar o sensor. Pretendeu-se encontrar uma solucaoque fosse vantajosa em varios aspectos. Depois de analisaras hipoteses, optou-se por usar a implementar sobre o cir-cuito integrado AS5304A com o ıman de tiras magneticas,que permite determinar a medicao do movimento linear.Neste artigo, numa primeira fase e mostrado o estudorealizado sobre todos os tipos de sensores que poderiamter sido desenvolvidos, demonstrando o modo como estesfuncionam e quais as vantagens e desvantagens da suaimplementacao. Numa fase posterior, descreve-se o sensorescolhido a implementar, mostrando as suas caracterısticas,o seu modo de funcionamento, bem como os resultadosobtidos.

II. ESTUDO DO SENSOR

A. Sensor Indutivo

Os sensores indutivos associam a variacao de uma

grandeza nao electrica a uma alteracao da indutancia oucoeficiente de auto-inducao de uma bobina. Apesar de aindutancia de uma bobina ser funcao da permeabilidademagnetica do nucleo e da sua forma e dimensoes fısicasrespectivas, e a primeira destas variaveis que geralmentese utiliza para detectar as variacoes nas grandezas a medir.A variacao da indutancia e uma consequencia da variacaodo fluxo magnetico total, gerado pela corrente electrica nabobina, seja devido a variacao da posicao do nucleo nointerior, seja devido a variacao da distancia entre aquelae um objecto externo constituıdo por uma material deelevada permeabilidade magnetica. A indutancia dependedos seguintes factores:

L =mN2A

l(1)

Sendo:L - induntancia;m - permeabilidade do nucleo;N - numero de espiras;A - area da espira;l - comprimento do enrolamento

Assim, na determinacao do tamanho do bago poderıa-seutilizar um sensor indutivo que fosse capaz de medir deslo-camento (Fig.1). O sensor e constituıdo por uma bobinacujo nucleo magnetico e movel e encontra-se fisicamenteligado ao objecto cujo deslocamento se pretende medir.O deslocamento do nucleo altera o fluxo magnetico totaldesenvolvido, por variacao da relacao entre o numero deespiras enroladas sobre o nucleo magnetico e sobre o ar.

• LVDT

O LVDT (linear variable differential transformer) e um dossensores indutivos mais comuns na medida de desloca-mentos lineares, sendo conhecido pela sua sensibilidade,resolucao e repetibilidade. Este tipo de sensor converte omovimento do objecto ao qual esta ligado mecanicamentenuma resposta electrica. O LVDT e o unico sensor quese sabe ja ter sido usado com a finalidade de medir ocrescimento da uva.

O funcionamento deste sensor baseia-se na Lei da inducaode Faraday, garantindo a geracao de um campo magneticopor um campo electrico variavel e de um campo electricopor um campo magnetico variavel. Possui tres enrola-

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

194 NUNO PIMENTA [26461]

Fig. 1UM TIPO DE SENSOR INDUTIVO

Fig. 2IMAGEM DE UM LVDT

mentos independentes (um primario e dois secundarios)espacados ao longo de um tubo isolador e um nucleocilındrico de material ferromagnetico de alta permeabili-dade. Esses tres enrolamentos sao tres bobinas em que abobina central e chamada de primaria e e alimentada poruma tensao alternada (AC) e as demais sao chamadas desecundarias, sendo identicas e colocadas simetricamenteem torno da bobina primaria. Este tipo de sensoresfunciona devido a variacao da indutancia mutua, que severifica entre a bobina primaria e cada uma das outras duasbobinas, quando o nucleo no interior e movido por algumobjecto (neste caso especifico devido ao crescimento dauva). O sinal de saıda e um sinal linear proporcional aodeslocamento do nucleo, que esta fixado ou em contactocom o que se deseja medir [1].

Fig. 3VISTA EM CORTE DE UM LVDT

A corrente aplicada na bobina primaria, induz umatensao em cada bobina secundaria proporcional a in-dutancia mutua com a bobina primaria. A movimentacaodo nucleo provoca variacoes na indutancia mutua, estaindutancia mutua varia, fazendo com que as tensoes nasbobinas secundarias tambem sejam alteradas, pois a ligacaoentre as duas bobinas do secundario e feita em ligacaoserie reversa. A tensao de saıda e a diferenca entre as duastensoes secundarias. O sinal electrico de saıda do LVDTe a tensao diferencial AC entre as bobinas secundarias,que varia com a posicao axial do nucleo interno e a bobinaLVDT.Quando o nucleo esta no ponto central do LVDT a inducaoem cada bobina secundaria e a mesma, logo a diferencaentre as tensoes e nula, ou seja tensao de saıda e 0V(V0=V1-V2).

Fig. 4SINAL DE CADA BOBINA E SINAL DE SAIDA QUANDO LVDT ESTA

COM O NUCLEO NA POSICAO CENTRAL

Se o nucleo estiver localizado na posicao a esquerda, con-forme podemos ver na figura seguinte, a tensao induzidana bobina 1 (V1) e superior a induzida na bonina 2 (V2).Assim, surge uma tensao de saıda V0 que estara em fasecom a tensao de entrada.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 195

Fig. 5SINAL DE CADA BOBINA E SINAL DE SAIDA QUANDO LVDT ESTA

COM O NUCLEO NA POSICAO ESQUERDA

Se o nucleo estiver localizado na posicao a direita(Figura 6), a tensao induzida na bobina 1 (V1) e inferiora induzida na bonina 2 (V2). Logo, surge uma tensao desaıda V0 que estara em oposicao de fase com a tensao deentrada.

Fig. 6SINAL DE CADA BOBINA E SINAL DE SAIDA QUANDO LVDT ESTA

COM O NUCLEO NA POSICAO DIREITA

As suas principais caracterısticas sao:

- Operacoes com baixa friccao;- Resolucao infinita;- Vida mecanica ilimitada;- Eixo unico de sensibilidade;- Bobina e nucleo separaveis;- Ambientalmente robusto;- Ponto de repetibilidade nulo;- Rapida resposta dinamica;- Saıda absoluta;- Sensibilidade normalmente encontrada no mercado varia

entre 0,2 a 2 Volts/cm;- A gama de medidas varia entre 100um e 25cm. Quanto

maior o deslocamento menor a sensibilidade;- O erro do LVDT em geral e de 0,5 a 2 para a maxima

saıda;

- Linearidade: 0.25;- Resolucao: 0.1.

• Sensor de Entreferro Variavel

O sensor de entreferro variavel (Figura7), tem um pro-cesso mecanico muito parecido ao sensor capacitivo. Estetipo de sensor que serve para medicao de distancias muitopequenas e composto por uma bobina e uma armaduraferromagnetica movel que sera movida conforme o cresci-mento do objecto.

Fig. 7SENSOR DE ENTREFERRO VARIAVEL

Tendo em conta que as seccoes da bobina e do entreferrosao identicas, a auto indutancia da bobina e dada pela ex-pressao:

L = µ0φn2

l0(2)

Sendo:u0 - permeabilidade magnetica do ar;l0 - extensao longitudinal do entreferro.

Quando existe um deslocamento infinitesimal da ar-madura da-se uma variacao do entreferro igual a dl0=2dx.Desta forma, o incremento relativo na auto-indutanciadevido ao deslocamento da armadura toma a seguinteforma:

dL

L= −2

dx

l0 + 2dx(3)

Se l0� 2dx entao, dLL = −2dx

l0 (4)

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

196 NUNO PIMENTA [26461]

B. Sensor Capacitivo

Um sensor ou transdutor capacitivo e um condensador queexibe uma variacao do valor nominal da capacidade emfuncao de uma grandeza nao electrica. Os sensores ca-pacitivos permitem medir com grande precisao um grandenumero de grandezas fısicas, tais como a posicao, o deslo-camento, a velocidade e a aceleracao linear ou angular deum objecto, a humidade, a concentracao de gases e o nıvelde lıquidos ou solidos; a forca, o torque, a pressao e a tem-peratura; mas tambem detectar a proximidade de objectos,a presenca de agua e de pessoas, entre outros. Estes dispos-itivos podem tomar diversas formas sendo no entanto maiscomuns apresentarem uma configuracao planar (Figura 8).Este condensador consiste em duas placas condutoras sep-aradas por um dielectrico, sendo a capacidade do disposi-tivo directamente proporcional a area da seccao transversalde sobreposicao das placas e inversamente proporcional adistancia existente entre as placas [2]. A expressao geralrepresentativa deste transdutor e [3]:

C = Kε0A

d(5)

Sendo,K - constante dielectrica;E0 - permitividade do meio;A - area de sobreposicao de placas;d - distancia entre as placas.

Fig. 8SENSOR CAPACITIVO

A capacidade do sensor altera-se devido a variacao dadistancia entre as duas placas, pela variacao da areapartilhada entre as placas, ilustradas na (Figura9) ou atepela variacao da constante dielectrica.

Fig. 9VARIACAO DA DISTANCIA E DA AREA PARTILHADA ENTRE AS

PLACAS

Na aplicacao do trabalho da deteccao do tamanho do bagode uva o mais eficaz seria desenvolver um sensor capacitivocujo sinal de saıda varie com a distancia entre as duasplacas paralelas. Nesta estrategia, o sensor e baseado numavariacao da distancia entre placas sendo uma fixa e a outrasolidaria com o processo a medir (Figura10).

Fig. 10CONDENSADOR DE PLACAS PARALELAS VARIAVEL COM A

DISTANCIA ENTRE PLACAS

As suas principais caracterısticas sao:

- Elevada resolucao;- Estabilidade;- Imunidade a temperatura;- Podem tomar diversas formas;

C. Extensometro

Extensometro e um transdutor capaz de medirdeformacoes de corpos, sendo o seu princıpio de fun-cionamento baseado no facto de que as deformacoesimpostas a este sensor implicam variacoes na sua re-sistencia electrica. Assim, uma vez ligados a estrutura,podem medir-se deformacoes a partir de medidas electricasextraıdas do extensometro. Por exemplo, se temos umfio metalico de resistencia R e o mesmo sofre umadeformacao entao a resistencia muda de um factor, G vezesa deformacao, onde G e chamado de factor de medida.Nos metais esse valor e de aproximadamente 2, enquantopara semicondutores chega a 100. Existem varios modelos

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 197

construtivos de extensometros dependendo da aplicacao,sendo utilizados em transdutores de deslocamento, forca,carga, pressao e binario. Geralmente, um extensometro econstituıdo por um filamento metalico de seccao reduzidaassente num material elastico (Figura11). Se esta baseestiver solidaria com o material a testar, o extensometrodeforma de igual modo [4].

Fig. 11EXTENSOMETRO TIPICO

A sensibilidade de um extensometro define-se por:

K =4R/R/l

(6)

Sendo,4R/R− variacaorelativaderesistencia;4l/l − variacaorelativadecomprimento.

Assuasprincipaiscaracterısticassao [5] :Alta precisao de medicao;Pequeno tamanho e pouco peso;Facil utilizacao desde que conhecida uma boa tecnica;Medicoes possıveis dentro de uma ampla faixa de tem-

peratura;Pode ser aplicado em agua ou em atmosfera de gas cor-

rosivo desde que utilizando um tratamento adequado;Usados como elementos transdutores para medidas de

varias quantidades fısicas (forca, pressao, aceleracao,deslocamento);

Permite a medicao em locais remotos;Convem ser uma superfıcie estavel;Elevado Coeficiente Termico;Convem ser uma superfıcie estavel.

No caso da uva, tem uma aplicacao muito difıcildevido a sua forma.

D. Princıpio de Medicao

O circuito integrado AS5304A contem um ımande tiras magneticas, que serve para a medicao demovimento linear.

Fig. 12AS5304A COM IMAN DE TIRAS MAGNETICAS PARA MEDICAO DE

MOVIMENTO LINEAR

Tem como principais caracterısticas [6]:

- Perıodo de velocidade ate aos 20 m/s;

- Comprimento do par de polos magneticos e4mm(2mm para o polo norte/2mm para o polosul);

- Resolucao de 25um;

- Contem 40 pulsos/160 posicoes por perıodomagnetico;

- Realiza 1 pulso por cada par de polos.

Como ja foi referido anteriormente, o circuito in-tegrado AS5304A requer uma barra magnetica queconsiste de varios polos Norte e Sul, adjacentes unsaos outros e com um comprimento de 2mm por polo.A intensidade do campo magnetico do multi-polodeve estar na faixa de 5 a 60mT na superfıcie dochip [6].

Fig. 13IMAGEM DO IMAN MULTI-POLOS

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

198 NUNO PIMENTA [26461]

Os elementos de entrada sobre o circuito impressoAS5304A sao dispostos numa matriz linear. Aomover-se o ıman multi-polos gera um sinal sinu-soidal(sen) internamente. Com boa configuracao doselementos de entrada, uma segunda fase deslocada 90◦

e obtida, gerando um sinal sinusoidal(cos). Usandoum circuito interpolador, o comprimento de um par depolo e dividido em 160 posicoes e ainda descodificadoem 40 pulsos quadrados. O controlo automatico deganho dinamico proporciona uma grande gama devalores de entrada do campo magnetico. O pino desaıda analogica (AO) fornece uma tensao analogicaque muda com a forca do campo magnetico [6].

Fig. 14DIAGRAMA DO AS5304A

Para funcionamento adequado do circuito, o ımande polos tera de estar colocado numa determinadaposicao como pode ser visto pela imagem da Fig.15.A distancia vertical recomendada entre o ıman eo circuito impresso e neste caso menor ou igual a0,8mm [6].

Fig. 15COLOCACAO DO SENSOR

O bago de uva ao crescer, afastara o ıman numa

determinada direccao como pode ser visto na Fig.16,gerando pulsos que nos vao posteriormente mostrarqual a distancia que o ıman se movimentou, ou seja, otamanho que o bago de uva cresceu [6].

Fig. 16MOVIMENTO DO IMAN PARA GERACAO DOS PULSOS

III. IMPLEMENTACAO

A pesquisa efectuada, determinou a escolha do sensorque foi escolhido para ser desenvolvido foi o circuitointegrado AS5304A com o ıman de tiras magneticas,usado na medicao de movimento linear. Este sensorfoi escolhido, porque em detrimento dos outrosparece ser de mais facil implementacao e tambemporque a sua resolucao e muito boa para pequenasmovimentacoes como as que pretendemos.Tal como foi descrito anteriormente, o ıman tera deestar no maximo a 0,8mm do circuito integrado. Esteıman sera colocado junto ao bago de uva e logo quea uva aumente de tamanho o ıman ira mover-se, oque fara com que possamos saber de quanto foi essecrescimento.Para a execucao do sensor foi realizada uma mon-tagem em EAGLE (Fig.17):

Fig. 17SENSOR AS5304A EM EAGLE(SCHEMATIC)

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 199

Fig. 18SENSOR AS5304A EM EAGLE(BOARD)

Apos a sua implementacao procedeu-se a impressaodo respectivo circuito impresso. Atraves do circuitoimpresso o sensor e ligado directamente na entradaanalogica da PIC16F887. Esta le a grandeza analogicae converte-a para digital atraves do conversor A/Dinterno, onde atraves de um computador ligado a PICnos mostrara o tamanho que a uva cresceu. Nestecaso a alimentacao do circuito foi feita atraves dodispositivo pickit2 que e ligado por cabo USB aocomputador.

IV. RESULTADOS

Apos a impressao do circuito e da respectivaprogramacao da PIC, quando se procedeu a ligacao docircuito impresso com o PIC, verificou-se que existiaum erro no circuito impresso. A placa nao estavaem condicoes e a altura tardia ja nap possibilitou aconstrucao de um novo circuito impresso.

V. CONCLUSAO

Pode-se concluir que os objectivos quanto afundamentacao teorica foram atingidos. Ficou-secom uma visao bastante abrangente de varias possi-bilidades para outra futura implementacao. Quanto aresultados praticos, nada se pode concluir pelo factode ter ocorrido um erro no circuito impresso.

BIBLIOGRAFIA

[1] Valner J. Brusamarello, “Tecnologia lvdt (linear variable differ-ential transforme)”, Relatorio tecnico.

[2] Stan Gibilisco, Manual de Eletronica e de Telecomunicacoes,Reichmann Affonso Editores, 2a edicao, 2002.

[3] Hugh D. Young e Roger A. Freedman, Sears e Zemansky fisi-caIII: electromagnetismo, Addison Wesley, 2004.

[4] Rodrigo Piernas Andolfato, Jefferson Sidney Camacho, eGilberto Antonio de Brito, “Extensometria b´asica”, 2004.

[5] A. Portela e A. Silva, Mecanica dos Materiais, EdicoesPl´atano, 2a edicao.

[6] “As5304 / as5306, integral hall ics for linear and off-axxis ro-tary motiondetection”, Relatorio tecnico.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 201

Kit de Demonstracao de Modulacoes AnalogicasP0942

Hugo Miguel Sequeira Martins, [email protected]

Abstract – In this article we present a system (Kit), to sup-port the teaching of telecommunications, of small dimensions,to demonstrate the process of modulation of analog signals.The system is based on analogic electronic and aims to allowthe user to select the modulation he want to view, to permit-ing the injection of external signals and have a generator ofinternal functions. In this article is resumed your arquitec-ture, describing, in a short way, the implementation of yourhardware and software.

Resumo – Neste artigo e apresentado um sistema (Kit), deapoio ao ensino de telecomunicacoes, de pequenas dimensoes,permitindo demonstrar o processo de modulacao analogicade sinais. O sistema e baseado em electronica analogica etem como objectivos principais permitir ao utilizador escol-her a modulacao que pretende visualizar, permitir a injeccaode sinais externos e possuir um gerador de funcoes interno.Resume-se neste artigo a sua arquitectura, descrevendo-se deforma breve a implementacao do seu hardware e software.

Keywords – Analog Modulation, Telecommunications, Educa-tion

Palavras chave – Modulacao Analogica, Telecomunicacoes,Ensino

I. INTRODUCAO

Devido a forma como a maioria dos sinais sao forneci-dos pelo transmissor, nao podem ser enviados directamenteatraves dos canais de transmissao. Isto implica ao uso deuma onda portadora cujas propriedades sao mais conve-nientes aos meios de transmissao, modificando-a para rep-resentar a mensagem a ser enviada.O sistema descrito neste artigo, foi implementado com o

intuito de realizar diversos tipos de modulacoes analogicas,tendo como principal objectivo a demonstracao dos seusfuncionamentos e as diferencas existentes entre estas. Destemodo, este sistema possibilitara num futuro proximo aosalunos de telecomunicacoes uma melhor percepcao e com-preensao relativamente a este tema. Este facto e conseguidoatraves da visualizacao em tempo real das formas de onda,sendo possıvel constatar as diferentes alteracoes sofridaspela onda portadora.De forma a englobar o programa de modulacoes

analogicas lecionado na disciplina de telecomunicacoes,foram implementadas as seguintes tecnicas de modulacaono sistema: AM (Amplitude Modulation), FM (FrequencyModulation), PAM (Pulse-Amplitude Modulation), PWM(Pulse-Width Modulation) e PPM (Pulse-Position Modula-tion).

II. MODULACAO

O objectivo principal da modulacao consiste na alteracaosistematica da onda portadora de acordo com a mensagem(sinal modulante). O dispositivo que realiza a modulacaoe chamado de modulador. Desta forma, a modulacao con-siste em modificar um ou mais parametros da onda porta-dora de acordo com a variacao do sinal modulante que e ainformacao que se pretende transmitir.

Fig. 1MODULACOES ANALOGICAS

Dependendo do parametro (amplitude, fase, frequencia oua combinacao) que e alterado e possıvel obtermos diferentestipos de modulacao analogica [1].As modulacoes analogicas sao muito utilizadas na difusao

de som e sinais de televisao. As duas principais tecnicassao a modulacao em amplitude (AM) e a modulacao emfrequencia (FM).A modulacao em AM baseia-se na variacao em amplitude

de um sinal sinusoidal (onda portadora) em funcao do sinalde interesse (sinal modulante), mantendo a frequencia e

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

202 HUGO MARTINS [22750]

fase da portadora constantes.A tecnica de modulacao em FM, consiste em variar a

frequencia instantanea da onda portadora em funcao dosinal de informacao, mantendo a amplitude constante.Outro tipo de modulacao e o PAM, em que o sinal mod-

ulado e um trem de impulsos com amplitude do sinal deinformacao e com frequencia do sinal da portadora. A cadaimpulso do sinal da portadora e efectuada uma leitura daamplitude da informacao e transportada para a saıda do sis-tema.O PWM (modulacao por largura de pulso) consiste em

variar a largura dos pulsos da portadora proporcionalmenteao sinal modulante, mantendo-se constantes a amplitude eo perıodo da portadora.Finalmente, a modulacao por posicao de pulso (PPM) con-

verte um sinal analogico num trem de impulsos digitais comuma amplitude fixa, em que a posicao dos pulsos em relacaoa pulsos fixos varia de acordo com a amplitude do sinalanalogico.

III. IMPLEMENTACAO

No sistema desenvolvido, e possıvel comutar a saıdade modo a obtermos o tipo de modulacao analogicapretendida, com o intuito de poder demonstrar o fun-cionamento e as diferencas entre os principais tipos demodulacoes analogicas. Para que isto seja possıvel, o sis-tema possui a capacidade de gerar internamente o propriosinal modulante, tal como a onda portadora. Para alemdisso, o sistema ainda permitira a injeccao externa dessesmesmos sinais.Para a comutacao do tipo de modulacao da saıda sera

necessario implementar varios multiplexers/demultiplexersde modo a permitir o reencaminhamento dos sinaisnecessarios para o sistema de modulacao pretendido. Demodo a que o sistema se torne interactivo e simples parao utilizador, este sera dotado de um microcontrolador re-sponsavel pela interface com o utilizador. Atraves de umLCD que possuira menus, tornar-se-a possıvel seleccionarfacilmente o tipo de modulacao a utilizar, e dependendodeste, sera capaz de interagir com os varios multiplex-ers/demultiplexers. Estes serao configurados de forma aobter a saıda do sistema o tipo de modulacao analogica pre-tendida.

IV. DESENVOLVIMENTO

De modo a possibilitar o desenvolvimento de um sis-tema capaz de realizar os diversos tipos de modulacoes, enecessario um estudo detalhado de cada tipo de modulacaoanalogica implementada [2]. No entanto, e com objec-tivo de tornar o sistema menos complexo, foi necessario asua estruturacao em pequenos modulos (fig. 2), sendo cadaum deles responsavel por desempenhar uma determinadafuncao no sistema.Como referido na seccao anterior, a modulacao consiste

na utilizacao de um sinal adequado ao meio de trans-missao (portadora), modificando-o de acordo com o sinal deinformacao (mensagem) que se pretende transmitir. Estesdois sinais sao elementos essenciais para realizar qualquertipo de modulacao.

Fig. 2DIAGRAMA DE BLOCOS DO SISTEMA

A. Gerador de Sinais

Como o sistema devera possuir a capacidade de gerar in-ternamente o sinal de informacao, foi necessario criar ummodulo no sistema com a funcao de gerar este sinal. Paraque isso fosse possıvel, foi utilizada uma DAC (Digital-to-Analog Converter), dispositivo que tem a capacidadede converter um codigo digital (binario) numa grandezaanalogica (valor de tensao). Assim, atraves da variacao docodigo digital de entrada, torna-se possıvel construir a suasaıda um sinal variavel em tensao. O componente utilizadopara esta finalidade foi uma DAC0808 [3] que possui umasaıda em corrente e resolucao de 8 bits. De modo a possi-biliar a variacao do codigo digital foi necessario utilizar ummicrocontrolador (PIC18F4620 [4]) (fig. 3).

Fig. 3GERADOR INTERNO S. MODULANTE

Os pinos de entrada do codigo digital da DAC foram lig-ados a um PORTO deste microcontrolador. Como a saıdada DAC utilizada e em corrente, foi necessario utilizar umamplificador operacional (TL081) com ganho unitario, demodo a obter o sinal de saıda em tensao. A implementacaodo firmware tornou possıvel gerar varios tipos de onda,sendo estes os sinais mais comuns que se pode encontrar emgeradores de sinais de laboratorio. Estes sinais podem ser

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 203

do tipo sinusoidal, triangular, quadrado ou dente de serra.

De modo a possibilitar a seleccao do tipo de onda desejado,foi necessario implementar no firmware varias entradas quefuncionam como selectores, que permitem comutar entreos varios tipos de onda gerados tal como aumentar/reduzir afrequencia do sinal gerado. Apos a conclusao deste modulo,o sistema possuira a capacidade de gerar o seu proprio sinalde informacao interno, compreendido entre 5 e −5V .

De forma a permitir ao utilizador injectar um outro sinal,o sistema e dotado da capacidade de poder utilizar um sinalde informacao externo, como por exemplo um sinal devoz (proveniente de um microfone).Para que isso se tornepossıvel, foi necessario utilizar um multiplexer 2:1 que per-mita seleccionar qual dos sinais, interno ou externo, o sis-tema devera utilizar na modulacao. As entradas do multi-plexer foram sujeitas a injeccao do sinal interno provenientedo modulo acima descrito e a uma ligacao livre acessıvel aoutilizador. Esta ligacao tem como finalidade de permitir ainjeccao do sinal externo desejado.

O sistema devera ter a capacidade de gerar/receber exter-namente o sinal de informacao e a onda portadora. Parao sistema ser capaz de gerar internamente a portadora, foiutilizado um VCO (Voltage Controlled Oscillator) (fig. 4).Este encontra-se presente no componente HEF4046 [5],que possui um duty cycle de 50%. De modo a obter umafrequencia central de 200KHz (frequencia da portadora in-terna), foi necessario configurar e calibrar o componente.A portadora interna possui uma amplitude variavel entre0 e 15V . A obtencao da frequencia central depende dautilizacao de um divisor resistivo, que aplica na entrada doVCO um valor de tensao de VDD/2 (7.5V ).

Fig. 4GERADOR INTERNO DA PORTADORA

Por forma a habilitar o sistema a receber uma ondaportadora externa, caso o utilizador o deseje, tornou-senecessario utilizar um outro multiplexer 2:1, com a funcaode receber nas suas entradas a portadora gerada interna-mente e uma conexao acessıvel ao utilizador para este poderinjectar a sua propria portadora. O sistema possuira a ca-pacidade de comutar e utilizar qualquer uma das portado-ras.

B. Somador

Um outro modulo essencial e o modulo somador, que temcomo funcao somar uma componente DC ao sinal modu-lante, com o objectivo de tornar o sinal resultante semprepositivo. Este modulo torna-se essencial para todos os tiposde modulacoes analogicas.Para construir este modulo foi necessario utilizar um am-

plificador operacional (TL082) configurado como um so-mador (fig. 5).

Fig. 5CIRCUITO SOMADOR

O dispositivo possui duas entradas, em que numa delas eaplicado o sinal de informacao proveniente do multiplexerque controla qual o sinal de informacao a utilizar, internoou externo. Na outra entrada e aplicada uma componenteDC que se deseja somar ao sinal de informacao original.A componente DC aplicada ao somador pode ser alter-ada, uma vez que esta provem da implementacao de umaoutra DAC controlada pelo microcontrolador. Deste modo,e oferecido ao utilizador a capacidade de escolher qual ovalor de tensao (entre 0 e 15V ) que deseja somar ao sinalde informacao original.

Fig. 6CONTROLO DA COMPONENTE CONTINUA DO SOMADOR

C. Modulador AM

A primeira modulacao implementada foi a modulacao AM(Amplitude Modulation), que consiste num processo emque a amplitude da portadora varia de acordo com o sinal

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

204 HUGO MARTINS [22750]

de informacao. Este processo e conseguido realizandoa multiplicacao entre os dois sinais, sendo a equacao damodulacao AM dada por (1).

eAM (t) = (E0 + em(t)).cos(W0t) (1)

Embora existam varios tipos de modulacao AM, o tipode modulacao AM focado neste sistema e o designado deAM-DSB (Dual Side Band). Para a sua implementacao foiutilizado um multiplicador de 4 quadrantes (ICL8013) quetem como funcao multiplicar dois sinais presentes na suaentrada e apresentar o resultado dessa operacao na sua saıda(fig. 7).

Fig. 7DIAGRAMA MODULADOR AM

Os sinais de entrada a multiplicar sao o sinal deinformacao, proveniente do modulo somador, pelo sinal daportadora. Normalmente as modulacoes em AM utilizamuma portadora sinusoidal, mas o sistema nao tem capaci-dade de a gerar. Isto acontece devido ao facto do geradorinterno da portadora apenas gerar um sinal quadrado de 0a 15V com uma frequencia de 200KHz. Para poder obterum sinal sinusoidal, foi necessario transformar a portadoraquadrada numa portadora sinusoidal. Para isso, utilizou-seum filtro passa-banda activo (fig. 8) projectado para umafrequencia central de 200KHz e uma banda passante de50KHz. Estas alteracoes permitiram transformar a porta-dora quadrada numa onda sinusoidal perfeita e ideal paraservir de portadora para o modulador AM.

Fig. 8FILTRO PASSA-BANDA ACTIVO

Nas entradas do multiplicador foi injectada a portadora si-nusoidal e o sinal de informacao ja somado com uma com-ponente contınua. Como referido pelo datasheet do fab-ricante do ICL8013 [6], foi necessario criar um circuitopara proceder a sua calibracao. Esta calibracao permitiu arealizacao de testes ao modulador, obtendo-se a sua saıda

uma perfeita demonstracao de uma onda modulada em am-plitude.

Fig. 9AM MODULATOR

A fig.( 9) ilustra o circuito final do modulo responsavelpela modulacao AM-DSB.

D. Modulador FM

A modulacao em FM (Frequency Modulation) define-secomo um processo em que a frequencia instantanea da por-tadora varia de acordo com a amplitude do sinal modu-lante. Para a implementacao deste modulo foi necessarioum componente capaz de gerar uma frequencia dependentedo valor de amplitude do sinal modulante. O componenteque possui essa capacidade e denominado por VCO (Volt-age Controlled Oscillator), em que a variacao de tensao dosinal modulante provoca uma variacao da oscilacao da por-tadora. Para o efeito foi utilizado um HEF4046B, por formaa gerar o sinal da portadora interna do sistema. Desta forma,o mesmo componente servira de gerador da portadora paratodas as modulacoes. A diferenca patente entre o moduloFM e os restantes modulos consiste no facto da frequenciavariar de acordo com o sinal modulante, enquanto que nasoutras modulacoes esta permanece constante.

Fig. 10DIAGRAMA MODULADOR FM

Por forma a incorporar estes dois requisitos utilizando omesmo componente, este foi calibrado de modo a pos-sibilitar tanto gerar uma frequencia central de 200KHz(necessaria para os restantes modulos) como a variacao dafrequencia (necessaria para o modulo FM). Para isso foi

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 205

necessario calcular os valores dos elementos passivos paraobter a frequencia central (f0 = 200KHz), a frequenciamınima (fmin = 150KHz) e maxima (fmax = 250KHz)pretendida para a modulacao em frequencia. Para amodulacao em FM e necessario a injeccao do sinal mod-ulante no pino de entrada do VCO (fig. 10). Caso se pre-tenda obter o sinal da portadora na frequencia central paraos outros modulos e necessario injectar um sinal contınuode 7.5V (obtido por um divisor resistivo). Para possiblitara comutacao do valor nessa entrada foi necessario utilizarum demultiplexer 1:2 (fig. 11).

Fig. 11MULTIPLEXER 2:1 /DEMULTIPLEXER 1:2

O osciloscopio permite a verificacao de uma perfeitademonstracao de uma modulacao em frequencia a saıda. Amodulacao em frequencia tem como caracterıstica gerar asua propria portadora, o que impossibilita neste modulo ouso de uma portadora externa injectada pelo utilizador.

E. Modulador PAM

Os modulos de modulacoes impulsionais (PAM, PWM ePPM) requerem uma portadora de onda quadrada (trem deimpulsos eq.2).

e0(t) =E0.τ0T0

+2.E0

π

∞∑

n=1

1n.sen(

n.π.τ0T0

)..cos(nW0t)

(2)A modulacao PAM (Pulse Amplitude Modulation) requer a

aplicacao directa do conceito da amostragem, uma vez queo sinal modulado pode ser compreendido como um pro-duto do sinal de informacao em(t) pelo trem-de-impulsosda portadora eo(t). A equacao que traduz a modulacaoPAM e dada por:

ePAM (t) = K.e0(t).[em(t) + EDC ] (3)

Uma forma simples e comum de criar um modulador PAMe utilizar um interruptor digital, onde a portadora e0(t) eo comando de abertura e fecho desse interruptor. Para re-alizar este tipo de modulacao utilizou-se o interruptor digi-tal HEF4046 (fig. 12).Numa das entradas do interruptor e injectada a portadora,

com o objectivo de comandar o interruptor, e na outra en-trada e injectado o sinal de informacao ja somado com uma

Fig. 12PAM MODULATOR

componente DC pelo modulo somador. Deste modo, eobtido a saıda deste modulo o sinal modulado em PAM.Quando a portadora liga o interruptor, este apresenta asua saıda uma amostra do sinal de informacao. Quandoa portadora o desliga, o sinal a saıda e de 0V . Como afrequencia da portadora e bastante superior a frequenciado sinal de informacao, ira originar a saıda um sinal comvarias amostras do sinal de informacao, onde o numero deamostras e dado por Tm

T0.

F. Modulador PWM

A modulacao em PWM (Pulse Width Modulation) e umatecnica eficiente para controlo de circuitos e uma optimaforma de codificar digitalmente nıveis de sinais analogicos.O duty-cycle da portadora (trem-de-impulsos) e alteradocodificando um determinado nıvel de sinal analogico. Qual-quer valor analogico pode ser codificado em PWM desdeque se disponha de largura de banda suficiente.Num sinal PWM a largura de pulso varia no tempo, logo

ao invez de τ0 utiliza-se τ(t) (eq.4) na equacao do trem deimpulsos, obtendo assim a expressao final do sinal modu-lado (eq.3).

τ(t) = τ0 +K.Em.cos(Wmt) (4)

ePWM (t) =E0.τ(t)T0

+2.E0

π

∞∑

n=1

1n.sen(

n.π.τ(t)T0

)..cos(nW0t)

(5)Para a implementacao deste modulo e necessario variar a

largura de pulso do sinal quadrado (trem-de-impulsos) coma variacao do sinal de informacao, mantendo constante aamplitude e o perıodo dos pulsos. O tipo de moduladorimplementado e constituıdo essencialmente por duas partesdistintas, um gerador de onda dente-de-serra e um circuitocomparador.Para a implementacao deste modulo foi utilizado para o

gerador de sinais dente-de-serra um NE555 (fig. 13) [7].Assim este gerador vai ter a saıda um sinal dente-de-serracom uma frequencia de 200KHz. Este sinal foi conectadoa entrada positiva do comparador (LM311) e na entrada in-versora foi injectado o sinal de informacao, com o efeitode comparar ambos os sinais. Sempre que o valor da ondamodulante for inferior ao da onda dente-de-serra a saıda do

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

206 HUGO MARTINS [22750]

Fig. 13PWM MODULATOR

comparador estara ao nıvel alto. Desta forma, obtemos asaıda um trem de pulsos em que a largura do pulso dependeda tensao do sinal analogico de entrada (sinal modulante),mantendo constante a sua amplitude e perıodo, denominadade modulacao por largura de pulso. Tal como o modulo FMdescrito anteriormente, este modulo gera a sua propria por-tadora, nao tornando possıvel a injeccao de uma portadoraexterna pelo utilizador.

G. Modulador PPM

A modulacao PPM (Pulse Position Modulation) consisteem variar a posicao de cada pulso da portadora propor-cionalmente ao sinal de informacao, mantendo constante aamplitude e a largura dos pulsos.

Fig. 14PPM MODULATOR

Neste sistema o sinal PPM obtem-se atraves do sinalPWM, gerando um sinal com largura de pulso fixa eo perıodo sendo determinado a cada subida do pulsomodulado em PWM. Deste modo, obtem-se um trem-de-impulsos em que o perıodo depende da amplitude dosinal modulante. Existe, assim, uma interligacao entre osmodulos PWM e PPM. A saıda da modulacao em PWMe conectada a um circuito monostavel (HCF4047B), que egatilhado na transicao de descida dos pulsos do sinal PWM.Para isso este circuito foi implementado na configuracao

monostavel - negative edge trigger. Os valores da re-sistencia e do condensador utilizados foram calculados combase na frequencia da portadora de 200KHz (fig. 14). Comoeste tipo de modulacao utiliza indirectamente a portadoragerada no circuito PWM, nao e possıvel a injeccao de umaportadora externa pelo utilizador.A fig. 15 representa o diagrama das interligacoes entre os

varios tipos de modulacoes impulsionais realizadas.

Fig. 15DIAGRAMA DE MODULACAO PAM/PWM/PPM

H. Multiplexacao dos Sinais

Apos a realizacao dos modulos deste sistema, foinecessario utilizar um demultiplexer (HEF4051) para poderredireccionar o sinal de informacao (fig. 16) e um demul-tiplexer (HEF4053) para poder redireccionar a portadorapara o modulo desejado (fig. 17). Deste modo, se o uti-lizador seleccionar o tipo de modulacao AM, os demulti-plexeres sao configurados de forma a redireccionar a ondamodulante e a portadora para o modulo correspondente amodulacao em amplitude.

Fig. 16DEMULTIPLEXER DO S. DE INFORMACAO

As saıdas de cada modulo de modulacao implementado,foram conectadas a um multiplexer (HEF4051), com o ob-jectivo do sistema possuir apenas uma saıda geral (fig. 17).Para o caso em que o utilizador selecciona o tipo demodulacao AM, este multiplexer e configurado de forma aque a sua saıda corresponda a onda proveniente do moduloAM.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 207

Fig. 17DEMULTIPLEXER DA PORTADORA

Fig. 18MULTIPLEXER DA SAIDA DO SISTEMA

I. Unidade de Controlo

Para controlar todos os multiplexer e o gerador interno dosinal de informacao, foi necessario utilizar outro microcon-trolador (PIC18F4620),

Fig. 19PROTOTIPO DO SISTEMA

sendo este a unidade central de controlo de todo o sis-tema (fig. 20). Para possibilitar uma interface com o uti-lizador foi utilizado um LCD e um pequeno teclado comswitches, levando a necessidade de implementar um con-junto de menus no firmware de modo a oferecer ao uti-lizador todas as opcoes disponıveis. Pela navegacao nomenu o utilizador pode seleccionar o tipo de modulacaoa realizar e quais as ondas de informacao e de portadora autilizar. Apos a seleccao, o microcontrolador configura cor-

rectamente os multiplexers, atraves dos selectores, de formaa debitar na saıda do sistema a modulacao requerida.Uma ligacao serie no sistema permite que futuramente

seja possıvel realizar um software grafico com finalidadede controlar o sistema.

Fig. 20UNIDADE CENTRAL DO SISTEMA

J. Alimentacao

Para alimentar este sistema foram necessarios nıveis detensao de 15V, -15V,5V e -5V, o que levou a necessidade derealizar um pequena fonte de alimentacao AC-DC (fig. 21).Para esse efeito foi utilizado um transformador de tomadacentral e um rectificador. Apos a rectificacao, a regulacaofoi realizada atraves de reguladores lineares positivos 7815e 7805, para os valores de tensao de 15 e 5V, respectiva-mente. Para os valores de tensao negativos de -15 e -5Vforam utilizados reguladores lineares 7915 e 7905. O cir-cuito de alimentacao encontra-se ilustrado na figura abaixo.

Fig. 21CIRCUITO DE ALIMENTACAO DO SISTEMA

V. RESULTADOS E CONCLUSOES

Apos a finalizacao do sistema, testou-se o seu funciona-mento. Ao efectuar a seleccao da modulacao em AM obteu-se a saida do sistema a onda representada na fig. 22.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

208 HUGO MARTINS [22750]

Fig. 22SINAL AM-DSB

Ao comutar o sistema para este realizar a modulacao emFM, foi obtido o sinal representado na fig. 23.

Fig. 23SINAL FM

Em seguida sao apresentados os sinais das modulacoes im-pulsionais que foi possivel obter a saıda do sistema.Comutando o sistema para este realizar a modulacao em

PAM, foi obtido o seguinte sinal fig. 24.

Fig. 24SINAL PAM

Em seguida o sinal correspondente a modulacao porlargura de pulso (PWM) na fig. 24.Por fim na fig. 26 e representada o sinal correspondente a

modulacao por possicao de pulso (PPM).O objectivo deste trabalho, era projectar um sistema

de caracter demonstrativo, para auxiliar ao ensino dasmodulacoes analogicas na cadeira de telecomunicacoes.Deste modo, a sua aprendizagem sera mais interactiva, elu-cidativa e atractiva do que visualizar diagramas (imagens)que representam cada tipo de modulacao.O grande desafio inicial, foi entender como se realiza cada

modulacao analogica e por fim, elaborar um unico sistema

Fig. 25SINAL PWM

Fig. 26SINAL PPM

que englobasse todas elas. Com o objectivo de realizar umsistema modulador analogico dinamico.

BIBLIOGRAFIA

[1] J. C. Cardoso ; C. Serodio, Sinais e Sistemas de ModulacaoAnalogica, Serie Didactica.

[2] A. T. Gomes, Telecomunicacoes - Transmissao e Recepcao, ERICA.[3] National Semiconductor, DAC0808 8-Bit D/A Converter - Data Sheet,

Maio de 1999.[4] Microchip, PIC18F2525/2620/4225/4620 - Data Sheet, 2008.[5] Philips Semiconductors, HEF4046B MSI Phase-locked loop - Data

Sheet, Janeiro de 1995.[6] Intersil, Four Quadrant Analog Multiplier - Data Sheet, Abril de

1999.[7] Philips Semiconductors, NE/SA/SE555/SE555C - Data Sheet, Agosto

de 1994.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 209

Gestao de filas de espera para adegas e cooperativasP0943

Vıtor Manuel Ribeiro da Cunha, ([email protected])

Abstract – In this project it is proposed a system able to man-age queues, as well to support the main flow of information be-tween wineries and Olive cooperatives and their members. Inthis project are presented an architecture, which contributesto extend the existing information systems in these organiza-tions, to their members, by acting on the flow of informationthat currently are not supported by technological means, italso presented a prototype that was developed to realize theproposed architecture as measurable proof of concept. Thedeveloped system was targeted for mobile devices, Web Ser-vices and for information storing was use the system managerof databases MySQL. This proposal bet’s on critical successfactors as: simplicity of use, low cost of investment, to allowintroduction of a real solution in wineries and cooperatives,and empower a mass use by members, through an approachbased on mobile devices: widespread tools.

Resumo – Neste projecto propoe-se um sistema capaz de gerirfilas de espera, bem como, suportar os principais fluxos deinformacao entre adegas e cooperativas de olivicultores e seusassociados. Neste projecto sao apresentadas uma arquitec-tura, que pretende contribuir para extender os sistemas deinformacao existentes nas referidas organizacoes aos associ-ados, actuando ao nıvel dos fluxos de informacao que nestemomento nao sao suportados atraves de meios tecnologicos;e igualmente apresentado um prototipo que foi desenvolvidopara materializar a arquitectura proposta e como prova deconceito mensuravel. O sistema desenvolvido foi direccionadopara dispositivos moveis, o fluxo de dados assente em WebSer-vices e a informacao armazenada no sistema gestor de basesde dados MySQL. Esta proposta aposta em factores crıticos desucesso como: simplicidade de uso; custo de investimento re-duzido, de forma a permitir uma real introducao desta solucaonas adegas e cooperativas de olivicultores; e, potenciar umamassificada utilizacao por parte dos associados, atraves deuma abordagem assente em dispositivos moveis: ferramentaamplamente disseminada.

Keywords – Java ME, Web Service , Queues

Palavras chave – Java ME, Web Service , Queues

I. INTRODUCAO

O trabalho descrito neste artigo insere-se na unidade cur-ricular de Projecto em Engenharia Electrotecnica e de Com-putadores, na area de comunicacoes moveis, e tem comoorientador o Professor Doutor Raul Morais dos Santos ecomo co-orientador o Professor Carlos Rompante Cunha.O principal objectivo deste trabalho consiste no desen-

volvimento de um sistema que possibilite a gestao de filasde espera em adegas e cooperativas de olivicultores, bem

como a gestao dos principais fluxos de informacao entreestas organizacoes e os seus associados. Pretende igual-mente materializar uma abordagem que potencia uma realintroducao de tecnologia neste tipo de organizacoes, e per-mita uma inclusao dos associados para o uso das Tecnolo-gias da Informacao e Comunicacao (TIC). Para atingir taisdesideratos e indispensavel desenhar solucoes simples deusar e intuitivas, pois grande parte dos seus utilizadores estasituada numa faixa etaria elevada, nao apresentando umapre-disposicao para as novas tecnologias. O sistema de-senvolvido foi pensado para dispositivos moveis, uma vezque estes se constituem no equipamento tecnologico massi-ficado e que menores barreiras de utilizacao apresenta [1].

O desenvolvimento da solucao proposta assenta em JavaME (para a construcao da aplicacao cliente) e em Web Ser-vices para a plataforma de servicos. A tecnologia Java MEpertence a empresa Sun Microsystems, e gratuita, e possi-bilita a criacao de aplicacoes robustas e flexıveis para dis-positivos moveis, tais como telemoveis ou smartphones.

Este artigo esta dividido em oito seccoes. Sao elas aabordagem do problema, a visita a Adega Cooperativa deMurca, a visita a Cooperativa dos Olivicultores de Murca, aconclusao sobre a ida a Murca, as tecnologias usadas, a ar-quitectura desenvolvida, o prototipo desenvolvido e por fimencontra-se a parte das conclusoes onde serao abordados eanalisados os resultados obtidos.

Na abordagem do problema sao analisados os aspectos ater em conta para a execucao deste trabalho: o panoramaactual das cooperativas e as suas necessidades. Para mel-hor compreender o funcionamento das cooperativas e suasnecessidades visitou-se duas delas para um levantamentode requisitos e permitir o desenvolvimento de uma solucaoque se adequasse a realidade e necessidades das coopera-tivas e seus associados. Como tal, visitou-se a Adega Co-operativa de Murca e a Cooperativa dos Olivicultores deMurca. Na conclusao sobre a ida a Murca foi elaboradauma analise dos dados obtidos concluıda pela especificacaode uma solucao que fosse de encontro as necessidades iden-tificadas.

As seccoes seguintes abordam a execucao e desenvolvi-mento do sistema implementado, sendo que na seccao dastecnologias sao descritas algumas das que permitiram o de-senvolvimento deste projecto. Na arquitectura de desen-volvimento e descrito o funcionamento da arquitectura, en-quanto que na parte do prototipo desenvolvido sao descritosalguns pormenores tecnicos, a disposicao dos menus e fun-cionalidades consideradas relevantes implementadas pelosistema, como forma de ilustrar o que foi desenvolvidoneste projecto.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

210 VITOR CUNHA [19698]

II. DESENVOLVIMENTO

A. Abordagem do problema

Perante a tarefa de gerir filas de espera em adegas ou co-operativas de olivicultores, procurou-se reunir o maximo deinformacoes que pudessem ajudar a compreender os proble-mas que existem, para poder chegar a uma possıvel solucaoque fosse de facil implementacao, economicamente viavele facil de utilizar. Para tal decidiu-se visitar duas coop-erativas da regiao, para melhor conhecimento dos seus fun-cionamentos e problemas. Estas situam-se em Murca e pro-duzem vinho e azeite.Na sexta-feira dia 15 de Maio de 2009, partiu-se para

Murca para visitar a Adega Cooperativa de Murca e a Co-operativa Agrıcola de Olivicultores de Murca, com o intuitode entender o funcionamento de ambas, descobrir as suasnecessidades por parte dos responsaveis e tentar vender aideia de uma peca tecnologica para gerir filas de espera.A figura 1 ilustra a localizacao da Adega Cooperativa deMurca e da Cooperativa de Olivicultores de Murca.

Fig. 1LOCALIZACAO DA ADEGA COOPERATIVA DE MURCA E DA

COOPERATIVA DE OLIVICULTORES DE MURCA

B. A visita a Adega Cooperativa de Murca

Dois dos responsaveis da adega explicaram o funciona-mento e controlo das dornas e aspectos relativos a gestaodas filas de espera. Relativamente ao tema deste projectoficou-se a saber que o inıcio de vindima e comunicado aosassociados, pois a adega dispoe de um tecnico que visitaas propriedades para verificar o estado das uvas. Quanto abase de dados os associados estao organizados por numerode cooperante, o tipo de uva (branca ou tinta) e respectivopH, a casta e o grau. Apos a reuniao foram-nos mostradasas instalacoes, onde se teve a oportunidade de ver todo oprocesso de producao do vinho, desde o local onde saofeitas as primeiras medicoes as uvas ate a parte de embala-mento e despacho das paletes de vinho.O processo inicia-se a entrada da adega com a distincao

do tipo de uva e medicao do grau e pH das uvas por dorna;

estes dados sao introduzidos num computador que esta lig-ado em rede ao servidor da adega ficando os dados di-rectamente registados no sistema. Feitas as medicoes, ecolocado nas dornas um cartao com um codigo de barrasque ira identificar o numero de associado na fase seguinte.Seguidamente as dornas seguem ainda no camiao ate hazona de descarga onde ira ser efectuada a pesagem de cadadorna (por dorna sao efectuadas tres medicoes sendo feitaa media destas) e registado automaticamente o peso no sis-tema da adega. Apos as pesagens sao retirados os cartoesque serao enviados novamente para a entrada para poderemser reutilizados. Para cada balanca existe um computadorcom impressora (para impressao dos registos a entregar aoassociado) e um leitor de codigos de barras que ira identi-ficar o associado em questao e abrir automaticamente umregisto para a entrega. A quem efectuou a entrega das uvase-lhe entregue uma ficha com os registos da entrega e naultima entrega do dia e-lhe entregue tambem uma ficha comos registos das suas entregas nesse dia.

C. A visita a Cooperativa dos Olivicultores de Murca

Apos o termino da visita a adega procedeu-se uma visitaa Cooperativa Agrıcola dos Olivicultores de Murca onde eproduzido o azeite Porca de Murca, figura 2.

Fig. 2FOTOGRAFIA AS INSTALACOES DA COOPERATIVA DOS

OLIVICULTORES DE MURCA

Enquanto o responsavel nao chegava desenrolou-se umavisita guiada as instalacoes de producao do azeite. Duranteesta visita ficou-se a saber que os produtores ou cooper-antes deixam ficar uma maquia que fica para a coopera-tiva ao inves de pagarem para ser produzido o azeite. Aocontrario da adega os dados das azeitonas nao sao referen-ciados por dorna mas sim por um conjunto de dornas (quefrequentemente pertencem a varios cooperantes) pois estassao vazadas para um recipiente, figura 3 (onde as azeitonasnao ficam mais de quarenta e oito horas para garantir a qual-idade das mesmas) e a medicao da acidez e feita neste re-cipiente.No processo de entrega das azeitonas os dados dos coop-

erantes que sao utilizados sao o seu numero, quantidade de

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 211

azeitonas entregue (em Quilos), a acidez e quando e que olote foi transportado e recepcionado. Apos a visita falou-se com o responsavel e expos-se o projecto. Este mostrouuma grande abertura a novas tecnologias e inovacao, apesardo controlo de producao e entregas ainda nao ser informa-tizado.Esta cooperativa, a semelhanca da adega de Murca,

tambem foi alvo de remodelacoes das suas instalacoes re-centemente, mas esta ainda nao possui um sistema de trata-mento de dados informatizado sendo que este ainda e feitocom recurso a papel.

Fig. 3FOTOGRAFIA DOS RECIPIENTES UTILIZADOS.

D. Conclusao da ida a Murca

A Adega Cooperativa de Murca apresenta-se bem dimen-sionada para o numero de associados que tem, nao tendoproblemas de filas de espera. Recentemente fizeram obrasde remodelacao nas suas instalacoes tendo apostado nainovacao. Esta adega possui um eficaz sistema de controlode dornas e filas de espera sendo que a unica lacuna e ainexistencia de um sistema de comunicacoes com os asso-ciados para comunicar reunioes, datas de inıcio e terminodas vindimas e eventuais alteracoes nas datas de entrega.Na Cooperativa Agrıcola de Olivicultores de Murca este

projecto mostra-se adequado as suas necessidades, sendoque, alem de ser menos dispendioso usar terminais moveis(telemoveis), ainda tem a vantagem de estes poderem seraproveitados para outros fins, pois a parte das filas de esperae controlo das dornas so faz sentido na altura da apanhada azeitona e esta dura no maximo dois meses, sendo quenos restantes meses do ano, caso se usassem computadoresestes iriam ficar parados, alem de expostos a humidades e agorduras provenientes do fabrico do azeite.Os representantes da Cooperativa Agrıcola de Olivicul-

tores de Murca aceitaram colaborar no desenvolvimentodeste projecto fornecendo alguns dados sobre o funciona-mento interno desta, da organizacao da BD (os dados queguardam relativamente aos seus associados) e como proce-dem e tratam a informacao em epoca de colheitas.Depois das visitas e analisando o funcionamento das coop-

erativas rapidamente se conclui que um sistema que recorra

a dispositivos moveis para a gestao das filas de espera ecomunicacao com os associados seria uma mais valia, dev-ido a potenciar um mais adequado relacionamento com osassociados.

E. Tecnologias

Foram analisadas diversas opcoes para o desenvolvimentodeste prototipo, entre as quais: uma recorrendo ao uso decomputadores e outra que recorre a dispositivos moveis.Um dos sistemas pensados seria a marcacao na fila de

espera atraves de uma pagina HTML que seria acedidaatraves de um qualquer computador com acesso a internet,mas depois de analisadas as caracterısticas dos associadosconcluiu-se que esta nao seria a opcao mais viavel, poismuitos dos associados nao tem computador nem ligacao ainternet e alem disso tambem tem dificuldades na utilizacaode computadores, sendo que alguns nunca usaram um.Por outro lado verificou-se que todos tem telemoveis, e os

que nao possuem telemovel tem familiares proximos que opossuem (mais especificamente filhos). Considerada estapossibilidade comecaram-se a ver possıveis tecnologias eferramentas de desenvolvimento para usar em telemoveis.Considerou-se C sharp e Java ME. Como o C sharp e paradispositivos com Windows mobile desde logo se colocouum problema, que e o facto de serem poucos os associa-dos com dispositivos que contenham este sistema, enquantoque qualquer telemovel e mesmo os PDA’s tem suporte paraaplicacoes Java ME, visto ser um padrao do mercado.Sendo ponto assente o uso de telemoveis, sera criada uma

MIDlet (aplicacao que utiliza o perfil MIDP (Mobile In-formation Device Profile)), considerada como um padraono desenvolvimento de aplicacoes para dispositivos moveispodendo ligar a Rede/Internet.Encontrando-se definidas as tecnologias a usar nos sis-

temas moveis analisaram-se de seguida as necessidadespara o servidor, nomeadamente como tratar os pedidos vin-dos da aplicacao movel. Uma solucao seria o uso de WebServices. Visto a aplicacao movel ser desenvolvida em JavaME e para facilitar o desenvolvimento do sistema optou-sepor desenvolver o Web Service em Java. O ambiente dedesenvolvimento escolhido para desenvolver o Java ME eos Java Web Services foi o NetBeans devido a ser um pro-grama gratuito, com muitas funcionalidades e bem organi-zado e facil de usar.E necessaria uma base de dados (BD) para armazenar os

dados necessarios ao projecto, e um sistema gestor de BD.Algumas das possibilidades sao o Microsoft SQL Server, oOracle e MySQL administrada por phpMyAdmin. Visto asimplicidade de uso do MySQL [2] e este ser open sourcenao trazendo assim custos adicionais para o projecto, foi es-colhida esta solucao. O uso de MySQL e do phpMyAdminpermite administrar a BD pela Internet, um exemplo desteinterface e apresentado na figura 4, podendo ser criadasou removidas BD, serem criados, alterados e inseridos da-dos nos campos da BD pela Internet que e o objectivo nesteprojecto.A plataforma de servicos assentou em Web Services su-

portados pelas plataformas de software open source e gratu-ito Tomcat/Axis que permite executar framework’s de Web

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

212 VITOR CUNHA [19698]

Fig. 4EXEMPLO DA UTILIZACAO DO PHPMYADMIN.

Services [3]. Algo interessante no sistema Tomcat/Axis e ofacto de este possuir ferramentas para a construcao de WebServices, e permite implementar o protocolo SOAP, imple-mentar classes que agilizam a publicacao de Web Services econtainers que disponibilizam os Web Services na Internet.O Axis [4] compila arquivos de extensao jws e cria as re-

spectivas classes e cria Toda a especificacao WSDL [5],umailustracao de parte da especificacao de um web service, im-plementado, pode ser vista na figura 5.

Fig. 5PARTE DA ESPECIFICACAO WSDL DO SETDADOSASSOCIADO .

F. Arquitectura desenvolvida

A aplicacao sera capaz de comunicar com o servidorfazendo um pedido SOAP que e enviado para a plataformade web Services [6], esta processa o pedido e recorre a base

de dados gerando no final uma resposta encapsulada numenvelope SOAP, uma ilustracao de um envelope de respostaSOAP pode ser vista na figura 6, que e reenviado para otelemovel e por sua vez e interpretado e colocada a respostano interface adequado.

Fig. 6ENVELOPE SOAP COM A RESPOSTA A ALTERACAO DE DADOS DO

ASSOCIADO.

Tem-se como elemento contextualizador o numero do as-sociado, que e pedido da primeira vez que se utiliza aaplicacao, sendo armazenado num recordstore para futurasutilizacoes. A partir deste momento todas as operacoesrealizadas pelo associado sao automaticamente contextual-izadas (figura 7).

G. Prototipo desenvolvido

Ao prototipo desenvolvido foram adicionadas mais fun-cionalidades alem da marcacao do intervalo de tempo emque o associado devera aparecer na cooperativa. Comoum dos objectivos e a sensibilizacao, para o uso das tec-nologias, aproveitou-se para demonstrar algumas potencial-idades alem do sistema de marcacoes na fila de espera.Sendo assim foram adicionadas opcoes, que vao ao encon-tro das necessidades de troca de informacoes entre as coop-erativas e seus associados, como a visualizacao e alteracaodos dados pessoais do associado, e ainda a consulta denotificacoes que tanto podem ser publicas (para todos osassociados) como privadas (para o associado em causa).

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 213

Fig. 7EXEMPLO DO FUNCIONAMENTO E TECNOLOGIAS UTILIZADAS.

Para melhor percepcao do que foi desenvolvido, observe-se a figura 8.

Fig. 8MENU PRINCIPAL DA APLICACAO DESENVOLVIDA.

A aplicacao e composta por diversos formularios e listas,onde serao apresentadas as opcoes de escolha, os camposde texto para insercao dos dados e as informacoes a apre-sentar ao utilizador, como se pode verificar no Diagrama deFormularios e Fluxos da aplicacao na figura 9 [7].Como foi referido anteriormente o elemento contextual-

izador e o numero de associado, o qual devera ficar regis-tado na aplicacao para que o utilizador nao tenha que o in-troduzir cada vez que utiliza a aplicacao. Para que isto fossepossıvel recorreu-se ao uso da classe RecordStore que gravade forma persistente o numero do associado (figura 10).Desta forma todas as futuras operacoes serao automatica-mente contextualizadas para o perfil do associado.Na parte dos dados pessoais e possıvel ver ou alterar os

dados do associado, para tal e feito um pedido SOAP quee enviado a plataforma de Web Services a pedir os da-dos do associado, aqui e feita uma query a BD e os da-dos recebidos serao guardados numa String e enviados numenvelope SOAP de volta para a aplicacao sendo coloca-

Fig. 10FORMULARIO UTILIZADO PARA O PEDIDO DO NUMERO DE

ASSOCIADO.

dos nos StringItem ou TextField correspondentes(figura 11).

Fig. 11EXEMPLO DO PEDIDO PARA VISUALIZACAO E ALTERACAO DE DADOS

PESSOAIS.

O mesmo procedimento e feito para o caso dasnotificacoes, a excepcao da forma de apresentacao onde,neste caso, os dados serem apresentados directamente noformulario respectivo (figura 12).No menu filas de espera sao apresentadas duas opcoes,

sao elas Consultar e Registar. A consulta e feita deforma semelhante as pesquisas anteriores, enquanto quena marcacao e dada a possibilidade de escolher a hora ea data em que se pretende ir a cooperativa proceder a en-trega das uvas/azeitonas. A apresentacao do calendarioe do relogio para escolha, sao feitos recorrendo ao ob-jecto DateField, e a apresentacao varia de acordo com oequipamento que se estiver a usar, uma vez que a aplicacaousa os recurso do dispositivo movel e, estes tem diferencasde modelo para modelo (figura 13).

III. CONCLUSOES

Neste trabalho foi desenvolvida uma arquitectura e im-plementado um prototipo que traduz uma solucao capaz

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

214 VITOR CUNHA [19698]

Fig. 9DIAGRAMA DE FORMULARIOS E FLUXO DE DADOS DA APLICACAO.

Fig. 12FORMULARIO UTILIZADO PARA APRESENTACAO DAS NOTIFICACOES.

de facilmente ser introduzida nas organizacoes alvo desteprojecto. Tenta minimizar as barreiras na adopcao desolucoes tecnologicas por parte dos associados, atraves deuma solucao cujo dispositivo alvo – telemovel – se encon-tra massificado e apresenta um potencial de info-exclusaomuito reduzido.Todas as funcionalidades do prototipo foram implemen-

tadas e testadas com sucesso. A aplicacao comunica coma plataforma de Web Services e esta por sua vez acede aorepositorio de informacao (base de dados). Verifica-se o re-torno dos dados enviados pelo Web Service para a aplicacaoe o correcto tratamento e interpretacao dos mesmos. E feitaa colocacao do associado numa fila de espera que e referidaa um dia. Neste ponto e de referir a necessidade da criacaode uma nova fila para cada dia.

Fig. 13VERIFICACAO DA DISPONIBILIDADE APOS ESCOLHA DE DATA.

Seria interessante que este prototipo fosse testado em am-biente real e adoptado pelas cooperativas. Trata-se de umaimplementacao baseada em programas gratuitos, o que re-duz o custo de investimento e potencia a sua real introducaonas organizacoes. Cita-se o facto de nao ser necessarioo investimento em novos equipamentos, visto serem us-ados os equipamentos ja existentes na cooperativa. Noque concerne aos associados estes podem usar os propriostelemoveis.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 215

IV. AGRADECIMENTOS

Embora este seja um trabalho academico individual aoqual foram dedicadas varias horas de trabalho, estudo,pesquisa e reflexao dedicados a realizacao de uma projectopara o qual o curriculum do 1.o ciclo da LEEC nao con-templa as bases necessarias, o mesmo nao poderia ter sidoconcretizado sem o apoio e ajuda de algumas pessoas, asquais merecem ser referidas neste trabalho.Estou muito agradecido ao Professor Carlos Rompante

Cunha pelos conselhos, inspiracao, ajuda, conhecimento,correccao, estımulo e paciencia ao longo do semestre emque este trabalho se realizou.Ao Professor Doutor Raul Morais dos Santos pela super-

visao, correccao e conselhos dados.A Cooperativa dos Olivicultores de Murca, pela visita

guiada, disponibilidade e apoio prestado.A Adega Cooperativa de Murca, pela visita guiada e

disponibilidade.A minha namorada por todo o apoio incondicional, car-

inho, estımulo e por todo o tempo que deixamos de estarjuntos para a realizacao do projecto.Aos meus pais e famılia pela paciencia, apoio e carinho

dados ao longo deste tempo.

BIBLIOGRAFIA

[1] ICP-ANACOM, “Servico telefonico movel - 1o trimestre de 2008”,Relatorio tecnico, Autoridade Nacional de Comunicacoes, 2008.

[2] Hugh Williams Seyed M.M. (Saied) Tahaghoghi, Learning MySQL,O’Reilly Media, Inc., 2006.

[3] Tyler Jewell David Chappell, Java Web Services, O Reilly, 2002.[4] Deepal Jayasinghe, Quickstart Apache Axis2: A practical guide to

creating quality web services, Packt Publishing, 2008.[5] Aaron E Walsh, UDDI, SOAP, and WSDL: The Web Services Specifi-

cation, Pearson Education, 2002.[6] Vartan Piroumian, Wireless J2ME Platform Programming, Prentice

Hall PTR, 2002.[7] Tyler Jewell David Chappell, J2ME: The Complete Reference,

McGraw-Hill Osborne, 2003.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N∘ 1, JULHO 2009 217

Interface entre Java e FORTRANP0944

Carlos Duarte Taveira de Matos,[email protected]

Abstract – The objective of this project is to do the interfacebetween Java and FORTRAN programming languages.The interface between Java and FORTRAN is done using an

intermediary language the C++ that serves of bridge betweenthem.In addition to this interface another objective is to make this

aplication avaiable to communicate with other applications inthe same platform or in a different platform. This basicallyconsist in building a Web Service. In a brief way we can doa request to a service whose calculation is done in FORTRANand it processes in a transparent mode to the user.

Resumo – O objectivo deste projecto e realizar a interface en-tre as linguagens de programacao Java e FORTRAN.A interface entre o Java e o FORTRAN e feita usando uma

linguagem intermediaria, o C++ que serve de ponte entre asduas linguagens. Alem desta interface outro objectivo e fazercom que esta aplicacao fique disponıvel para comunicar comoutras na mesma plataforma ou numa plataforma diferente,isto consiste basicamente na criacao de um Web Service. As-sim, resumidamente, pode-se fazer um pedido a um servicoem que o calculo e feito em FORTRAN e se processa de ummodo transparente ao utilizador.Keywords – Java, Fortran, Web ServicePalavras chave – Java, Fortran, Web Service

I. INTRODUCAO

O objectivo deste projecto e poder fazer uma interface en-tre o Java e FORTRAN. A origem da palavra FORTRANque vem da expressao FORmula TRANslation, mostra queo ponto forte do FORTRAN sera entao o calculo, sendo alinguagem FORTRAN principalmente utilizada em AnaliseNumerica.Ao fazer entao a interface entre as duas linguagens pode-se

aproveitar o ponto forte do FORTRAN, o calculo numericoe atraves do Java pode-se nao so melhorar a apresentacaodos resultados como tambem tornar este calculo disponıvelpara ser invocado remotamente atraves de um Web Service.O que se pretende entao e combinar as vantagens das duaslinguagens numa unica aplicacao.Na figura 1 tem-se uma visao geral daquilo que se pre-

tende. Da imagem retira-se que a aplicacao cliente apenasvai conter linguagem Java e o cliente nao sabe nem precisade saber como se vai processar o calculo no servidor, ape-nas vai enviar o pedido e receber a resposta. Sendo portantoo calculo completamente transparente ao utilizador.O modo como o servidor vai lidar com opedido e fazer

a interface entre Java e FORTRAN vai ser explicado maisaprofundadamente nos seccoes seguintes.

Fig. 1DIAGRAMA DA ABORDAGEM AO PROBLEMA

II. INTERLIGACAO ENTRE O JAVA E O FORTRAN

No desenvolvimento do projecto foram utilizadas variastecnologias, que irao ser descritas nesta seccao. Uma delassao os Web Services, que permitem uma interoperabilidadeentre aplicacoes. Estes servicos permitem invocar metodosem outras aplicacoes, duas aplicacoes escritas em lingua-gens diferentes podem comunicar entre si atraves de umWeb Service.O problema a resolver e o modo como a interface vai ser

feita, inicialmente haveria dois modos diferentes, ou di-rectamente entre Web Services ou recorrendo a bibliotecas.O metodo escolhido foi o segundo devido aos programasFORTRAN serem web-unfriendly, ou seja, a criacao de WebServices em FORTRAN foi um entrave inicial que obrigoua escolher a abordagem das bibliotecas.Num Web Service existe a aplicacao Servidor, que fornece

o servico e a aplicacao Cliente que utiliza os recursos desseServidor. Uma vantagem da utilizacao de Web Services eque estes utilizam tecnologias Standard como XML (eX-tensible Markup Language) e o protocolo HTTP (HypertextTransfer Protocol).A comunicacao entre as aplicacoes e feita com recurso ao

protocolo SOAP(Simple Object Access Protocol) que uti-liza tecnologias baseadas em XML [1]. O SOAP surgiucom o objectivo de realizar RPCs (Chamadas Remotas demetodos). O objectivo dos Web Services e a comunicacaoaplicacao - aplicacao via Web independentemente da lin-guagem em que as aplicacoes sao escritas.Na figura 2 pode-se ver que o servidor publica o servico

na Web e o cliente apos o encontrar o servico e obter osc⃝ UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

218 CARLOS MATOS [20317]

Fig. 2DIAGRAMA DE UM WEB SERVICE

ficheiros necessarios para aceder ao servico, podera entaoutiliza-lo. O Web Service ira ser a componente mais exteriordo projecto e a ultima a implementar.A linguagem FORTRAN e tambem utilizada no projecto,

sendo alias o principal motivo da realizacao do mesmo. Istodevido ao seu elevadissımo poder de calculo, apesar de tersido desenvolvida na decada de 1950, ainda continua a serutilizada no dias que correm.Ao longo do tempo foi sofrendo melhoramentos, mas a

sua caracterıstica principal, mantem-se a mesma, a capaci-dade de calculo. Esta linguagem prima por ter um mel-hor desempenho em programas que exigem um grandeesforco computacional, ou seja, podemos caracterizar oFORTRAN como uma linguagem cujos seus programas sedestacam por uma maior rapidez de execucao quando aexigencia de calculo e grande, daı esta linguagem aindanao ter caıdo em desuso e ser uma ferramenta muito utiljunto da comunidade cientıfica, em especial nos ramos daCiencia da Computacao e da Analise Numerica, sendo istoa justificacao para a utilizacao desta linguagem do projecto,ou melhor, impulsionador da realizacao do mesmo.Ao longo do tempo tem vindo a ser desenvolvidas varias

versoes do FORTRAN, a que foi utilizada no projecto e aFORTRAN 90, depois desta ja sairam mais duas versoes, oFORTRAN 95 e o FORTRAN 2003.Este ultimo destacando-se dos anteriores por possibilitar

lidar com excepcoes, permitir programacao orientada a ob-jectos e melhorias a nıvel da interoperabilidade com a lin-guagem C.Onde o FORTRAN podera nao ser tao bom, apresentacao

de dados e Web, trouxe-se a linguagem Java para o pro-jecto, que ira permitir um melhor grafismo na apresentacaode dados assim como possibilitar criar e utilizar os Web Ser-vices. A linguagem Java e uma linguagem de programacaoorientada a objectos. Uma das grandes vantagems do Javae que pode correr em qualquer hardware ou sistema opera-tivo, isto porque a plataforma Java e multi-plataforma e nao

se prende apenas a um sistma operativo como Windows ouLinux [2]. Isto e possıvel porque os seus programas saointerpretados numa Maquina Virtual, a JVM (Java VirtualMachine). Um programa Java ao ser compilado e conver-tido em bytecodes [3].Para se poder correr um programa em Java necessita-se

de ter o JRE (Java Runtime Environment), que contem amaquina virtual (JVM) e um conjunto de bibliotecas declasse, que permitem entao a independencia do sistema op-erativo, pois nao necessita das bibliotecas do mesmo.O facto de o Java ser open source e tambem uma enorme

vantagem relativamente a outros concorrentes do mesmo.Pode-se simplesmente fazer o download do software de de-senvolvimento de uma aplicacao Java, como por exemplo oNetbeans,que foi o utilizado neste projecto, gratuitamente.Em suma, o facto da portabilidade do Java e o facto de seropen source tiveram um grande peso na escolha do Javapara o trabalho. Durante a pesquisa para a realizacao doprojecto tomou-se conhecimento que para fazer uma inter-face entre o Java e o FORTRAN teria que se utilizar o Ccomo ponte de ligacao entre as duas, optou-se entao porcriar como ponte uma Biblioteca (DLL) desenvolvida emC++. Uma explicacao mais sucinta deste processo vai serdescrita numa das proximas seccoes do artigo.Uma DLL (Dynamic Link Library), e uma biblioteca que

pode conter dados ou funcoes executaveis. Uma bibliotecapode ter uma ou mais funcoes que podem ser acedidaspor programas de uma maneira dinamica ou estatica. Adiferenca e que numa ligacao estatica, a ligacao entre pro-grama e biblioteca mantem-se constante durante a execucaodo programa ao passo que numa ligacao dinamica e criadapelo programa assim que ele necessitar.

Fig. 3JAVA NATIVE INTERFACE

Por ultimo mas nao menos importante surge a JNI (JavaNative Interface), esta interface e muito util quando quere-mos lidar com situacoes em que a aplicacao nao pode serinteiramente escrita em Java. O JNI realiza a interfaceentre o Java e outras linguagens como o C e C++, e uti-lizado tambem em situacoes em que e necessario fazer algomatematicamente exigente, ou seja, em situacoes em que ocodigo nativo possa ter melhor desempenho.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N∘ 1, JULHO 2009 219

III. CONCEPCAO

A opcao para ligar o Java e o FORTRAN escolhida foi criaruma biblioteca (DLL) em C++ que pudesse ser chamadapelo Java, por sua vez a biblioteca (DLL) em C++ ira recor-rer a uma outra biblioteca (DLL) feita em FORTRAN pararealizar o calculo pedido. Na figura 4 o bloco Java rep-resenta uma classe Java. O bloco C++ uma DLL escritaem C++ e o bloco FORTRAN uma DLL escrita em FOR-TRAN. Na figura 4 podem-se ver, numerados, os passos

Fig. 4DIAGRAMA DA PONTE EM C++ ENTRE JAVA E FORTRAN

do fluxo da aplicacao. O numero um representa o enviode parametros de Java para um metodo nativo presente nobloco C++.No numero dois, este metodo vai enviar os mesmos

parametros para uma funcao FORTRAN dentro de umaDLL, esta, faz o calculo. No passo tres o resultado docalculo e devolvido a DLL C++.No ultimo passo, o quatro, o resultado e devolvido pela

DLL C++ ao projecto Java. O conteudo da figura 4 cor-responde ao que vai fazer o Servidor do Web Service as-sim que receba o pedido do servico. Estando portantorepresentado na imagem o conteudo da aplicacao servi-dor. A aplicacao cliente ira apenas utilizar este servicosem se aperceber que existem partes escritas noutras lin-guagens, no que lhe diz respeito, apenas envia o pedidoe espera resposta, ou seja, que o servico lhe seja prestado

pela aplicacao servidor. A implementacao do Web Servicetem como objectivo disponibilizar o servico nao apenas aum utilizador, mas sim a um conjunto de utilizadores, alemdisso ira evitar a necessidade do cliente do servico ter depossuir os respectivos ficheiros das bibliotecas.

IV. IMPLEMENTACAO

O primeiro passo foi dividir o trabalho em pequenos pas-sos. Cada parte do trabalho foi executada isoladamente comsucesso antes de se realizar a juncao de todo o trabalho.Para uma melhor compreencao do que foi a implementacaodeve-se dizer que o objectivo final da implementacao eneste caso obter a soma de dois numeros inteiros,e recebero resultado como um inteiro. Ao longo da explicacao daimplementacao serao referidas as variaveis a somar como ae b e o resultado como c.O primeiro passo foi entao escrever o seguinte programa

em Java cujo codigo podemos ver na figura 5.

Fig. 5PROGRAMA TESTE.JAVA

Este programa vai aceder a uma funcao soma que vai estardentro da biblioteca com o nome proj, a esta funcao vao serenviados os valores 10 e 20 como valores das variaveis ae b e vai ser dado como retorno a soma a+b. Apos escritoo programa e necessario gerar o ficheiro de cabecalho o .hpara posteriormente incluir no projecto de criacao da DLLem C++ [4]. A criacao deste cabecalho e feita atraves doseguinte comando que se pode ver na figura 6. Em que aclasse Java neste caso tem o nome teste.

c⃝ UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

220 CARLOS MATOS [20317]

Fig. 6FICHEIROS DO PROJECTO C++

De seguida vem a criacao de uma DLL em C++, neste casoa proj.dll. E entao criado um novo projecto no Visual Stu-dio 2008. Criou-se um novo projecto de nome proj em C++do tipo MFC DLL. De seguida foram copiados os ficheirosde cabecalho das pastas INCLUDE e WIN32 no interior dapasta JDK para a pasta deste novo projecto e foram entaoadicionados aos header files do projecto C++, ficando o pro-jecto com os ficheiros que podemos ver na figura 7.

Fig. 7FICHEIROS DO PROJECTO C++

Por fim e colocada a funcao definida no cabecalho teste.hno proj.cpp, e temos, depois de compilado a bibliotecaproj.dll com a funcao soma.Esta biblioteca foi colocada na pasta BIN dentro da pasta

JRE. Caso se quiser correr o programa Java no Netbeans,deve-se colocar na pasta BIN dentro da pasta JRE mas nestafeita dentro do JDK. O diagrama desta parte do projectopode ser visto na figura 8. Correndo o programa obteve-se o resultado esperado, neste caso 30. Realizada entaoa comunicacao do Java com o C++, a proxima etapa foicolocar o C++ a comunicar com o FORTRAN, nesta etapa

Fig. 8IMPLEMENTACAO DO JAVA NATIVE INTERFACE

comecou-se por criar uma nova biblioteca, desta vez escritaem FORTRAN, a biblioteca aqui criada, vai ser a utilizadana ligacao final do trabalho, o mesmo nao se pode dizer dabiblioteca criada anteriormente, a proj.dll, que serviu ape-nas para teste para conseguir por o Java e o C++ a comu-nicar. Para criar a biblioteca FORTRAN foi utilizado o Dig-ital Visual Fortran.Foi entao criada a DLL FORTRAN chamada dllfortran que

contem a funcao dllsoma, que recebe como parametros doisinteiros, ”a”e ”b”e devolve a soma. O codigo da mesmapode ser visto na figura 9.

Fig. 9DLL FORTRAN

A segunda linha do codigo e de extrema importancia poispermite ”exportar”a funcao na biblioteca, neste caso, a dll-soma [5]. No caso de haver varias funcoes, o comando dasegunda linha deve-se fazer para cada funcao ou subrotinaexistente na DLL.O proximo passou foi criar um projecto em C++ que con-

seguisse aceder com sucesso a funcao dllsoma existentena biblioteca dllfortran. Foi entao criado um novo pro-

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N∘ 1, JULHO 2009 221

jecto em C++, o acesso a bibliotecas apartir do C++ con-siste em cinco etapas,visıveis na figura 10 o respectivocodigo, sendo elas: obter ou carregar a DLL; de seguidaobter o endereco da funcao dllsoma; definir a funcao nadll como reutilizacao; chamar a funcao; libertar a DLL. Acomunicacao com a DLL apartir do C++ foi a mais demor-ada e mais difıcil de realizar, isto dado a um simples, masmuito importante, sendo que os parametros a e b quandopassados do programa C++ para a funcao dllsoma existentena biblioteca tem obrigatoriamente de ser passados por re-ferencia, nao podendo ser passados por valor. Isto obrigouentao que os parametros fossem passados do C++ para afuncao em FORTRAN por referencia, nao havendo neces-sidade de alterar qualquer outra passagem de parametrosem outras partes do projecto.Estando esta etapa concluıda estava concluıda a

comunicacao Java/C++ e a comunicacao C++/FORTRAN,restando agora fazer a interface entre as duas linguagens.A juncao de todo o trabalho foi feita aproveitando logo a

partida a DLL feita em FORTRAN, a dllfortran mas agoracom a criacao de uma nova biblioteca em C++, de seunome dllfinal, sendo estas as duas bibliotecas utilizadas enecessarias a interface entre as linguagens.

Fig. 10CODIGO PARA ACEDER A DLL EM C++

Dadas as ligacoes previas entre Java/C++ eC++/FORTRAN, esta etapa foi a mais simples, dadoque ja nao existe nada de novo a acrescentar. O codigodas etapas anteriores foi como e obvio aproveitado. Umpequeno pormenor teve de ser feito a nıvel de uma alteracaode parametros para que a dll pudesse funcionar, que foiuma alteracao nos parametros recebidos do Java antesdestes serem passados para a funcao FORTRAN, alteracaovisıvel na figura 11.Finalizada a dllfinal, foi criado um programa Java, o

proj.java para testar se a interface entre Java e FORTRANestaria correcta. Este ficheiro passa nos parametros a e b osvalores 10 e 20 e espera a soma. So enviando os parametrospara a dllfinal, sem saber que o calculo da soma vai serfeito na dllfortran. O modo como se processa entao a inter-face entre Java e FORTRAN esta exemplificado detalhada-mente na figura numero 12, com os respectivos nomes deficheiros, funcoes e variaveis.Ao executar o ficheiro proj.java com sucesso foi entao con-

Fig. 11ALTERACAO AOS PARAMETROS A ENVIAR A FUNCAO DLLSOMA

Fig. 12DIAGRAMA DA INTERFACE ENTRE JAVA E FORTRAN

seguida a tao bem desejada interface entre Java e FOR-TRAN como pretendido inicialmente. O resultado foi opretendido o resultado da soma foi o pretendido, 30 nestecaso.Por fim, a ultima etapa do projecto foi criar um Web Ser-

vice. O primeiro passo foi escrever o codigo do lado doServidor. Foram criadas duas classes, uma que exporta umafuncao como Web Service com o nome de proj e outra quee chamada por esta que chama a funcao nativa em C++ deseu nome SomaDLL. O codigo das duas classes do servidorpode ser visto nas figuras 13 e 14.Apartir da classe SomaDLL criou-se o ficheiro .h. Apartir

deste foi alterado o projecto em Visual Studio correspon-dente a dllfinal de modo a esta DLL comunicar com a classeSomaDLL. Apos as alteracoes, o projecto foi compilado. Ea dllfinal foi colocada na pasta BIN do JRE da JDK.Foram gerados os ficheiros do servico apartir da classe do

servico com o comando: Apt testeservidor/proj. De seguidafoi executado o servico.De seguida, do lado do cliente, obtiveram-se os ficheiros

necessarios para aceder ao servico atraves do comando:wsimport -keep http://localhost:8080/servico?wsdl. Aetapa seguinte foi escrever o codigo do cliente. O codigopode ser visto na figura 15.Ao ser executado, o cliente chama o servico e envia os

parametros a somar, 10 e 20. O resultado obtido foi o es-perado,30.Na tabela 1 estao os resultados de cada uma das partes

c⃝ UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

222 CARLOS MATOS [20317]

Fig. 13CLASSE QUE CHAMA A FUNCAO NATIVA EM C++

Fig. 14CLASSE QUE EXPORTA A FUNCAO COMO WEB SERVICE

implementadas.

Comunicacao ResultadoJaca/C++ em concordancia com o esperadoC++/FORTRAN em concordancia com o esperadoJava/C++/FORTRAN em concordancia com o esperadoWeb Service em concordancia com o esperado

TABELA ITABELA DE RESULTADOS

V. CONCLUSOES

Demonstrou-se com este trabalho que e possıvel fazer a in-terface entre as duas tecnologias propostas. Como trabalhofuturo, visto que ja se consegue a interface entre as duas lin-guagens devem-se agora aproveitar as grandes capacidadesde calculo do FORTRAN, mais especıficamente na area docalculo numerico,e utilizar bibliotecas ja existentes nessa

Fig. 15CODIGO DO CLIENTE

area para fazer a interface entre elas e o Java aproveitandoassim o melhor de cada tecnologia.Alem de aproveitar essas bibliotecas pretende-se tambem

criar um servidor que disponibilize entao o acesso remotoa todas essas bibliotecas de calculo em FORTRAN via WebService, de modo a que possam ficar disponibilizadas naoso para uma pessoa, mas sim para um grupo de pessoas.Outro trabalho futuro e a interface ser bidireccional, ou seja,poder o FORTRAN aceder a programas e metodos Java, ouseja, o caminho inverso ao implementado neste projecto.

BIBLIOGRAFIA

[1] Toufic Boubez Doug Davis Glen Daniels Yuichi NakamuraRyo Neyama Steve Graham, Simeon Simeonov, Building Web Ser-vices With Java, Sams Publishing, primeira edicao, 2001.

[2] Bruce Eckel, Thinking in Java, PRENTICE HALL, quarta edicao,2006.

[3] P.J. Deitel H.M. Deitel, Java como programar, Bookman, quartaedicao, 2003.

[4] Calling FORTRAN and C from Java,http://academic2.american.edu/ jpnolan/Misc/FortranDLL.html.

[5] John Nolan, Creating a Windows DLL with Visual Fortran,http://academic2.american.edu/ jpnolan/Misc/FortranDLL.html.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 223

Gestao de Software para salas de InformaticaP0945

Vitor Alexandre Moutinho Valente , bitor balente @hotmail.com

Abstract – This project aims to implement a software tool(framework) that facilitates the performance of environments/ virtual machines and their replication, besides the fact ofsupport the graphics requirements for their management,inan easy and automatic mode to support th education in com-puter science and engineering. For its implementation wereused the following tools: VMware, GTK +, SystemRescueCDand Linux.

Resumo – Este projecto tem como objectivo a implementacaode uma ferramenta de software (framework) que facilita o de-sempenho de ambientes/maquinas virtuais e a sua replicacao,para alem de suportar as condicoes graficas para a suagestao, de modo facil e automatico para suporte de en-sino em ciencia de computacao ou engenharia. Para a suaimplementacao foram consideradas as seguintes ferramentas:VMware, GTK+, SystemRescueCD e Linux.Keywords – VMware, SystemRescueCD, linuxPalavras chave – VMware, SystemRescueCD, linux

I. INTRODUCAO

A gestao do software, aplicacoes e seus conteudos parametodos de aulas laboratoriais aplicadas ao ensino decomputacao e redes de computadores na vertente de en-sino de linguagens de programacao, sistemas operativos,aplicacoes e gestao de administracao de redes de computa-dores e reconhecidamente uma tarefa complicada. Os inter-esses e objectivos de cada sessao sao muito diferentes assimcomo as necessidades.Para se obter uma solucao que suportasse os requisitos

para o ensino de LEEC1 e MEEC2, terıamos com todaa certeza um sistema muito pesado, complexo e do tipo”monocentrico”, isto e, com a possibilidade de ter um unicoponto de falha.Recorrendo a virtualizacao de ambientes / maquinas vir-

tuais, este problema e de certo modo ultrapassado, sendoque o sistema fica com caracterısticas de fault-tolerance,ou seja, se existir um problema drastico , bastara reiniciar osistema e todas as condicoes serao repostas.A utilizacao de maquinas virtuais e bastante vantajosa aos

utilizadores, pois permite aos mesmos que trabalhem numambiente virtual com os privilegios de um administrador,sem no entanto alterar a maquina fısica, mas sim umamaquina virtual criada.As maquinas virtuais simulam uma maquina fısica e os uti-

lizadores tem a ilusao de que estao a trabalhar com a exclu-sividade do servico.

1LEEC- Licenciatura em Engenharia Electrotecnica e Computadores2MEEC- Mestrado em Engenharia Electrotecnica e Computadores

Outra das vantagens das maquinas virtuais e o seu custo eportabilidade. A utilizacao das mesmas evita a necessidadede ter um equipamento por cada servidor da rede. Pode-se ter um unico computador e nele as diferentes maquinasvirtuais com as suas diversas aplicacoes.O software comecera por permitir ao utilizador escolher a

desejada maquina virtual para o seu trabalho especıfico.Apos a escolha da desejada maquina virtual, o programa

ira abrir automaticamente o VMplayer com a maquina vir-tual seleccionada, tendo depois o utilizador acesso atravesdo VMware a todas as opcoes da maquina que esta a seremulada.O documento esta organizado da seguinte forma:

• Introducao, que descreve brevemente em que con-siste o projecto, quais as ferramentas utilizadas, asmotivacoes e a estrutura do documento.• Estado da arte, em que e feito um desenvolvimento das

materias estudadas e aplicadas neste projecto, ou seja,um estudo mais intensivo explicando em que consis-tem cada uma das materias, vantagens, desvantagens.• Concepcao, explicando como e que o projecto se vai

realizar.• Implementacao, em que e explicado como e que o pro-

jecto foi executado, os passos seguidos para o sucessodo mesmo e as dificuldades encontradas.• Testes e resultados, que contem uma analise ao

bom funcionamento bem como o comportamento dasmaquinas virtuais.• Conclusao, aonde se relatam todas as analises, tanto

ao projecto bem como ao possıvel trabalho futuro quevenha a acontecer com a implementacao deste soft-ware.

II. TECNOLOGIAS USADAS

As tecnologias usadas na elaboracao deste projecto foramas seguintes:

• Virtualizacao• VMware• Zenity• Partimage

A. Virtualizacao

A virtualizacao [1] consite numa camada virtual que per-mite que varias maquinas virtuais, com sistemas opera-tivos heterogeneos, sejam executadas isoladamente ou ladoa lado, na mesma maquina fısica.A virtualizacao tem algumas vantagens tais como:

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

224 VITOR VALENTE [23301]

• Executar varias maquinas virtuais, com sistemas op-eracionais heterogeneos, ao mesmo tempo e na mesmamaquina fısica.• Criar maquinas virtuais configuradas totalmente de

forma isolada, com seu proprio conjunto de hardwarevirtual para execucao de sistemas operativos e respec-tivas aplicacoes.• Guardar, copiar e providenciar rapidamente maquinas

virtuais que possam passar de um servidor fısico paraoutro, para permitir a consolidacao da carga de tra-balho e a manutencao do tempo de inactividade muitoreduzido.

B. VMware

Fig. 1ESQUEMA DE UM SISTEMA BASEADO EM MAQUINAS VIRTUAIS

O VMware [2] [3] e um software/maquina virtual que per-mite a instalacao e utilizacao de um sistema operativo den-tro de um outro, dando suporte real a aplicacoes de outrossistemas operativos.Os arquivos sao armazenados em discos virtuais, que

aparecem como arquivos dentro de uma pasta no sistemahost e cada sistema operativo pode ter uma configuracao derede distinta,com o seu proprio endereco IP. As maquinasvirtuais ficam entao disponıveis na rede, como se realmentese tratasse de computadores completos, permitindo que seexecute um servidor Web ou um programa P2P dentro deuma maquina virtual, sem arriscar a seguranca do sistemaoperativo original da maquina fısica.O VMware e um produto comercial, destinado principal-

mente a servidores que podem executar varias maquinasvirtuais dentro do mesmo servidor e assim oferecer hostssemi-dedicados a um custo bem mais baixo do que o deservidores exclusivos. O cliente continua a ter acesso com-pleto ao seu servidor, apenas o desempenho e que pode sermenor, de acordo com o numero de maquinas virtuais porhost.Por razoes de desempenho, o monitor do VMware utiliza

uma abordagem hıbrida para implementar a interface domonitor com as VM’s. O controlo de excepcao e gerenciade memoria e realizado atraves da manipulacao directa dohardware, mas para simplificar o aspecto do ecra, a respon-sabilidade do controlo de I/O e do sistema anfitriao.No ambito deste projecto foram utilizadas essencialmente

duas versoes do VMware (VMware Server e VMwarePlayer) que de seguida se descrevem:

B.1 VMware Server

O VMware Server e usado em servidores de pequeno emedio porte. E um software basico para quem quer comecara aprender um pouco do mundo da virtualizacao.Conta com boa parte dos recursos da versao Workstation, e

adiciona recursos uteis ao uso em servidores, como a gestaoremota. Isto resulta em perda de desempenho na interfacegrafica, apesar de nao ser um problema para servidores queoperam sem monitor ou interface grafica.

B.2 VMware Player

O VMware Player e outra versao da distribuicao do pro-duto VMware. E diferente do VMware Server, no aspectoem que a grande limitacao e o facto de nao ter as opcoesde criar ou modificar as maquinas virtuais. Ou seja, comeste VMware apenas se trabalha com maquinas virtuais jacriadas e configuradas.Os recursos do VMplayer sao os seguintes:

• Consegue executar uma variedade de sistemas opera-tivos de 32 e 64 bits ,tais como Microsoft Windows,Red Hat, SUSE, Ubuntu e FreeBSD.• Copiar texto e ficheiros entre a maquina virtual e a

maquina fısica.• Aceder a pastas partilhadas para poder ver dados no

host.• Tem suporte para ligacoes USB 2.0.• Executar uma aplicacao virtual para ter acesso a

descricao do autor acerca dessa mesma aplicacao.• As aplicacoes virtuais sao previamente feitas e config-

uradas para estarem prontas a serem executadas dentrodas maquinas virtuais.

C. zenity

Outra ferramenta usada na elaboracao deste projecto foi autilizacao da linguagem de programacao zenity, que serviupara criar um menu bastante simples em que permita aoutilizador a escolha entre as diferentes maquinas virtuais.O zenity e uma ferramenta que ajuda a criar varias caixas

de dialogo.Cada um desses dialogos tem diferentes formas de ser ap-

resentado no ecra e diferentes formas de recolher dados doutilizador.Pode-se criar varias caixas de dialogo feitas pelo zenity de

acordo com a necessidade de cada trabalho, como por ex-emplo, caixas entrada, de erro, de calendario, de seleccaode ficheiros, de notificacao, de progresso, etc.

D. partimage

O partimage [4] [5] e uma ferramenta do Linux quepermite fazer e recuperar backups de discos rıgidos ouparticoes, na forma de uma imagem.Esta ferramenta e bastante util devido ao facto de um ad-

ministrador poder controlar as respectivas maquinas fısicas.Pode-se fazer um backup de particoes individuais do disco

no caso de haver falha do sistema ou ficheiros corrompidos.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 225

Fig. 2EXEMPLO DE UMA CAIXA DE DIALOGO ZENITY

Podemos comprimir o ficheiro de imagem com o gzip oucom bzip2, para poupar espaco necessario em disco.Podem tambem ser separados em multiplos ficheiros para

poderem ser gravados para um CD/DVD.No caso de nao se querer instalar esta ferramenta, pode-

se sempre gravar o SystemRescueCD para que se consigautilizar o partimage com a finalidade de recuperar imagensmesmo sem o computador ter um sistema operativo instal-ado.Esta ferramenta, para ser mais rapida e eficiente, apenas

vai gravar para o ficheiro de imagem as porcoes de dadosocupadas pela maquina, nao gravando as partes livres dodisco.Tambem funciona com ficheiros bastante grandes con-

seguindo comprimı-los com o gzip para ficheiros mais pe-quenos.O partimage consegue, em 10 minutos, se houver proble-

mas no sistema, restaurar o sistema original, conseguindodepois gravar a imagem num CD para o utilizador nao terde usar espaco em disco.Tambem e uma ferramenta muito util para o caso de se

ter bastantes computadores numa mesma sala. Instala-se osistema base numa maquina, e cria-se a imagem para umCD.Depois e so inserir o CD nos restantes computadores e

fazer o restauro do sistema a partir dessa imagem.

III. CONCEPCAO

O objectivo do projecto e fazer um menu para escolha demaquinas virtuais, de forma a ajudar todos os processos quepossam advir da utilizacao dos computadores de uma salade informatica, bem como para que os alunos possam escol-her mediante das suas necessidades. Outro dos objectivosdo trabalho e, em caso de erro do sistema ou quebra domesmo, fazer a recuperacao das maquinas virtuais atravesdas ferramentas necessarias.Outra das finalidades passa por: Depois da elaboracao

deste projecto, ele permita um acesso facilitado a todos osutilizadores, para uma utilizacao mais simples e eficaz de

Fig. 3ESQUEMA DO FUNCIONAMENTO DO SOFTWARE

todos os recursos das maquinas fısicas.O projecto ira consistir na abertura de um menu, com a

lista das maquinas virtuais disponıveis.Depois da escolha da maquina desejada, essa caixa de

dialogo (menu), ira desaparecer, abrindo entao o VMplayercom a emulacao da maquina virtual desejada.O utilizador ira entao ter um ambiente de utilizacao igual

ao sistema operativo escolhido.Depois de acabar o seu trabalho o utilizador ira sair do

VMplayer, e a opcao de desligar o computador ira aparecer,para que o trabalho possa estar concluıdo.A parte da reposicao das maquinas ira ser da responsabili-

dade da pessoa encarregada da gestao dos computadores darespectiva sala.Ao introduzir o SystemRescueCD o administrador ira ter

a opcao de fazer backup aos respectivos computadores.Depois do sistema base dos computadores estar restabele-

cido, os computadores irao fazer o backup da actualizacaodas maquinas virtuais, como esta ilustrado na figura 3.Desta forma o sistema ira estar operacional outra vez.

IV. IMPLEMENTACAO

A implementacao do projecto desenvolveu-se em variasfases que de seguida se descreve:Comecou-se por instalar o sistema base (xubuntu).Apos isto foi desenvolvido um script para por as fun-

cionalidades a correr sem nenhuma accao do utilizador. Oprimeiro script a ser criado e o menu em zenity, que se ini-cia com o seguinte comando: vim menu.shLogo depois, foi criado o codigo ilustrado na fig. 4.Apos isto foi criado um script que corra dentro da opcao

de arranque em modo normal:X &Sawfish &xterm &

while true;do menu.sh;

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

226 VITOR VALENTE [23301]

Fig. 4CODIGO DE CRIACAO DO MENU EM ZENITY

done

Depois, o ficheiro que contem o script foi posto acorrer no fim de todas as operacoes basicas parao arranque da maquina com o seguinte comando:

ln /etc/init.d/teste.sh s99zteste.sh -s

Fig. 5COLOCACAO DO FICHEIRO TESTE COM O NOME S99ZTESTE NA

ULTIMA OPCAO

Esse gestor ira tambem ter uma opcao para recuperar asmaquinas virtuais atraves da conexao a um servidor ex-terno, em caso de falha de alguma das maquinas fısicas.Esse processo tem o nome de ’partimage’ e funciona da

seguinte maneira: em caso de falha ira haver um tecnicoresponsavel pela sala, que tem em seu poder um CD como SystemRescueCD, atraves do qual iniciara o computa-dor pelo CD, conectando-se depois a um servidor externo,e fazendo a recuperacao da maquina fısica e de todas asmaquinas virtuais disponıveis.Este processo serve igualmente para quando o tecnico de-

sejar fazer uma actualizacao do software disponıvel (ex:

quando for introduzida nova maquina virtual no menu).

Fig. 6ASPECTO DA FUNCIONALIDADE PARTIMAGE

V. TESTES E RESULTADOS

Nesta seccao e mostrado um teste feito ao VMware paraver se este consegue correr bem as maquinas virtuais.Neste caso, vai ser testada a maquina virtual do Win-

dowsXP.

Fig. 7VIRTUALIZACAO DO WINDOWS XP

Como se pode verificar pela fig. 7, a maquina virtual foibem sucedida na sua virtualizacao.Na fig. 8 podemos observar que a maquina virtual tem

todas as funcionalidades disponıveis como se tratasse de umsistema operativo base da maquina fısica.Como se pode concluir, o resultado foi o esperado, nao

sendo observado qualquer erro nem nenhuma anomalia.Visto isto, nao ha razao nenhuma para que o sistema naofuncione bem, e por isso podera ser implementado numasala de aula.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 227

Fig. 8ASPECTO DO AMBIENTE DE TRABALHO DO WINDOWSXP

VI. CONCLUSAO

O objectivo que se prendia com a realizacao deste projectoera desenvolver um software que permita a melhor gestao ereplicacao dos computadores de uma sala de informatica.Com este sistema, nao ira haver tantos problemas de fal-

has nestes computadores pois o sistema operativo e bastantesimples e nao exige demasiado pela maquina fısica, tendoas respectivas maquinas virtuais la instaladas.A instalacao desta ferramenta de trabalho, devido ao

facto de ser um software amigavel do ponto de vista deutilizacao, e bastante util aos utilizadores. Tambem aosadministradores vai permitir uma melhor gestao, pois pos-suem ferramentas que podem simplificar o seu trabalho demanutencao dos computadores.As instalcoes das maquinas virtuais (VMplayer), correu da

melhor maneira, sendo tambem uma funcionalidade bas-tante importante, pois vai permitir a facil implementacaodas maquinas virtuais necessarias ao trabalho dos uti-lizadores. Esta ferramenta nao diminui muito o desem-penho da maquina fısica.A linguagem zenity, tambem foi bastante agradavel de usar

ja que se conseguiu criar um menu acessıvel, sem muitascomplicacoes, e ao mesmo tempo foi uma linguagem facilde implementar, pois consegue-se criar caixas de dialogobastante uteis.Com o partimage, pode-se fazer um backup das maquinas

que desejarmos, bem como das particoes necessarias, paraas podermos utilizar noutras maquinas fısicas, desde quehaja espaco livre no disco do servidor externo. Em caso defalha ira ser mais eficaz a recuperacao dos dados perdidos.Da seccao dos Testes e Resultados, podemos verificar que

o trabalho atingiu os seus objectivos, tendo todas as ferra-mentas necessarias a basica utilizacao que um sistema op-erativo costuma ter.Desta forma os objectivos propostos e levantados durante

o estudo e realizacao dos mesmos satisfazem os requisitosna medida em que:

• As maquinas virtuais sao executadas perfeitamente

dentro do VMplayer nao sendo registado qualquerproblema durante a utilizacao das mesmas.• A implementacao do menu em zenity foi perfeitamente

executada ja que o menu e compreensıvel para todosos utilizadores.• A ferramenta partimage resultou, pois conseguiu-se

criar particoes no disco rıgido a partir das imagens cri-adas das maquinas virtuais.• A interaccao entre os utilizadores e as maquinas virtu-

ais foi atingida com sucesso.

Os trabalhos futuros que podem advir da realizacao destetrabalho sao os seguintes:

• Uma maior variedade de opcoes para a gestao eutilizacao deste software.• Um aperfeicoamento do software de modo a que pe-

quenas imperfeicoes possam ser removidas.

BIBLIOGRAFIA

[1] Building the Virtualized Enterprise with VMware Infraestructure.White paper.pp18.

[2] Virtualization overhead. White paper.pp11.[3] Virtualization: Architectured Considerations and other Evaluation

Criterie. White paper.pp14.[4] V. Liang e X. Guan, A virtual disk environment for providing file

system recovery, 2006.[5] M. A Penhallurick, Metodologies for use of VMware to boot

cloned/mounted subject hard disk images, 2005.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N∘ 1, JULHO 2009 229

Ambientes Tecnologicamente Assistidos-SensoresP0946

Ademar Filipe Coelho Calcada, ademar [email protected]

Abstract – This project started with a partnership with ”PTInovacao” and the main approach is the Ambiente AssistedLiving (AAL), which aims to improve the quality of life ofolder people and strengthen the Europe industry, through theuse of information and communication technologies (ICT) [1].This study aimed to promote a better life, more healthy and

independent for risk groups, making a remote monitoring,and giving any alarm in chase of emergency, looking for a newideology for the use of home automation.Another approaching was made through the study of how

data collection can identify the profile of a citizen, using thisinformation to develop services which meet the specific needsof the individual.

Resumo – Este projecto partiu de uma parceria com a PTInovacao e tem como abordagem principal o Ambiente AssistedLiving (AAL), que tem como objectivo principal melhorar aqualidade de vida dos idosos, e fortalecer a base industrial naEuropa atraves da utilizacao de Tecnologias de Informacao eComunicacao (TIC) [1].O estudo levado a cabo teve como objectivo promover uma

vida melhor, mais saudavel e autonoma para grupos de risco,fazendo a sua monitorizacao remota e dando algum alarmeem caso de emergencia, procurando uma nova ideologia paraa utilizacao da domotica.Uma outra abordagem efectuada foi o estudo de como

atraves da recolha de dados se pode identificar o perfil do in-divıduo, uma informacao importante para o desenvolvimentode servicos que vao de encontro as necessidades especıficas docidadao.Keywords – Home automation, Profiles, MonitoringPalavras chave – Domotica, Perfis, Monitorizacao

I. INTRODUCAO

Hoje em dia o cidadao comum tem a vida cada vez maisocupada, prova disso e a propria taxa de natalidade por-tuguesa.A consequencia disso e o envelhecimento da populacao

como se pode observar pelos dados estatısticos levados acabo pelo INE (Fig. 1 e Fig. 2).Estes dados leva a pensar como a tecnologia pode ir de en-

contro aos problemas que daı advem e ajudar nas tarefas dodia-a-dia. Como podemos observar os idosos estao tambemcada vez mais isolados e dependentes de si mesmos (Fig. 3).O programa AAL tem por objectivos aumentar o tempo

de vida em que as pessoas podem viver no seu ambientepreferido, aumentando a sua autonomia, auto-confianca emobilidade. Apoiar a manutencao da saude e da capacidadefuncional dos idosos, promover uma vida melhor e mais

saudavel para indivıduos em risco. Reforcar a seguranca,para evitar o isolamento social e o apoio a manutencao damultifuncionalidade da rede em redor do indivıduo e aindao apoio a familiares e a organizacoes de cuidados [1].Nestas ultimas decadas tem se observado um enorme

avanco e desenvolvimento na tecnologia implementada nossensores, sendo cada vez mais pequenos e mais precisos,e no desenvolvimento das telecomunicacoes sem fios (ex:zigbee, bluetooth, wi-fi, etc.).Neste sentido, tecnologias como as referidas poderao ser

de extrema utilidade no auxılio da populacao em geral esobretudo da mais necessitada.

Fig. 1INDICE DE ENVELHECIMENTO POR NUTS II, 2007

II. DESENVOLVIMENTO

A. A Domotica

A Domotica e uma tecnologia recente do ramo da en-genharia que permite a gestao inteligente dos recursoshabitacionais, ou seja, viver de forma inteligente numacasa robotizada com funcoes automaticas. O termo”Domotica”deriva do frances ”Domotique”que podemosidentificar como casa (”Domus”) automatica (”Imotique”)(Fig. 4).E uma ciencia que consiste na aplicacao de diferentes tipos

de controlo de funcionalidades dentro de uma casa, tudo embenefıcio do consumidor.

c⃝ UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

230 ADEMAR CALCADA [24248]

Fig. 2DISTRIBUICAO PERCENTUAL DA POPULACAO RESIDENTE SEGUNDO

O GRUPO ETARIO, EM 31/12/2007 POR NUTS II

Fig. 3INDICE DE DEPENDENCIA DE IDOSOS POR NUTS II, 2007

Alem da seguranca e comunicacoes que a domoticaabrange esta tambem interligada com a iluminacao,climatizacao e automatizacao da casa.Por exemplo a partir de um site podemos ter acesso a difer-

entes funcionalidades que a domotica nos permite, comoapagar todas as luzes da casa em simultaneo e fechar todosos estores. O que a domotica tambem permite realizar, epodermos mudar as imagens dos quadros da casa e mudarum vidro de opaco para transparente e vice-versa, como sefosse um cortinado digital [2] [3].Nos nossos dias, apesar de ainda ser pouco conhecida e di-

vulgada, mas pelo conforto, comodidade e seguranca, sejapor incendio, inundacao, intrusao ou quebra de vidros, adomotica promete vir a ter muitos adeptos.Uma mais-valia que a domotica nos da e a questao de po-

dermos controlar uma casa em qualquer parte do mundo.A gestao dos recursos habitacionais e o controlo dos con-

sumos energeticos, gas e agua sao outras vantagens destatecnologia.O interesse que temos de ter da domotica e ser capaz de

centralizar informacao e controlo de uma serie de subsis-temas ja existentes, como alarmes, controlo das luzes, con-trolo do aquecimento e o controlo da climatizacao do am-biente.Todas as pessoas hoje em dia se preocupam cada vez mais

se a sua casa lhes possibilita, ou nao, ter nıveis de conforto

semelhantes as outras casas, mas com mais poupanca deenergia e a domotica vem ajudar a que isso ocorra [2] [3].

A.1 Aplicacoes da Domotica

A Domotica combina a electronica e as TIC para efectuaruma gestao dos diversos equipamentos integrados de umahabitacao. Tornando a vida mais confortavel, mais segura eisto tudo com uma maior eficiencia.Vem permitir uma automacao das tarefas efectuadas no

dia-a-dia, deixando mais tempo livre e menos preocupacoespara aos habitantes da casa.O sistema pode ser controlado de acordo com as neces-

sidades do utilizador, assim o utilizador pode escolher sequer o sistema mais ou menos automatico, de acordo com ainteligencia do sistema instalado [2] [3].Nos sistemas passivos o elemento reage so quando lhe e

transmitida uma ordem, dada directamente pelo utilizadorou por um comando.Nos sistemas mais avancados, nao so interpreta

parametros, como reage as informacoes transmitidaspelos sensores, por exemplo se detectar a existencia deintrusos podera avisar o utilizador, ou se detectar que atemperatura esta a diminuir pode ligar o aquecimento.O controlo remoto de habitacoes deixa de ser algo com-

plexo, sendo que a domotica permite o acesso as funcoesvitais da casa, a partir da Internet ou do seu telemovel.A domotica permite programar tarefas diarias de uma

forma automatica [2] [3].A domotica permite poupar energia utilizando os aparelhos

apropriados gerindo os gastos de electricidade e regulandoa iluminacao de acordo com o nıvel de luminosidade ambi-ente. Para a sua casa ter uma aparencia de estar habitada,basta programar as luzes para acender a determinadas horase em determinadas divisoes.A climatizacao pode ser programada para activar e desac-

tivar equipamentos de aquecimento, ventilacao ou ar condi-cionado, permitindo manter um nıvel de conforto e pode-mos ainda controlar tudo a partir do telemovel ou da inter-net, de modo a certificar-nos que tudo esta como queremos.A domotica pode tambem actuar a diversos nıveis de

seguranca. O sistema, atraves dos sensores, permite detec-tar se existem fugas de gas, inundacoes ou incendios. Adeteccao de intrusos tambem e muito relevante ao nıvel daseguranca e levada em consideracao pelo sistema.Por fim os dados podem ser comunicados apoiando-se

no avanco das novas tecnologias computacionais e detelecomunicacoes. A domotica nao so permite visualizar (eouvir) a partir da Internet ou telemovel, diversas divisoesde sua casa, permitindo-lhe estar completamente relaxadosabendo que tudo esta bem, como permite a comunicacaocom o sistema, desligando a televisao que ficou acesa,baixar o estore quando o sol incidir, acender as luzesexteriores quando se estiver a aproximar de casa oucontrolar a climatizacao, de modo a manter o confortoquando regressar a casa [2] [3].

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N∘ 1, JULHO 2009 231

Fig. 4DOMOTICA

B. Sensores

Nos primordios, o homem gostava de poder medir/ quan-tificar uma certa grandeza fısica, como por exemplo a tem-peratura, fumo, pressao, etc.No processo de medicao/quantificacao por meios

electronicos e necessario obter uma grandeza electrica,atraves da grandeza fısica a medir, de maneira a que essagrandeza electrica seja sua fiel.Pode definir-se um sensor ou transdutor como sendo, todo

o dispositivo ou equipamento que transforma uma forma deenergia noutra forma de energia [4]. Ou em instrumentacaoelectrica/electronica, todo o dispositivo ou equipamentoque converte qualquer grandeza fısica nao electrica (tem-peratura, calor, pressao, por exemplo), numa grandezaelectrica como tensao, corrente, resistencia, bobine ou umcondensador. Estes parametros podem ser depois descritosem termos de amplitude, frequencia e fase. (Fig. 6).Existem varias abordagens na classificacao de sensores.

Podem ser classificados com base no princıpio electricode funcionamento, na grandeza fısica a medir ou na pro-priedade que e medida, ou em funcao da aplicacao a que sedestinam.No que diz respeito a sua aplicacao, eles podem ser de tres

tipos: de observacao e vigilancia de processos e operacoes,

de controlo de processos ou de analise experimental emciencias e engenharia [4].Os sensores de observacao e vigilancia de proces-

sos e operacoes, sao utilizados essencialmente paraobservacao. Por exemplo, os termometros, os barometros,os anemometros, sao utilizados pelos meteorologistas paraobservarem as condicoes ambientais (temperatura, pressao,velocidade do vento), nao sendo as suas leituras utilizadasem qualquer funcao de controlo (no sentido usual, dealteracao voluntaria dessas condicoes ambientais).No segundo tipo, de controlo de processos, o sensor e um

componente de sistema de controlo, em geral automatico.Por exemplo no caso de um sistema de aquecimento central,ele deve incluir necessariamente um sensor capaz de medira temperatura. E caso se pretenda fazer um controlo de umprocesso mais complexo deve dispor-se de varias medidasde outros parametros tais como, a pressao, a velocidade,ou tensao electrica, entre outras, para que atraves das suasleituras se obtenha a ideia do estado actual do processo.Nos de terceiro tipo, analise experimental em ciencia e en-

genharia, o trabalho de investigacao cientıfica e tecnologicarequer frequentemente uma grande quantidade de trabalhoexperimental a fim de testar hipoteses cientıficas, formu-lar relacoes empıricas, analisar a composicao de materiais,

c⃝ UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

232 ADEMAR CALCADA [24248]

etc. Os sensores utilizados com essa finalidade devem serde elevada precisao e de excelentes caracterısticas de fun-cionamento.Outro processo de classificacao de acordo com o Institute

of Electrical Electronic Engineers (IEEE) [5], consiste nadivisao em dois grandes grupos:Passivos: geram directamente sinais electricos em re-

sposta a um estımulo externo, ou seja a energia do estımulode entrada e convertida pelo sensor numa energia de saıdasem necessidades de potencias adicionais, como exemplotermoelectricos, piroelectrico, piezoelectrico.Activos: auto-alimentados, necessitam de uma fonte

externa para operarem, que normalmente se designapor sistema de excitacao. Designam-se por vezes porparametricos, pois as suas propriedades podem ser depoisconvertidas em sinais electricos. Como exemplo para estessensores temos o termistor que e uma resistencia sensıvela temperatura. Este sensor nao gera qualquer sinal masfazendo passar atraves dele uma corrente electrica podemedir-se a resistencia em ohms e directamente relacionar-se com a temperatura.O mecanismo associado a interpretacao duma grandeza a

medir por um sensor e sumariado com mais detalhe atravesda (Fig. 5).Interface com o ambiente: Sente a presenca de um

fenomeno externo representado de uma forma geral poruma caracterıstica fısica, (nao se excluem propriedadesquımicas ou biologicas): Deteccao.Seleccao: Selecciona e mede uma propriedade do estımulo

externoProcessamento de Sinal: Transforma o sinal de en-

trada no sinal correspondente de saıda expresso na formaanalogica, digital ou modelado. Algum condicionamentode sinal pode ser necessario (exemplo: conversao A/D, fil-tragem, limitacao, entre outros).Interface de Saıda: Passa o sinal directamente a um sis-

tema de controlo, a um sistema de armazenamento ou a umutilizador capaz de o processar: Comunicacao.Os sensores deverao ser categorizados em intervalos cata-

logados, pois e muito util tratar os dados provenientes dossensores em muito menor numero, do que estar a tratar osdados directamente dos sensores, em que terıamos muitomais valores.Existem diversos tipos de sensores utilizados em equipa-

mentos electronicos. Podendo ser desde simples chavesou dispositivos de accionamento momentaneo do tipomecanico, ate transdutores especiais que convertem algumagrandeza fısica numa grandeza electrica como, por exem-plo, uma tensao. Esses sensores servem para informar umcircuito electronico de algo que ocorra externamente, sobreo qual ele deve actuar, ou a partir do qual ele deve comandaruma determinada accao [6].Os equipamentos mais simples podem utilizar apenas

um sensor, enquanto que uma maquina industrial ou umequipamento medico complexo pode empregar muitossensores e de tipos diferentes como sensores de pressao,temperatura, movimento, etc. Todos estes sensorespossuem especificacoes que devem ser entendidas porqualquer um que deseje utiliza-los num projecto [6].

Fig. 6SENSORES

C. E-House care

As novas exigencias da Sociedade de Informacao tornaramemergente a area da Vida Assistida por AmbientesInteligentes apoiada nas Tecnologias de Informacao eComunicacao. Ao ser dada especial atencao ao desenvolvi-mento de tecnologias e conteudos com o intuito de melhorara autonomia e qualidade de vida do cidadao, surge a opor-tunidade da criacao de novos servicos orientados, tanto naperspectiva do indivıduo bem como na dos ambientes in-teligentes de uso comum em grandes espacos publicos.O nosso objectivo e o uso desta tecnologia para outro fim, a

monitorizacao de um doente, um idoso, uma qualquer pes-soa com necessidades especiais.Sendo certo que ao monitorizar indivıduos, em tempo real

ou nao, existem dificuldades na recolha de informacao de-vido, por exemplo, a diversidade de sensores (implantaveisou nao, com ou sem fio) com caracterısticas proprias ajus-tadas tambem aos tipos de dados a processar, dada a inex-istencia de normalizacao na area de solucoes moveis parainformacao biomedica, a garantia de QoS sera essencialpara que um sistema passe a constituir uma ferramenta deapoio clınico.O desenvolvimento de novas solucoes tecnologicas na area

das telecomunicacoes numa perspectiva holıstica poderaabranger a prevencao, monitorizacao e apoio a prestar a in-divıduos ou comunidades que necessitem de cuidados desaude, continuados ou nao, com patologias e caracterısticasespecıficas [7].Utilizando os sensores ja existes na domotica dita normal,

podemos obter um outro tipo de informacao a cerca doshabitantes da casa, desde o simples saber se a pessoa semove por casa a recolha de alguns dados biologicos (ex:temperatura, pulsacoes, glicose, pressao arterial etc.). Oobjectivo principal e a utilizacao dessa informacao recol-hida para o auxılio da pessoa, tentando que isso altere omınimo possıvel o dia-a-dia da pessoa.A melhoria da qualidade de vida sera promovida com a

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N∘ 1, JULHO 2009 233

Fig. 5ESTRUTURA DE UM SENSOR

monitorizacao remota de pessoas com situacoes clınicascontroladas, de modo a garantir as suas rotinas diarias (en-vio de mensagens MMS de familiares como reminders paraas pessoas ou tecnicos efectuarem determinada tarefa asso-ciada a sua condicao clınica), ou dar algum alarme em casode alguma emergencia.Daqui surge o conceito e-house care no intuito de aplicar

todas as tecnologias anteriormente descritas, num espacohabitacional tradicional (Fig. 7).

C.1 Novas utilizacoes para os sensores ja existentes nadomotica

Aqui vai ser abordada a utilizacao de alguns sensores ex-istentes na domotica e outros que podem vir a ser utiliza-dos no conceito e-house care. Por exemplo o sensor deinundacao sera no ambito da e-house care utilizado comosensor de fluxo de agua, isto e, em vez de detectar se existeuma fuga de agua, detecta a utilizacao por parte de algumapessoa do sistema de agua de uma casa, seja pela aberturade uma torneira. Deste modo temos a percepcao que emprincıpio tudo esta bem com essa pessoa. De um modoanalogo pode ser utilizado o sensor de gas, detectando as-sim o uso do sistema de gas.O detector de intrusao ou sensor de presenca no ambito da

e-house care e utilizado como detector de movimento, as-sim deste modo e utilizado para detectar movimento dentrode casa, este detector e especialmente importante porquepodera dar-nos dados relevantes acerca do local onde a pes-soa esta localizada, assim como se esta em movimento ouparada.Outro tipo de sensores a utilizar, sao os sensores que vao

de acordo com a patologia medica da pessoa. Sensores deglicose, electrocardiograma, pressao arterial, etc.

Em conjunto estes sensores fornecem dados que sao muitoimportantes para a criacao do perfil de uma pessoa, de modoa que o acompanhamento/monitorizacao seja mais person-alizada de acordo com as necessidades dessa mesma pes-soa.

D. Perfis

Perfil e a recolha de dados pessoais associados a um uti-lizador especıfico (Fig. 8).Um perfil pode ser usado para armazenar descricoes de

caracterısticas da pessoa, esta informacao pode ser explo-rada por sistemas, tendo em conta as caracterısticas e pre-ferencias da pessoa. Por exemplo os perfis podem ser

utilizados por sistemas adaptativos, que personalizam ainteraccao humana com o computador.Perfis de utilizador podem ser encontrados em sistemas op-

erativos, programas de computador, ou em sites dinamicos(tais como sites de redes sociais) [8] [9].

Fig. 8PERFIL

D.1 Em estudo

1. Identificacao de perfil/contexto, (qualquer informacaoque caracteriza a situacao duma entidade ou pes-soa, exemplos: correr, andar, humidade, luz, deitado,etc.), do paciente atraves de sensores; (e-house care +Sinestesia);

2. Capacidade de adaptacao e aprendizagem ao pa-ciente/comunidade cuidados especıficos; (reminderMMS);

3. Capacidade de utilizacao desta ”meta”informacaopara adaptar e desenvolver servicos de acordo com as

c⃝ UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

234 ADEMAR CALCADA [24248]

Fig. 7E-HOUSE CARE

necessidades de cada utilizador; (Computacao Evolu-tiva Agentes de Software);

4. Conhecer melhor o cliente e satisfazer as suas neces-sidades (Inqueritos empresas Home care);

5. Abordagens nao intrusivas (investigacao em Fısica desinais).

III. CONCLUSOES

Este projecto foi, em muitos aspectos, um projecto pio-neiro. Tendo em consideracao as novas abordagens dadas adomotica, que alias realcam a importancia de se dar segui-mento a este trabalho.Ficam como perspectivas para trabalhos futuros a recolha

de dados e o seu processamento de modo a inferir per-fis/contextos com a possibilidade de transmitir os dadossensoriais e os respectivos perfis/contextos inferidos. A ca-pacidade de distincao dos varios contextos, com base em ar-vores de decisao e a utilizacao de uma arquitectura flexıvelcapaz de conseguir rapidamente adaptar novos sensores quepossam vir a ser adicionados. Tudo isto possivelmente as-sente numa programacao feita em java, de modo a funcionarem qualquer plataforma que tenha JVM (Java Virtual Ma-chine).Alguns exemplos de aplicacoes que se possam vir a de-

senvolver para a informacao obtida dos perfis em conjuntocom a e-house care sao a assistencia na saude de um pa-ciente, assim como a recomendacao de servicos de acordo

com o perfil do utilizador.

BIBLIOGRAFIA

[1] Ambient Assisted Living Joint Programme. URL:http://www.aal-europe.eu/about-aal. Consultado em julho de 2009.

[2] Domotica-Wikipedia a enciclopedia livre.URL:http://pt.wikipedia.org/wiki/Domotica. Consultado em julho de2009.

[3] Sobre Domotica. URL:http://www.revolucione.com/domotica/sobredomotica/. Consultado em julho de 2009.

[4] E. B. Jones, Instrument Mesurement and Fredback, McGraw, 1977.[5] Institute of Electrical Electronic Engineers.

URL:http://www.ieee.com. Consultado em julho de 2009.[6] Newton Braga ”Saber electronica online: Todos os tipos de sensores”.

URL:http://www.sabereletronica.com.br/secoes/leitura/661. Consul-tado em julho de 2009.

[7] T-care Conhecimento e Saude URL:http://www.tcare.pt/servico/tcare-cuidados. Consultado em julho de 2009.

[8] User profile-Wikipedia the free encyclopedia.URL:http://en.wikipedia.org/wiki/User profile. Consultado emjulho de 2009.

[9] H. Chen., An Intelligent Broker Architecture for Pervasive Context-Aware Systems, PhD thesis, Department of Computer Science, Uni-versity of Maryland, Baltimore County, 2004.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 235

Ferramenta de simulacao para a caracterizacao da potencia instalada emmini-hıdricas

P0947

Joao Antonio Guedes Castanheira

Abstract – This article aims to provide some small notionsabout the water use of a central mini-hydro, and also providea small application to calculate the power to install a centralmini-hydro. After a search and analysis of information the-ory, has developed a small application to which the informa-tion returned by it is to help the user not only to calculate thepower to install, but also to decide on the best turbine for usein a future implementation for a better use of the plant, alsocomparing the values obtained by application to real values ofprojects already implemented.

Resumo – Este artigo tem como objectivo fornecer uma pe-quena nocao sobre o aproveitamento hidrıco de uma cen-tral, bem como implementar tambem uma pequena aplicacaopara o calculo da potencia a instalar numa central mini-hidrıca. Apos uma busca e analise de informacao teorica,desenvolveu-se uma aplicacao na qual a informacao devolvidatem como objectivo auxiliar o projectista nao so a calcular apotencia a instalar, mas tambem a decidir sobre qual a mel-hor turbina a utilizar numa futura implementacao para ummelhor aproveitamento da central, comparando tambem osvalores obtidos pela aplicacao com valores reais de projectosja implementados.Keywords – Power, PHP, Mini-HydroPalavras chave – Potencia, PHP, Mini-Hıdrica

I. INTRODUCAO

Este artigo tem como principal prioridade a divulgacao dasvarias componentes que compoem uma mini-hıdrica, dassuas funcoes e desempenhos bem como a demonstracaode uma aplicacao em que e dimensionada a potencia ainstalar numa central mini-hıdrica. Esta aplicacao utiliza3 tipos de programacao, HTML, SQL e PHP.Inicialmenteoptou-se por realizar uma busca de informacao sobre cen-trais mini-hidricas ja existentes de modo a construir umabase de dados consistente e real,posteriormente utilizou-sea programacao HTML e PHP para a interacao com o projec-tista e tendo como resultado final uma informacao que sejacapaz de elucidar o utilizador sobre qual o melhor equipa-mento a utilizar consoante os valores por ele introduzidos.

II. DESENVOLVIMENTO

A designacao de central mini-hıdrica generalizou-se emPortugal para designar os aproveitamentos hidroelectricosde potencia inferior a 10MW, sendo que este limite e uti-lizado internacionalmente para realizar a separacao en-tre as pequenas centrais hidroelectricas das grandes cen-trais hidroeletricas. Embora o nome nos leve a pensar

que a diferenca entre elas esteja apenas relacionada coma potencia produzida devido a sua dimensao isso nao e bemassim, pois as pequenas centrais hidroelectricas sao con-sideradas centrais renovaveis devido ao seu pequeno im-pacto ambiental, ja as grandes centrais hidroelectricas asua classificacao como centrais renovaveis e envolta empolemica embora usem um recurso renovavel, pois estetipo de centrais produzem efeitos nao desprezaveis sobreo ambiente. Segundo a Uniao Internacional dos Produtorese Distribuidores de Energia Electrica - UNIPEDE as cen-trais mini-hidricas devem ser classificadas em funcao dapotencia instalada,a qual podemos observar na tabela1 [1]:

Designacao Pinst(MW)Pequena central hidroelectrica ate 10Mini central hidroelectrica ate 2Micro central hidroeletrica ate 0,5

TABELA ICLASSIFICACAO DAS CENTRAIS MINI-HIDRICAS QUANTO A

POTENCIA INSTALADA

Outro modo de classificcao e em relacao a sua capacidadeou nao de armazenamento, pois as centrais de fio de aguanao tem capacidade de armazenamento devido ao caudalutilizavel ser o caudal que a percorre, ja pelo contrario ascentrais que tem capacidade de armazenamento possuemuma albufeira, a qual permite controlar o caudal.Elementos que constituem uma central minihidrica obser-

vada na figura1:1 - Albufeira; 2 - Canal de Aducao; 3 - Camara de carga; 4

- Conduta forcada: 5 - Edifıcio da central; 6 - Restituicao;7 - Caudal ecologico;Como todos os projectos implementados os quais re-

querem um estudo previo para um melhor rendi-mento do projecto a realizar, este tipo de projectos ouimplementacoes tambem nao fogem a regra necessitandopara isso de uma analise hidrologica, sendo que este es-tudo e realizado por especialistas, tendo como princi-pal objectivo prever qual o aproveitamento hidroelectrico,fornecendo assim ao engenheiro dados que o orien-tam a estimacao de caudais, o qual se revela um ele-mento fundamental para a determinacao do aproveitamentohidroeletrico, bem como saber tambem em que alturas doano a producao de energia sera mais elevada consoante ocaudal do rio.Como o proprio nome indica(”curva de duracao de cau-

dais”), o caudal de um rio torna-se variavel ao longo do ano,c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

236 JOAO CASTANHEIRA,[email protected] [23484]

Fig. 1CONSTITUICAO DE UMA CENTRAL MINI-HIDRICA [1] [2]

o que leva a que os especialista em hidrologia fornecamapenas probabilidades sobre a ocorrencia de caudais emdeterminada seccao do rio ao longo do ano. O graficodesta curva de caudais e tanto melhor, quanto maior for aduracao da analise de valores ao longo do tempo para a suaconstrucao, geralmente considera-se um perıodo de trinta aquarenta anos para que a curva media obtida seja significa-tiva. A figura 2 respresenta representa o valor dos caudaismedios diarios numa seccao de um rio realizada a partir deestudos feitos ao longo de varios anos. [2]

Fig. 2CURVA CRNOLOGICA DE CAUDAIS [1] [2]

Na figura 3 podemos observar a curva de duracao de cau-dais, a qual se obtem atraves da ordenacao monotona de-crescente dos valores obtidos.Explicado isto, pode-se entender que o caudal influencia

bastante a potencia a instalar numa central mini-hidrica,pois apresenta uma grande variacao nos seus valores, sendoque em alguns dos casos o caudal nao e todo aproveitadopara producao de energia. Em algumas situacoes o cau-dal pode ser desviado por questoes de rega, como tambempode ser desviado para se manter o caudal ecologico, com

Fig. 3CURVA DE DURACAO DE CAUDAIS [1] [2]

o objectivo de preservar o caudal mınimo necessario paraassegurar a conservacao dos ecossistemas, em especial dasespecies piscıcolas.A potencia a instalar numa central mini-hidrica esta di-

rectamente relacionada com o caudal que passa pela cen-tral,com a altura da queda util, com o peso volumico daagua e por fim com o rendimento da central como apresen-tado pela equacao1.

P (w) = η × γ ×Q× h (1)

Para analises mais simples e recorrente utilizar-se criteriosmais simples no que se refere ao calculo da potencia a in-stalar, sendo que em instalacoes de centrais mini-hıdricasligadas a rede nacional, a hipotese inicial e considerar ainstalacao de um unico grupo turbina-gerador. Tendo isto aequacao1 pode ser simplificada, damdo origem a equacao2.

P (w) = 7×Q× h (2)

E importante dizer que o valor (”7”ou”70%”) corre-sponde ao rendimento global de todo o aproveitamentohidroelectrico, considerando um conjunto de turbina-gerador , do transformador e ainda dispendios de energianos equipamentos auxiliares. Um reparo que merece orendimento global de todo o aproveitamento hidroelectricoe que este valor para pequenos aproveitamentos deve estarcompreendido entre o intervalo de 60% a 70%.Um assunto indispensavel quando se fala sobre a potencia

a instalar e a escolha da turbina , pois no que se refere a es-colha da turbina, em termos economicos corresponde a umagrande parte dos custos da central mini-hidrica, podendoate chegar aos 50%, pelo que ganha interesse a escolhada turbina correcta. Para uma escolha correcta da turbinateremos que considerar 3 parametros que sao essenciais:Queda, caudal e potencia. A figura 4 mostra uma tabelausada para a escolha de turbinas para pequenos aproveita-mentos hidroeletricos.No que se refere as turbinas elas podem ser consider-

adas turbinas de accao ou turbinas de reaccao, sendo que

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 237

Fig. 4GRAFICO PARA ESCOLHA DE TURBINAS

tanto umas como outras sao utilizadas em centrais mini-hıdricas. As turbinas de accao sao utilizadas principal-mente em quedas elevadas e caudais baixos, sendo quenas turbinas de reaccao distinguem-se 2 grupos que saoas turbinas radiais adequadas para valores intermedios decaudal e altura e as turbinas axiais que sao indicadas paraquedas baixas e caudias elevados.Um exemplo de turbinas de accao sao as turbinas Pel-

ton e as turbinas Banki-Mitchell, sendo que as primeirasfuncionam com quedas intermedias (20 a 100m) epotencias entre (50 e 500kW), quanto as turbinas do tipoBanki-Mitchell ela e utilizada mais na gama de baixaspotencias. [3]

Fig. 5TURBINA PELTON

A turbina Pelton e uma turbina hidraulica de accao, istoe, funciona a pressao atmosferica. E constituıda por umaroda e um ou mais injectores, cuja funcao e transformara energia de pressao do escoamento em energia cinetica,orientando esse mesmo escoamento para a roda. E maisadequada para grandes quedas uteis ( entre os 350 m ate1100 m). Este modelo de turbina opera com velocidades de

rotacao maiores que as outras, e tem o rotor de caracterısticabastante distintas. Os jactos de agua provenientes dos injec-tores ao chocarem com as pas do rotor (em forma de duplacolher) geram o impulso que faz com que a roda se mova.Um dos maiores problemas destas turbinas, devido a altavelocidade com que a agua se choca com o rotor, e a erosaoprovocada pelo efeito abrasivo da areia misturada com aagua comum em rios de montanhas. As turbinas Peltondevido a possibilidade de accionamento independente nosdiferentes bocais, tem uma curva geral de eficiencia planaque lhe garante bom desempenho em diversas condicoes deoperacao. Ja no que se refere as turbinas Banki-Mitchell ap-resentada na figura 6 podemos observar a sua constituicao,bem como uma pequena explicacao sobre o seu modo defuncionamento:

Fig. 6TURBINA BANKI-MITCHELL

As turbinas Banki-Mitchell tem um rendimento inferioras turbinas de projecto convencional, mas mantem-se numvalor elevado ao longo de uma extensa gama de caudais.A tecnologia utilizada por estas turbinas e bastante simplespois requer poucos equipamentos para o seu fabrico e paraa sua manutencao. No que se refere ao seu funcionamento,este tipo de turbinas funcionam com quedas de 3 a 100m,caudais de 0,02 a 2,0 m3/s e potencias de 1 a 100kW. Porfim estas turbinas podem apresentar rotacoes especificas en-tre 40 e 200rpm devido a sua facilidade de padronizacao.No que se refere as turbinas de reaccao dentro das radiais

existem as turbinas Francis e dentro das axiais as turbinasKaplan.A turbina Francis, considerada uma turbina de reacao ou

seja, funciona com uma diferenca de pressao entre os doislados do rotor, onde as pas do rotor sao perfiladas de umaforma complexa e uma caixa espiral, normalmente fundida,para as turbinas pequenas, distribuı a agua ao redor do ro-tor. Este tipo de turbinas sao adequadas para operar comcondicoes intermedias de queda e de caudal, sendo tambema turbina de maior uso em quedas e caudais medios. Quantoao seu rendimento as turbinas Francis apresentam um rendi-mento alto na ordem dos 80 a 90%, este rendimento seratanto mais alto quanto maior for a potencia. No que se ref-ere a sua instalacao, este tipo de turbinas pode ser instalada

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

238 JOAO CASTANHEIRA,[email protected] [23484]

Fig. 7TURBINAS FRANCIS

em caixa espiral para um funcionamento em medias quedas,acima dos 10 metros, ou em caixa aberta que suporta baixasquedas, abaixo dos 10 metros.Por fim temos a turbina axial que consiste basicamente de

um rotor, similar a helice de navio, ajustada internamentena continuacao de um conduto, com o eixo saindo do con-junto.Este tipo de turbinas pode actuar ate uma altura de60m sendo que de um modo geral apresentam uma curvade rendimento ”plana”garantindo bom rendimento em umaampla faixa de operacao.

Fig. 8TURBINAS KAPLAN

Na tabela 2 pode comparar-se os varios tipos de turbinasreferidas, tendo como parametros para uma comparacao aqueda e a sua velocidade em (rpm).Para concluir esta parte e importante referir que tambem e

necessario escolher o gerador mecano-eletrico para equipara central mini-hidrica, uma vez que a escolha do geradordepende das condicoes impostas a turbina. A duvida ini-cial sobre a escolha do gerador e quanto a utilizacao deum gerador sıncrono ou um gerador assıncrono. O geradorsıncrono tem como principal objectivo, a transformacao

Fig. 9COMPARACAO DE TURBINAS

de energia mecanica em energia electrica, opera comuma velocidade de rotacao constante sincronizada com afrequencia da tensao electrica da rede. Quanto ao geradorassıncrono o princıpio de funcionamento e identico compequenas diferencas, uma vez que dispensa um sistema deexcitacao, pois esta mesma e fornecida pela rede e absorveenergia reactiva evitando que este tipo de energia circule narede, atraves de baterias de condensadores. Concluıda estaintroducao sobre o aproveitamento electrico de uma cen-tral, podemos agora passar a parte pratica desta aplicacao,revendo nomeadamente o software utilizado bem como oprincipio de funcionamento atraves da seguinte figura10:

Fig. 10DIAGRAMA DE BLOCOS SOBRE O FUNCIONAMENTO DA APLICACAO

Esta aplicacao tem como objectivo principal acaracterizacao da potencia instalada numa mini-hidrıca,tendo sido utilizada uma linguagem que e o PHP ”Hyper-text Preprocessor”, a qual explicaremos mais a frente nesteartigo. Esta apliccao inicialmente apresenta ao cliente noseu computador uma pagina em HTML possuındo umformulario o qual o cliente ira preencher com os parametrosessencias para o calculo da potencia da mini-hidrıca. Apos

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 239

o seu preenchimento, o formulario contendo os dadosintroduzidos pelo cliente sera enviado para uma paginaPHP, onde estao especificados os parametros a receberbem como o programa que fara o calculo da potenciamostrando, como resultado final uma pagina HTML comos resultados. De modo a tornar esta aplicacao um poucomais completa, foi feita uma base de dados [4], contendodados de centrais mini-hidricas existentes. Os dadosutilizados sao o tipo de turbina utilizada, o numero deturbinas da central, potencia e muitos outros. Ao juntarmosesta funcionalidade a aplicacao, vai permitir que quandoos dados do formulario forem enviados para a paginaPHP, ao mesmo tempo que o PHP realiza o calculo, iratambem realizar uma busca a base de dados apresentandoresultados como a melhor turbina a utilizar consoante osdados introduzidos e tambem apresentara em funcao dapotencia obtida as caracterısticas de centrais mini-hidricasexistentes que mais se assemelhem a potencia calculada.Para uma melhor compreensao mostram-se as figuras11 ea figura12:

Fig. 11FORMULARIO DA APLICACAO

Visto que esta breve explicacao sobre o funcionamento daaplicacao deu uma ideia clara sobre o que acontece quandose executa a aplicacao, veremos agora como funciona oPHP, para uma percepcao total sobre o assunto. [5]OPHP significa ”Hypertext Preprocessor”e e uma linguagemprincipalmente utilizada no desenvolvimento WEB. A suasintaxe lembra um pouco a sintaxe do ”C”sendo uma lin-guagem de facil compreensao. Esta linguagem permitecriar ”sites”WEB dinamicos, possibilitando uma interaccaocom o utilizador atraves de formularios,parametros da URLe links. Uma das diferencas do PHP em relacao a lingua-gens semelhantes como o Javascript e que o codigo PHP eexecutado no servidor ,sendo enviado para o cliente apenasHTML puro. Desta forma e possıvel interagir com bases dedados e aplicacoes existentes no servidor, com vantagem docodigo fonte nao ser exposto. O que diferencia o PHP deum ”script”CGI escrito em C ou ”Perl”e que o codigo PHPfica embutido no proprio HTML, enquanto no outro caso

Fig. 12APRESENTACAO DE RESULTADOS DA APLICACAO

Fig. 13DIAGRAMA DE BLOCOS SOBRE O FUNCIONAMENTO DO PHP

e necessario que o script CGI gere todo o codigo HTML,ou leia a partir de um outro arquivo. Tambem vimos quecom o PHP podemos recolher dados de um formulario,podendo tambem gerar paginas dinamicamente ou enviare receber ”cookies”. O PHP tambem tem como uma dascaracterısticas mais importantes o suporte de uma grandenumero de base de dados, como dBase, Interbase, mySQL,mSQL e varios outros. Construir uma base de dados torna-se uma tarefa facil com o PHP, alem disso, o PHP tem su-porte a outros servicos atraves de protocolos como SNMP,NNTP e logicamente o HTTP, sendo possıvel tambem ainteraccao com outros protocolos. As maiores vantagens ebenifıcios que o PHP tem, e que o PHP e multi-plataforma,podendo ser usado na maioria dos sistemas operacionais,Opensource e diferente de scripts como o Javascript, elefunciona no servidor, que alias e suportado pela maioriados servidores WEB que existem hoje no mercado comoo APACHE, PWS, etc. Com o PHP o cliente recebe apenasos resultados dios scripts, que sao interpretados no servi-

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

240 JOAO CASTANHEIRA,[email protected] [23484]

dor, nao tendo acesso ao codigo. Por fim o PHP como jaantes referido e muito simples de perceber e trabalhar, poisatende desde os mais experientes programadores quanto osiniciantes na area. Por ultimo faz-se uma referencia aoHTML que significa ”Hyper text Markup Language”e euma linguagem universal destinada a elaboracao de paginascom hiper-texto, como o proprio nome indica. O conceitode hiper-texto e bastante simples, podendo definir-se comocertos itens de um documento contendo uma ligacao a outrazona do mesmo documento ou como e mais vulgar, a outrosdocumentos. A principal aplicacao do HTML e a criacao depaginas WEB e convem esclarecer que nao se trata de umalinguagem de programacao. De facto, o HTML e antes umaespecie de linguagem de formatacao, um ficheiro de textoque e formatado atraves de uma serie de comandos, denom-inadas por tags.

III. CONCLUSOES

Com a realizacao desta aplicacao e devido a necessidadede realizar uma busca de material teorico para a realizacaoda mesma, conclui-se que a implementacao de centraishıdricas se reveste de uma grande importancia, pois aolongo dos anos a implementacao das mesmas aumentou sig-nificativamente. Este tipo de implementacao tem muitasvantagens, uma vez que a agua circula num ciclo fechado,tornando os recursos hıdricos inesgotaveis, tal que atravesda sua construcao, quer sejam barragens ou albufeiras,pode-se intervir no ciclo da agua, guardando agua exce-dente dos perıodos mais chuvosos e transportando-os notempo ate as epocas mais secas do ano. E de referir tambemque este tipo de energia hidroelectrica revelou-se comouma forma excelente de gerar electricidade, pois nao con-some qualquer tipo de combustıvel, embora este tipo deimplementacoes gere sempre controversia entre todos osambientalistas. Quanto a parte pratica deste projecto de-vera ser referido que o software utilizado, nomeadamente oPHP, e de grande utilidade, pois esta revestido de grandescapacidades para uma implementacao deste genero, umavez que nao utilizando este software terıamos que realizara pagina web, a base de dados e o programa em softwarediferentes, o que em prıncipio levaria o dobro do tempo e dotrabalho. E de relembrar tambem a dificuldade em encon-trar dados nomeadamente em relacao a turbinas e projec-tos implementados, daı podemos concluir que a informacaocontida na base de dados nao seja a mais adequada so-bre turbinas, nomeadamente potencias, uma vez que cominformacao precisa e adequada para uma base de dadosmais realista, juntamente com este software, seria possıvel arealizacao de uma aplicacao muito mais completa, util e in-teressante, podendo ainda aumentar as suas funcionalidadesde modo a efectuar todo o tipo de operacoes referentesa caracterizacao da potencia de uma mini-hıdrica, desdea determinacao da curva de caudais ate a determinacaoda energia produtıvel da mesma passando pela fiabilidademonetaria do projecto.

BIBLIOGRAFIA

[1] Cristina Camus e Eduardo Eusebio, “Gestao de energia”, ISEL Insti-tuto Superior de Engenharia de Lisboa, vol. 1, pp. 4–8, 2006.

[2] Rui M.G. Castro, “Introducao a energia mini-hidrica”, UniversidadeTecnica de Lisboa, vol. 1, pp. 3–24, 2002.

[3] J.A.Peca Lopes, “Producao distribuida e energias renovaveis”, FEUPUniversidade do Porto, vol. 1, pp. 1–8, 2005.

[4] Hydro Energy, http://www.hydro-energy.com.[5] PHP, http://br.php.net/contact.php.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 241

Servidor baseado em Linux, uma ferramenta de apoio as aulas praticas :Sistema e Servicos Base

P0948

Joao Batista Ramos Furriel, [email protected]

Abstract – The main objective of this project is to create aserver (system and basic services), to be used in the lab worksof Data Comunication courses (3rd year of the Electrical En-gineering degree). This requires the instalation of severalservices, specifically: DNS, DHCP, SMTP, POP3 and IMAP.DHCP is a service that offers the hosts that are linked to theserver a dynamic configuration, allowing automatic configura-tion. DNS does the name management in an hierarchical way,that is, when entering a link in a browser the DNS goes to thedatabase and if the link is found it returns the IP address ofthat link. POP3, SMTP and IMAP are protocols related withmail service, where POP3 and IMAP are mainly used to theremote access to mailbox and SMTP is used for sending.

Resumo – Este projecto consiste na criacao de um servidor(sistema e servicos base), para ser utilizado nas aulas practicasda Unidade Curricular de Comunicacao de Dados do 3o anoda Licenciatura em Engenharia Electrotecnica e de Computa-dores. Para tal, e necessario instalar varios servicos, em con-creto: DNS, DHCP, SMTP, POP3 e IMAP. O DHCP e umservico que oferece aos hosts que estejam ligados ao servi-dor uma configuracao dinamica, permitindo obter automati-camente, por exemplo o endereco IP. O DNS faz a gestao denomes de forma hierarquica, ou seja, ao digitar um link nobrowser o DNS vai a base de dados e se o encontrar retornao endereco IP desse link. O POP3, SMTP e IMAP sao proto-colos relacionados com o servico de mail, sendo que o POP3 eo IMAP sao utilizados principalmente para o acesso remoto acaixa de correio e o SMPT utilizado para o envio.

Keywords – DNS, DHCP, SMTP, IMAP, POP3

Palavras chave – DNS, DHCP, SMTP, IMAP, POP3

I. INTRODUCAO

O objectivo deste projecto e instalar um servidor (sistemae servicos base) em Linux para ser utilizado nas aulas deComunicacao de Dados do 3o ano da Licenciatura em En-genharia Electrotecnica e de Computadores.Com este trabalho pretende-se facultar aos alunos um

servidor actualizado compatıvel com os trabalhos daAcademia Cisco [1], ferramenta que e indispensavel na dis-ciplina acima referida.Este servidor, ao contrario do utilizado anteriormente, da

uma maior liberdade ao docente da unidade curricular paraalterar, inserir ou apagar tudo o que desejar, o que no servi-dor anterior era impossıvel, pois ao actualiza-lo/modifica-lo iria perder algumas propriedades ou servicos indeseja-dos, o que implica que o docente tem de fazer o download

da ultima actualizacao do proprio site da Cisco tendo quenessa mesma actualizacao voltar a inserir os dados e pro-priedades que o anterior servidor ja dispunha. Desta forma,o docente tera uma maior facilidade de actualizacoes semperdas de informacao.Ao longo deste artigo poder-se-a encontrar numa primeira

fase o sistema onde foi realizado este projecto, em seguidaos servicos instalados, a sua descricao detalhada e as suasconfiguracoes. Na parte final sao mostrados todos os testesrealizados e a sua analise, para no final se apresentar umaconclusao onde sera analisado o trabalho realizado e ondeserao avaliados os objectivos propostos.

II. SERVICOS A INSTALAR

Para a realizacao deste projecto foi utilizada uma maquinavirtual, o Vmware Server [2], e nela foi instalado o sis-tema operativo Ubuntu 8.10 server [3], sistema este que,apos instalados, configurados e testados todos os servicosnecessarios, sera o servidor propriamente dito.Como foi referido, foram varios os servicos a instalados e

sao diversas as suas funcoes, as quais serao abordadas emseguida.a) DNSO DNS (Domain Name System), e um servidor que

mapeia URL’s (Uniform Resource Locator) em enderecosIP (Internet Protocol) [4]. Ao digitar, por exemplo,http://www.utad.pt no Browser por exemplo, o computadorvai enviar esse endereco ao servidor DNS que ira retornar oendereco IP do servidor do site para que o seu PC (PersonalComputer) tenha acesso ao mesmo.Este servico apenas facilita, mas e, sobretudo, essencial

para a existencia da web como a conhecemos.Sem os servidores DNS seria necessario decorar os

enderecos IP de todos os sites que desejassemos visitar.O DNS permite usar nomes amigaveis em vez de

enderecos IP para ter acesso a servidores, um recurso basicoque existe praticamente desde os primordios da Internet.b) DHCPO DHCP (Dynamic Host Configuration Protocol) per-

mite que todos os clientes de uma rede recebam assuas configuracoes de rede automaticamente a partir deum servidor central, sem que seja preciso configurar osenderecos manualmente em cada um [5].O protocolo DHCP funciona de uma forma interessante.

Inicialmente, um novo cliente de uma rede nao sabe queme, nao possui um endereco IP e nao sabe sequer qual eo endereco do servidor DHCP da rede. Ele envia, entao,um pacote de broadcast enderecado ao IP 255.255.255.255,

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

242 JOAO FURRIEL [20340]

que e transmitido pelo switch para todos os utilizadores darede. O servidor DHCP recebe este pacote e responde comum pacote enderecado ao endereco IP 0.0.0.0, que tambeme transmitido para todos os clientes dessa rede. Apesardisso, apenas o cliente que enviou a solicitacao ira ler o pa-cote, pois ele e enderecado ao endereco MAC (Media Ac-cess Control) da sua placa de rede.Quando um cliente recebe um pacote destinado a um

endereco MAC diferente do seu, ele ignora a transmissao.Dentro do pacote enviado pelo servidor DHCP estao es-

pecificados o endereco IP, mascara de rede, gateway e servi-dores DNS que irao ser usados pelo cliente.c) SMTPO SMTP (Simple Mail Transfer Protocol) e o protocolo

padrao para envio de emails atraves da Internet. E umprotocolo relativamente simples, baseado em texto simples,onde um ou varios destinatarios de uma mensagem sao es-pecificados (e, na maioria dos casos, validados) sendo, de-pois, a mensagem enviada [6].Este protocolo utiliza a porta 25 e o protocolo de trans-

porte TCP (Transmission Control Protocol) e nao e o idealpara a transferencia de ficheiros. Alguns standards foramdesenvolvidos para permitir a transferencia de ficheiros emformato binario atraves de texto simples, como o caso doMIME (Multipurpose Internet Mail Extensions). Hoje emdia quase todos os servidores SMTP suportam a extensao8BITMIME.O SMTP e um protocolo apenas de envio, o que significa

que ele nao permite que um utilizador descarregue as men-sagens de um servidor. Para isso, e necessario um clientede email com suporte ao protocolo POP3 ou IMAP.d) IMAPO protocolo IMAP e um protocolo de gestao de correio

electronico que permite aos seus utilizadores nao so oacesso a sua caixa de entrada do seu correio electronico,como tambem utilizar tudo o que estiver disponıvel na suacaixa de email, sejam mensagens ou pastas, a partir de com-putadores diferentes sem que seja necessario a transferenciadas mesmas do servidor para o computador que esta a uti-lizar [7]. Permite tambem o acesso simultaneo a uma caixapostal partilhada por mais de um utilizador. Caso o emailrecebido contenha algum anexo, o utilizador pode pedirpara visualizar apenas o anexo ou parte do texto que lheinteresse. Um cliente de email funciona em dois modos,online e offline, e o protocolo IMAP suporta ambos os mo-dos. E um protocolo que opera na porta 143. Portanto, osprincipais objectivos do protocol IMAP sao:

• suporte para ambos os modos, online e offline;

• compatıvel com o seu browser independentemente doque utilizar;

• fornecer acesso a sua caixa de correio de email emqualquer computador;

e) POP3O protocolo POP (Post Office Protocol), na versao 3

(POP3), permite que as estacoes acedam a essas caixas deforma dinamica e util [8]. Assim, o protocolo POP3 e uti-lizado para permitir que estacoes de trabalho descarreguem

mensagens de email de um servidor que as armazena.O protocolo POP3 nao tem por objectivo permitir

a manipulacao de mensagens no servidor e por issoconsidera-se o seu funcionamento como offline. A intencaoe permitir que as mensagens sejam descarregadas, exacta-mente como sao, sem modificacoes, e so entao alteradas.Este protocolo e especialmente util para utilizadores em queo custo da ligacao e proporcional ao tempo da mesma.

III. CONCEPCAO

Para a realizacao deste projecto foi necessario ter semprepresente que este sera uma ferramenta essencial de apoioas aulas practicas de uma unidade curricular que se guiapelos trabalhos practicos do curso Network Fundamentalsda Academia Cisco.Para tal, tanto os enderecos IP fornecidos pelo servidor

DHCP, como o proprio nome do servidor estao de acordocom esses protocolos.Na figura 1 e mostrada tanto a classe IP a fornecer, tal

como o nome do servidor.

Fig. 1DIAGRAMA DE UM PROTOCOLO DO CURSO ”NETWORK

FUNDAMENTALS”DA ACADEMIA CISCO, MOSTRANDO AS

CONFIGURACOES IP DOS DIFERENTES NOS

Para o correcto funcionamento deste servidor foram insta-lados varios servicos. Apos essa instalacao foi necessarioconfigurar todos esses servicos, sempre de acordo com osprotocolos da Academia Cisco.

IV. IMPLEMENTACAO

Como seria de esperar, a parte da implementacao foi a maistrabalhosa, pois foi necessario instalar e, o mais importante,configurar todos os servicos pedidos.Apresenta-se de seguida o modo como foram instalados e

configurados todos esses servicos:DNSPara instalar o servidor DNS, neste caso o bind9, foi uti-

lizado o seguinte comando:

• sudo apt-get install bind9

Apos instalado o servidor DNS, foi necessario configura-lo e para tal foi alterado o ficheiro named.conf.local, comum editor de texto, executando o comando:

• vim /etc/bind/named.conf.local

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 243

Fig. 2CONFIGURACAO DO FICHEIRO NAMED.CONF.LOCAL

Foi igualmente necessario, criar o ficheiro example.com.dbna directoria zones e configura-lo como se verifica na figura3.

Fig. 3CONFIGURACAO DO FICHEIRO EXAMPLE.COM.DB

De seguida, dentro da mesma directoria, foi cri-ado o ficheiro referente a zona reversa com o nomerev.1.16.172.in-addr.arpa, configurando-o conforme estaapresentado na figura 4.

Fig. 4CONFIGURACAO DO FICHEIRO REV.1.16.172.IN-ADDR.ARPA

Desta forma e apos serem implementadas todas asalteracoes acima referidas, o servidor de DNS ficou insta-lado e configurado correctamente, estando pronto para serutilizado.

DHCPO servidor de DHCP utilizado para este projecto foi o

dhcp3-server e para o instalar bastou executar o seguintecomando:

• sudo apt-get install dhcp3-server

Apos concluıda a instalacao foi necessario configura-loconforme os protocolos da Academia Cisco alterando oficheiro dhcpd.conf. Para tal, com um editor de texto,executou-se o comando:

• vim /etc/dhcp3/dhcpd.conf

Em seguida acrescentaram-se ao ficheiro os seguintes da-dos:Subnet 172.16.0.0 netmask 255.255.0.0{Range 172.16.0.6 172.16.0.100 }

Fig. 5CONFIGURACAO DO FICHEIRO DHCPD.CONF

Desta forma o servidor de DHCP ficou instalado e config-urado de acordo com os enderecos IP utilizados nos proto-colos da Academia Cisco.IMAPPara instalar e configurar correctamente o protocolo IMAP

comecou por se criar uma nova directoria para receberemails, a qual foi dado o nome de mail, bastando para tal,executar o comando:

• mkdir /mail

Em seguida instalou-se o postfix (agente de transferenciade emails)

• sudo apt-get install postfix

Apos executados estes passos, foi possıvel passar ainstalacao do protocolo IMAP, que neste caso foi o dovecot-imapd executando o comando:

• sudo apt-get intstall dovecot-imapd

Para configurar os nomes como pedido nos protocolos daAcademia Cisco, foi necessario alterar alguns ficheiros, uti-lizando um editor de texto, executando os seguintes coman-dos:

• vim /etc/hosts

No ficheiro hosts apenas se alterou a primeira linha, fi-cando 127.0.0.1 eagle-server eagle-server.example.com

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

244 JOAO FURRIEL [20340]

• vim /etc/hostname

Neste ficheiro apenas foi alterado o nome do servidor paraeagle-server.example.com

• vim /etc/postfix/main.cf

Aqui apenas se alterou em myhost-name=example.localdomain para myhostname=eagle-server.example.comDesta forma, e depois de estes ficheiros terem sido al-

terados, conforme requerido nos protocolos da AcademiaCisco, o protocolo IMAP foi instalado e configurado comsucesso.POP3Para instalar o POP3 foi utilizado o pacote courier-pop,

bastando para tal, executar o comando:

• sudo apt-get install courier-pop

No que respeita a este servico nao foi necessario con-figurar nenhum ficheiro, pois apos terminada a instalacao,reiniciou-se o mesmo e este ficou activo e a funcionar cor-rectamente.SMTPO servidor SMTP utilizado ja tinha sido instalado anteri-

ormente, na instalacao do protocolo IMAP, o postfix. Comotal, fica apenas demonstrado como o configurar.Para configurar o postfix executou-se o comando:

• sudo dpkg-reconfigure postfix

Em seguida ficam os passos executados para a sua correctaconfiguracao:

• tipo geral de configuracao de mail: site internet, ok• nome de mail do sistema: eagle-server.example.com,

ok• destinatario do mail para root e postmaster: vazio• outros destinos para os quais aceitar mail? exam-

ple.com, eagle-server.example.com• forcar actualizacoes sincronas na lista mail? no• redes locais: 127.0.0.0/8 [::fff:127.0.0.0]/104

[::1]/128 172.0.0.0/8, ok• limite do tamanho da mailbox(bytes): 0• caracter de extensao de endereco local: +• quais os protocolos de internet a utilizar: todos

Apos escolhidas todas estas opcoes, o servidor SMTP fi-cou correctamente configurado.

V. TESTES E RESULTADOS

Instalados e configurados os servicos pedidos, realizaram-se varios testes para verificar se estes estavam a funcionarcorrectamente. Todos eles foram efectuados em laboratorioutilizando este servidor e um computador auxiliar.Apresentam-se de seguida os testes realizados, os resulta-

dos obtidos e as analises dos referidos resultados.DNSPara se testar o servidor DNS ligou-se um computador ao

servidor e a partir deste e utilizando o comando ping tentou-se comunicar com o servidor.Analisando a figura 6, pode-se verificar que o servidor de

DNS esta a funcionar correctamente, pois ao tentar comu-

Fig. 6TESTE AO SERVIDOR DNS

nicar com o servidor atraves do seu nome, obteve-se umaresposta, o que significa que o servidor de DNS mapeou onome do servidor no seu endereco IP e retornou uma re-sposta.DHCPO teste realizado para testar o servidor de DHCP foi semel-

hante ao realizado para testar o servidor DNS, ou seja,voltou-se a ligar um computador ao servidor e esperar paraver se esse mesmo computador adquiria enederco IP auto-maticamente.

Fig. 7TESTE AO SERVIDOR DHCP

Como se pode constatar na figura 7, o computador que foiligado ao servidor conseguiu adquirir automaticamente umendereco IP, da rede previamente definida, o que permiteconcluir que o referido servidor DHCP esta, de facto, a fun-cionar correctamente.SMTPPara se poder verificar se o protocolo SMTP estava a fun-

cionar correctamente optou-se por se realizar dois testes.O primeiro consistiu na tentativa de envio de um email,utilizando o telnet (ver figura 8). A semelhanca doprimeiro, no segundo teste tentou-se tambem enviar umemail, recorrendo-se desta vez a um cliente de email (verfigura 9 e figura 10). As figuras que se apresentam deseguida mostram os testes que foram efectuados ao proto-colo SMTP, bem como os respectivos resultados. Como se

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DA LICENCIATURA EM ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 245

pode verificar pelas imagens seguintes, tanto no primeirocomo no segundo testes realizados, o email foi enviado cor-rectamente e recebido com sucesso, o que significa que oprotocolo SMTP esta a funcionar correctamente.

Fig. 8TESTE SMTP UTILIZANDO TELNET

Na figura 8 pode-se observar o teste realizado ao servidorSMTP utilizando o telnet. Uma simples comunicacao como servidor na tentativa de envio de um email.

Fig. 9TESTE SMTP UTILIZANDO UM CLIENTE DE EMAIL(ENVIO DE EMAIL)

Nas figuras 9 e 10 esta demonstrado outro teste ao servidorSMTP, desta feita utilizando um cliente de email

Fig. 10TESTE SMTP UTILIZANDO UM CLIENTE DE EMAIL(RECEPCAO DE

EMAIL)

IMAP e POP3

Para testar os protocolos IMAP e POP3 foi instalada umaaplicacao de nome mutt atraves do comando:

• sudo apt-get install mutt

Em seguida, utilizando essa mesma aplicacao, tentou-seenviar um email do utilizador ccna1 para o ccna3. O resul-tado pode ser observado na figura seguinte.

Fig. 11TESTE IMAP UTILIZANDO O MUTT(ENVIO DE EMAIL)

Na figura 11 pode-se observar a tentativa de envio de umemail utilizando a aplicacao mutt e na figura 12 a recepcaodesse mesme email com sucesso.

Fig. 12TESTE IMAP UTILIZANDO O MUTT(RECEPCAO DE EMAIL)

Pelas imagens acima apresentadas pode-se verificar que oemail foi enviado e recebido com sucesso, portanto os pro-tocolos IMAP e POP3 estao instalados e configurados cor-rectamente.

VI. CONCLUSOES

No inıcio deste trabalho foi proposto criar um servidor (sis-tema e servicos base), em Linux, que pudesse servir comoapoio para as aulas da unidade curricular de Comunicacaode Dados. Mais concretamente, os objectivos inicial-mente propostos consistiam em instalar e em configuraros servicos base para o referido servidor. Apos concluıdoeste trabalho e possıvel perceber que os referidos objectivosforam atingidos com sucesso. No que respeita a instalacaoda maioria dos servicos, esta revelou-se trivial, ja que impli-cou somente que o comando de instalacao fosse executadoe que esta operacao terminasse. Ja no que diz respeito aconfiguracao de alguns servicos, pode-se concluir que nao

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

246 JOAO FURRIEL [20340]

se trata de uma tarefa tao trivial. De entre todos os servicosinstalados, a configuracao do servidor DNS revelou-se amais complicada, exigindo um arduo trabalho de pesquisa,assim como a realizacao de varios testes, ate se obter o seucorrecto funcionamento. Neste sentido sera possıvel facul-tar aos alunos um servidor actualizado, compatıvel com ostrabalhos da Academia Cisco. Ao contrario do servidor an-teriormente utilizado, este trara ao docente dessa unidadecurricular uma maior liberdade na sua gestao, permitindoalterar, inserir ou apagar tudo o que pretender de uma formamais facil.Nao obstante estes benefıcios, acredita-se que alguns as-

pectos deste trabalho poderao eventualmente ser melhora-dos. No entanto, para este proposito as configuracoes uti-lizadas revelaram-se as mais adequadas e os servicos insta-lados os indispensaveis para o correcto funcionamento doservidor, como o comprovam os testes realizados.Considera-se que uma mais valia deste projecto sera, futu-

ramente e caso necessario, a sua aplicacao em diferentesdomınios e eventualmente com diferentes configuracoes,mantendo-se no entanto um bom desempenho.

BIBLIOGRAFIA

[1] http://cisco.netacad.net.[2] http://www.vmware.com.[3] http://www.ubuntu.com.[4] P. Mockapetris, RFC 1035 - DOMAIN NAMES - IMPLEMENTATION

AND SPECIFICATION, ISI, November de 1987.[5] Jonathan B. Postel, RFC 2131 - DYNAMIC HOST CONFIGURATION

PROTOCOL, Information Sciences Institute University of SouthernCalifornia, August de 1982.

[6] R. Droms, RFC 821 - SIMPLE MAIL TRANSFER PROTOCOL, Net-work Working Group, March de 1997.

[7] M. Crispin, RFC 3501 - INTERNET MESSAGE ACCESS PROTOCOL- VERSION 4rev1, Network Working Group, March de 2003.

[8] M. Rose J. Myers, Carnegie Mellon, RFC 1939 - POST OFFICEPROTOCOL - Version 3, Dover Beach Consulting, Inc., May de 1996.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTÉCNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 247

Servidor baseado em Linux, uma ferramenta de apoio às aulas práticas :Serviços Avançados

P0949

Luís Carlos Machado Reigoto, [email protected]

Abstract – This work is the Final Project of graduation coursein Electronics Engineering and Computers. It consisted in theinstallation of a server, in a Linux distribution, using severaladvanced services. This server has as a main goal to supportthe lab lectures of Data Communication and Computers Net-works. It has to be compatible with the lab works of “NetworkFundamentals” from Cisco Networking Academy. This re-quires the installation of several services: HTTP, FTP, TFTP,SAMBA e IRC.

Resumo – Este trabalho insere-se no âmbito do Projecto finalde licenciatura de Engenharia Electrotécnica e de Computa-dores, consiste na instalação de um servidor numa distribuiçãoLinux, usando vários serviços avançados tendo como objectivoprincipal o apoio as aulas práticas de Comunicação de Dadose Redes de Computadores. O servidor deverá ser compatívelcom os trabalhos práticos do curso “Network Fundamentals”da Academia Cisco. Os serviços a ser instalados são diversos:HTTP, FTP, TFTP, SAMBA e IRC.

Keywords – Computers Networks, HTTP, FTP, TFTP,SAMBA, IRC.

Palavras chave – Redes de computadores, HTTP, FTP, TFTP,SAMBA, IRC.

I. INTRODUÇÃO

Com este projecto pretende-se instalar um servidorbaseado numa distribuição Linux, para servir como ferra-menta de apoio às aulas práticas das unidades curricularesde Comunicação de Dados e de Redes de Computadores, do3o ano da Licenciatura de Engenharia Electrotécnica e deComputadores. O projecto, tal como foi concebido vai per-mitir ao docente das Unidades Curriculares referidas umamaior capacidade de movimentação porque lhe permite al-terar e modificar serviços, podendo ser actualizado sempreque necessário sem modificar as configurações previamentefeitas, o que não acontece com os servidores actualmentefornecidos pela Cisco [1].Um dos requisitos do servidor é a compatibilidade com

os trabalhos práticos do curso "Network Fundamentals"daAcademia Cisco. A instalação vai ser feita numa máquinavirtual e os serviços a instalar são:

• Hypertext Transfer Protocol – HTTP, File TransferProtocol – FTP, Trivial File Transfer Protocol – TFTP,Internet Relay Chat – IRC, Samba (SMB)

Estes serviços distribuem-se por servidores de comu-nicação entre utilizadores e servidores na web, HTTP;

serviços de transferência de ficheiros, TFTP e FTP; serviçosde comunicação entre utilizadores, IRC e serviços de par-tilha de recursos, Samba.Neste artigo serão descritas as características técnicas de-

talhadas destes serviços, as suas potencialidades, requisitose compatibilidades bem como a forma como foram imple-mentados, instalados e configurados. Apresentam-se aindaos testes de verificação de funcionamento de cada serviçoe respectivos resultados que nos garantem a fiabilidade dosistema. Na parte final será feita uma análise do trabalhodesenvolvido ao longo do projecto.

II. CONCEPÇÃO/IMPLEMENTAÇÃO

Face à proposta de trabalho feita foi necessário estudar ascaracterísticas de cada um dos serviços pretendidos, modode funcionamento e conceber a forma de os implementarbem como a sequência de instalação.

A. Características principais e funcionamento dos serviçospedidos:

A.1 Hypertext Transfer Protocol – HTTP

O HTTP, é um protocolo de aplicação e surgiu da neces-sidade de criar uma forma padrão de comunicação entre osutilizadores e servidores. É utilizada pela World Wide Webdesde 1990. Teve já várias versões, sendo a primeira ver-são a HTTP/0.9 que transferia os dados no formato de textoASCII. Com a necessidade de transferir outros formatospara além do texto, foram criadas novas versões. Com asnovas versões, novos métodos foram também sendo imple-mentados. A versão 1.0 (RFC 1945 ) [2] permitia trans-portar mensagens MIME (Multipurpose Internet Mail Ex-tensions) mas ainda continha limitações ao nível da hierar-quia de redes. A versão 1.1 [3] permite ultrapassar estesaspectos. Duma forma geral, o protocolo HTTP necessitade utilizar os protocolos TCP e IP (Internet Protocol) para atransmissão de dados, normalmente a porta 80. Este proto-colo segue um modelo cliente-servidor, o cliente solicita umpedido de ligação ao servidor enviando-lhe uma mensagem,Universal Resource Identifier (URI), em formato MIME. Oservidor responde ao pedido feito, enviando a resposta soba forma de código. Estes códigos podem ser diversos:

• 1xx:informação;• 2xx:sucess,exemplo : 200 OK- sucesso;• 3xx:redirect, ex:301 Moved permanently, 302 Moved

Temporarily, O documento foi movido para outra lo-calização especificada;

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

248 LUIS REIGOTO [24983]

• 4xx:error by client, ex:404 Not Found – o documentoprocurado não existe; Forbidden: o documento procu-rado existe, mas não pode ser acedido;• 5xx:error by server, ex:500 server error.

Esta linha de status, status line, dá-nos portanto a infor-mação de sucesso ou insucesso e, neste último caso, o mo-tivo.A ligação é fechada após o envio da resposta do servidor.

A.2 File Transfer Protocol – FTP, Trivial File Transfer Pro-tocol – TFTP

FTP e o TFTP são protocolos de transferência de ficheiros,sendo uma das principais diferenças entre eles o protocolode transporte utilizado. O FTP utiliza o TCP – Transmis-sion Control Protocol enquanto o TFTP utiliza UDP – UserDatagram Protocol.No caso do FTP [4], a transferência de ficheiros dá-se en-

tre o User FTP, que solicita a transferência, e o ServerFTP que aceita ou rejeita tendo como base as opções pe-didas e os critérios de protecção do sistema. A comuni-cação estabelece-se através da porta 21. Este serviço per-mite transferir os ficheiros de forma fiável. A utilizaçãodeste protocolo é uma forma bastante rápida e versátil detransferir ficheiros, sendo uma das mais usadas na internet.Os objetivos do FTP são: promover a partilha de ficheiros

(computador, programas e/ou dados), incentivar directa ouindirectamente (através de programas) a utilização de com-putadores remotos, e a transferência de dados confiável eeficiente.No nosso caso (servidor), o FTP é indispensável pois

irá ser utilizado diversas vezes pelos alunos para fazeremdownloads tanto de protocolos como de ferramentas a uti-lizar nas aulas. Para tentar aceder a tudo o que estádisponível no servidor FTP será necessário ter permissãopara tal, caso contrário apenas poderá fazer login comoanónimo acedendo apenas a ficheiros e pastas disponíveisao público em geral como é o caso do nosso servidor.No caso do TFTP [5], também é feito um pedido ao servi-

dor que autoriza abrindo uma conexão. A transferência éfeita por blocos fixos do comprimento de 512 bytes, quesão enviados um a um, e que necessitam de ser reconheci-dos antes que o pacote seguinte possa ser emitido. Cadapacote contém um bloco dos dados, e deve ser reconhecidopelo receptor que envia um ACK – Acknowledg, (pacotede confirmação) antes que o pacote seguinte possa ser emi-tido. Se um pacote de informação se perde, o ACK não éenviado e o emissor volta a enviá-lo. Se um pacote de con-firmação se perde, este volta a transmitir o pacote perdido.Estão colocados, quer no emissor, quer no receptor, tempo-rizadores que fazem estas retransmissões automaticamente.Erros de transmissão também podem ocorrer e são entãoenviados pacotes de erro que por não serem confirmadosfazem terminar a ligação. A porta de comunicação usada éa 69.É mais simples que o FTP, não exige controlo de acesso e

necessidade de identificação do utilizador, só permite trans-ferências de ficheiros numa direcção, e é menos fiável que oFTP. No nosso projecto o TFTP apenas vai servir para trans-ferências de ficheiros de configuração de sistema operativo

dos routers e switches do laboratório das aulas.

A.3 (Server Message Block) - SAMBA

O Samba é um software servidor que permite gerir e par-tilhar os recursos da rede [6]. Samba foi a palavra que oseu criador Andrew Tridgell utilizou para o baptizar porquecontém as letras SMB, do protocolo Server Message Blockda Microsoft(r), que lhe serviu de base.Com o servidor Samba, é possível partilhar ficheiros, im-

pressoras e controlar o acesso a determinados recursos derede de forma eficiente tendo como sistema operativo oLinux. Para além de funcionar com este sistema opera-tivo, é compatível com outros como a Microsoft. O SMB éum protocolo cliente-servidor do tipo pedido-resposta. Osclientes conectam o servidor usando o TCP/IP e uma vezestabelecida a ligação os clientes podem enviar comandosSMBs para o servidor permitindo-lhes aceder a partilha,abrir, ler e escrever ficheiros. Pode ser utilizado em muitosprotocolos tais como TCP/IP, NetBEUI, IPX/SPX. É muitoseguro. Pode ser configurado por acesso remoto.

A.4 Internet Relay Chat – IRC

O IRC é um protocolo de comunicação entre vários uti-lizadores [7]. É muito utilizado para estabelecer fóruns deconversação mas também para troca de ficheiros. Funcionaem TCP/IP e é baseado em texto (código ASCII). Com esteprotocolo é possível um servidor ligar-se a outros servi-dores, criando desta forma uma rede de IRC.Os utilizadores para se ligarem a um servidor conectado a

uma rede IRC fazem-no, através de um cliente. As portasde comunicação com os servidores são normalmente as por-tas 6666, 6667 ou 6668. Os servidores não exigem a iden-tificação do utilizador/cliente, apenas é exigido um nome,nickname, antes da ligação. Podemos considerar um con-junto de elementos neste protocolo de comunicação, cadaum deles com uma função bem definida. Clientes, servi-dores, operadores, canais e operadores de canais são entãoas peças elementares desta rede. Considera-se cliente qual-quer ligação que não seja um servidor.Quanto aos servidores estes devem ter alguns dados sobre

os clientes, informações como, o host do cliente, o seu user-name e o nome do servidor ao qual este está conectado. Oservidor é a espinha dorsal do IRC e estabelece a ligaçãocom outros servidores e clientes. Ele é o ponto fulcral esem ele a comunicação não é possível.Os operadores têm como principal função desconectar e

reconectar servidores de forma a manter rede eficaz, ouseja, impedir que haja overhead na rede. Também podeservir para desconectar utilizadores. Os canais são gruposde clientes que recebem mensagens para esse endereço. Oprimeiro cliente a criar o canal é o seu operador. Existemalgumas regras, cada canal deve começar pelos caracteres’&’ ou ’#’ e de comprimento até 200 caracteres. Além dissoo nome de um canal não pode conter nenhum espaço ouvírgula. O operador do canal pode remover clientes deste,mudar o modo do canal, tornar outros clientes operadoresdeste canal, mudar o tópico do canal, entre outros. O ope-rador de canal é identificado através do símbolo ’@’ antesdo nickname do cliente.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTÉCNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 249

B. Instalação dos serviços

Depois de analisadas as diferentes características dosserviços foi necessário proceder à instalação dos mesmos.Para a implementação deste servidor foi usado o VMWare

server [8]. Este programa serve para criar uma máquina vir-tual que funciona como um computador normal. Estavamassim criadas as condições para a instalação dos restantesserviços.O servidor HTTP, APACHE, foi o primeiro a ser insta-

lado. Para cada serviço a instalar foi feita uma pesquisainicial dos comandos a introduzir para que essa instalaçãoocorresse. Em alguns casos foi necessário alterar esses co-mandos porque não surtiam o efeito desejado, e como taltiveram que ser removidos. Após cada tentativa eram feitostestes de verificação.

B.1 Instalação do HTTP

Foi introduzida na linha de comandos a expressão:

• apt-get install apache

B.2 Instalação do FTP

Após uma pesquisa feita onde se constatou que existemvários servidores de FTP no qual para o nosso projecto foiescolhido o vsftpd. De seguida estão apresentadas as etapaspara instalar e configurar o servidor vsftpd no Ubuntu-8.10-server. Através da linha de comandos insere-se o seguintecomando:

• sudo apt-get install vsftpd

Depois de concluído o processo de instalação avançamospara a sua configuração. Para possibilitar o acesso anónimoao nosso servidor FTP foi necessário executar o seguintecomando:

• sudo chmod –w /home/ftp/

Desta forma qualquer utilizador tem acesso as pastaspúblicas.Para adicionar novos utilizadores no servidor de FTP usa-

mos o seguinte comando:

• sudo adduser nome do utilizador

No nosso caso foi desde o utilizador ccna1 até ao ccna22conforme pedido nos protocolos Cisco.

B.3 Instalação do TFTP

Escreveu-se na consola o comando:

• apt-get install tftpd

B.4 Instalação do Samba

Escreve-se na linha de comandos:

• apt-get install samba

B.5 Instalação do IRC

Para instalar este serviço executamos o seguinte comando:

• apt-get install ircd-irc2

Depois de instalados todos os serviços seguiu-se a verifi-cação através de testes que a seguir se apresentam.

III. TESTES E RESULTADOS

HTTPApós instalado o servidor HTTP, o APACHE, colocou-se

no browser o endereço IP do servidor e verificou-se queo serviço foi instalado correctamente como demonstra aFigura 1.

Fig. 1TESTE AO SERVIÇO HTTP

FTPPara fazer o teste a este serviço colocou-se no browser o

seguinte endereço ftp://172.16.184.128, tendo assim acessoao servidor de FTP, como se comprova pela Figura 2.

Fig. 2ACESSO AO SERVIDOR FTP

TFTPPara testar este serviço criou-se na pasta onde está insta-

lado TFTP(/srv/tftp/) um ficheiro de teste. Para esse testebastou inserir os seguintes comandos:

• tftp localhost• get nome do ficheiro

Caso esteja a funcionar recebe-se uma mensagem, con-forme Figura 3.

Fig. 3TESTE DO SERVIÇO TFTP

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

250 LUIS REIGOTO [24983]

SAMBANeste serviço o teste é bastante simples bastando escrever

na barra de explorador “\\"seguido do nome do servidor ouaté mesmo o seu IP como podemos ver no seguinte co-mando:

• \\eagle-server.example.com

A eficácia do teste verifica-se através da entrada na pastapartilhada do servidor - Figura 4.

Fig. 4TESTE AOS SERVIÇO SAMBA

IRCNo serviço IRC o teste baseia-se nos seguintes passos:

• 1-Inicialmente é necessário criar uma conta: para istoinsere-se o nome de utilizador que vamos utilizar nochat, de acordo com os protocolos da Cisco escolhe-mos o ccna2 e ccn10 como utilizadores. Insere-se tam-bém o nome do servidor ou o IP do servidor, neste caso“172.16.1.2”. Por fim escolhe-se o tipo de protocoloutilizado que neste caso é o IRC - Figura 5.

Fig. 5TESTE AO IRC - JANELA DE login

• 2-Quando se conclui a criação da conta verifica-se acomunicação com o servidor de IRC. Em seguida énecessário entrar num chat, para isso cria-se um canal,neste caso o nome do canal escolhido é teste. É pre-ciso inserir um “#” antes do nome escolhido do canal,como se poderá ver na Figura 6.

Fig. 6TESTE AO IRC - ENTRADA/CRIAÇÃO DE UM CANAL

• 3- Após criar o canal e quando o outro utilizador fizero mesmo procedimento até agora efectuado, pode-severificar a entrada deste na nossa sala de conversação.Posto isto os utilizadores podem começar a comunicarentre si - Figura 7.

Fig. 7TESTE AO IRC - ENTRADA NA SALA DE CONVERSAÇÃO

• 4 – Por fim podemos verificar a conversação entre doisutilizadores (ccna2 e ccna10). Após a comunicaçãoentre os dois utilizadores podemos dar por finalizadoo teste deste serviço e concluir que o servidor de IRCfunciona correctamente - Figura 8.

Fig. 8TESTE AO IRC - CONVERSAÇÃO ENTRE OS UTILIZADORES

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTÉCNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 251

IV. CONCLUSÃO

O objectivo deste trabalho foi criar um servidor baseadonuma distribuição LINUX, para servir de apoio às aulaspráticas das unidades curriculares de Comunicação de Da-dos e Redes de Computadores. Para além do sistema opera-tivo, era necessário instalar serviços avançados no servidorem questão.Foi instalada uma máquina virtual, a VMWare server, que

permitiu alojar o servidor com o sistema operativo Ubuntu8.10 server e os serviços solicitados: HTTP, FTP, TFTP,SAMBA e IRC. Para cada serviço foi necessário fazer umapesquisa no sentido de encontrar as configurações correc-tas uma vez que tinham que estar de acordo com os proto-colos da Cisco. Para cada serviço foram feitos os testesnecessários tendo em vista verificar o seu correcto fun-cionamento. Em algumas situações foi necessário reformu-lar uma vez que não se obtinham os resultados pretendidos.Os serviços FTP, TFTP, SAMBA permitem essencialmente

a transferência de ficheiros e recursos de rede respectiva-mente. O IRC permite estabelecer uma comunicação entrediferentes utilizadores.No final verificou-se com agrado o correcto funcionamento

do servidor criado tendo-se atingido o objectivo pretendido.Desta forma será possível, ao docente destas Unidades Cur-riculares uma melhor gestão do seu trabalho, no contextosolicitado, compatibilidade do servidor com os protocolosCisco, num servidor instalado numa máquina virtual.

BIBLIOGRAFIA

[1] http://www.cisco.com/.[2] UC Irvine H. Frystyk T. Berners-Lee, R. Fielding, RFC1945 - Hyper-

text Transfer Protocol – HTTP/1.0, MIT/LCS, May de 1996.[3] J. Gettys J. Mogul H. Frystyk L. Masinter P. Leach T. Berners-Lee

R. Fielding, UC Irvine, RFC2616 - Hypertext Transfer Protocol –HTTP/1.1, Compaq/W3C, Compaq, W3C/MIT, Xerox, Microsoft„June de 1999.

[4] D. Reed J. Oikarinen, RFC959 - File Transfer Protocol, ISI, Octoberde 1985.

[5] K. Sollins, RFC 1350 - The TFTP Protocol (Revision 2), MIT, Julyde 1992.

[6] www.samba.org/.[7] J. Reynolds J. Postel, RFC1459 - Internet Relay Chat Protocol, Net-

work Working Group, May de 1993.[8] http://www.vmware.com/.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 253

Micromouse Speedy Gonzalez(SG-01)P0950

Davide Jose Dias Borges, Davide j [email protected]

Abstract – It built a Micromouse to explore a path to the cen-ter of a maze in the shortest period of time possible. Theproject incorporates a microcontroller, sensors and motors.Motors and sensors were connected to the microcontroller thatis capable Micromouse able to move a given distance in a givendirection of trains as well as receive information from sensorsand stop before hitting a wall. Future challenges lie in the pro-gramming of Micromouse through the Pic.

Resumo – E construıdo um Micromouse para explorar umcaminho para o centro de um labirinto no menor periodo detempo possivel. O projeto integra um microcontrolador, sen-sores e motores. Os motores e sensores foram conectados aomicrocontrolador para que o Micromouse seja capaz capazde se mover numa determinada distancia, numa determinadadirecao de forma autonoma, bem como receber informacoesdos sensores e parar antes de bater numa parede. Futurosdesafios reside na programacao do Micromouse atravez doPic. [1].Palavras chave – robo, autonomo, labirinto

Fig. 1EXEMPLO DE UM MICROMOUSE - DECIMUS

I. INTRODUCAO

O projecto consiste na construcao do hardware e numaposterior programacao de um Micromouse, como exemploo Micromouse representado na fig.1, um mini robo que elargado na extremidade de um labirinto onde este, de umaforma autonoma, partira a procura do centro desse mesmolabirinto, efectuando na primeira abordagem um ”mapa”dolabirinto no seu cerebro, em forma de matriz, voltando para

a posicao onde inicialmente fora largado. Quando largadouma segunda vez na mesma posicao, este tera de ir para ocentro do labirinto pelo percurso mais rapido, baseando-sena matriz construıda a quando da sua primeira abordagemao respectivo labirinto.

A. Breve historia

O Micromouse e um pequeno robo autonomo construıdopara navegar um labirinto. O primeiro registo de ”mouseversus labirinto”e datado de 1950. Foi apresentadopela primeira vez por Cloude Shannon, que construiu olabirinto original. No entanto, a primeira competicao deMicromouse comecou na decada de 1970, quando os robosforam testados um contra o outro. Os Micromouses saoconstruıdos para funcionar de uma forma autonoma aolongo de um labirinto e encontrar o seu centro a partirde um determinado canto do labirinto. Atraves do seualgoritmo e configuracao, os Micromouses devem sercapazes de manter a memoria do labirinto, a sua posicaodentro do labirinto, registo de dados sobre labirinto, eoptimizar uma rota para ser executado no menor tempopossıvel [2].

B. O que e o Micromouse?

Micromouse e um evento onde pequenos robos autonomoscompetem uns contra os outros para resolver um labirintoo mais depressa possıvel. O labirinto e constituıdo porcelulas quadradas de 18 centımetros de face e com muroscom 5 cm de altura, fazendo no seu conjunto uma matriz16x16. Os robos devem encontrar o caminho para o cen-tro do labirinto sozinhos a partir de um canto do labirintodesconhecido. A medida que avanca no labirinto o Mi-cromouse deve guardar a sua posicao e determinar o mel-hor caminho. Assim que este encontra o centro, retornaa posicao inicial. Os eventos Mircomouse sao realizadosregularmente em escolas, colegios, universidades e centrosexposicao a volta do mundo. Ao longo dos anos, o desafiode criar um robo autonomo que possa resolver um labirintoespalhou-se no mundo inteiro com regularidade. O desafioinicial foi encontrar o centro do labirinto (o que em si exigecompetencias em micro robotica e programacao), mas aolongo dos anos, os acontecimentos desenvolveram-se numacorrida para o centro, com Micromouses capazes de veloci-dades superiores a 3 ms−1 [3].

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

254 DAVIDE BORGES [22061]

II. DESENVOLVIMENTO

Este trabalho esta dividido em duas partes: A primeiraparte consistiu na implementacao de todos os circuitos decontrolo, assim como toda a parte mecanica do Micro-mouse. Todas as placas impressas foram projectadas us-ando o EAGLE e foram produzidas aqui na UTAD usandouma maquina propria para este fim. Na placa mae (fig.2 e3), encontram-se os componentes essenciais que fazem orobo funcionar e nela esta, entre outras coisas, o microcon-trolador dsPIC33fj128MC804.

Fig. 2BOARD CONSTRUIDA NO EAGLE

Fig. 3MICROMOUSE NA FASE DE APLICACAO DOS COMPONENTES

Depois uma outra parte onde o Micromouse sera progra-mado atraves de uma PIC, um trabalho a realizar futura-mente.

A. Mecanica

A parte mecanica foi conseguida com a ajuda das oficinasde mecanica.O robo foi feito seguindo o regulamento o qual

define os limites de concepcao do mesmo. O Micromousetem um sistema de contagem do numero de voltas que aroda efectua ao longo do seu percurso. Entre outros, utilizeio PIC dsPIC33fj128MC804 da Microchip [4], um LCD deum Nokia 1100, mosfet drivers MAX4427 da Maxim [5],ULN2803A da Motorola [6], MOSFETs ZXMC3A16DN8da Zetex [7], o integrado LP38690 [8], o integrado TSL261 [9]e se necessario mais tarde tambem podemos colocaruma memoria FM24V10 [10].

A.1 Construcao mecanica

Fig. 4MICROMOUSE NA FASE DE APLICACAO DOS COMPONENTES

Podemos observar na figura 4 o Micromouse praticamentena sua fase final. A placa preta colocada na parte dianteirado robo nao e apenas um elemento de estetica, tem comoobjectivo impedir que exista perturbacoes entre o emissorIR e o receptor IR, e assim permitir uma boa utilizacaodestes. Na parte traseira, do lado de ca da imagem exis-tem dois botoes de pressao, tendo estes a funcao de start ereset. Do lado contrario estao dois conectores para que sepossa ligar uma ou duas baterias como preferir. No centroda traseira estao dois conectores, um para a interface com oprogramador do Pic e outro para ligar o LCD. Foram apli-cadas duas placas para a fixacao do eixo, tendo nas extrem-idades do eixo as rodas presas ao eixo atraves de rolamen-tos. Essas placas sao feitas de alumınio e foram fixas naplaca Mae, sendo entao furadas nos locais de interesse paraa passagem do eixo, do tubo do encoder, do eixo do motor etambem para fixar o motor. As rodas tem uma parte dentadapara assim fazer a ligacao com os movimentos do motor e,por sua vez, rodar tambem o ıman que faz parte do encoder.

B. Controlo Motores

Um circuito muito popular para motores de DC motrizes echamado uma H-ponte(fig.5). E chamado assim porque separece com a letra maiuscula ’H’ em esquemas classicos.

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 255

Fig. 5CIRCUITO DE CONTROLO DOS MOTORES

A grande habilidade de um circuito de H-ponte e que o mo-tor pode ser controlado para a frente ou para tras a qual-quer velocidade. Uma H-ponte pode ser implementadacom varios tipos de componentes (transıstores bipolares co-muns, transıstores de FET, transıstores de MOSFET). Nor-malmente sao precisados de quatro transıstores numa H-ponte. Cada transistor forma um canto na carta ’H’, como motor que e a barra no meio. A entrada de cada mos-fet driver MAX4427 da Maxim chega a informacao para ocontrolo do motor, sendo que um sinal indica a frequenciae outro indica a direccao [11] [12].

Fig. 6CIRCUITO TRANSMISSOR IR

Fig. 7CIRCUITO RECEPTOR IR

C. Sensores de Distancia

O Micromouse possui seis sensores, os quais estao colo-cados de maneira a cumprirem de forma optimizada a suatarefa. No circuito emissor(fig.6) estes sao alimentadoscom a tensao da bateria para poder-mos ter uma maiorpotencia. Todos eles funcionam por infravermelhos. Todoseles sao colocados na parte frontal do Micromouse, mascada um tem uma direccao especifica para assim detectaras paredes. Eles emitem um feixe de infravermelhos o qualreflecte no obstaculo, neste caso nas paredes, e retorna parao receptor(fig.7), a atenuacao do sinal diz qual a distancia aque o obstaculo se encontra [13] [14] [15].

Fig. 8ESQUEMA DE LIGACOES AO PIC

D. Microcontrolador

O Pic(fig.8 e 9) pertence a famıliadsPIC33FJ128MCX02/X04, sendo constituıdo por 44

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

256 DAVIDE BORGES [22061]

Fig. 9EXEMPLO DE UMA FIGURA - 2 COLUNAS

pinos. E um circuito integrado produzido pela MicrochipTechnology Inc., que pertence a categoria dos microcontro-ladores, ou seja, um componente integrado que num unicodispositivo contem todos os circuitos necessarios pararealizar um completo sistema digital programavel. Nesteprojecto sao utilizados 40 dos 44 pinos(Tabela.1), pinosestes com diferentes funcoes para controlar e comandar osdiferentes metodos de actuacao de cada componente. OsPWM sao utilizados no controlo dos motores. PGC PGDe MCLR sao utilizados para a programacao do Pic. OsRPs utilizam-se na grande parte dos componentes pois saoportas que se podem programar.

E. Controlo de tensao

No circuito de controlo de tensao(fig.10) e utilizado umLP38690, assim como tambem e projectado um divisor detensao. Circuitos estes que fazem com que a alimentacaodos diversos componentes tenham um valor correcto para obom funcionamento dos mesmos.

F. Alimentacao

A alimentacao e feita atraves de uma bateria de Li-polycell com 7.4v e 130mAH . Se preferirmos podemos utilizarduas baterias pois existem duas entradas para esse efeito,ligadas em paralelo.

Fig. 10ESQUEMA PARA CONTROLAR A TENSAO

III. CONCLUSOES E TRABALHO FUTURO

Toda a parte fısica do trabalho esta pronta para que sepossa programar o robo, excepto o LCD que falta apenassoldar as ligacoes para conectar com o Pic. A escolha dosmotores com os encoders separados talvez nao tivesse sidoa melhor escolha, pois como sao separados existe semprealguma variacao da posicao exacta de cada encoder a cadaensaio que se realiza, mas visto o custo de um motor ja

Projecto em Engenharia Electrotecnica e de Computadores 2009

REVISTA DE ENGENHARIA ELECTROTECNICA E DE COMPUTADORES, VOL. 1, N◦ 1, JULHO 2009 257

Portas Pinagem identificadorSDA1/RB9 1 SDAPWM2H1/RC6 2 INBEPWM2L1/RC7 3 INAERP24(1)/RC8 4 SCLKRP25(1)/RC9 5 SDIVSS 6 GNDVCAP/VDDCORE 7 VCCRP10(1)/RB10 8 ADRP11(1)/RB11 9 BDRP12(1)/RB12 10 IDRP13(1)/RB13 11 –RA10 12 XRESRA7 13 XCSPWM1H1/RB14 14 INADPWM1L1/RB15 15 INBDAVSS 16 AGNDAVDD 17 AVCCMCLR 18 MCLRAN0/RA0 19 ADC1AN1/RA1 20 ADC2AN2/RB0 21 ADC3AN3/RB1 22 ADC4AN4/RB2 23 ADC5AN5/RB3 24 ADC6AN6/RC0 25 ADC7AN7/RC1 26 –RP18(1)/RC2 27 –VDD 28 VCCVSS 29 GNDRA2 30 OPT1RA3 31 OPT2RA8 32 –RB4 33 LEDDRA4 34 LEDCRA9 35 LEDERP19(1)/RC3 36 IERP20(1)/RC4 37 BERP21(1)/RC5 38 AEVSS 39 GNDVDD 40 VCCPGD3/RB5 41 PGDPGC3/RB6 42 PGCRB7 43 STARTSCL1/RB8 44 SCL

TABELA ITABELA DE CONEXAO AO PIC

com encoders torna-se mais economica a solucao adop-tada, mesmo sabendo que nao existe tanta precisao. Fu-turamente pretendo dar vida ao Micromouse, ou seja, pro-grama-lo de forma a este se tornar autonomo e assim com-petir com outras universidades em concursos Micromouseque se venham a realizar, fazendo futuramente a tese demestrado, acabando assim este projecto aliciante. Uma dasmodificacoes a aplicar sera por uns motores que ja pos-suam encoders para assim ter mais precisao do posiciona-

mento do Micromouse. Se necessario, sera colocada umamemoria, pelo que foi reservado um espaco para esta casose confirme a sua necessidade.

IV. AGRADECIMENTOS

Queria agradecer ao meu orientador, Antonio Valente,pelo apoio prestado para que o projecto fosse realizado.Ao Engenheiro Cristovao das oficinas de mecanica peladisponibilidade, pois a sua ajuda foi preciosa para fixar osmotores e o eixo, bem como na elaboracao das rodas.Aos meu colegas e amigos pelo apoio que sempre mederam.Aos meus pais e parentes mais proximos por sempre meapoiarem e ajudaram dando bons conselhos sempre queestes foram precisos.

BIBLIOGRAFIA

[1] “Micromouse design the intellimouse explorer”, http://www.ece.uidaho.edu/ee/classes/ECE480-2s05/Teams/intellimouse/Sem1Report.pdf, 31/03/2009.

[2] Faton Avdiu, Senior Design Spring 2008, PhD thesis, City Collegeof New York – CCNY, 2008.

[3] Jim Chidley e Derek Hall, “Picaxe micromouse kit”, Relatoriotecnico, 2009.

[4] Microchip Technology Inc., “Datasheet do microcontroladordspic33fj128mc804”, Relatorio tecnico, 2008.

[5] Microchip, “Datasheet do integrado maxim 4427”, Relatoriotecnico, 1993.

[6] Motorola, “Datasheet do integrado uln 2803”, Relatorio tecnico,1996.

[7] Zetex, “Zetex - zxmc3a16dn8 complementary 30v enhancementmode mosfet datasheet”, Relatorio tecnico, 2005.

[8] National Semiconductor Corporation, “Datasheet do integradolp38690”, Relatorio tecnico, 2009.

[9] Taos, “Datasheet do integrado tsl 261”, Relatorio tecnico, 2000.[10] Ramtron, “Datasheet da memoria fm24v10”, Relatorio tecnico,

2009.[11] “Robot room”, http://www.robotroom.com/index.

html#PROJECTS, 27/03/2009.[12] “Ng beng kiat”, http://www.np.edu.sg/alpha/nbk,

27/03/2009.[13] “microchip”, http://www.microchip.com/stellent/

idcplg?IdcService=SS_GET_PAGE&nodeId=64,25/03/2009.

[14] “pesquisa google”, http://www.google.com.au/search?hl=en&q=micromouse&btnG=Google+Search&meta=,27/03/2009.

[15] “micromouse online”, http://www.micromouseonline.com/forum, 27/03/2009.

c© UTAD - ECT - Departamento de Engenharias

Projecto em Engenharia Electrotecnica e de Computadores 2009

Análise Matemática I Análise Matemática IIÁlgebra Linear e Geometria Analítica Mecânica e Ondas

Química Sistemas DigitaisProgramação Algoritmia

Técnicas Laboratoriais em Electrotecnia Teoria dos CircuitosSeminário em Ciências da Electrotecnia e Laboratórios de Electrónica e Computação I

Computação

Análise Matemática Complementar Matemática Computacional Termodinâmica e Estrutura da Matéria Electromagnetismo e Óptica

Probabilidades e Estatística Programação por Objectos Arquitectura de Computadores Sistemas e Sinais

Electrónica I Electrónica IILaboratórios de Electrónica e Computação II Laboratórios de Electrónica e Computação III

Comunicação de Dados Fundamentos de TelecomunicaçõesSistemas Operativos Sistemas Eléctricos e de Energia

Electrónica de Potência Instrumentação e SensoresSistemas de Controlo Bases de Dados

Electrónica Digital Redes de ComputadoresGestão Industrial Projecto em Eng. Electrotécnica e de

Computadores

Processamento Digital de Sinal Energias Alternativas Sistemas de Microcontroladores Instalações Eléctricas

Aplicações e Serviços Web Robótica e Sistemas InteligentesMáquinas Eléctricas Microtecnologias

Automação industrial Engenharia de SoftwareMétodos de Optimização Gestão de Redes e Sistemas Distribuídos

Dissertação DissertaçãoOpção AOpção B

Ética e DeontologiaGestão de Projectos em Engenharia

Engenharia Electrotécnica

e de Computadoresbolognaprocess

Grau de Licenciado Grau de Mestre

321

21

Acreditado pela

Ordem dos Engenheiros

Protocolo de Estágios com

BOSCH

InovAÇÃO Consumer & Industrial

Anexos

Listagem dos Orientadores - Comissao Cientıfica

Antonio Luıs Gomes Valente

Antonio Manuel T. Silva Cunha

Carlos Filipe Campos Rompante da Cunha

Carlos Jose Alves Serodio

Eduardo Jose Solteiro Pires

Emanuel Soares Peres Correia

Getulio Paulo Peixoto Igrejas

Joao Agostinho B. L. Pavao

Joao Manuel Pereira Barroso

Jose Benjamim R. da Fonseca

Jose Boaventura R. da Cunha

Jose Manuel Ribeiro Baptista

Jose Paulo B. de Moura Oliveira

Leonel Caseiro Morgado

Luıs Torres Pereira

Manuel Jose Cabral dos Santos Reis

Miguel Alves Fernandes

Paulo Alexandre C. Salgado

Pedro Miguel Mestre A. da Silva

Pedro Mogadouro do Couto

Raul Manuel Pereira Morais dos Santos

Salviano Filipe S. Pinto Soares

Sergio Augusto Pires Leitao

Vıtor Manuel Jesus Filipe

Apresentação Públicah l é d d

P0902Avaliação técnica e económica de sistemas de microprodução de electricidade baseados em ER

P0904 Produção descentralizada de electricidade ‐  Um caso de estudo

Dia 22ão

 A10:00 ‐ 11:15

Projecto em Engenharia Electrotécnica e de Computadores

P0916 Optimização das Ligações de Aerogeradores em Parques Eólicos

P0947Ferramenta de simulação para caracterização da potência instalada em mini‐hidricas

P0917 Síntese de Circuitos Digitais

P0937 Simulação Computacional Gráfica de Sistemas Automatizados

Sessã

o B

11:30 ‐ 12:45

P0937 Simulação Computacional Gráfica de Sistemas Automatizados

P0938 AquaDisplay

P0914TIC‐AEF ‐ As Tecnologias da Informação e Comunicação no Apoio ao Ensino da Física

Sessão

Almoço

P0918Data‐logger com armazenamento em cartões SD/MMC em FAT32 (Parte 1 ‐Logger)

P0929 Sistema de Gestão de Adegas e Cooperativas Agrícolas

P0943 Gestão de Filas de Espera para Adegas e Cooperativas

ssão

 C

14:00 ‐ 16:00

P0911 Identificação automática de produtos numa despensa inteligente

P0901 Navegação de um robot para Condução Autónoma

Ses

16:15 ‐ 17:30

AdQuamEmpresa de Recursos Humanos

g ç p ç

P0909 Condução autónoma de veículo – Condução

P0910 Condução autónoma de veículo Detecção de obstáculosessão D

Consumer & Industrial

P0910 Condução autónoma de veículo – Detecção de obstáculos

P0930 Sistemas de Vigilância Inteligente

P0935 Sistema de monitorização da concentração de condutores

Se

Apresentação Pública

P0926Site Web para gestão de exames ‐ Testes, Segurança, Autenticação e Privacidade

P0925Site Web para gestão de exames ‐ Gestão de Base de Dados e Relatórios

Projecto em Engenharia Electrotécnica e de Computadores

Dia 2310:00 ‐ 11:15

o E Relatórios

P0924Site Web para gestão de exames ‐ Interface com o utilizador e Interface de Administração

P0927 Paineis de Informação Wireless

P0928HELPMI – integração de serviços de voz entre Messengers e Mundos Virtuais

11:30 ‐ 12:30

Sessão

P0944 Interligação entre FORTRAN e Java

P0945 Gestão de Software para salas de Informática

P0948Servidor baseado em Linux, uma ferramenta de apoio às aulas práticas : Sistema e Serviços Base

P0949Servidor baseado em Linux, uma ferramenta de apoio às aulas áti S i A des

são F

11:30 ‐ 12:30

P0949práticas : Serviços Avançados

P0942 Kit de Demonstração de Modulações Analógicas

P0920Desenvolvimento de alvos de detecção de tiro automático para o pentatlo moderno

Almoço

Se

P0915 Sistema de aquisição e transmissão de dados ambientais

P0922Desenvolvimento de firmware para um sensor de humidade para o solo

P0923Desenvolvimento de uma aplicação para aquisição de dados de um sensor de humidade para o solo

P0933Desenvolvimento de um sistema de instrumentação para Se

ssão

 G

14:00 ‐ 16:00

P0933Desenvolvimento de um sistema de instrumentação para monitorização de uma sonda de ultra‐sons 

P0939 Estudo e desenvolvimento de um sensor para o crescimento da uva

S

16:15 ‐ 17:30

P0946 Ambientes Tecnologicamente Assistidos ‐ Sensores

P0921 Ambientes Tecnologicamente Assistidos ‐ AplicaçãoSessão

 H    PTin / Estágios Curriculares

P0950 MicroMouse Speedy Gonzalez (SP‐01)

P0912 Estudo e caracterização de sistemas estéreo de visão por computador