Ambiente de Realidade Virtual para Treinamento de Videolaparoscopia

Tamanho: px
Começar a partir da página:

Download "Ambiente de Realidade Virtual para Treinamento de Videolaparoscopia"

Transcrição

1 UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO DIEGO ROBERTO DE SOUZA RODRIGO DARON WANG Ambiente de Realidade Virtual para Treinamento de Videolaparoscopia Trabalho de Conclusão de Curso. Prof. Alessandro Brawerman Orientador CURITIBA, DEZEMBRO DE 2009.

2 UNIVERSIDADE POSITIVO Reitor: Prof. Oriovisto Guimarães Vice-Reitor: Prof. José Pio Martins Pró-Reitor de Graduação: Prof. Renato Casagrande Diretor do Núcleo de Ciências Exatas e Tecnológicas: Prof. Marcos José Tozzi Coordenador do Curso de Engenharia da Computação: Prof. Edson Pedro Ferlin

3 TERMO DE APROVAÇÃO Diego Roberto de Souza Rodrigo Daron Wang Ambiente de Realidade Virtual para Treinamento de Videolaparoscopia Monografia aprovada como requisito parcial à conclusão do curso Engenharia da Computação da Universidade Positivo, pela seguinte banca examinadora: Prof. Alessandro Brawerman (Orientador) Prof. José Carlos da Cunha (Membro) Prof. Valfredo Pilla Jr. (Membro) Curitiba, dezembro de 2009

4 AGRADECIMENTOS Agradecemos primeiramente nossos pais e familiares, por terem acreditado em nós e terem se sacrificado durante todos esses anos de graduação para que conseguíssemos chegar até o fim do curso. Agradecemos também nossos amigos e colegas que muitas vezes foram importantes para ajudar nas horas difíceis, nas dúvidas e principalmente no companheirismo durante nossa jornada. Por fim gostaríamos de agradecer todos os professores que foram de fundamental importância para nossa formação integral, tanto como eternos aprendizes quanto como futuros profissionais. Em especial agradecemos o professor Maurício Perretto por ter ajudado nas horas de dúvida e por ter cedido alguns componentes de difícil acesso para a realização do projeto. Agradecemos também o professor e médico James Skinovsky por nos ter cedido a oportunidade de presenciar uma cirurgia de videolaparoscopia para que assim pudéssemos compreender de uma maneira mais profunda a complexidade e a necessidade do desenvolvimento de um ambiente para treinamento desse tipo de cirurgia. E por último, mas não menos importante, agradecemos nosso orientador Alessandro Brawerman pela sugestão desse projeto e por todo apoio e oportunidades que nos proporcionou para que o trabalho de conclusão de curso fosse realizado da melhor maneira possível.

5

6 SUMÁRIO LISTA DE SIGLAS... 8 LISTA DE ABREVIATURAS... 9 LISTA DE FIGURAS LISTA DE TABELAS RESUMO ABSTRACT INTRODUÇÃO FUNDAMENTAÇÃO TEÓRICA Laparoscopia Intoducao a laparoscopia Vantagens Treinamento Comportamento baseado em habilidades Comportamento baseado em regras Comportaento baseado em conhecimento Objetivo do treinamento, necessidades e modos Treinamento atual em laparoscopia USB (Universal Serial Bus) Interface Fisica -Elétrica Interface Fisica - Mecânica Dispositivos USB Host USB HID (human Interface Device) História Componentes do Protocolo HID HID Descriptor Report Descriptor Microcontroladores Potenciômentros Realidade virtual Linguagem C TRABALHOS RELACIONADOS ESPECIFICAÇÃO DO PROJETO Descritivo do Hardware Descritivo do Software Integracao dos Sistemas Estudo de Viabilidade Técnico-Econômica Planejamento e Desenvolvimento... 45

7 5 DESENVOLVIMENTO E IMPLEMENTAÇÃO Projeto de software Diagrama de sequência Modelagem 3D e Carregamento dos Objetos Movimentacao e Física dos objetos Comunicação com o joystick Projeto de Hardware Aquisição dos movimentos Unidade de processamento Protocolo de comunicação Projeto da Mecânica Desenvolvimento da Arquitetura Montagem dos Componentes VALIDAÇÃO E RESULTADOS Teste de Sotware Teste de Hardware Teste da Mecânica Resultados CONCLUSÃO REFERÊNCIAS ANEXO A <ARTIGO> ANEXO B <MANUAL>... 68

8 LISTA DE SIGLAS µ Micro m Mili K Kilo M Mega G Giga Hz Hertz V - Volt F - Faraday b - Bit B - Byte s - Segundo cm - Centímetro

9 LISTA DE ABREVIATURAS NCET Núcleo de Ciências Exatas e Tecnológicas UP Universidade Positivo USB Universal Serial Bus PC Personal Computer ROM Read Only Memory RAM Random Access Memory CPU Central Process Unit PIC Peripheral Interface Controller DIP Dual In-Line Package TV Televisão HID Human Interface Device 3D Três dimensões VR Virtual Reality CO 2 Dióxido de Carbono FAA Federal Aviation Administration FFS - Full Flight Simulator FLS - Full-scale Laparoscopy Simulator VBus - Alimentação do barramento GND - Ground I/O - Input/Output DIN - Conector DIN PS/2 - Conector PS/2 PDA - Personal digital assistant LED - Light-emitting diode VRMSS - Virtual-Reality Motor-Skills Simulator A/D - Analógico para Digital IDE - Integrated development environment

10 SED - Script Editor MED - Model Editor WED - Scenery Editor VCC - Common-collector voltage

11 LISTA DE FIGURAS Figura 2.1: Exercícios em modelos pélvicos para aumentar a habilidade Figura 2.2: Um modelo de simulador que possui o recurso de aumento gradativo da dificuldade Figura 2.3: Protótipo de realidade virtual de um modelo pélvico Figura 2.4: Treinamento em realidade virtual com circuitos programáveis e software de controle Figura 2.5: Cabo USB Figura 2.6: Exemplo de um descriptor de HID para comunicação de um teclado Figura 2.7: Aspectos e símbolos de um potenciômetro Figura 2.8: Foto de um simulador de vôo Figura 4.1: Visão geral do projeto Figura 4.2: Representação em blocos da parte de hardware do projeto Figura 4.3: Portas com conversores A/D do microcontrolador Figura 4.4: Circuito do projeto Figura 4.5: Fluxograma do Firmware Figura 4.6: Fluxograma do software de gráfico 3D Figura 4.7: Diagrama da parte de software Figura 4.8: Gráfico de Gantt representando as etapas de especificação Figura 4.9: Gráfico de Gantt representando as etapas de pesquisa, projeto e desenvolvimento Figura 4.10: Gráfico de Gantt representando as etapas de testes e de documentação Figura 5.1: Diagrama de sequência Figura 5.2: Código para criação de entidade e definição dos parâmetros de física Figura 5.3: Amostra dos objetos e cenário do Software 3D Figura 5.4: Divisor de tensão Figura 5.5: Linha de código para definir como 8 bits a resolução do conversor A/D interno Figura 5.6: Código para obtenção do sinal de entrada convertido para base decimal Figura 5.7: Código do firmware para a montagem do vetor contendo os dados referentes aos movimentos realizados pelo usuário Figura 5.8: Código de envio do pacote contendo um vetor de números inteiros de cinco posições referentes aos movimentos Figura 5.9: Protocolo de comunicação USB Figura 5.10: Arranjo de dois potenciômetros Figura 5.11: Mostra o principio da dobradiça e o principio de rolagem Figura 5.12: Montagem do movimento de rotação e abertura da pinça Figura 5.13: Pinça desmontada com todas as suas peças Figura 6.1: Teste de reconhecimento do dispositivo pelo sistema operacional Figura 6.2: Programa de reconhecimento de joysticks... 57

12 LISTA DE TABELAS Tabela 4.1: Estimativa de custos Tabela 6.1: Teste de desempenho... 56

13 RESUMO Este projeto apresenta um ambiente de realidade virtual para treinamento médico em videolaparoscopia. A videolaparoscopia é um tipo de cirurgia muito utilizada atualmente por ser minimamente invasiva, diminuindo o número de incisões e proporcionando uma rápida recuperação do paciente. Neste tipo de cirurgia, o médico não olha diretamente para o paciente, mas sim para um monitor (TV) ligado a uma câmera que está inserida no paciente. Com isso, surge um problema, já que a imagem no monitor é em apenas duas dimensões, portanto uma pessoa não treinada perde a noção de profundidade. Como a operação é feita por pinças e outros instrumentos cirúrgicos, de acordo com a necessidade, o projeto tem como objetivo a construção de dois joysticks em forma de pinça e um ambiente de realidade virtual para o treinamento do aspecto da profundidade. O hardware possui um microcontrolador que a partir de potenciômetros converte os movimentos do joystick em sinais interpretados pelo computador. O software deve interpretar os sinais que vem do joystick em imagens dos instrumentos cirúrgicos na tela de forma a emular desafios da cirurgia. O projeto não tem a intenção de recriar toda uma cirurgia em sua forma anatômica e sim apenas desafios que levem o estudante a treinar sua noção de profundidade. O hardware usa conexão USB e protocolo HID (Human Interface Device) como um joystick comercial, sendo sua diferença principalmente na mecânica. A parte gráfica foi feita de forma simples, utilizando-se poucos objetos e a interface de desenvolvimento gratuita Lite-C, que é usada para desenvolvimento de jogos 3D. Palavras-chave: Videolaparoscopia, Simulação, Realidade Virtual, Ambiente, gráficos 3D.

14 A VIRTUAL REALITY LAPAROSCOPY ENVIRONMENT ABSTRACT This project describes a virtual reality environment for medic training in laparoscopic surgery. Laparoscopy is a kind of surgery that has been used in a large proportion nowadays, mainly because it is minimally invasive, reducing the number of incisions and providing the patient a rapid recovery. In this kind of surgery, the physician does not look directly into the patient, but to a monitor (TV) connected to a camera inside the patient. Thus, a problem arises, since the monitor image is represented with only two dimensions; therefore an untrained person loses the depth sense. As the surgery is done with tweezers and others surgical instruments, according to the need, the project s goal is to build two tweezers joysticks and a virtual reality environment to train the depth sense. The device has a microcontroller, and using potentiometers translate the user s movements from the device to signals interpreted by the computer. The software must translate the signals, from the joystick, into an image of the surgical instruments in the screen to perform certain surgery challenges. The project does not have the intention to recreate a complete and real anatomic scenario but to create challenges and interactions so the resident is able to train his/her depth sense. The device uses the USB port along with the HID (Human Interface Device) protocol like a commercial Generic Joystick, the difference lies in its mechanics. The graphics were built using few objects with the Lite-C software that is a freeware IDE to 3D game development. Keywords: Laparoscopy, Simulation, Virtual Reality, Environment, 3D graphics.

15 CAPÍTULO 1 INTRODUÇÃO O projeto em questão tem como objetivo treinar estudantes de medicina para a cirurgia de videolaparoscopia. Essa é uma técnica de cirurgia minimamente invasiva que utiliza uma câmera e dois ou mais instrumentos médicos em pequenas incisões. Como toda a cirurgia é feita através de um monitor, a imagem é mostrada em duas dimensões, e que para uma pessoa não treinada pode gerar problemas quanto à noção de profundidade. Sem esta habilidade, o risco de erro em uma cirurgia cresce substancialmente uma vez que essa técnica preza a precisão do cirurgião. Atualmente o uso de simulações usando realidade virtual é utilizado em diversas aplicações como, por exemplo, o treinamento de pilotos de aviões. Esse tipo de treinamento consiste em recriar um ambiente que desafie o usuário a entender e exercitar conceitos necessários no seu aprendizado de acordo com a aplicação. A realidade virtual consiste em hardwares e softwares que possam criar tal ambiente. Para o treinamento do cirurgião, no problema da noção de profundidade, existem vários métodos como a utilização de animais, como porcos, ou em cadáveres, porém a maioria desses métodos tem um custo alto. A idéia de simulação usando realidade virtual vem a suprir esse problema, uma vez que com o hardware e um computador pode-se treinar em qualquer lugar e quantas vezes forem necessárias, sendo que cirurgias em animais requerem lugares específicos e há uma quantidade limitada de tempo de utilização dos animais. O projeto é dividido em três partes o hardware, a mecânica e o software. O hardware é basicamente o circuito de um joystick com cinco eixos necessário para a movimentação dos instrumentos cirúrgicos. A mecânica tenta conciliar o hardware com o movimento real, basicamente recriando a parte física do sistema. Por último, existe o software gráfico em três dimensões que tenta recriar a parte interna da cirurgia ou a imagem gerada pela câmera. Aqui é bom lembrar que o gráfico em três dimensões é de forma emulada e a imagem no monitor continua em duas dimensões como é a maioria dos jogos 3D de vídeo games modernos. No final têm-se dois joysticks, que são a junção entre o hardware e a mecânica, que são necessários para uma interação fiel com o mundo virtual, pois como foi falado anteriormente, existe numa cirurgia mais de um instrumento cirúrgico. Ambos os joysticks são ligados no computador via porta USB, que é largamente utilizada para periféricos, e utiliza o protocolo HID, Human Interface Device, que possibilita a sua conexão direta com o sistema operacional sem a necessidade de instalação de softwares adicionais. A ênfase do projeto é treinar a idéia de profundidade citada anteriormente e não recriar a cirurgia de forma anatômica, a qual pode ser implantada futuramente uma vez que o hardware seja compatível, portanto os exercícios do software recriam situações 15

16 não reais, mas que desafiam o usuário a melhorar a sua noção de profundidade. O modelo de treinamento proposto consiste em interagir com objetos na tela que estão posicionados em graus de profundidade diferente utilizando as duas pinças do projeto. O restante desta monografia está dividida da seguinte forma: o Capítulo 2 apresenta noções importantes para a compreensão do projeto descrito nesta monografia, o Capítulo 3 apresenta alguns trabalhos relacionados utilizados como inspiração e base de pesquisa para a execução do projeto, o Capítulo 4 apresenta a especificação do projeto descrevendo as ferramentas utilizadas para o desenvolvimento tanto do hardware quanto do software, o Capítulo 5 apresenta a parte de desenvolvimento e implementação do projeto explicando passo a passo da execução do mesmo, o Capítulo 6 apresenta a validação e resultados do projeto com o objetivo de mostrar sua funcionalidade assim como desempenho e o Capítulo 7 apresenta a conclusão sobre o projeto, descrevendo o que foi obtido com esse trabalho, dificuldades e possíveis melhorias a serem implementadas. 16

17 CAPÍTULO 2 FUNDAMENTAÇÃO TEÓRICA Neste capítulo é apresentada a teoria necessária para o entendimento do projeto. São abordadas todas as áreas, desde a parte médica até a parte de engenharia. 2.1 Videolaparoscopia Esta técnica cirúrgica é a base do projeto, sendo o seu entendimento é fundamental para prosseguir no estudo do problema Introdução à videolaparoscopia A videolaparoscopia é uma técnica cirúrgica minimamente invasiva, ou seja, na qual são utilizadas apenas pequenas incisões entre 0,5 e 1,0 cm para observar o interior da cavidade abdominal e os órgãos aí presentes, através de lentes potentes, microcâmeras e monitores de vídeo (TV). Também através destes pequenos portais, podem ser utilizados instrumentos especiais sem introduzir as mãos na cavidade, manuseados do exterior, como pequenas pinças, tesouras, bisturis elétricos, clamps metálicos e pontos internos, todos vistos numa tela de vídeo de alta resolução, com imagens precisas e aumentadas até 20 vezes, evidenciando estruturas anatômicas e lesões, dificilmente vistas a olho nu e que são manuseadas mais delicadamente por esta técnica (Branco e Zulli, 2008). Para enxergar a cavidade abdominal, onde todos os órgãos estão juntos, é preciso distender (inflar) a parede abdominal por meio de gases e assim criar espaço interno para separá-los. O gás mais utilizado é o CO 2 (dióxido de carbono), um gás inerte e pouco absorvido pelo nosso corpo. A introdução do gás proporciona um amplo espaço para este tipo de cirurgia. Tal precisão é benéfica ao paciente em termos de procedimentos mais eficientes e menos sangrentos, com pós-operatórios mais tranquilos, menor estadia hospitalar, melhor resultado estético pelas menores incisões e menos complicações das incisões grandes, como as hérnias, quelóides (cicatrizes viciosas), infecções, etc. (Branco e Zulli, 2008) Vantagens As vantagens deste procedimento em relação à cirurgia convencional, entre outros, reside no fato de ser esta técnica mais estética, ter menos dor no pós-operatório, possibilitar alta hospitalar mais precoce com o retorno também mais rápido às atividades do dia a dia, menor índice de infecção, custo, etc (UOL, 2000). A videolaparoscopia é um grande avanço para a medicina também quando se fala em infertilidade, pois devido a esta técnica pode-se aperfeiçoar e melhorar a qualidade do exame e realizar microcirurgias as quais devolveram, e outras tantas vezes, 17

18 possibilitaram a muitas mulheres tornarem-se mães novamente ou pela primeira vez. Mesmo sendo a videolaparoscopia uma área que desenvolveu instrumentais sofisticados, seguros, precisos, nada substitui a mão treinada do médico que sempre vai estar por trás, operando tais instrumentais e equipamentos, quem faz a cirurgia ainda é o cirurgião e não os aparelhos (UOL, 2000) Treinamento A popularidade das técnicas de videolaparoscopia criou um novo domínio no treinamento cirúrgico, desviando um pouco do modelo de aprendizagem, em direção de programas estruturados de ensino de novas habilidades práticas. Cursos práticos proporcionam a jovens cirurgiões praticar técnicas em sintéticos, suínos ou em modelos de realidade virtual. O objetivo mais recente da formação laparoscópica tem sido garantir que o aprendiz tenha habilidades básicas de laparoscopia, tais como coordenação mão-olho e percepção de profundidade antes de entrar numa sala de operação. Comparada à aviação, onde o treinamento de realidade virtual (VR) foi padronizado e os simuladores mostraram seus benefícios definitivos na melhora de habilidades, os objetivos, as necessidades e meios de treinamento de VR em cirurgias minimamente invasivas foram estabelecidos, como pode ser visualizado na Figura 2.1. Para que um cirurgião tenha habilidade suficiente para executar uma cirurgia laparoscópica com sucesso ele tem que ter o conhecimento dos três níveis de comportamento humano, que são respectivamente: comportamento baseado em habilidades, comportamento baseado em regras e comportamento baseado em conhecimentos. Esses são fundamentais que sejam obtidos através de treinamentos com simuladores de VR e com experiências reais (Mishra, 2006) Comportamento baseado em habilidades Esse representa os comportamentos do cirurgião que se manifestam sem controle consciente. A execução de tarefas é altamente automatizada neste nível de comportamento e é baseada na seleção rápida de atividades motoras que controlam certos músculos. As atividades motoras são baseadas em uma representação precisa de determinada tarefa, da dinâmica do sistema e do ambiente em questão (aprendido por treinamento e experiência). Um exemplo de uma habilidade do dia a dia é andar. Muitos procedimentos em uma cirurgia podem ser considerados como uma sequência de ações de habilidades. Por exemplo, um cirurgião com experiência executa uma ação de sutura com suavidade, sem controle consciente sobre seus movimentos (Mishra, 2006). 18

19 Figura Exercícios em modelos pélvicos para aumentar a habilidade. Adaptada de: Comportamento baseado em regras Neste nível de comportamento humano, o comportamento baseado em regras é aplicado. Durante o comportamento baseado em regras a execução de ações é controlada por procedimentos ou regras memorizadas. Esses podem ter sido derivados empiricamente de ocasiões anteriores, reportadas da perícia de outras pessoas ou como uma receita de bolo. Regras apropriadas são selecionadas de acordo com seu sucesso em experiências anteriores. Por exemplo, etapas processuais e reconhecimento de anatomia e patologia em cirurgias minimamente invasivas exigem o comportamento baseado em regras. Parar seu carro em um semáforo com a luz vermelha é um bom exemplo de indicação (luz vermelha) que ativa uma regra memorizada (parar o carro). Na colecistectomia laparoscópica, ter estabelecido por inteiro a visão crítica de segurança é a indicação que ativa a regra de quais estruturas apropriadas podem ser grampeadas na sequência (Mishra, 2006) Comportamento baseado em conhecimento Em situações não familiares, quando é deparado com uma tarefa que não há nenhuma regra disponível de experiências anteriores, o comportamento humano é baseado em conhecimento. Durante o comportamento baseado em conhecimento o objetivo é explicitamente formulado, baseando em uma análise do objetivo geral. Planos diferentes são criados, e seus efeitos são testados mentalmente. Finalmente, um plano é escolhido. Sérias complicações que ocasionalmente ocorrem durante uma cirurgia 19

20 exigem o forte uso do comportamento baseado em conhecimento do cirurgião. Essa pessoa tem que analisar a complicação e o objetivo do procedimento cirúrgico com o objetivo de criar estratégias para contornar a complicação. Então, tem que ser selecionada a melhor estratégia e consequentemente executar as ações apropriadas (Mishra, 2006) Objetivo do treinamento, necessidades e modos O objetivo representa o nível de competência que é esperado do aprendiz depois que ele completou integralmente o treinamento. As necessidades do treinamento são a diferença entre o nível inicial de competência dos aprendizes e o nível necessário de competência depois de ter completado com sucesso o treinamento definido. Ultimamente, a demanda de eficácia e eficiência em uma mão e o estado de arte na tecnologia na outra mão, determinam as ferramentas e métodos para o treinamento, isto é, os modos de treinamento. O treinamento eficaz garante que todos os objetivos do treinamento sejam cumpridos. O treinamento eficiente garante que os modos de treinamento tenham um bom custo/benefício e que o tempo necessário para o treinamento seja minimizado (Mishra, 2006).. Desde que segurança e a recuperação do paciente são os critérios mais importantes na cirurgia, a eficiência do treinamento deve ser de importância primordial, por isso a complexidade do treinamento deve ser gradativamente aumentada no simulador, um outro modelo pode ser visto na Figura 2.2. Figura Um modelo de simulador que possui o recurso de aumento gradativo da dificuldade Adaptada de: A complexidade e os custos dos modos de treinamento são determinados conforme os objetivos do treino são definidos. Cumprir todas as necessidades do treinamento dos 20

21 residentes de videolaparoscopia com apenas um método de treinamento irá exigir um professor com conhecimento avançado em todos os três níveis de comportamento, isso provavelmente acarreta no alto preço de contrato desse profissional (Mishra, 2006). A complexidade e o custo dos modos de treinamento é relativamente baixo se os objetivos dos treinos são direcionados somente ao comportamento baseado em habilidade, já que este pode ser treinado com simples modelos pélvicos, similar ao da Figura 2.3. Evidentemente, o custo e a complexidade do modo de treinamento aumentam conforme os objetivos passam do comportamento baseado em habilidade para o treinamento baseado em conhecimento. Felizmente, a efetividade geral do treinamento aumenta conforme os níveis de comportamento mais avançados, como o comportamento baseado em conhecimento, são adicionados nos objetivos dos treinos (Mishra, 2006). Figura Protótipo de realidade virtual de um modelo pélvico. Adaptada de: Treinamento atual em laparoscopia Ao contrário do treinamento com simuladores de cirurgia, as exigências dos simuladores de vôo foram definidas por autoridades regulamentadores como a Administração Federal de Aviação dos Estados Unidos (FAA) e os modos de treinamento são certificados de acordo com a mesma. Os objetivos, necessidades e modos do treinamento de pilotos têm sido analisados a fundo e os modelos comportamentais de treinamento de pilotos têm sido desenvolvidos como uma ferramenta para projetar, avaliar e aperfeiçoar esses métodos. Meio século de extensiva pesquisa resultou em diversas ferramentas de treinamento, desde a prática de exercícios em dispositivos de simulação de vôo até o completo simulador de vôo de alta tecnologia (FFS - Full Flight Simulator). Devem ser definidos os objetivos, necessidades e modos do treinamento de laparoscopia, com o objetivo de um treino adequado para a segurança dos pacientes. De acordo com essa diretriz, os simuladores de realidade virtual devem ser desenvolvidos, 21

22 a Figura 2.4 representa um ambiente de treinamento que foi desenvolvido de acordo com essa diretriz. Uma formulação explícita dos objetivos do treinamento facilita o desenvolvimento e certificação de um simulador já que determina o que o simulador deveria ser capaz de desempenhar. Por exemplo, pilotos passam diversas horas treinando em simuladores de baixo custo. Figura Treinamento em realidade virtual com circuitos programáveis e software de controle. Adaptada de: Os simuladores de videolaparoscopia que tem sido desenvolvido durante a década passada podem todos ser considerados como dispositivos de treinamento de videolaparoscopia. A maioria desses simuladores especificamente tem como objetivo o treinamento de comportamento baseado em habilidade, tais como manipulação endoscópica e navegação de câmera endoscópica. Contudo, desempenhar uma cirurgia de videolaparoscopia exige um nível avançado de conhecimento baseado em regra e conhecimento do cirurgião. Idealmente, esses devem também ser treinados fora do teatro de operação. Atualmente, o treinamento de comportamento baseado em regras e conhecimento fora do teatro de operação é somente possível em modelos de animais vivos. Contudo, inovações tecnológicas como o aumento do poder computacional, modelos anatômicos detalhados, modelagem de tecido mole e force feedback, proporcionam a integração de todos os níveis de comportamento em um treinamento com simulador de realidade virtual de videolaparoscopia. No futuro, isso pode resultar 22

23 em um completo simulador de laparoscopia (FLS - full-scale laparoscopy simulator), comparado ao FFS no treinamento de pilotos. Uma das mais óbvias necessidades dos residentes de videolaparoscopia é o treinamento de habilidades manuais. As habilidades manuais exigidas durante a videolaparoscopia são diferentes das exigidas em cirurgias convencionais. Treinamento de comportamento baseado em habilidade é viável com simuladores básicos como um modelo pélvico. Os simuladores de habilidades básicas em realidade virtual que estão disponíveis, geralmente são compostos por um abdômen genérico, instrumentos endoscópicos e um monitor. Ações básicas, tais como pegar e soltar são implementadas para treinar a manipulação endoscópica. O treinamento de comportamento baseado em habilidades não exige um ambiente anatômico muito realístico, por exemplo, os órgãos não precisam ser simulados realisticamente. Diversos estudos comprovaram que o treinamento com realidade virtual facilitou o aprendizado de conhecimento baseado em habilidade (Mishra, 2006). 2.2 USB (Universal Serial Bus) Usando como base o documento da especificação da USB 2.0 pode-se afirmar que esse tipo de comunicação tem como principais objetivos: Facilidade da expansão de periféricos de PC Soluções de baixo custo com uma velocidade de até 480 Mb/s Suporte completo de dados de voz, áudio e vídeo em tempo real Flexibilidade do protocolo para transferência de dados isócronos e mensagens assíncronas Compreensão de várias configurações e fabricantes de PC Fornecimento de uma interface padrão capaz de difusão rápida em produtos proporcionando novas classes de dispositivos que ampliam a capacidade de um PC Compatibilidade total com dispositivos USB 2.0 implementados em versões anteriores da especificação Interface Física Elétrica A USB transfere os dados e a tensão em um cabo de quatro fios, como mostra a Figura 2.5. A transferência de dados ocorre em dois fios em cada segmento ponto a ponto. Existem três taxas de dados: A USB high-speed tem a taxa de 480 Mb/s. A USB full-speed tem a taxa de 12 Mb/s. E uma taxa low-speed é definida em 1.5 Mb/s. Os controladores e hubs da USB 2.0 fornecem recursos para que dados em lowspeed e full-speed possam ser transmitidos na taxa do modo high-speed entre o controlador do host e o hub, mas também permite que possa ser transmitido entre o hub 23

24 e o dispositivo nas taxas low-speed e full-speed. Esse recurso minimiza o impacto que os dispositivos que usam low-speed e full-speed têm sobre a largura de banda encontrada nos dispositivos com taxas high-speed. Figura 2.5 Cabo USB Adaptada de: UBS 2.0 Specification O cabo contém fios VBus e GND em cada seguimento para prover alimentação aos dispositivos. VBus é nominalmente +5V na origem Interface Física Mecânica Todos os dispositivos têm uma conexão upstream. Conectores A (upstream) e B (downstream) não são permutáveis, assim são eliminadas as conexões recursivas em hubs. O cabo tem quatro condutores, um par trançado para o fluxo de dados e um par responsável pela alimentação. O conector tem quatro posições, com encapsulamento isolador, robustez e características para fácil conexão e desconexão Dispositivos USB Os dispositivos USB são divididos em classes tais como hubs, interface humana, impressoras, imagem e dispositivos de armazenamento. É exigido que os dispositivos USB tenham informações de auto-identificação e configurações genéricas Host USB No projeto aqui sendo descrito foi feito o projeto de um dispositivo USB, esse é ligado a um computador com o software de VR para que seja feita a interação do mundo real com a realidade virtual, o computador o qual esse dispositivo USB estiver conectado estará fazendo o papel de Host. O host USB interage com o dispositivo USB através do Host Controller. O host é responsável por: Detectar a ligação e remoção de um dispositivo USB Gerenciar o controle de fluxo entre o host e o dispositivo USB Gerenciar o fluxo de dados entre o host e o dispositivo USB Coletar o status e estatísticas das atividades Prover alimentação aos dispositivos USB conectados Existem cinco áreas de interações entre o USB System Software e o software do dispositivo: Enumeração e configuração do dispositivo 24

25 Transferência de dados isócrona Transferência de dados assíncrona Gerência de alimentação Informação da gerência de barramento e do dispositivo 2.3 HID (Human Interface Device) O protocolo HID foi utilizado no projeto para a comunicação do joystick com o sistema operacional. É este protocolo que permite a conexão automática do joystick com o computador, sem a necessidade de instalação de softwares adicionais História As motivações primárias para o HID eram as de proporcionar a inovação aos dispositivos de entrada de um computador simplificando o processo de instalação desses dispositivos. A prioridade do HID é fazer com que o protocolo de comunicação dos dispositivos (como mouse, teclados e controladores de jogos) fique muito bem definido. O protocolo de comunicação padrão do mouse suporta dados dos eixos relativos X e Y e entradas binárias de até dois botões. Qualquer inovação que seja feita em um hardware que irá sobrecarregar o número de dados do protocolo padrão requer que seja criado um novo protocolo. Um simples driver HID transfere o dado e permite a associação dinâmica de dados de I/O com alta funcionalidade. Isso permite a rápida inovação e proliferação de novos dispositivos de interface humana (HID, 2001). A maioria dos sistemas operacionais reconhecerá dispositivos HID USB padrões, tais como teclados e mouses sem a necessidade de um driver especial. Quando instalado, a mensagem informando Novo dispositivo de interface humana foi detectado, geralmente aparece no monitor. Em comparação, essa mensagem usualmente não aparece para dispositivos conectados por conectores DIN PS/2 de 6- pinos o qual é o predecessor da USB. O PS/2 não tem suporte a plug-and-play, o que significa que ao conectar um mouse ou teclado PS/2 com o computador ligado nem sempre irá funcionar. Além disso, o PS/2 não suporta o protocolo HID. Um HID USB é descrito pela classe de dispositivos de interface humana USB (HID, 2001) Componentes do protocolo HID No protocolo HID, existem duas entidades o host e o device. A entidade device é a entidade que interage diretamente com o usuário, tal como mouse e teclado. O host comunica com o dispositivo (device) e recebe os dados de entrada do dispositivo conforme as ações são feitas pelo usuário. Os dados de saída vão do host para o dispositivo e então para o usuário. O exemplo mais comum de um host é um computador, mas alguns celulares e PDAs também podem ser hosts (HID, 2001) O protocolo HID faz com que a implementação de dispositivos se torne muito simples. Dispositivos definem seus pacotes de dados e então apresentam um HID descriptor ao host. O HID descriptor são códigos de array de bytes que descrevem os pacotes de dados do dispositivo. Isso inclui: quantos pacotes o dispositivo suporta, quão grande são esses pacotes e a função de cada byte e bit contido no pacote. Por exemplo, um teclado com um botão de programa de calculadora pode comunicar ao host que o estado dos botões pressionados/soltos é armazenado no segundo bit no sexto byte no 25

26 pacote de dado número 4. O dispositivo normalmente armazena o HID descriptor na ROM a qual não necessita entender intrinsecamente ou analisar o HID descriptor. Alguns mouses e teclados hoje vendidos são implementados usando uma CPU de somente 8 bits (HID, 2001) HID Descriptor A classe HID consiste primeiramente em dispositivos que as pessoas usam para controlar certas operações no sistema dos computadores. Por exemplo: Teclados e dispositivos de posição: mouse, trackballs e controladores de jogos. Painel de controle frontal: chaves, botões e reguladores. Controles que podem ser encontrados em dispositivos tais como telefones, controles remotos, jogos ou dispositivos de simulação: luvas de realidade virtual, aceleradores, volantes e pedais. Dispositivos que podem não necessitar de interação com o usuário, mas fornecem dados de maneira similar dos dispositivos de classe HID: leitores de código de barras, termômetros e voltímetros. Muitos dispositivos de classe HID incluem indicadores, displays especializados, resposta de áudio, resposta à força e a toque. Portanto, a definição da classe HID inclui suporte a vários tipos de dispositivos de entrada e saída voltadas para o usuário (Hyde, 1999). As quatro primeiras entradas de um HID descriptor têm valores padrões: 9, 21h, 100h e 0. Se o dispositivo HID opera somente em um país, então o CountryCode deve ser definido de acordo. Um teclado pode ser um bom exemplo de um dispositivo de E/S específico de um país. A quinta entrada, HIDDescriptors, contém a contagem do numero de classes HID que o dispositivo contém. Um único dispositivo de E/S pode ter diversas interfaces HID. A sexta entrada é fixada em x22h indicando que essa interface contém um Report Descriptor, e a sétima entrada contém o TotalLengh (tamanho total) desse report descriptor (Hyde, 1999) Report Descriptor Os objetivos primários e fundamentais do Report Descriptor são: Ser o mais compacto possível para economizar o espaço de dados do dispositivo. Permitir que a aplicação de software ignore informações desconhecidas. Seja atualizável e robusto. Seja auto-descritiva a ponto de permitir aplicações genéricas de softwares. Um tipo de pseudocódigo que tem sido gerado é capaz de descrever genericamente qualquer estilo e quantidade de dados. O código foi escolhido por ser muito compacto e fazer com que seja fácil para o host PC analisar e o gerar. Como resultado, é um pouco difícil a leitura, como mostra a Figura 2.6 do descriptor de um teclado. Esse report gera um buffer de 3 bytes que é enviado para o teclado para iluminar os LEDs de estado do teclado, o report recebe um buffer de 6 bytes que pode conter até seis estados de teclas pressionadas (Hyde, 1999). 26

27 Figura Exemplo de um descriptor de HID para comunicação de um teclado Adaptado de Hyde 27

28 2.4 Microcontroladores No projeto um microcontrolador PIC é utilizado para traduzir os movimentos dos potenciômetros, gerenciar a conexão USB e então enviar os dados para o computador e ao sistema operacional. Criado em 1971, quando a Intel lançou no mercado o microprocessador 4004, que era conhecido como a calculadora em um único chip, sendo o primeiro processador de uso geral. Possuía em torno de transistores e a partir dele surgiram modelos mais modernos até chegar aos computadores pessoais e supercomputadores (USP, 2008). Um microprocessador é um circuito integrado capaz de executar instruções pela Unidade Central de Processamento que é a sua parte mais importante. Com tecnologias na área da microeletrônica várias outras características vêm sendo incorporadas como unidades de gerenciamento de memória, memória cachê, co-processador numérico, etc., tornando-os cada vez mais complexos (USP, 2008). Um microcontrolador é um microprocessador que enfatiza a alta integração, ou seja, eles são utilizados em dispositivos para controlar as funções ou ações do produto. Dentro do universo dos microcontroladores existe a série 8-bit PIC da Microchip o qual possui uma arquitetura poderosa, uma tecnologia flexível de memórias, ferramentas de fácil compreensão e uso, e um ambiente unificado de desenvolvimento para toda a sua linha de produtos (USP, 2008). A maioria dos microcontroladores PIC são de baixo consumo e possuem vários recursos como portas I/O, entradas analógicas e interfaces de comunicação como a USB. Possuem memória de programação tipo Flash podendo ter sua programação modificada sempre que necessária (USP, 2008). Para gravação da memória é necessário um gravador de PIC como o Labtools ICD2, e programas de desenvolvimento e gravação cedidos pela Microchip como o Mplab. O tempo de gravação é relativamente rápido e nos PICs que usam memória flash podem ser facilmente apagados e regravados proporcionando ao programador a opção de fazer inúmeros testes. 2.5 Potenciômetro No projeto potenciômetros são utilizados como transdutores para captar os movimentos dos cinco eixos do joystick. Alguns materiais oferecem resistência à passagem de corrente elétrica, isto depende da natureza, das dimensões de da temperatura do material. Essa resistência é a oposição que os átomos do material oferecem á passagem da corrente elétrica (Lourenço et al, 2001). A partir de diversas experiências o cientista George Ohm conseguiu relacionar as seguintes grandezas: Tensão, corrente, resistência e dimensões. Desta forma ele chegou as suas duas leis de Ohms, para o entendimento apenas a primeira é necessária. A primeira lei mostra que a corrente e a resistência são diretamente proporcionais a tensão, ou seja: 28

29 Onde: V = Tensão sobre dois pontos do material R = Resistência sobre o material I = Corrente sobre o material Portanto se uma dessas grandezas for alterada, as outras deverão compensar a diferença. O potenciômetro utiliza a lei de ohm para o seu funcionamento. Com um cursor móvel sobre um material resistivo, a resistência entre dois pontos é alterada, porém um potenciômetro normalmente possui três pontos gerando duas partes inversamente proporcionais de resistência. Na Figura 2.7 pode ser visualizada a imagem de um esquemático da parte interna de um potenciômetro. Quando se alimenta um potenciômetro com uma tensão de corrente contínua como mostrado no esquemático da Figura 5.4 tem-se uma saída de tensão variável de acordo com o movimento do potenciômetro. Figura 2.7 Aspectos e símbolos de um potenciômetro. Adaptado de Lourenço Existem potenciômetros de vários modelos e formas. No projeto foram utilizados modelos de haste giratória que são os mais comuns e de fácil acesso, porém não muito precisos em relação a potenciômetros de precisão, mais caros e de difícil acesso. 2.6 Realidade virtual Realidade virtual pode ser confundida com jogos virtuais, porém ela está muito além disso já que realidade virtual é o uso de computadores e outros hardwares e softwares especiais para gerar uma simulação em um mundo alternativo (Eddings 1994). A realidade virtual já é largamente utilizada em simulações para aprendizado, como simuladores para pilotagem de aviões, carros, e até zonas de guerras, como mostrado na Figura 2.8. É uma forma de colocar o ser humano em situações que o ajudarão a aprender e lidar com fatos reais, mas de forma segura e economicamente viável. 29

30 Existem inúmeras outras aplicações para a realidade virtual, mas essa citada acima é necessária para o entendimento do projeto. Figura 2.8 Foto de um simulador de vôo. Adaptada de: Como visto anteriormente, a idéia de realidade virtual esta relacionada tanto na parte de hardware como na parte de software. Existem inúmeros tipos de hardware que podem ser criados para utilizar em sistemas de VR, porém todos devem utilizar ao menos um dos cinco sentidos humanos (tato, olfato, paladar, visão e audição). A maioria dos hardwares utiliza o tato, a visão e a audição que são representados por joysticks, monitores e alto-falantes respectivamente. Os joysticks devem ser confeccionados de forma a trazer a realidade a usuário, ou seja, ele deve ser o mais fiel possível ao usuário, para que quando ele se encontre em uma situação real ele possa estar familiarizado. Por isso o joystick necessita ter formatos e movimentação iguais ao real como um manche de avião o qual é replicado nos simuladores. A imagem gerada também deve ser construída de forma real ou gerar situações que sejam propensas ao treinamento, ou seja, que desafiem o usuário de forma a treinar a sua habilidade motora para que então possa avançar em níveis para a realidade. Um dos grandes problemas da realidade virtual é na área de calibração e validação uma vez que a parte virtual nem sempre é mensurável ou possui mecanismos de comparação para que seja feito uma aproximação. Para isso devem ser feitos, dentro do possível, experimentos comparativos do real com o virtual de forma a melhorar o realismo. 2.7 Linguagem C Criada em 1972 por Dennis Ritchie no AT&T Bell Labs para desenvolvimento do sistema operacional Unix (originalmente escrito em assembly). A linguagem C se tornou muito popular devido a sua versatilidade e poder. Sendo uma das grandes vantagens a sua característica de alto nível e baixo nível ao mesmo tempo 30

31 permitindo um controle total da máquina, ao programador, tanto em hardware como de software (Cocian, 2004). As linguagens de alto nível possuem a versatilidade de terem varias instruções próprias, porém com uma menor otimização do hardware, já as de baixo nível, como assembly, possuem um acesso a instruções diretamente no hardware, tendo uma otimização no processo, porém há uma perda quanto à questão de compatibilidade uma vez que os programas são específicos ao tipo de hardware. A versatilidade da linguagem C pode ser vista na sua utilização tanto na parte de hardware como no software. O hardware utiliza a linguagem C na programação do microcontrolador PIC que possui todas as rotinas programadas em C, facilitando bastante esse processo. Na parte de software a linguagem C é utilizada na construção do software 3D que também é todo projetado usando essa linguagem. 31

32 CAPÍTULO 3 TRABALHOS RELACIONADOS Esse capítulo tem como objetivo relatar e exemplificar os trabalhos relacionados que foram usados como base para a execução do projeto desenvolvido. A similaridade que pode ser encontrada nesses trabalhos é a de usar softwares para introduzir a realidade virtual para simulações de situações reais, assim como dispositivos (hardwares) usados para interpretar a interação do usuário com o ambiente de simulação. O projeto Phantom Desktop Haptic Device (Phantom Desktop, 2009), é basicamente um joystick capaz de fazer a aquisição de seis movimentos distintos feitos pelo usuário, é bastante usado como dispositivo de treinamento de realidade virtual na área médica, odontológica e também para modelagem 3D. Esse projeto usa encoders para fazer a aquisição dos eixos X, Y e Z e potenciômetros para a aquisição dos ângulos empinamento, cabeceio e balanceio (Pitch, Yaw e Roll da relação de ângulos de Tait- Bryan), além disso, tem a função de force feedback nos eixos X, Y e Z. O projeto SPRING (SPRING, 2009), é uma plataforma de simulação de tecido mole em tempo real mantida pela Universidade de Stanford. É basicamente um framework, projetado para ser usada com Haptic Devices, como o já citado Phanton Desktop, o qual é usado para a implementação de aplicações 3D. Esse projeto tem como principal objetivo passar ao estudante uma noção de perspectiva, entre outros desafios para determinado tipo de treinamento de cirurgias. Um simulador em particular que usa SPRING é chamado de VRMSS (simulador de habilidades motoras usando realidade virtual), especificamente projetado para ensinar básicas habilidades motoras usadas em cirurgias em um ambiente abstrato. Ele atribui uma pontuação ao usuário baseada no desempenho, habilidades motoras (velocidade, precisão e eficiência do movimento) e habilidades cognitivas. O projeto VPAT (Framework para Construção de Pacientes Virtuais, 2009), é um framework de aplicações de realidade virtual e computação gráfica na área de medicina. Existe uma pesquisa na área de videolaparoscopia usando este framework. Mesmo o projeto sendo baseado somente na parte de software, ele faz o uso de um modelo de joystick com pinças similares às desenvolvidas no projeto desta monografia, no qual boa parte da mecânica foi baseada no modelo mostrado nesse projeto VPAT. O projeto LapVR Surgical Simulator da empresa Immersion (Surgical Simulator, 2009), é um sistema muito complexo que recria um cenário completo de cirurgia laparoscópica em um sistema virtual. O sistema inteiro é feito em cima de um hardware que integra completamente todas as partes necessárias pra o treinamento, incluindo as pinças, a região pélvica e a tela, com tudo isso ele se torna pesado e grande, mas 32

33 proporciona uma posição correta para o uso das pinças e a posição usualmente usada para a localização da tela, proporcionando ao usuário um sentido muito próximo do ambiente cirúrgico. O projeto i-sim da empresa isurgicals (Laparoscopy Training Solutions, 2009), é um simulador físico muito avançado pois sua mecânica é muito realista, nele existem duas pinças exatamente iguais às usadas em uma cirurgia de videolaparoscopia, uma câmera, uma tela e por último um compartimento o qual pode ser colocado diversos modelos para treinamento de diferentes habilidades. Modelos que podem ser para treinamento de cortes, execução de nós, treinamento de coordenação mão-olho, sutura, entre outros. O projeto LapSim da empresa SurgicalScience (LapSim, 2009), é composto de dois softwares principais o LapSim Basic Skills que tem como objetivo treinar as habilidades básicas de um cirurgião de videolaparoscopia, tais como profundidade e força a ser aplicada em determinada situação e o LapSim Dissection que é um software mais completo com a integração de várias ferramentas para o treinamento de cortes, cauterizações entre outras ações que podem ser executadas em uma cirurgia laparoscópica. O projeto de um Joystick Arcade desenvolvido por um projetista formado em engenharia mecatrônica, (Bardelli, 2007) tem como unidade de processamento um microcontrolador da família PIC18F e usa conexão USB com o computador. Este foi de fundamental importância para projetar o hardware descrito nessa monografia, a grande diferença é que em seu projeto são usados apenas dois eixos (X e Y) e eles são absolutos (0 e 1), mas mesmo assim proporcionou uma boa base para que fosse possível trabalhar com um protocolo de comunicação ainda não conhecido pela equipe. 33

34 CAPÍTULO 4 ESPECIFICAÇÃO DO PROJETO O projeto tem por objetivo o desenvolvimento de um cenário de simulação de videolaparoscopia inicial para treinamento de habilidades mão-olho e noção de profundidade. O protótipo consiste em um joystick em forma de pinça cirúrgica que através de um microcontrolador é ligado a um computador utilizando a porta USB. No computador, o joystick deve ser reconhecido como um joystick padrão, então o software com gráficos em 3D deve mostrar as pinças virtuais e os cenários que o usuário pode interagir. A Figura 4.1 mostra a comunicação entre o joystick e o microcomputador que é através da porta USB utilizando o microcontrolador para processar os dados e tratar da comunicação. No computador é desenvolvida a parte gráfica em 3D contendo os objetos de interação e os dados de movimentação captados pelo joystick. Figura 4.1 Visão geral do projeto. 4.1 Descritivo do Hardware Como pode ser visto na Figura 4.1, o hardware do projeto pode ser dividido em duas partes, a primeira é a parte mecânica da pinça e a segunda é a de circuito de interface com o computador. 34

35 A unidade de processamento do joystick é o PIC18F4550 (Microchip PIC18F4550, 2004) da Microchip por ser um microcontrolador com entradas com conversores analógicos/digitais já implementados além de possuir uma interface USB pronta. Para capturar os movimentos são necessários potenciômetros que atuam como transdutores captando os movimentos mecânicos da pinça e transformando-os em sinais para o microcontrolador. A Figura 4.2 mostra as conexões dos componentes que constituem a parte de hardware do projeto, desde a parte mecânica até o computador. Figura 4.2 Representação em blocos da parte de hardware do projeto. Partindo da Figura 4.2, a mecânica envolvida no projeto foi desenvolvida de maneira que o usuário sinta-se o mais próximo da realidade ao usar o dispositivo, todo movimento possível da pinça mecânica é obtido através de um potenciômetro de precisão que é conectado nas portas com conversor A/D (Analógico para Digital) existentes no microcontrolador, as portas estão ilustradas na Figura 4.3, essa é dividida em três blocos principais, sendo o primeiro o conversor A/D de 10 bits, o segundo é onde são definidas as tensões de referência tanto positiva quanto negativa, e por último o multiplexador que, quando manipulado através do firmware, é responsável por selecionar um dos treze canais disponíveis. 35

36 Figura 4.3 Portas com conversores A/D do microcontrolador. Adaptado de Microchip. Existe apenas um conversor A/D de 10-bits no microcontrolador, porém são usadas cinco entradas analógicas no projeto para que todos os movimentos realizados na pinça sejam reproduzidos com eficiência no Simulador de Realidade Virtual em 3D. Segundo o datasheet do componente essas entradas são ligadas ao conversor A/D através de um multiplexador, assim possibilitando o uso de até treze entradas analógicas ao microcontrolador. O circuito é alimentado com a tensão disponibilizada pela porta USB do computador que é de 5V, que também é a tensão de referência positiva no uso do conversor A/D no qual está ligado o potenciômetro de precisão. A tensão nele varia de 0V a 5V e o conversor A/D varia o vetor de bits de cada entrada de 0 a 256 em binário assim usando 8-bits dos 10 disponíveis no conversor. O circuito final pode ser visualizado na Figura 4.4, que mostra as conexões de todos os componentes que são usados no projeto, os principais componentes são os potenciômetros de precisão (representado na Figura 4.4 por blocos de três pinos), o microcontrolador e a porta USB, que é responsável tanto pela alimentação do circuito quanto pelo envio de dados para o microcomputador.

37 Figura 4.4 Circuito do projeto. Para uma melhor compreensão do funcionamento do firmware desenvolvido no projeto e gravado no microcontrolador a Figura 4.5 mostra um fluxograma, nele é possível visualizar a estrutura de repetição para verificar se o dispositivo está conectado, fazer a leitura da porta A (que varia de 0 a 4) cinco vezes, o envio do vetor de cinco posições através da USB e por último a verificação do estado da rotina USB. Figura 4.5 Fluxograma do firmware. 37

38 4.2 Descritivo do Software Para a programação em 3D foi utilizada a IDE Lite-C (Lite-C, 2009) que é uma versão freeware do programa 3D GameStudio, apresentado no site do fabricante. Com este programa foi desenvolvido toda a parte de modelagem dos gráficos 3D além da conexão com o joystick. O Lite-C é dividido em dois programas básicos o Lite-C MED que faz a modelagem 3D, muito similar ao Autodesk 3D Studio Max, e o Lite-C SED que faz a programação em linguagem C. O Lite-C já possui várias bibliotecas específicas para jogos 3D incluindo a parte de física dos objetos e a parte de comunicação com dispositivos periféricos como um joystick. A parte de modelagem possui os seguintes objetos: um cenário, duas pinças, e um objeto de interação, este último que pode variar entre esferas, cubos, entre outros, de acordo com a necessidade do desafio. No fluxograma, da Figura 4.6, é possível ver os passos do programa e ter uma idéia do seu funcionamento. A IDE Lite-C possui um tutorial online que foi de grande ajuda no desenvolvimento (Lite-C, 2009). Figura 4.6 Fluxograma do software de gráfico 3D

39 O software pode ser dividido em vários módulos como mostra a Figura 4.7. A parte gráfica como foi descrito acima foi desenvolvido usando a IDE Lite-C que pode fazer toda a parte de movimentação dos objetos e sua parte física. A comunicação USB foi feita utilizando-se o protocolo HID que possui uma conectividade direta com o sistema operacional Microsoft Windows, portanto não há a necessidade de programas adicionais para fazer esta conexão. Com isso o programa pode obter os dados do joystick através do próprio sistema operacional, utilizando as bibliotecas inclusas na IDE. Software Parte Gráfica 3D Comunicação com USB Firmware do Microcontrolador Conexão com a USB Processamento dos dados para transmissão Aquisição de dados Figura 4.7 Diagrama da parte de software. A parte gráfica ainda deve conter desafios para interagir com o usuário. A idéia é criar objetos, bolas ou cubos, a serem manuseados utilizando-se as pinças, com objetivos definidos como colocar os objetos em determinados locais. No futuro pode-se criar mais desafios, inclusive cenários cirúrgicos, de acordo com a necessidade e possibilidade já que não é uma parte complexa, mas que demanda certo tempo na parte de modelagem dos objetos e cenários em 3D. A IDE Lite-C SED (Script Editor) possui um sistema para gerenciar objetos 3D, utilizando-se a extensão de arquivo gráfica.mdl, que é gerada pelo programa Lite-C MED (Model Editor). Este tem uma fácil utilização apenas necessita-se definir certos 39

40 parâmetros como massa, gravidade, elasticidade entre outros parâmetros e a posição que pode ser variada de acordo com o joystick ou pode ser controlada pela gravidade, no caso de um objeto solto no cenário. No programa Lite-C MED também é possível criar os cenários, que são de grande importância e são exportados à IDE da mesma forma que os outros objetos. 4.3 Integração dos Sistemas O protocolo de comunicação que o dispositivo usa é o HID da porta USB. Nele são definidos quais os tipos de entradas o hardware tem, quais suas variações, tamanhos além do vetor de saída, que é estabelecido por valores inteiros que variam de -127 a Esses valores inteiros são tratados no firmware, pois originalmente são obtidos pela entrada A/D do microcontrolador e é dado no intervalo de 0 a 256. No final para que o vetor de saída seja composto de maneira eficiente além da conversão, é necessário colocar os valores das cinco entradas no vetor de saída. Como citado anteriormente a IDE Lite-C possui bibliotecas para conexão com a interface de joystick, utilizando o protocolo HID do sistema operacional Windows. Para obter os dados do joystick, basta usar os comandos joy_raw e joy_rot cada um com seus três eixos que são x, y e z, totalizando seis eixos possíveis. Esses comandos são considerados pela IDE como números inteiros variando de -255 a +255, portanto ideal ao projeto. Para movimentação do gráfico, basta atribuir esses valores ao valor das coordenadas dos objetos, claro que haverá a necessidade de um loop para verificar os movimentos num tempo determinado. 4.4 Estudo de Viabilidade Técnico-Econômica A Tabela 4.1 apresenta o estudo de viabilidade técnico-econômica, que mostra um estudo descrevendo os custos de desenvolvimento do projeto. Esses custos são divididos em quatro principais categorias que são: mão de obra, equipamentos e insumos, documentação e softwares. A quantidade de cada custo foi especificada dependendo do tipo do insumo em questão, podendo ser mensurada em horas, meses, páginas e unidade. 40

41 Tabela 4.1: Estimativa de custos Planilha de Custos Descritivo Quant. $ Un. $ Total Mão de Obra CEO (coordenador) 80(horas) R$ 109,00 R$ 8.720,00 Gerente de Projeto (orientador) 160(horas) R$ 63,50 R$ ,00 Engenheiro 1440(horas) R$ 30,00 R$ ,00 Sub Total R$ ,00 Equipamentos e Insumos Laboratório 9 (meses) R$ 280,00 R$ 2.520,00 Mobiliário 9 (meses) R$ 416,50 R$ 3.748,50 Computador 9 (meses) R$ 166,50 R$ 1.498,50 Notebook 9 (meses) R$ 291,50 R$ 2.623,50 Osciloscópio 9 (meses) R$ 410,00 R$ 3.690,00 Ferramentas 9 (meses) R$ 60,00 R$ 540,00 Multímetro 9 (meses) R$ 41,00 R$ 369,00 Gravador 9 (meses) R$ 58,00 R$ 522,00 Insumos aplicados 1(unidade) R$ 600,00 R$ 600,00 Frete compras 1(unidade) R$ 200,00 R$ 200,00 Água 9 (meses) R$ 50,00 R$ 450,00 Luz 9 (meses) R$ 100,00 R$ 900,00 Telefone + celular 9 (meses) R$ 100,00 R$ 900,00 Internet (banda larga) 9 (meses) R$ 60,00 R$ 540,00 Deslocamento x2 combustível 9 (meses) R$ 320,00 R$ 2.880,00 Prensa 5 (horas) R$ 0,12 R$ 0,60 Furadeira 5 (horas) R$ 0,45 R$ 2,25 Sub Total R$ ,35 Documentação Cópias 1500 (pags.) R$ 0,10 R$ 150,00 Encadernação 1(unidade) R$ 100,00 R$ 100,00 DVD 4(unidade) R$ 2,50 R$ 10,00 Sub Total R$ 260,00 Softwares Windows/Office x2 PCs 18 (meses) R$ 83,50 R$ 1.503,00 Project 9 (meses) R$ 83,50 R$ 751,50 Lite-C 9 (meses) R$ - R$ - Proteus 160 (horas) R$ 5,70 R$ 912,00 Pic C 80 (horas) R$ 0,52 R$ 41,60 Mplab C30 80 (horas) R$ 0,38 R$ 30,40 Sub Total R$ 3.238,50 SubTotal ,85 Impostos ,07 Total ,92 41

42 4.5 Planejamento do Desenvolvimento As figuras mostram o gráfico de Gantt do projeto e as etapas planejadas e executadas. Esse gráfico serve para ilustrar o avanço das diferentes etapas do projeto. Os intervalos de tempo representando o início e fim de cada fase aparecem como barras sobre o eixo horizontal do gráfico. A barra preta define a etapa total e barra azul define as sub etapas. A Figura 4.8 representa as etapas de especificação, tanto do hardware como do software assim como suas sub etapas. A direita da Figura 4.8 pode ser visualizada em dias a duração de cada etapa. Figura Gráfico de Gantt representando as etapas de especificação.

43 A Figura 4.9 representa como etapas: Pesquisa, Etapa de Projeto, Desenvolvimento do Software e Desenvolvimento de Hardware, assim como suas sub etapas. A direita da Figura 4.9 pode ser visualizada em dias a duração de cada etapa. Figura Gráfico de Gantt representando as etapas de pesquisa, projeto e desenvolvimento.

44 A Figura 4.10 representa como etapas: Testes e Documentação, assim como suas sub etapas. A direita da Figura 4.10 pode ser visualizada em dias a duração de cada etapa. Figura Gráfico de Gantt representando as etapas de testes e de documentação.

45 CAPÍTULO 5 DESENVOLVIMENTO E IMPLEMENTAÇÃO O projeto consiste de três partes: software, hardware e mecânica. Este capítulo mostra o desenvolvimento dessas três partes e a interação entre elas, além da implementação do projeto como um todo. 5.1 Projeto de Software Para o desenvolvimento do software foi usada a IDE Lite-C que é uma das mais simples ferramentas de desenvolvimento. Nesta IDE foi feita toda a programação da parte gráfica e a maioria da modelagem 3D. Esta IDE é dividida em três programas básicos o MED para criar objetos 3D, SED para programar e o WED para criar cenários. Além disso, foram criados diagramas que auxiliaram no desenvolvimento final do programa Diagrama de Sequência A Figura 5.1 mostra o diagrama de sequência do software que tem como objetivo facilitar o entendimento mostrando todos os passos do sistema, mostrando os passos as ser tomados pelo usuário e a iteração do sistema com a ação, mostrando todas as os movimentos tomados pelo sistema. Figura 5.1 Diagrama de sequência Modelagem 3D e Carregamento dos objetos 45

46 O gráfico foi modelado usando dois programas o MED Lite-C, programa da IDE de desenvolvimento Lite-C, e o 3D Studio Max. No primeiro foram feitos os objetos mais simples como a bola e a caixa, que devido à restrição do programa de produzir objetos mais detalhados impossibilitou a construção da pinça, essa que por sua vez foi feita no 3D Studio Max que possibilita uma melhor modelagem, ainda sem muitos detalhes devido à inexperiência com este tipo de desenvolvimento. Os objetos criados no MED já possuem uma extensão,.mdl, que pode ser lida pelo compilador gráfico SED Lite-C. É nesse compilador que todo o projeto é desenvolvido desde o carregamento gráfico aos movimentos dos objetos. Os arquivos com a extensão.mdl podem ser automaticamente carregados no programa usando a função ent_create que cria entidades, nome dado aos objetos carregados pelo programa. Cada entidade possui além do modelo do objeto, alguns parâmetros como massa, elasticidade, atrito entre outros. Esses parâmetros devem ser definidos em funções posteriores a criação da entidade como pode ser visto na Figura 5.2. Figura 5.2 Código para criação de entidade e definição dos parâmetros de física. Objetos criados utilizando o 3D Studio Max possuem a extensão.3ds a qual não pode ser carregada pelo compilador, porém o MED pode importar arquivos com este tipo de extensão e salvar na extensão correta, sem perdas quanto a qualidade do gráfico. Para criar o cenário foi usado o programa WED Lite-C que apresenta uma interface parecida com o MED, porém é exclusivo para criar cenários que são modelos 3D maiores que os objetos. Esses por sua vez possuem extensão.wmb que são automaticamente carregados no programa SED usando a função level_load. Como cenário do projeto foi criado apenas um plano com bordas para evitar que a bola saia do cenário e um espaço aberto onde a bola deverá ser depositada. Na Figura 5.3 pode ser visto o cenário e os objetos, facilmente distinguíveis, todos já carregados no programa SED e com suas físicas e movimentos funcionando. 46

47 Figura 5.3 Amostra dos objetos e cenário do Software 3D Movimentação e Física dos objetos Após o carregamento das entidades elas estarão automaticamente com a física ativada e utilizando a gravidade definida pela função phsetgravity e os parâmetros definidos durante a criação da entidade. A física consiste em todos os movimentos gerados pelo computador de forma a manter os objetos perto da realidade, quanto às colisões e quedas. As pinças devem ter um movimento independente da gravidade, apenas sendo controlada pelo joystick. Para a movimentação dos objetos o SED Lite-C tem funções extremamente simples para todos os eixos e tipos de movimentação. Estas funções permitem deslocamentos nos três eixos e movimentos de rotação, e inclinações. Os movimentos de inclinação da pinça nos dois eixos possíveis são feitos utilizando as funções.tilt e.pan usando a sintaxe pinca.tilt ou pinca.pan sendo a pinca o nome dado a entidade da pinça. Essa sintaxe ainda é usada nos outros movimentos apenas com a troca das funções como a função.roll que é usada na rotação da pinça. Outro movimento é o de profundidade que usa três funções.x,.y e.z. É necessário o uso dessas funções, pois o movimento de profundidade usa coordenadas polares. Entretanto, houve uma adaptação dessa fórmula, devido a problemas no compilador que arredondava os valores tornando o movimento irreal, essa nova fórmula foi ajustada de forma empírica, mudando os parâmetros no código do programa. O movimento de abertura e fechamento da pinça foi feito a partir da animação da pinça feita no 3D Studio Max e usando a função ent_animate. Com essa função é 47

48 possível ver a pinça abrir e fechar de forma correta. Essa última função trouxe um problema para pegar a bola já que a física não era aplicada a ela, portanto para pegar a bola foi necessário criar a física em código utilizando-se a idéia de aproximação, ou seja, quando a pinça estivesse perto o suficiente da bola e a pinça estivesse com o movimento de fechamento perto do nível do tamanho da bola então a bola seria pega Comunicação com Joystick O SED Lite-C possui uma conexão direta com o protocolo de joysticks do sistema operacional que traduz os eixos do joystick em variáveis que são usadas no código. Essas variáveis mostram fielmente a variação dos potenciômetros gerando valores de +255 a Essas variáveis são representadas pelas seguintes funções joy_raw e joy_rot que possuem três eixos cada, sendo elas x, y e z. A sintaxe do código, por exemplo, é joy_rot.x. Essa variação é usada para a movimentação da pinça e a abertura e fechamento da mesma, isso utilizando as funções anteriormente apresentadas. 5.2 Projeto de hardware A seguir será explicado como foi projetado o hardware, desde o primeiro passo que é a aquisição dos movimentos, passando pela unidade de processamento e por fim sendo transmitido ao computador utilizando o protocolo de comunicação Aquisição de movimentos A aquisição dos movimentos foi feita com potenciômetros, a partir de uma mecânica própria e adaptada para que os movimentos realizados pelo usuário fossem transmitidos ao potenciômetro, que por sua vez encontra-se alimentado por uma tensão fornecida pela porta USB do computador. Para que a tensão variasse no potenciômetro conforme os movimentos fossem realizados ele foi projetado em forma de um divisor de tensão (Lourenço et al, 2001) como mostra a Figura 5.4, uma extremidade do potenciômetro alimentada pela tensão positiva da porta USB (VCC), outra extremidade aterrada ao terra do circuito (GND) e na SAÍDA_0 é obtida a variação de tensão (de 0V a +5V) dependendo de quanto o potenciômetro varia, tanto no sentido horário, quanto no sentido anti-horário. 48

49 VCC RV1 SAÍDA_0 10k GND Figura 5.4 Divisor de tensão. Depois de obtida a variação de tensão no potenciômetro, a SAÍDA_0 é conectada em uma porta de entrada do microcontrolador. Essa porta, como já citado na especificação, contém um conversor A/D que conforme configurado no firmware pode ter uma resolução de até 10 bits. Foi escolhido trabalhar com uma resolução de 8 bits, a qual pode ser visualizada na Figura 5.5, por compatibilidade com a interface de comunicação com um joystick padrão já implementada no software e também pela facilidade de calibrar a resolução dos movimentos, tornando-os não extremamente sensíveis. #device adc = 8 Figura 5.5 Linha de código para definir como 8 bits a resolução do conversor A/D interno. Com o conversor A/D implementado e devidamente configurado, a obtenção do sinal de entrada foi feita com o código representado na Figura 5.6, o qual faz com que o valor (variando de -127 até 127) passe para uma variável do tipo inteira para posterior manipulação do dado (Pereira, 2003). set_adc_channel(canal); delay_us(50); out_data[0] = read_adc(); Figura 5.6 Código para obtenção do sinal de entrada convertido para base decimal.

50 5.2.2 Unidade de processamento A unidade de processamento teve como função a manipulação dos dados obtidos através da aquisição dos movimentos, a configuração da interface com a porta USB e por último a comunicação com o protocolo HID. A Figura 5.7 mostra a parte de obtenção, manipulação e montagem do vetor dos dados referentes aos cinco movimentos que o usuário pode realizar. set_adc_channel(0); delay_us(50); out_data[0] = read_adc(); out_data[0] = out_data[0] - 127; set_adc_channel(1); delay_us(50); out_data[1] = read_adc(); out_data[1] = out_data[1] - 127; set_adc_channel(2); delay_us(50); out_data[2] = read_adc(); out_data[2] = out_data[2] - 127; set_adc_channel(3); delay_us(50); out_data[3] = read_adc(); out_data[3] = out_data[3] - 127; set_adc_channel(4); delay_us(50); out_data[4] = read_adc(); out_data[4] = out_data[4] - 127; delay_us(50); Figura 5.7 Código do firmware para a montagem do vetor contendo os dados referentes aos movimentos realizados pelo usuário. Como pode ser visto na Figura 5.7 o comando set_adc_channel(canal), define o canal de entrada do microcontrolador à ser usado, esse canal varia de 0 a 4, no projeto aqui documentado, cada um referente a um dos cinco movimentos possíveis (X, Y, Z, rotação e movimentação da ponta da pinça). Foi definido um tempo de atraso de 50µs após definir qual canal iria ser lido, pois é suficiente para que seja feita a aquisição do valor em cada porta. Após as cinco leituras mais o tempo de atraso final foi totalizado 50

51 um tempo total de atraso de 300µs que ainda é muito pequeno e mesmo depois de passar pelo protocolo de comunicação se mostrou irrelevante considerando a fidelidade à realidade do projeto. Após a obtenção dos dados referentes aos movimentos, esses são colocados em um vetor de números inteiros (out_data), o qual é enviado para o protocolo de comunicação HID com o código que pode ser visualizado na Figura 5.8. usb_put_packet(1,out_data,5,usb_dts_toggle) Figura Código de envio do pacote contendo um vetor de números inteiros de cinco posições referentes aos movimentos Protocolo de comunicação O protocolo de comunicação HID foi projetado para que o sistema operacional detecte o dispositivo, quando conectado ao computador, instale e gerencie o joystick como um controlador de jogos padrão. A Figura 5.9 mostra o protocolo de comunicação HID projetado. USAGE_PAGE (Generic Desktop) LOGICAL_MINIMUM (0) USAGE (Joystick) COLLECTION (Application) USAGE_PAGE (Simulation Controls) USAGE (Throttle) LOGICAL_MINIMUM (-127) LOGICAL_MAXIMUM (127) REPORT_SIZE (8) REPORT_COUNT (1) INPUT (Data,Var,Abs) USAGE_PAGE (Generic Desktop) USAGE (Pointer) COLLECTION (Physical) USAGE (X) USAGE (Y) USAGE (Rx) USAGE (Ry) REPORT_COUNT (4) INPUT (Data,Var,Abs) END_COLLECTION END_COLLECTION Figura 5.9 Protocolo de comunicação USB. 51

52 Em sua configuração nota-se que o dispositivo em questão é um Joystick, o nível lógico máximo e mínimo varia de -127 a 127 e os eixos definidos são X, Y, Rx, Ry e Throttle. Como pode ser visualizado na Figura 6.1 o sistema operacional reconhece e instala o joystick como um controlador de jogos (Laparoscopy Joystick) e é possível calibrá-lo tanto pelo software de gerenciamento de controladores de jogos do sistema operacional, mostrado na Figura 6.2, quanto pelo software de realidade virtual 3D. 5.3 Projeto da Mecânica O projeto da mecânica consistiu no desenvolvimento de uma arquitetura para que a pinça fosse montada de uma maneira a otimizar a obtenção dos movimentos juntamente com a disposição e montagem dos componentes Desenvolvimento da Arquitetura Foram feitas pesquisas, consultando os trabalhos relacionados e várias idéias surgiram de como construir o sistema mecânico. Ele deveria ter uma representação dos movimentos reais e conseguir transmitir esses movimentos para os potenciômetros. Na tentativa de chegar nesse resultado foram criados dois protótipos. O primeiro protótipo utilizou peças retiradas de um gamepad de um vídeo game. Este gamepad possuía um arranjo de potenciômetros bem interessante, como pode ser visto na Figura 5.10, sendo ideal para aquisição dos movimentos de inclinação, citados no projeto de software, porém frágil em situações de maior esforço. Figura 5.10 Arranjo de dois potenciômetros. O segundo protótipo foi criado a partir do zero, utilizando madeira e hastes de metal. A parte de inclinação foi feita usando uma arquitetura diferente do primeiro projeto utilizando-se madeira e potenciômetros comuns, porém mantendo os movimentos, além de ser muito mais resistente que o primeiro. Para o do movimento de profundidade foi utilizado, em ambos, antenas de carro, que são hastes de metal que permitem esse tipo de movimento. Porém, para captar o sinal houve uma divergência entre os protótipos, sendo o primeiro usando o princípio de rolagem do potenciômetro e o segundo o princípio de dobradiça, ambas ilustradas na Figura

53 Figura 5.11 Mostra o princípio da dobradiça e o princípio de rolagem. O movimento de torção, ou rotação, da pinça foi feito diretamente com a conexão do potenciômetro na parte final da pinça, onde o usuário segura. Nesta última parte ainda é colocado o potenciômetro que capta o movimento de abrir e fechar da pinça, utilizandose uma peça real de videolaparoscopia. Essas duas montagens podem ser visualizadas na Figura Potenciômetros Figura 5.12 Montagem do movimento de rotação e abertura da pinça Montagem dos Componentes Todo o desenvolvimento das peças foi feito sem a utilização de colas ou materiais autocolantes, utilizando-se apenas encaixes e parafusos, para que em futuros problemas de quebras as peças possam ser facilmente substituídas. As partes desenvolvidas em madeira foram feitas utilizando-se serra tico-tico devido à necessidade de cortes curvos e precisos. A madeira utilizada é do tipo Pinus que se mostrou excelente para o uso, pois é resistente o suficiente e de fácil corte.

54 Não houveram grandes problemas durante a montagem uma vez que as peças simples foram feitas de forma a encaixar perfeitamente, além do pequeno número de peças ter facilitado o processo. A Figura 5.13 mostra a pinça desmontada mostrando todas as suas peças, sendo elas as hastes de metal, a placa de circuito impresso, um cabo da pinça, capacitores, conector USB, cristal, microcontrolador PIC, os potenciômetros e as pecas em madeira. Figura 5.13 Pinça desmontada com todas as suas peças. Durante o processo de montagem uma dificuldade foi a passagem dos fios, pela parte mecânica, da placa de circuito impresso até os potenciômetros, uma vez que cada um deles usava três fios. Era possível o uso de menos fios já que dois deles são comuns a todos, porém testes empíricos no inicio do projeto mostraram ruídos no sinal quando usado nesse modo econômico. Esses fios tiveram que ser escolhidos de forma meticulosa, pois deviam ser flexíveis o suficiente para aguentar e não atrapalhar os movimentos e transmitirem o sinal sem muita interferência. 54

55 CAPÍTULO 6 VALIDAÇÃO E RESULTADOS Os testes foram divididos em três partes: do software, do hardware e da parte mecânica. Os quais seguem explicados a seguir. 6.1 Teste de Software Com um joystick comercial foi testado o software mostrando a interação dos objetos do ambiente. Todos os movimentos foram testados e tiveram sucesso mesmo levando em conta os diversos problemas existentes durante a implementação. O sucesso é considerado quando os movimentos ficam próximo da imagem de uma videolaparoscopia real.. A segunda parte de testes é quanto à física dos objetos no cenário que não se mostrou ideal, devido a movimentos muitas vezes considerados irreais. Isto se deve a restrições das funções de física da IDE. Não pode ser considerado ideal, pois diverge da realidade encontrada na cirurgia que tem uma física extremamente complexa uma vez que os objetos estariam dentro do corpo humano onde há varias variáveis que alteram a percepção da física. Além dos testes de movimento e física foi feito um teste de desempenho, como pode ser visto na Tabela 4.1, que devido a engine gráfica utilizada se mostrou bem estável funcionando em computadores simples e mesmo em altas resoluções. O uso de memória em torno dos 36MB e o nível de processamento em torno dos 25% para modo tela cheia se mostrou ideal, sendo considerado um software leve. Em modo em janela o gasto de processamento foi maior o que é considerado normal uma vez que o processador não é utilizado exclusivamente para o software em questão, mas para todo o sistema operacional que ainda é visível nesse modo. Os testes foram realizados utilizando um computador com processador Atom 1.6GHz, 2GB de memória, uma placa de vídeo Intel 950gme com 256MB de memória e sistema operacional Windows 7 32bits. 55

56 Tabela 6.1 Teste de desempenho Modo de visualização Resolução Num de pinças Uso de memória cpu(%) fullscreen 1024x MB 25 fullscreen 1024x MB 30 windowed mode 1024x MB 49 windowed mode 1024x MB 50 fullscreen 640x MB 22 fullscreen 640x MB 25 windowed mode 640x MB 50 windowed mode 640x MB 50 fullscreen 1600x MB 25 fullscreen 1600x MB 25 windowed mode 1600x MB 50 windowed mode 1600x MB Teste de Hardware A parte de hardware que no caso é considerado a parte dos circuitos eletrônicos foi testada com uma montagem simples da placa completa e os potenciômetros. Primeiramente, ao conectar o dispositivo ao computador foi feito o teste de reconhecimento do dispositivo pelo sistema operacional como pode ser visto na Figura 6.1, com a utilização do programa de controladores de jogos do sistema operacional Windows. Neste programa podemos ver os movimentos dos eixos do joystick, como visto na Figura 6.2, e então é possível compará-los com a rotação do dos potenciômetros. Nesta comparação os movimentos foram perfeitos sendo impossível perceber alguma diferença entre o movimento do potenciômetro e o deslocamento gráfico no programa. Figura 6.1 Teste de reconhecimento do dispositivo pelo sistema operacional

57 Figura 6.2 Programa de reconhecimento de joysticks Ainda foi feito um teste de desempenho que revelou que o sistema é bem eficiente tendo apenas um atraso na aquisição e transmissão dos dados até o computador de 300µs dentro do processador considerando atrasos propositais para aquisição do sinal, somando o tempo da comunicação USB o atraso não deve chegar a 1ms, que é imperceptível para o ser humano. 6.3 Teste da Mecânica A parte mecânica foi testada inicialmente sem a eletrônica a fim de verificar se o movimento é condizente com o real, ou seja, comparando com os movimentos de uma cirurgia real. Os parâmetros foram analisados durante uma visita dos integrantes do projeto a uma cirurgia real concedida pelo orientador. Com a montagem da eletrônica foi feito um novo teste comparando os movimentos do joystick, parte física, com os movimentos do gráfico do software, parte virtual. Como foi dito anteriormente a parte mecânica foi dividida em dois protótipos que na parte inicial tiveram o mesmo resultado, mas diferentes na segunda parte com uma melhora quanto à precisão. O primeiro protótipo teve um erro angular de 10 na movimentação das pinças nos eixos de inclinação e um erro de 20 na movimentação rotacional da pinça. No movimento de profundidade houve um erro na média de 4 cm, mas devido a problemas na mecânica esse erro aumentou com o desgaste dos componentes. No segundo protótipo obteve-se erros menores em torno dos 5 para os movimentos angulares, eixos de inclinação e rotacionais e um erro em torno de 2 cm no movimento da profundidade. No movimento de abertura da pinça, que em ambos os protótipos é igual, não é possível fazer o teste uma vez que não há parâmetros de comparação, já que há vários modelos de pinças diferentes no mercado.

58 6.4 Resultados O resultado do projeto foi um ambiente de treinamento de videolaparoscopia que tem um funcionamento dentro do esperado, com os movimentos próximos do real, como visto nos testes, funcionamento estável e efetivo funcionamento na questão do treinamento do problema da profundidade. Como já foi citado anteriormente não há a intenção de recriar uma cirurgia, mas apenas treinar a noção de profundidade do aprendiz. Portanto o gráfico ficou simples, mas funcional mesmo com poucos objetos tais como as pinças, uma bola e uma caixa que podem ser facilmente alterados em futuras atualizações. A parte de hardware tem um funcionamento excelente, uma vez que a utilização do PIC 18F4550 se mostrou ideal já que os recursos satisfazem todas as necessidades, numa montagem simples com poucos componentes. Em contraste existe a parte mecânica que se mostrou instável quanto à resistência, que devia ser conciliado com os movimentos precisos e reais de uma pinça de videolaparoscopia, apresentando quebras em diversas partes e necessitando de grandes modificações no seu projeto. Os potenciômetros também se mostraram instáveis, pois modelos mais precisos têm seu corpo muito frágil e modelos mais reforçados tem sua precisão comprometida e flutuações. No entanto a influência dessa falta de precisão e flutuação foi considerada aceitável para o protótipo. Para um produto final podem ser usados outros tipos de potenciômetros como modelos de fio que são mais precisos e fortes, porém possuem um alto custo em relação aos utilizados no projeto, além da dificuldade de acesso ao componente que é vendido apenas em lojas especializadas. A parte gráfica se mostrou funcional para o projeto mesmo não possuindo uma engine poderosa e nem uma física consistente. Porém, considerando que a ferramenta de desenvolvimento utilizada era de licença gratuita e de programação relativamente simples, utilizando linguagem C, o resultado foi bom e dentro das expectativas. O desenvolvimento dos objetos 3D também teve um resultado esperado, uma vez que nenhum dos integrantes envolvidos no projeto tinha um conhecimento prévio sobre o assunto, ocasionando modelos extremamente simples, mas que cumpriam o seu papel. Durante o processo de desenvolvimento foram criados dois protótipos com arquiteturas mecânicas diferentes e utilizando potenciômetros diferentes. O primeiro modelo utilizava potenciômetros de precisão que foram removidos de um gamepad de vídeo-game, o qual mostrou ser eficiente quanto à precisão, porém frágil, causando quebras e necessidades de reparos constantes. O segundo modelo foi criado de forma mais reforçada a fim de resolver quebras causadas por uso, uma vez que os usuários tendem a exercer grandes forças sobre as pinças, além disso, foram utilizados potenciômetros comuns. Nos testes o segundo modelo se mostrou mais funcional mesmo com uma pequena flutuação no sinal dos potenciômetros, esperado nesse tipo de potenciômetro, sendo extremamente resistente em relação ao primeiro modelo e garantindo os mesmos movimentos fiéis a realidade. 58

59 CAPÍTULO 7 CONCLUSÃO O principal objetivo do projeto era criar uma solução, composto por hardware e software de maneira que o protótipo pudesse ser facilmente aprimorado, modificado e fazer com que a comunicação entre hardware e software fosse a mais genérica possível. O hardware mostrou-se extremamente genérico na sua conclusão, pois pode ser conectado em computadores com sistemas operacionais diferentes e mesmo assim o sistema operacional irá reconhecer e instalar os drivers automaticamente. O software também se mostrou extremamente genérico, pois se conectado um joystick USB qualquer a interação com o ambiente 3D será possível, já que o mesmo usa diretrizes de eixos padrões de joysticks gerenciadas pelo sistema operacional. O projeto se mostrou muito funcional na tentativa de resolver um problema importante no aprendizado da cirurgia de videolaparoscopia, que é a falta de noção de profundidade na visualização da imagem mostrada no monitor. O conjunto, hardware e software, funcionou dentro do esperado, porém como todo projeto teve seus desafios. Um dos desafios foi encontrar materiais de apoio e pesquisa relacionados tanto para o projeto do hardware quanto para o projeto do software. A idéia de protocolo de comunicação de joysticks é bem pouco pesquisada e sua interface com o microcontrolador apenas dificultou a pesquisa. Na parte de software o desenvolvimento em 3D ainda é algo novo e não muito divulgado dificultando a implementação. O hardware se mostrou muito eficiente com a conexão com o computador, além da utilização do protocolo de comunicação HID que ajudou bastante no desenvolvimento. Os potenciômetros utilizados tiveram um resultado satisfatório, mas não ideal, para isso seria necessário testes empíricos a fim de encontrar um modelo que se adequasse tanto na estabilidade do sinal quanto no baixo desgaste da sua mecânica conforme a utilização. O software de realidade virtual 3D pode receber melhoras, aumentando as funcionalidades do ambiente. Por exemplo, a adição de diferentes desafios para que o treinamento de noção de profundidade fosse aumentando gradativamente conforme o usuário explorasse o ambiente e também o aumento da complexidade da física e dos objetos contidos no cenário, quem sabe até chegar a um simulador completo de videolaparoscopia contendo um cenário com a anatomia semelhante à de um ser humano. Outra melhoria a ser feita é no hardware, podendo fazer a substituição dos transdutores usados (potenciômetros) por outros como: encoders, acelerômetros e giroscópios assim a aquisição dos movimentos seria mais precisa. E a fim de chegar a um dispositivo mais completo para ser utilizado em um treinamento é necessário a implementação de force feedback no dispositivo para que o usuário tenha a noção de quando encostar em determinado obstáculo. 59

60 REFERÊNCIAS BIBLIOGRÁFICAS HYDE, J.; USB Design by Example: a practical guide to building I/O devices. J. Wiley & Sons. New York EDDINGS, J.; How Virtual Reality Works. Ziff-Davis Press. Emeryville LOURENCO,A.C. et al.; Circuitos em Corrente Continua. Editora Érica. São Paulo PEREIRA, F.; Microcontroladores PIC Programação Em C. Editora Érica. São Paulo COCIAN, L. F. E.; Manual da Linguagem C. Editora Ulbra. Canoas SCHILDT, H.; C Completo e Total. Makron books BRANCO J.M., ZULLI K.; A Videolaparoscopia no Diagnóstico e Tratamento da Endometriose. Congresso Médico Universitário do ABC - Santo André < UPLOAD.pdf> Acesso em: outubro de 2009 UOL - ehealth Latin America. Laparoscopia: Suas Vantagens e Uso na Identificação e Tratamento de Doenças < Acesso em: outubro de 2009 MISHRA, R.K.; Role of Training in Laparoscopy. < Acesso em: outubro de

61 USB 2.0 Specification < Acesso em: fevereiro de 2009 PHANTOM Desktop - Haptic Device < Acesso em: outubro de 2009 Surgical Simulator - The LaparoscopyVR Virtual-Reality System < Acesso em: setembro de 2009 Laparoscopy Training Solutions < Acesso em: setembro de 2009 Lapsim < Acesso em: agosto SPRING - Surgical Simulator < Acesso em: maio de PIC18F4550 Datasheet < Acesso em: fevereiro de 2009 Lite-C - Tutorial da IDE Lite-C < Acesso em: abril de 2009 VRMSS Virtual Reality Motor-Skills Simulator < Acesso em: agosto de 2009 Joystick ARCADE USB - Bardelli < Acesso em: junho de 2009 USP - Microprocessadores < - Acesso em: outubro de

62 Framework para Construção de Pacientes Virtuais: Uma Aplicação em Laparoscopia Virtual < vpat.pdf> Acesso em: março de 2009 HID - Device Class Definition for Human Interface Devices < Acesso em: setembro de

63 ANEXO A <ARTIGO> Um Ambiente de Realidade Virtual de Videolaparoscopia Alessandro Brawerman, Diego Roberto de Souza & Rodrigo Daron Wang Engenharia da Computação Universidade Positivo - Curitiba PR Brasil brawerman@up.edu.br, {rodrigodaron, dstringg}@gmail.com Resumo Simuladores de vôo de realidade virtual tem sido usado a anos para o treinamento de pilotos no mundo todo visando segurança, baixo custo e facilidade no aprendizado. Usando essa premissa um simulador de videolaparoscopia deve ajudar residentes de medicina a aprender os movimentos básicos desse tipo de cirurgia. A videolaparoscopia é um método de cirurgia minimamente invasivo que utiliza duas pinças (ou outros instrumentos) e uma câmera, então a imagem da cirurgia é exibida em uma TV. Um cirurgião deve ter uma noção de perspectiva 3D em uma tela 2D. A idéia do simulador de videolaparoscopia é treinar o residente de medicina a entender essa idéia de perspectiva e simplificar o aprendizado de uma cirurgia laparoscópica. O projeto tem o desenvolvimento de um ambiente completo desde o hardware representado por um joystick até o software que é um programa 3D. Palavras-chave: Laparoscopia, Realidade Virtual, simuladores, joystick, gráficos 3D. 1 Introdução O conceito da realidade virtual é representar algo extraído do mundo real para o computador. Então esse projeto é dividido em duas partes: hardware e software. O hardware é basicamente um joystick na forma de uma pinça de videolaparoscopia e usa a porta USB pela facilidade de conexão e também por que pode ser usada na maioria dos computadores. Existem cinco movimentos: rotação, abrir/fechar a pinça e os eixos X, Y e Z. Esses movimentos são obtidos através de potenciômetros de precisão com a intenção de evitar a flutuação do sinal. Contido no hardware, encontra-se a parte mecânica que é um sistema para aquisição dos movimentos da maneira mais real possível. Para isso, essa parte mecânica, precisa ser resistente suficiente para suportar a força exercida no joystick, e ainda proporcionar a maior realidade possível dos movimentos. O software é um programa 3D que simula um ambiente de cirurgia laparoscópica, não no aspecto anatômico, mas na idéia de treinar a perspectiva. Então esse ambiente no fim é composto por pinças, esferas e outro objeto para interação. No futuro pode ser aperfeiçoado para obter um maior realismo na anatomia para expandir o treinamento aproximando à realidade médica. O software usa uma IDE gratuita que é simples de usar e criar, até mesmo objetos 3D, ela também usa uma física simples para proporcionar um pouco mais de realidade. Todo o ambiente é representado na Figura 01, a qual mostra todas as partes do projeto de uma maneira simples. O nível de dificuldade no simulador não é muito elevado uma vez que a intenção é o treinamento básico, já o hardware tem a capacidade de ser aperfeiçoado para que no futuro possa ser utilizado em um programa mais real já que possui todos os movimentos de possível execução em uma cirurgia. O dispositivo está usando a porta USB para ser conectado a um computador semelhante a um joystick genérico, para simplificar a parte da comunicação e então o sistema operacional, no caso Windows, reconheça o dispositivo automaticamente e não necessite a instalação de nenhum driver ou software optou-se em utilizar o protocolo de comunicação HID (Human Interface Device) que gerencia toda conexão entre o dispositivo e o computador usando Windows. O software irá obter os dados do joystick 63

64 diretamente pelo sistema operacional, porque na IDE que o software foi desenvolvido pode-se usar qualquer joystick, tal como um Controlador do Xbox 360 para Windows. Figura 01 Diagrama em blocos do ambiente. 2 Trabalhos Relacionados Essa seção mostra alguns dos trabalhos relacionados. Comumente eles têm a idéia de simulação de cirurgia utilizando videolaparoscopia, algumas características desses trabalhos foram usadas como inspiração para esse projeto. O projeto LapVR Surgical Simulator da empresa Immersion [1], é um sistema muito complexo que recria um cenário completo de cirurgia laparoscópica em um sistema virtual. O sistema inteiro é feito em cima de um hardware que integra completamente todas as partes necessárias pra o treinamento, incluindo as pinças, a região pélvica e a tela, com tudo isso ele se torna pesado e grande, mas proporciona uma posição correta para o uso das pinças e a posição usualmente usada para a localização da tela, proporcionando ao usuário uma noção muito próxima do ambiente. O segundo trabalho é o SPRING [2], o qual é uma plataforma de simulação de tecido mole em tempo real mantida pela Universidade de Stanford. É basicamente um framework, então no site há vários exemplos para serem testados. Esse projeto tem como principal objetivo passar ao estudante uma noção de perspectiva, entre outros desafios para determinado tipo de treinamento de cirurgias. Um simulador em particular que usa SPRING é chamado de VRMSS [3] (simulador de habilidades motoras usando realidade virtual), especificamente projetado para ensinar básicas habilidades motoras usadas em cirurgias em um ambiente abstrato. Ele atribui uma pontuação ao usuário baseada no desempenho, habilidades motoras (velocidade, precisão e eficiência do movimento) e habilidades cognitivas. 3 Especificação O projeto consiste em um joystick baseado em uma pinça cirúrgica que é conectado ao computador utilizando a comunicação USB gerenciada por um microcontrolador. No computador o joystick deve ser reconhecido como um joystick USB genérico, então o software 3D representa as pinças virtuais juntamente com o ambiente o qual o usuário pode interagir. A Figura 01 mostra a conexão entre o joystick e o computador utilizando o protocolo de comunicação HID, processado por um microcontrolador. No computador, depois de ser feita a aquisição dos movimentos, o gráfico 3D é modificado conforme o usuário executa os movimentos. 3.1 Hardware Ambos os joysticks estão usando um microcontrolador da Microchip, o PIC18F4550, o qual possui uma interface USB e portas A/D (analógicas/digitais) [4]; essa última característica é muito importante já que é necessário obter os movimentos dos potenciômetros. Usando os potenciômetros e um microcontrolador como pode ser visto na Figura 02, o circuito torna-se extremamente simples e barato já que o mesmo utiliza somente alguns capacitores e um cristal além do conector USB. Figura 02 Diagrama esquemático do projeto. O firmware do microcontrolador foi criado utilizando o programa MPLab da Microchip usando a linguagem de programação C. Ele usa o protocolo HID, isso faz com que o sistema operacional reconheça o dispositivo como um joystick padrão e o firmware faz todas as conversões necessárias para passar o sinal obtido dos potenciômetros para o protocolo HID. 64

65 3.2 Comunicação O projeto como um todo tem diversos níveis de comunicação, desde a aquisição de dados até nos movimentos da pinça representada pelo gráfico 3D no computador, esses níveis de comunicação estão representados na Figura 03. Para a comunicação entre o dispositivo e o sistema operacional não foi desenvolvido nenhum driver específico, em vez disso está sendo usada a solução HID, que é um padrão criado pela USB. O descriptor HID é uma complexa array de bytes codificada para descrever os pacotes de dados do dispositivo. Isso inclui: quantos pacotes o dispositivo suporta, quão grande são esses pacotes e o propósito de cada byte e bit em cada pacote. Por exemplo, o firmware do joystick com seus cinco movimentos analógicos (Throttle, X, Y, Rx, e Ry) relaciona os valores analógicos convertidos, cada um para uma posição em uma array de cinco posições inteiras, e envia o pacote para o HID descriptor. O HID descriptor é armazenado na memória ROM do microcontrolador a qual não necessita intrinsecamente compreender ou analisar o HID descriptor [5]. 3.3 Software O Software foi projetado usando a IDE Lite-C [6] que se apresentou muito fácil para trabalhar com gráficos 3D. Essa IDE é dividida em dois programas, o Script Editor (SED) e o Model Editor (MED). O primeiro é usado para programar utilizando a linguagem C, todos os objetos são carregados nesse programa e todos os movimentos e físicas, também a interação com o joystick é feita com a linguagem C. O segundo programa é para desenvolver objetos 3D de uma maneira simples para que o SED possa interpretar sem maiores problemas. O programa recria o ambiente da parte interna no sistema, como é ilustrado na Figura 04, onde existe a ponta da pinça e alguns objetos para interação, como dito anteriormente o software não tem a intenção de recriar uma cirurgia real, somente o ambiente de treinamento de noção de profundidade. Lite-C é uma IDE muito simples para programar gráficos em 3D já que usa comandos da linguagem C para movimentar e interagir com os objetos no ambiente com uma física, mas isso tudo vem com um custo, como o software não se mostra completo em aplicações de mais alto nível. Figura 04 Tela de visualização do software 3D. Figura 03 Diagrama de comunicação dos dados. 3.4 Aprimoramentos Como a IDE do Lite-C tem algumas limitações, no futuro a intenção é usar outra IDE, baseada em XNA para criar um software mais complexo e detalhado para um sistema mais apresentável. O joystick está passando por um aprimoramento, como está na sua fase de protótipo, o próximo passo é basicamente a melhora da parte mecânica com o objetivo de torná-la muito mais resistente a força do usuário e mais realista para a representação dos movimentos incluindo 65

66 uma melhor calibração, e criar uma maneira de calibração em caso de distúrbios funcionais. 4 Resultados Experimentais Não existem muitos testes a serem executados nesse projeto já que não possui nenhuma parte crítica. Como usa a porta USB para transmitir os dados dos joysticks não há nenhum problema como velocidade já que a taxa de transmissão de dados USB é rápida suficiente tornando impossível notar o atraso, e não possui alimentação externa, pois usa 5V diretamente para alimentação do circuito proveniente da porta USB do computador. O consumo de energia é muito baixo e pode ser comparado ao de um joystick genérico. Embora, alguns testes foram feitos em um computador com a seguinte especificação: Processador Memória Placa de Vídeo S.O. Atom 1.6Hz 2GB Intel 950gme 256mb Windows 7 32bits Os resultados podem ser facilmente visualizados na Tabela 01. Modo Resolução Pinças Memória Processador(%) Tela cheia 1024x MB 25 Tela cheia 1024x MB 30 Modo Janela 1024x MB 49 Modo Janela 1024x MB 50 Tela cheia 640x MB 22 Tela cheia 640x MB 25 Modo Janela 640x MB 50 Modo Janela 640x MB 50 Tela cheia 1600x MB 25 Tela cheia 1600x MB 25 Modo Janela 1600x MB 50 Modo Janela 1600x MB 50 Tabela 01 Testes de desempenho do computador. entradas, totalizando 250µs para converter todas as entradas. De acordo com a especificação da USB 2.0, sua velocidade máxima de transferência é de 480Mbit/s[7]. O tamanho total do pacote enviado através do protocolo HID é de 40bits, então a resposta do dispositivo não é um problema já que o tempo é muito rápido para ser notado pelo usuário. 4.1 Precisão O maior problema é a precisão do projeto já que os movimentos representados no ambiente 3D precisam ser exatamente como os movimentos do joystick. Mas isso pode ser calibrado no programa para que então o usuário possa configurar a fim de obter o mínimo erro. 4.2 Limitação do Software O software sofre de uma limitação de física por consequência da IDE escolhida, já que a física anatômica é muito complexa. Outra limitação é o gráfico 3D que é muito simples não sendo completamente realista. 4.3 Limitações do Hardware Como pode ser visto na Figura 05 o joystick está no primeiro protótipo, e tem alguns problemas de confiabilidade. Os potenciômetros podem se desgastar com o tempo e começar a falhar. Com melhores potenciômetros esse problema pode ser solucionado, mas esse tipo de potenciômetro tem seu custo razoavelmente elevado. Outro problema é a falha mecânica que pode acontecer se o joystick for utilizado de maneira brusca. Podendo quebrar em algumas partes ou perder sua calibração com o potenciômetro comprometendo o sistema como um todo. Como dito anteriormente o joystick está passando por um aprimoramento então todas suas limitações estão sendo consideradas para resolver esses problemas. Testes de velocidade foram feitos para obter o atraso no dispositivo. Como foi usado um tempo de 50µs para conversão de cada entrada A/D, o projeto possui cinco 66

67 6 Referências [1]Immersion, Surgical Simulator: The LaparoscopyVR Virtual-Reality System". tml. Acessado em: 14/10/2009 [2] SPRING, SPRING Surgical Simulator. Acessado em: 06/10/2009. [3] VRMSS, Virtual Reality Motor-Skills Simulator. Acessado em: 07/10/2009. [4] Microchip, PIC18FXX5X - Enhanced Flash, USB Microcontrollers with nanowatt Technology Datasheet, Acessado em: 02/09/2009. [5] HID, Human Interface Device. Acessado em: 01/10/2009. [6] Lite-c, Lightweight virtual reality language. Acessado em: 10/10/2009. [7] USB, Universal Serial Bus. Acessado em: 22/09/2009. Figura 05 Primeiro protótipo do Joystick. 5 Conclusão O principal objetivo do projeto era criar um hardware e um software de maneira que eles podiam ser facilmente aprimorados, modificados e fazer com que a comunicação entre eles fosse a mais genérica possível. O hardware é muito intuitivo, desde o momento que o usuário interage com ele, visualizando a animação do gráfico 3D, torna-se obvio qual ação é necessária a ser executada no momento. Muitos usuários forneceram um bom feedback aprovando a noção de profundidade proporcionada pelo software 3D juntamente com sua interação com o hardware e também aprovaram a necessidade do uso das duas pinças simultaneamente para executar determinado objetivo. O projeto aparenta ser muito promissor, pois usa uma tecnologia simples para criar algo que pode ajudar o treinamento de residentes de medicina em um tipo de cirurgia muito utilizada que tem se tornado muito popular nos dias de hoje por ser minimamente invasiva e facilitar a recuperação do paciente. Uma tecnologia simples, como o microcontrolador utilizado significa produtos mais baratos que podem ser usados em universidades proporcionando oportunidades para todos. 67

68 ANEXO B <MANUAL> Manual de Instruções Características: O Ambiente de Treinamento de videolaparoscopia possui um software com gráficos 3D e dois joysticks em forma de pinça laparoscópica. No computador deve ser instalado o programa 3D e o joystick como citado a seguir. Sistema Requerido: Processador: Intel Pentium 4, Athlon XP ou superior. Placa de vídeo: Acelerada com 64MB ou superior. Memória RAM: 512MB ou superior. Sistema operacional: Windows XP SP3 / Windows Vista / Windows 7. Softwares Adicionais:.Net Framework 3.5 ou superior. Instalação do Software: 1º Passo: Coloque o disco de instalação no drive de CD/DVD (caso tenha o arquivo em mãos passe para o 2º passo). 2º Passo: Execute o programa Setup.exe. 68

69 3º Passo: Clique em Avançar. 4º Passo: Leia e marque a opção Aceito o contrato de licença. 5º Passo: Uma janela com informações deve aparecer então clique em Avançar. Uma nova janela deve aparecer mostrando modo rápido e modo personalizado. Caso queira mudar o local de destino clique em Personalizado e siga os passos. Recomendamos o modo Rápido, clique em Instalar. 6º Passo: A instalação será feita automaticamente. Uma nova janela de informação será aberta, clique Avançar e então na última janela concluir. O programa será executado automaticamente. 69

70 Instalação dos Joysticks: 1º Passo: Localize a Porta USB B do Joystick. 2º Passo: Conecte o cabo USB com a parte B no joystick. 3º Passo: Localize a Porta USB do seu computador. 4º Passo: Conecte o cabo USB com a parte A na porta localizada no computador. 70

71 5º Passo: O sistema operacional deverá reconhecer o joystick automaticamente. 6º Passo: O segundo joystick deve ser instalado da mesma maneira. Obs.: Para testar o joystick e verificar se está funcionando corretamente clique no menu Iniciar- >Painel de Controle->Controladores de Jogos e clique no Laparoscopy Joystick então uma nova janela deverá abrir mostrando os eixos que podem ser testados (no Windows Vista ou Windows 7 clique em Iniciar e digite controladores de jogo ou set up USB game controllers ). Utilização: Com o aplicativo e o joystick devidamente instalados execute o software pelo atalho no desktop ou pelo menu iniciar. O software irá mostrar uma tela com as opções de vídeo e números de pinças, coloque o numero exato de pinças instaladas e clique em Entrar. 71

72 Uma tela gráfica será aberta com todos os objetos e as pinças. A idéia do treinamento é colocar a bola dentro do orifício que se encontra abaixo da caixa. Movimente a pinça conforme as fotos abaixo para interagir com o cenário virtual. A segunda pinça tem os mesmos movimentos. 72

Universal Serial Bus USB

Universal Serial Bus USB Universal Serial Bus USB Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Microprocessadores II Copyright (c) Walter

Leia mais

Introdução sobre à porta USB

Introdução sobre à porta USB Introdução sobre à porta USB O USB (Universal Serial Bus) surgiu em 1995 com uma parceria entre várias companhias de alta tecnologia (Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC e Philips).

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

ILHA I GERENCIAMENTO DE CONTEÚDO CMS DISCIPLINA: Introdução à Computação MÓDULO II Memórias e Processamento

ILHA I GERENCIAMENTO DE CONTEÚDO CMS DISCIPLINA: Introdução à Computação MÓDULO II Memórias e Processamento MÓDULO II Memórias e Processamento Esse módulo irá relatar sobre as memórias seus tipos e a ligação com os tipos variados de processamento. Leia atentamente todo o conteúdo e participe dos fóruns de discursão,

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Componentes de um Sistema de Computador

Componentes de um Sistema de Computador Componentes de um Sistema de Computador HARDWARE: unidade responsável pelo processamento dos dados, ou seja, o equipamento (parte física) SOFTWARE: Instruções que dizem o que o computador deve fazer (parte

Leia mais

1. CAPÍTULO COMPUTADORES

1. CAPÍTULO COMPUTADORES 1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes

Leia mais

Introdução. Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha.

Introdução. Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha. Memorias Introdução Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha. Necessariamente existe dois tipos de memórias: -Memória

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Serial Paralela USB FireWire(IEEE1394)

Serial Paralela USB FireWire(IEEE1394) Serial Paralela USB FireWire(IEEE1394) histórico Tudo começou em 1980 quando a IBM estava desenvolvendo seu primeiro micro PC. Já haviam definido que o barramento ISA seria usado para permitir que o IBM

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

Informática, Internet e Multimídia

Informática, Internet e Multimídia Informática, Internet e Multimídia 1 TIPOS DE COMPUTADOR Netbook Notebook Computador Pessoal 2 Palmtop / Handheld Mainframe TIPOS DE COMPUTADOR Computador Pessoal O Computador Pessoal (PC Personal Computer),

Leia mais

CAPÍTULO 4 Interface USB

CAPÍTULO 4 Interface USB Interfaces e Periféricos 29 CAPÍTULO 4 Interface USB Introdução Todo computador comprado atualmente possui uma ou mais portas (conectores) USB. Estas portas USB permitem que se conecte desde mouses até

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

www.vwsolucoes.com Copyright 2013 VW Soluções

www.vwsolucoes.com Copyright 2013 VW Soluções 1 1. Especificação técnicas: Dimensões do módulo 4EA2SA v1.0: 100 mm x 56 mm Peso aproximado: xxx gramas (montada). Alimentação do circuito : 12 ou 24Vcc Tipo de comunicação: RS232 ou RS485 Tensão de referencia:

Leia mais

Prof. Esp. Lucas Cruz

Prof. Esp. Lucas Cruz Prof. Esp. Lucas Cruz O hardware é qualquer tipo de equipamento eletrônico utilizado para processar dados e informações e tem como função principal receber dados de entrada, processar dados de um usuário

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos

Leia mais

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO 28 CAPÍTULO 5 INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO Interfaces para periféricos de armazenamento: Periféricos de armazenamento,

Leia mais

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2 MEMÓRIA CONCEITO Bit- 0 1 Essência de um sistema chamado BIESTÁVEL Ex: Lâmpada 0 apagada 1 acesa 0 e 1 únicos elementos do sistema de numeração de base 2 A que se destina a memória: Armazenamento das instruções

Leia mais

Tecnologia da Informação. Prof Odilon Zappe Jr

Tecnologia da Informação. Prof Odilon Zappe Jr Tecnologia da Informação Prof Odilon Zappe Jr Conceitos básicos de informática O que é informática? Informática pode ser considerada como significando informação automática, ou seja, a utilização de métodos

Leia mais

Sagômetro Digital. Manual de Instalação e Operação

Sagômetro Digital. Manual de Instalação e Operação Manual de Instalação e Operação MANUAL DE INSTALAÇÃO E OPERAÇÃO APRESENTAÇÃO: Esse instrumento foi especialmente desenvolvido para realizar medições de Ságitas em Blocos Oftálmicos onde através de software

Leia mais

Programa de Instalação do Lince GPS

Programa de Instalação do Lince GPS Esse programa instala o software Lince GSP em aparelhos portáteis que tenham GPS, como navegadores e celulares. O software Lince GPS é um programa destinado a alertar sobre a aproximação a pontos previamente

Leia mais

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3 Tecnologia FPGA Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3.1. FPGA: Histórico, linguagens e blocos Muitos dos

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

Programa de Atualização de Pontos do Lince GPS

Programa de Atualização de Pontos do Lince GPS Esse programa atualiza os pontos do software Lince GSP em aparelhos portáteis, como navegadores e celulares. A Robotron mantém um serviço de fornecimento de pontos de controle de velocidade aos aparelhos

Leia mais

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 A LEGO Education tem o prazer de trazer até você a edição para tablet do Software LEGO MINDSTORMS Education EV3 - um jeito divertido

Leia mais

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente

Leia mais

Curso Técnico de Nível Médio

Curso Técnico de Nível Médio Curso Técnico de Nível Médio Disciplina: Informática Básica 2. Hardware: Componentes Básicos e Funcionamento Prof. Ronaldo Componentes de um Sistema de Computador HARDWARE: unidade

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

15 Computador, projeto e manufatura

15 Computador, projeto e manufatura A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

5 Entrada e Saída de Dados:

5 Entrada e Saída de Dados: 5 Entrada e Saída de Dados: 5.1 - Arquitetura de Entrada e Saída: O sistema de entrada e saída de dados é o responsável pela ligação do sistema computacional com o mundo externo. Através de dispositivos

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Professor: João Fábio de Oliveira jfabio@amprnet.org.br (41) 9911-3030 Objetivo: Apresentar o que são os Sistemas Operacionais, seu funcionamento, o que eles fazem,

Leia mais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA 8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 3.1 EXECUÇÃO DAS INSTRUÇÕES A UCP tem duas seções: Unidade de Controle Unidade Lógica e Aritmética Um programa se caracteriza por: uma série de instruções

Leia mais

A história do Processadores O que é o processador Características dos Processadores Vários tipos de Processadores

A história do Processadores O que é o processador Características dos Processadores Vários tipos de Processadores A história do Processadores O que é o processador Características dos Processadores Vários tipos de Processadores As empresas mais antigas e ainda hoje no mercado que fabricam CPUs é a Intel, AMD e Cyrix.

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line)

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line) Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line) Criamos, desenvolvemos e aperfeiçoamos ferramentas que tragam a nossos parceiros e clientes grandes oportunidades

Leia mais

Seja Bem-vindo(a)! Neste módulo vamos trabalhar os principais conceitos de informática.

Seja Bem-vindo(a)! Neste módulo vamos trabalhar os principais conceitos de informática. Seja Bem-vindo(a)! Neste módulo vamos trabalhar os principais conceitos de informática. AULA 1 Noções básicas de Informática Componentes básicos Hardware Componentes básicos Software Noções de MS Word

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

FIREWIRE. O logotipo padronizado: Suas principais vantagens:

FIREWIRE. O logotipo padronizado: Suas principais vantagens: FIREWIRE O barramento Firewire, também conhecido como IEEE 1394 ou como i.link, foi desenvolvido inicialmente pela Apple Computer em 1996, como um barramento serial de alta velocidade, e transfere um grande

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO O que é a Informática? A palavra Informática tem origem na junção das palavras: INFORMAÇÃO + AUTOMÁTICA = INFORMÁTICA...e significa, portanto, o tratamento da informação

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

Aula 1 Introdução, e conhecendo a Área de Trabalho

Aula 1 Introdução, e conhecendo a Área de Trabalho Aula 1 Introdução, e conhecendo a Área de Trabalho Na primeira aula deste curso, mostramos o porquê de começar a trabalhar neste sistema operacional, além das novidades que o sistema possui na sua versão.

Leia mais

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo.

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo. Circuito de gravação (AVR programmer) Introdução Nossa proposta, nesta parte do trabalho, é apresentar um circuito para gravação ISP (In-System- Programming) para microcontroladores AVR. Este circuito,

Leia mais

Automação de Locais Distantes

Automação de Locais Distantes Automação de Locais Distantes Adaptação do texto Improving Automation at Remote Sites da GE Fanuc/ Water por Peter Sowmy e Márcia Campos, Gerentes de Contas da. Nova tecnologia reduz custos no tratamento

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA CCET CURSO DE ENGENHARIA DE COMPUTAÇÃO Henrique Soares Hinke José Eduardo da Silva Rodrigues Matheus Augusto de Queiroz

Leia mais

Leitor MaxProx-Lista-PC

Leitor MaxProx-Lista-PC Leitor MaxProx-Lista-PC O leitor de cartões de proximidade MaxProx-Lista-PC é destinado aos Integradores de Controle de Acesso. Ele foi especialmente projetado para controle de acesso, para ser usado Stand

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM...

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM... 1 de 30 INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 3.1. ONDE SE DEVE INSTALAR O SERVIDOR BAM?... 4 3.2. ONDE SE DEVE INSTALAR O PROGRAMADOR REMOTO BAM?... 4 3.3. COMO FAZER

Leia mais

Prof. Sandrina Correia

Prof. Sandrina Correia Tecnologias de I informação de C omunicação 9º ANO Prof. Sandrina Correia TIC Prof. Sandrina Correia 1 Objectivos Definir os conceitos de Hardware e Software Identificar os elementos que compõem um computador

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

Memórias Prof. Galvez Gonçalves

Memórias Prof. Galvez Gonçalves Arquitetura e Organização de Computadores 1 s Prof. Galvez Gonçalves Objetivo: Compreender os tipos de memória e como elas são acionadas nos sistemas computacionais modernos. INTRODUÇÃO Nas aulas anteriores

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

Leia mais

CURSO BÁSICO DE INFORMÁTICA

CURSO BÁSICO DE INFORMÁTICA CURSO BÁSICO DE INFORMÁTICA Introdução a microinformática William S. Rodrigues HARDWARE BÁSICO O hardware é a parte física do computador. Em complemento ao hardware, o software é a parte lógica, ou seja,

Leia mais

PROJETO INFORMÁTICA NA ESCOLA

PROJETO INFORMÁTICA NA ESCOLA EE Odilon Leite Ferraz PROJETO INFORMÁTICA NA ESCOLA AULA 1 APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA Apresentação dos Estagiários Apresentação do Programa Acessa

Leia mais

SISTEMAS INFORMÁTICOS

SISTEMAS INFORMÁTICOS SISTEMAS INFORMÁTICOS Nesta apresentação, aprenderá a distinguir Hardware de software, identificar os principais componentes físicos de um computador e as suas funções. Hardware e Software Estrutura de

Leia mais

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 25

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 25 Informática Prof. Macêdo Firmino Introdução a Informática Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 25 O Que é um Computador? É uma máquina composta de um conjunto de partes eletrônicas e

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PLACAS DE EXPANSÃO... 3 PLACAS DE VÍDEO... 3 Conectores de Vídeo... 4 PLACAS DE SOM... 6 Canais de Áudio... 7 Resolução das Placas de Som...

Leia mais

AUTOMAÇÃO DE ESCRITÓRIOS ADE

AUTOMAÇÃO DE ESCRITÓRIOS ADE Curso: TÉCNICO EM INFORMÁTICA com Habilitação em Programação e Desenvolvimento de Sistemas. AUTOMAÇÃO DE ESCRITÓRIOS ADE NOTA DE AULA 01 Assunto: Introdução a informática. Histórico do computador. Conceitos

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 2.1 CONCEITO DE BIT O computador só pode identificar a informação através de sua elementar e restrita capacidade de distinguir entre dois estados: 0

Leia mais

ERP Enterprise Resource Planning

ERP Enterprise Resource Planning ERP Enterprise Resource Planning Sistemas Integrados de Gestão Evolução dos SI s CRM OPERACIONAL TÁTICO OPERACIONAL ESTRATÉGICO TÁTICO ESTRATÉGICO OPERACIONAL TÁTICO ESTRATÉGICO SIT SIG SAE SAD ES EIS

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10 Índice 1. A Organização do Computador - Continuação...3 1.1. Memória Primária - II... 3 1.1.1. Memória cache... 3 1.2. Memória Secundária... 3 1.2.1. Hierarquias de

Leia mais

3. Cite o nome e características do ponto mais alto e do ponto mais baixo de uma onda?

3. Cite o nome e características do ponto mais alto e do ponto mais baixo de uma onda? Exercícios: 1. Sobre:Ondas Responda: a. O que é a Natureza de Ondas? b. O que origina as Ondas Mecânicas? c. As Ondas Mecânicas se propagam no vácuo? Explique a sua resposta. d. Quais são os elementos

Leia mais

KVM CPU Switch 4 Portas Manual do Usuário

KVM CPU Switch 4 Portas Manual do Usuário P R E F Á C I O Este é um produto da marca GTS Network, que está sempre comprometida com o desenvolvimento de soluções inovadoras e de alta qualidade. Este manual descreve, objetivamente, como instalar

Leia mais

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº UNIDADE 1I: SISTEMA COMPITACIONAL Elementos hardware e periféricos Um sistema computacional consiste num conjunto de dispositivos eletrônicos (hardware) capazes de processar informações de acordo com um

Leia mais

Aula 04 B. Interfaces. Prof. Ricardo Palma

Aula 04 B. Interfaces. Prof. Ricardo Palma Aula 04 B Interfaces Prof. Ricardo Palma Interface SCSI SCSI é a sigla de Small Computer System Interface. A tecnologia SCSI (pronuncia-se "scuzzy") permite que você conecte uma larga gama de periféricos,

Leia mais

Guia. PDA e SmartPhones. Windows Mobile, Pocket PC e CE.

Guia. PDA e SmartPhones. Windows Mobile, Pocket PC e CE. Guia PDA e SmartPhones Windows Mobile, Pocket PC e CE. Referência completa para o integrador do sistema Module. Aborda os recursos necessários para a itulização, instalação do software e importação das

Leia mais

Virtual Welding. Treinamento do futuro

Virtual Welding. Treinamento do futuro Virtual Welding Treinamento do futuro Aprendizagem real via simulador 100% seguro Economia de recursos O pacote de sucesso GERAL O treinamento em soldagem tem agora um novo nome: Fronius Virtual Welding

Leia mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

Sistemas Operacionais 1/66

Sistemas Operacionais 1/66 Sistemas Operacionais 1/66 Roteiro Máquinas virtuais Emuladores Propriedades Benefícios Futuro 2/66 Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware

Leia mais

Placas Adaptadoras e montagem de Redes

Placas Adaptadoras e montagem de Redes Placas Adaptadoras e montagem de Redes Objetivos da aula: 1 - Descrever a função da placa adaptadora de rede em uma rede. 2 - Descrever as opções de configuração para placas adaptadoras de rede. 3 - Listar

Leia mais

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger O controle da entrada e saída (E/S ou I/O, input/output) de dados dos dispositivos é uma das funções principais de um sistema operacional.

Leia mais

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA Através dos elementos que fazem parte do projeto do sistema é que podemos determinar quais as partes do sistema que serão atribuídas às quais tipos

Leia mais

HCT Compatibilidade Manual do Usuário

HCT Compatibilidade Manual do Usuário HCT Compatibilidade Manual do Usuário Índice Introdução...3 HCT Compatibilidade...3 Librix...3 Execução do Programa...4 Seleção de Testes...4 Testes Manuais...6 Teste de Teclado...6 Teste de Vídeo...7

Leia mais

Alarme Automotivo com mensagem para móvel utilizando Arduino

Alarme Automotivo com mensagem para móvel utilizando Arduino Alarme Automotivo com mensagem para móvel utilizando Arduino Maycon Cirilo dos Santos¹, Wyllian Fressatti¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil mayconsi2012@gmail.com, wyllian@unipar.br

Leia mais

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC Tiago Menezes Xavier de Souza¹, Igor dos Passos Granado¹, Wyllian Fressatti¹ ¹Universidade Paranaense (UNIPAR) Paranavaí- PR- Brasil tiago_x666@hotmail.com,

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

TRABALHO COM GRANDES MONTAGENS

TRABALHO COM GRANDES MONTAGENS Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura

Leia mais

Conceitos Básicos sobre Sistema de Computação

Conceitos Básicos sobre Sistema de Computação Conceitos Básicos sobre Sistema de Computação INFORMÁTICA -É Ciência que estuda o tratamento automático da informação. COMPUTADOR Equipamento Eletrônico capaz de ordenar, calcular, testar, pesquisar e

Leia mais

Vitor Amadeu Souza. vitor@cerne-tec.com.br

Vitor Amadeu Souza. vitor@cerne-tec.com.br Introdução Vitor Amadeu Souza vitor@cerne-tec.com.br Veremos agora os passos para enviar uma string de caracteres pela USB. Porém antes veremos um tutorial referente a porta USB. Tutorial USB Sistema de

Leia mais

Thunder Pro II Gold Edition Manual de operações v 8.7 Rev:b

Thunder Pro II Gold Edition Manual de operações v 8.7 Rev:b Thunder Pro II Gold Edition Manual de operações v 8.7 Rev:b Este manual foi escrito exclusivamente para o chip Thunder Pro II Gold e será atualizado juntamente com as atualizações do chip, portanto acesse

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

Atenção! Não está autorizada a reprodução deste material. Direitos reservados a Multilaser.

Atenção! Não está autorizada a reprodução deste material. Direitos reservados a Multilaser. 1 INTRODUÇÃO O Multisync é um programa de recuperação de sistema e atualização de dispositivos, utilizado quando aparelho apresenta lentidão, não liga, travado na inicialização, atualização de mapas, entro

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

Informática. Informática. Valdir

Informática. Informática. Valdir Informática Informática Valdir Questão 21 A opção de alterar as configurações e aparência do Windows, inclusive a cor da área de trabalho e das janelas, instalação e configuração de hardware, software

Leia mais

Prof. Daniel Gondim danielgondimm@gmail.com. Informática

Prof. Daniel Gondim danielgondimm@gmail.com. Informática Prof. Daniel Gondim danielgondimm@gmail.com Informática Componentes de um SC Barramento Também conhecido como BUS É um conjunto de linhas de comunicação que permitem a interligação entre dispositivos,

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

SCD 912. Dispositivo de comunicação e armazenamento. Apresentação. Dados Técnicos. Conexões

SCD 912. Dispositivo de comunicação e armazenamento. Apresentação. Dados Técnicos. Conexões Conv. USB-Serial Baudrate, stop bit e nro de dados programável. Baudrate de 1200 a 38400 bauds. Emula porta COM virtual. Led de indicação de operação como conversor USB-serial. Não possui linhas de controle

Leia mais

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Professor Rene - UNIP 1 Roteamento Dinâmico Perspectiva e histórico Os protocolos de roteamento dinâmico são usados

Leia mais