UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE INFORMÁTICA CURSO DE ENGENHARIA DE COMPUTAÇÃO MAPEADOR TRIDIMENSIONAL DE

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

Download "UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE INFORMÁTICA CURSO DE ENGENHARIA DE COMPUTAÇÃO MAPEADOR TRIDIMENSIONAL DE"

Transcrição

1 UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE INFORMÁTICA CURSO DE ENGENHARIA DE COMPUTAÇÃO MAPEADOR TRIDIMENSIONAL DE AMBIENTES BASEADO EM ULTRASSOM DIEGO GABRIEL LEE DIOGO GUILHERME GARCIA DE FREITAS LEONARDO WATANABE KUME LUÍS FERNANDO GUERREIRO CURITIBA 2013

2 DIEGO GABRIEL LEE DIOGO GUILHERME GARCIA DE FREITAS LEONARDO WATANABE KUME LUÍS FERNANDO GUERREIRO MAPEADOR TRIDIMENSIONAL DE AMBIENTES BASEADO EM ULTRASSOM Projeto de oficina de integração 2 de Engenharia de Computação do Departamento Acadêmico de Informática, da Universidade Tecnológica Federal do Paraná, Campus Curitiba. Orientador: Prof. André Schneider CURITIBA 2013

3 TERMO DE APROVAÇÃO Diego Gabriel Lee Diogo Guilherme Garcia de Freitas Leonardo Watanabe Kume Luís Fernando Guerreiro PROJETO DE OFICINA DE INTEGRAÇÃO 2 Monografia do projeto de Oficinas de Integração 2, com apresentação prevista para 25 de setembro de 2013 na Universidade Tecnológica Federal do Paraná, como requisito para aprovação na matéria. Aprovada por: Orientador: Prof. André de Oliveira Schneider Banca: Prof. Mário Sério Teixeira de Freitas Prof. João Alberto Fabro Henrique Simião Ferreira

4 RESUMO Este projeto descreve o planejamento, a construção, o funcionamento e possíveis aplicações de um dispositivo para mapeamento tridimensional de ambientes baseado em ultrassom. Basicamente o trabalho envolve o desenvolvimento de um dispositivo para movimentar um sensor de ultrassom que mede distâncias em um percurso pré-definido, a cada nova posição do sensor, gravar a distância medida em relação a um ponto específico do ambiente e representar graficamente no computador cada ponto analisado. Ao final do mapeamento o resultado será um conjunto de pontos dispostos em uma representação computacional em escala do ambiente real. Palavras chave: mapeamento, ultrassom, servomotor, OpenGL

5 LISTA DE FIGURAS Figura 1: Protótipo do dispositivo. Fonte: autoria própria... 5 Figura 2: Diagrama de blocos do dispositivo. Fonte: autoria própria... 6 Figura 3: Placa de desenvolvimento Arduino UNO R3. Fonte: (ARDUINO, 2013)... 7 Figura 4: Diagrama de tempo do funcionamento do sensor de ultrassom. Fonte: (CircuitsToday, 2013)... 8 Figura 5: Sensor de ultrassom HC-SR04. Fonte: (CircuitsToday, 2013)... 9 Figura 6: Exemplo de sinal de controle de um servomotor. Fonte: (Lirtex, 2013) Figura 7: Sistema esférico de coordenas. Fonte: () Figura 8: modelo em CAD do dispositivo. Fonte: autoria própria Figura 9: Fluxograma da rotina de mapeamento. Fonte: autoria própria Figura 10: Modelo em CAD do dispositivo exemplificando uma leitura. Fonte: autoria própria Figura 11: Fluxograma do software mapeador. Fonte: autoria própria Figura 12: Janela de controle e display do software. Fonte: autoria própria Figura 13: Objeto a ser mapeado e o resultado visto de dois ângulos diferentes. Fonte: autoria própria Figura 14: Fotos do local de tamanho médio a ser mapeado. Fonte: autoria própria Figura 15: Resultado do mapeamento de tamanho médio na primeira posição. Fonte: autoria própria Figura 16: Resultado do mapeamento de tamanho médio na segunda posição. Fonte: autoria própria Figura 17: Resultado do mapeamento de tamanho médio na terceira posição. Fonte: autoria própria Figura 19: Planta do ambiente de tamanho grande. Fonte: autoria própria Figura 20: Fotos do ambiente de tamanho grande a ser mapeado pelo dispositivo. Fonte: autoria própria Figura 21: Resultado do mapeamento de um ambiente de tamanho grande. Fonte: autoria própria Figura 22: Representação da situação ideal para a leitura do sensor. Fonte: autoria própria Figura 23: Representação de uma situação ruim para a leitura do sensor. Fonte: autoria própria

6 SUMÁRIO 1 INTRODUÇÃO DESCRIÇÃO DO PROJETO REFERENCIAL TEÓRICO Hardware Software METODOLOGIA DE EXECUÇÃO Montagem física do dispositivo Elaboração de rotinas de mapeamento Envio de dados Implementação do software de mapeamento tridimensional PROBLEMAS ENCONTRADOS Posicionamento dos motores OpenGL Sensor de Ultrassom TESTES Ambiente de tamanho pequeno Ambiente de tamanho médio Ambiente de tamanho grande Interpretação dos testes CONCLUSÃO TRABALHOS FUTUROS PARA O PROJETO REFERÊNCIAS BIBLIOGRÁFICAS A. CRONOGRAMA B. ORÇAMENTO C. CÓDIGO ARDUÍNO D. RELATÓRIO DE REUNIÕES... 40

7 3 1 INTRODUÇÃO A robótica e a computação, que antes eram desenvolvidas em sua maioria nas pesquisas de ponta ou para fins industriais, agora estão se tornando atividades mais populares, ou seja, mais pessoas estão tendo acesso e se interessando por essas áreas. Estas passaram de atividades formais e acadêmicas para algo mais experimental e até recreativo. Um dos motivos dessa mudança de paradigma pode ser a queda dos preços dos computadores e componentes eletrônicos e também a maior disponibilidade de peças e plataformas de desenvolvimento universais. Com isso os problemas clássicos da robótica e computação começam a ser confrontados por mais pessoas e, portanto há maior possibilidade para que surjam soluções criativas. Por exemplo: o problema de mapear um ambiente de forma eficiente ao levantar a topologia detalhada do local ou marcar pontos específicos que sirvam de referência para algum sistema de navegação. Para contornar o problema é preciso coletar dados a respeito do ambiente e processá-los de tal forma que gerem uma representação do mundo real no computador, e com isso o sistema consiga executar tarefas baseado em seu reconhecimento do ambiente. Esse é um dos problemas clássicos da robótica e tem muitas aplicações práticas, por isso já existe uma abordagem padrão, pelo menos em um primeiro momento, para resolvê-lo. O passo inicial para resolver esse problema é coletar os dados do ambiente, no caso de um mapeamento tridimensional uma abordagem seria escolher um ponto do ambiente, fixar um sensor e medir as distâncias dos objetos em relação a esse ponto fixo. Dispondo de um sistema que possa se movimentar é possível coletar dados necessários para mapear o ambiente em três dimensões. Os dados brutos resultantes dessa forma de mapeamento são chamados de point cloud (Wikipedia, 2013), a tradução literal do termo em inglês é nuvem de pontos, ou seja, é basicamente um conjunto de pontos dispostos espacialmente em um sistema de coordenadas onde cada ponto coletado é referente a uma superfície do ambiente real. As limitações desse método dependem basicamente da qualidade do sensor (precisão nas medidas de distância e velocidade de leitura) e da liberdade de movimentação do sistema (possibilidade de mapear todos os pontos do ambiente, velocidade de movimentação dos sensores e número de sensores). Mas essa

8 4 abordagem é relativamente simples de implementar e em muitos sistemas é o passo básico para o mapeamento eficiente de ambientes, após coletar os dados é possível processar o point cloud para gerar outras representações como superfícies ou polígonos. O projeto desenvolvido nessa disciplina visa exatamente produzir uma nuvem de pontos a partir de um sistema simples e de baixo custo, dessa forma o sistema pode ser construído por mais pessoas e serve como uma introdução ao tema de mapeamento tridimensional de ambientes.

9 5 2 DESCRIÇÃO DO PROJETO Inicialmente o projeto prevê o mapeamento de pequenos ambientes, por exemplo, os cômodos de uma residência, portanto o dispositivo ficará fixo no centro do local para realizar as medições. Para movimentar o sensor de ultrassom serão usados dois servomotores acoplados. Dessa forma o dispositivo tem dois graus de liberdade, ou seja, pode realizar rotações em torno de dois eixos no espaço. O acoplamento entre os motores pode ser melhor compreendido ao observar a Figura 1. Figura 1: Protótipo do dispositivo. Fonte: autoria própria Como se vê na Figura 1, o item numerado como 1 é o motor que movimenta o dispositivo no plano horizontal, o item 2 no plano vertical, o 3 é o sonar, o 4 é o arduino e o 5 é uma placa de circuito impresso feita apenas para facilitar a conexão dos fios. O controle coordenado dos motores e a aquisição dos dados serão feitos pela placa de desenvolvimento Arduino UNO R3, que utiliza o microcontrolador ATMEGA328 (ARDUINO, 2013). O mapeamento será feito ao longo de um percurso, no qual a cada nova posição assumida pelo sensor de ultrassom é feita uma leitura de distância. Então, para cada uma de todas as possíveis posições do percurso são gravadas três informações: a distância medida em relação aos obstáculos e a posição angular de

10 6 cada motor em relação ao seu respectivo eixo de rotação. Associando a cada ponto no espaço essas três informações pode-se mapear o ambiente através de coordenadas esféricas. Até esse ponto o sistema é capaz apenas de movimentar o sensor no espaço e gerar os dados referentes a um ponto, então é preciso enviar esses pontos medidos, através da interface serial presente na placa Arduino, para o software de mapeamento tridimensional processar cada um individualmente e gerar um conjunto de pontos em coordenadas cartesianas, que será desenhado no ambiente 3D computacional em escala com a realidade. O software de mapeamento tridimensional irá funcionar em três etapas: processamento dos pontos adquiridos pelo hardware (transformação de coordenadas esféricas para cartesianas), atualização do conjunto de pontos (adicionar o último ponto recebido a um conjunto de pontos já processados) e representação na tela do conjunto de pontos (plotagem dos pontos e do ambiente tridimensional na tela através de instruções para a placa de vídeo do computador). Cada item destacado anteriormente está representado no diagrama de blocos na ilustrado na Figura 2. Figura 2: Diagrama de blocos do dispositivo. Fonte: autoria própria

11 7 3 REFERENCIAL TEÓRICO Podemos separar o projeto em hardware e software, o primeiro envolvendo os dispositivos físicos e o segundo dizendo respeito a transformação dos dados obtidos em um mapa 3D. Cada uma das partes envolve diferentes assuntos que são abordados em várias matérias do curso de Engenharia de Computação. 3.1 Hardware Controle de sensores e atuadores Para coordenar a movimentação dos motores com a aquisição de dados do sensor e o envio das informações para o computador é usado o Arduino (ARDUINO, 2013). Figura 3: Placa de desenvolvimento Arduino UNO R3. Fonte: (ARDUINO, 2013) Basicamente a placa da Figura 3, facilita a utilização do microcontrolador ao dispor de forma organizada os pinos entrada e saída digital e analógicos, além de fornecer uma interface de comunicação serial com o computador, permitindo a troca de dados de forma relativamente fácil. Além disso, a página do Arduino fornece uma interface de programação em linguagem C, dispondo de diversas bibliotecas que encapsulam operações comuns do micro controlador em funções de fácil utilização.

12 8 Para este projeto utilizaremos os pinos de saída digital para enviar sinais aos motores e ao sensor de ultrassom, processo melhor descrito nas seções e Sensor de distância baseado em ultrassom (HC-SR04) Uma parte do projeto diz respeito ao sensor de ultrassom, que envia ondas sonoras de alta frequência para o ambiente e recebe a reflexão desse sinal. Com o tempo de resposta e sabendo a velocidade de propagação do som, é possível calcular a distância em relação a um determinado objeto com a seguinte equação: O sensor HCSR04 (CircuitsToday, 2013) funciona da seguinte maneira, conforme ilustrado na Figura 4, ao receber um sinal de pelo menos 10µs em 5V, nível lógico 1 no pino Trigger, o módulo emite oito pulsos de ultrassom a uma frequência de 40kHz, em seguida o sensor capta a reflexão do som que após ser processada pelo circuito controlador do módulo gera um sinal de resposta no pino Echo, a duração do sinal de resposta em 5V é diretamente proporcional a distância medida. Figura 4: Diagrama de tempo do funcionamento do sensor de ultrassom. Fonte: (CircuitsToday, 2013)

13 9 Alguns aspectos podem influenciar na reflexão do som emitido na direção de um objeto, tais como o tipo de superfície, dimensões, distância e ângulo em relação ao sensor. O entendimento detalhado desse procedimento de reflexão não faz parte do escopo do projeto, pois como o mapeamento do ambiente é baseado em milhares de pontos a omissão de alguns pontos por causa de leituras imprecisas não afeta a qualidade geral do mapeamento. Além disso, pretende-se trabalhar com ambientes em que já se conheça as características dos objetos a serem analisados. Figura 5: Sensor de ultrassom HC-SR04. Fonte: (CircuitsToday, 2013) Servomotores Um servomotor consiste basicamente de: um motor de corrente contínua, uma caixa de engrenagens de redução, um potenciômetro e sensor de posição. Basicamente o servomotor agrega esses componentes para manter uma determinada posição, quando está alimentado (usualmente de 4,8V até 6,0V) e recebe determinados pulsos no pino de sinal. Esses pulsos são sinais de onda retangular modulada em PWM, onde a largura do pulso controla a posição angular do servomotor. Na maioria dos servomotores a largura do pulso deve variar de 1 milissegundo até 2 milissegundos, fazendo com que o ângulo varie 180 graus, conforme a Figura 6.

14 10 Figura 6: Exemplo de sinal de controle de um servomotor. Fonte: (Lirtex, 2013) O mais importante de cada pulso é o tempo em nível lógico alto e o período pode variar sem alterar o posicionamento do servomotor, desde que a frequência dos pulsos seja suficientemente alta para que o motor não se desligue. A frequência usada tipicamente é em torno de 50Hz. (Valkenburg, 1961).Dependendo da marca do servomotor, esse tempo em nível lógico alto pode variar entre 0,5 milissegundos a 3,5 milissegundos. Para controlar os motores usando o Arduino existe uma biblioteca específica, a Servo.h. Ela oferece uma classe Servo com funções prontas (ARDUINO, 2013). As duas funções utilizadas no projeto são: attach - associa um pino do Arduino ao objeto da classe servo. Mudando-se os parâmetros de entrada dessa função, pode-se alterar os tempos mínimo e máximo do nível lógico 1 do sinal enviado ao servomotor, que pode ser útil pois cada servomotor pode ter especificações diferentes. Os tempos padrão são: mínimo 544 microssegundos para 0 grau e máximo 2400 microssegundos para 180 graus. write - o parâmetro de entrada determina o ângulo que deseja-se mover o servomotor, variando de 0 a 180 graus. O uso desses comandos pode ser observado no código de controle da placa Arduino em anexo.

15 Software Programação orientada a objetos As principais funções do programa serão: comunicação serial com hardware, processar os dados recebidos e organizá-los em uma estrutura de dados apropriada, e enviar instruções para a placa de vídeo desenhar o mapa, além disso, há uma interface gráfica para o usuário escolher alguns parâmetros de funcionamento do dispositivo. Para facilitar a programação utilizaremos a linguagem Java, que já possui bibliotecas para cada uma dessas funcionalidades. Estas bibliotecas estarão citadas e descritas ao longo do texto, pois cada uma diz respeito a uma parte específica no software Computação gráfica Para a parte do software de desenho, há a necessidade da utilização de uma biblioteca que possibilite acessar diretamente a placa de vídeo do computador. Para esta tarefa foi escolhida a biblioteca LWJGL (LWJGL, 2013). Com essa biblioteca é possível utilizar as funções da placa de vídeo para desenhar formas primitivas como, por exemplo: pontos, linhas e triângulos. A placa de vídeo utiliza instruções em OpenGL (OpenGl, 2013), que é uma interface de programação de aplicativos multiplataforma implementável em várias linguagens, ou seja, é um conjunto de instruções universal que permite a um software trocar informações com a placa de vídeo e ter acesso a renderização acelerada por hardware. Portanto a biblioteca LWJGL é um wrapper, invólucro em inglês, ou seja, serve para acessar as funções e comandos OpenGL a partir de um programa escrito em Java Transformação de coordenadas Esta tarefa consiste na transformação dos dados recebidos do hardware para possibilitar que o programa desenhe o ponto no lugar correto dentro do ambiente 3D. Ela é necessária, pois os dados que vêm do microcontrolador para o computador são a distância medida pelo sensor e a posição angular de cada servomotor no momento da medição do sensor. Analisando estes dados, percebe-se

16 12 que os pontos obtidos podem ser representados em coordenadas esféricas, pois apresentam um raio da origem até o ponto (M), um ângulo na vertical ( ) e outro ângulo na horizontal ( ), conforme a Figura 7. Contudo, para que estes dados sejam aplicáveis no programa, é necessária a transformação das coordenadas esféricas para coordenadas cartesianas (SANTOS,2013). A razão disto é que função que se usa para desenhar os pontos na biblioteca LWJGL usa os parâmetros de acordo com os eixos x, y e z. A transformação efetiva das coordenadas ocorre na aplicação das seguintes equações: Figura 7: Sistema esférico de coordenas. Fonte: (SANTOS,2013

17 13 4 METODOLOGIA DE EXECUÇÃO A seguir é descrito o processo de implementação do projeto em etapas, um cronograma completo com o tempo previsto para cada tarefa pode ser observado no ANEXO 1. As tarefas descritas nessa seção compreendem etapas do projeto já concluídas ou em andamento. Etapas como análise de resultados; ajustes finais; correção de erros e conclusões serão descritas futuramente 4.1 Montagem física do dispositivo Primeiramente, definimos o acoplamento dos motores de modo que o sensor pudesse apontar para todas as direções possíveis. Então, foi definido um modelo de protótipo que cumprisse tal tarefa. Após isto, um modelo em CAD foi feito para visualizar os componentes físicos necessários para a construção do dispositivo. Chegou-se a conclusão que era necessário duas placas em formato de L para acoplar os motores da forma desejada. Uma vez obtidas as peças, a construção do protótipo revelou ser necessária a fixação do dispositivo em uma base pesada o suficiente para fazer com que este não se movimente durante a movimentação dos motores, o resultado final da montagem aparece na Figura 8. Figura 8: modelo em CAD do dispositivo. Fonte: autoria própria.

18 Elaboração de rotinas de mapeamento O dispositivo terá dois servomotores para mover o sensor em todas as direções desejadas. Para que este processo dure o menor tempo possível, será necessário definir uma trajetória eficiente que complete o percurso programado. Para isso os servos devem se movimentar um de cada vez, fazendo com que a cada variação angular do servo da horizontal, o outro servo da vertical percorra 180 graus. Portanto, a trajetória em questão deverá resultar em um formato de uma semiesfera, que seria o suficiente para cobrir um ambiente fechado. A Figura 9 ilustra o fluxograma de execução da rotina de mapeamento utilizada no projeto. Conforme descrito na seção é preciso mandar pulsos pré-definidos de acordo com a especificação dos motores. No caso do servomotor utilizado, as medições realizadas revelaram que é necessário um pulso com duração de 0.65 milissegundos para ir até a posição 0 e um pulso de 3.1 milissegundos para a posição 180. Cabe destacar que para cada modelo de servomotor esses valores podem variar e, portanto é preciso fazer esse mapeamento das posições angulares para cada motor utilizado.

19 15 Figura 9: Fluxograma da rotina de mapeamento. Fonte: autoria própria. 4.3 Envio de dados O projeto prevê que o Arduino deve receber os dados do sensor e enviá-los ao software no computador juntamente com os dados dos ângulos dos sensores. Para tanto, o Arduino dispõe do recurso de comunicação serial para mandar informações ao computador na forma de um vetor de bytes. Desta forma, será utilizada a biblioteca RXTX (RXTX, 2013), que possibilita a comunicação serial entre o Arduino e o programa em Java. Para enviar os dados do sensor e a posição dos motores, o Arduino envia uma string contendo os números concatenados e separados por um caractere especial, pois enviá-los em um byte de cada vez não

20 16 era o suficiente para representar um número inteiro positivo maior que 255. Depois o software decodifica a string para extrair os valores e atribuí-los a variáveis. Um exemplo de leitura dos dados pode ser observado na Figura 10 na qual ele enviaria uma leitura como os seguintes dados: 24cm, 45cm e 180 graus. Figura 10: Modelo em CAD do dispositivo exemplificando uma leitura. Fonte: autoria própria. 4.4 Implementação do software de mapeamento tridimensional Para facilitar a organização do projeto dividimos o programa em algumas classes, cada uma realizando uma tarefa específica. O fluxograma simplificado do software pode ser observado na Figura 11.

21 Figura 11: Fluxograma do software mapeador. Fonte: autoria própria. 17

22 Classe DisplayMapeador Esta é a principal classe do programa, responsável por criar o Display, ou seja, a janela que exibe o ambiente tridimensional onde são desenhados os pontos, os eixos de referência e os demais elementos gráficos do programa. Como é a primeira classe a ser chamada na execução do programa durante a plotagem, ela define todas as variáveis utilizadas para desenhar os pontos, por exemplo: declara um vetor com a quantidade máxima de pontos a serem desenhados e define os parâmetros de operação do OpenGL. Além disso, a classe é responsável por atualizar os pontos e enviá-los para a placa de vídeo através de um Buffer a cada vez que um novo ponto é recebido pela classe SerialCommunicator. A etapa de transformação de coordenadas esféricas para cartesianas também é executada nessa classe, dentro da função que atualiza os pontos Classe Movimentation Esta classe é utilizada para alterar a posição relativa da câmera dentro do Display, ou seja, mudar a janela de visão do ambiente 3D. Para realizar essa alteração de posição a classe tem uma função que recebe as entradas do teclado e mouse e as interpreta em comandos como girar ou transladar a o ponto de vista da câmera em relação a um eixo no espaço. Essa possibilidade de movimentação, muito parecida com um videogame, facilita na hora de visualizar o resultado do mapeamento, pois permite movimentar a câmera livremente pelo ambiente enquanto a leitura dos pontos é realizada Classe SerialCommunicator Esta classe é responsável por realizar a comunicação entre hardware e software através da interface serial, disponível em Java através da biblioteca RXTX. A classe tem uma função que fica esperando um evento serial, ou seja, alguma ação na comunicação entre serial, quando esse evento ocorre a função lê uma string, que são os dados de posição contidos no hardware, então essa classe apenas decodifica essa string em três variáveis, distância medida e a posição angular de cada motor, e as envia para a classe DisplayMapeador.

23 Classe JanelaDeControle Esta é a classe que permite ao usuário operar o sistema de mapeamento, ao definir parâmetros para o desenho dos pontos e controlar o início e fim do mapeamento. A Figura 12 ilustra a janela de controle do programa, com os respectivos itens numerados: Figura 12: Janela de controle e display do software. Fonte: autoria própria.

24 20 1- Controle de escala: permite ao usuário mudar a escala da plotagem, varia de 1:1 até 1: Posicionamento do sensor: ao inserir a posição do sensor em cada eixo (x=vermelho, y=verde, z= azul) e clicar no botão OK o sensor é deslocado para a posição escolhida pelo usuário e a partir de então os pontos passam a ser desenhados em relação a esse novo referencial. 3- Leitura do sensor: apenas exibe o valor correspondente a distância atual medida pelo sensor de ultrassom, serve para auxiliar no deslocamento do sensor no espaço caso o usuário não disponha de algum instrumento para medir distâncias. Também é útil para testar se o sensor está funcionando adequadamente. 4- Botões START/PAUSE e STOP : ao clicar em START o display começa a desenhar os pontos recebidos do hardware, com isso o rótulo do botão muda para PAUSE que ao ser clicado congela o mapeamento no último ponto desenhado, o que ativa a opção START novamente retomando o mapeamento de onde parou. Caso o usuário clique em STOP o display cancela o mapeamento e apaga todos os pontos já desenhados, além disso, quando o mapeamento recomeçar pelo clique em START os motores voltam para a posição angular 0º. 5- Botões Salvar e Carregar mapeamento: agregam as funcionalidades essenciais de salvar e carregar mapeamentos. Clicando em salvar todos os pontos mapeados são guardados em um arquivo de texto que posteriormente pode ser carregado pelo programa. Ao carregar um mapeamento salvo anteriormente é possível continuar a plotagem de pontos normalmente, sendo que os novos pontos podem ser salvos junto com os anteriores gerando um novo mapeamento gravado em arquivo. 6- Opção Mostrar grade : Mostra ou esconde uma grade no plano XZ, essa grade serve para auxiliar na visualização dos pontos e também para estimar medidas, visto que o valor do espaçamento em centímetros entre uma linha e outra é sempre exibido. A grade, assim como todos os elementos do programa acompanham as mudanças na escala em tempo real.

25 21 5 PROBLEMAS ENCONTRADOS 5.1 Posicionamento dos motores Sem dúvida o maior problema deste projeto foi o hardware, durante toda a execução os problemas com os servomotores foram uma constante. No inicio os dois motores estavam com problemas, um deles estava com uma peça danificada e a única solução foi substituí-lo, o outro estava com um problema de tateio (quando o motor fica oscilando entre posições próximas). Ao trocar a fonte de alimentação, do Arduino para uma fonte CC ajustável o problema foi parcialmente resolvido e o tateio residual pode ser causado pelo fato de o motor não ser novo. Ao utilizar um novo motor foi detectado que ele não alcançava os 180 com a biblioteca Servo.h do Arduino, após análises da onda PWM com o osciloscópio, foi detectado que o período em nível alto da onda não chegava até os 3100 microssegundos descritos no datasheet para o servo ficar no posição de 180, por causa de uma limitação na própria biblioteca. Para resolver o problema foi necessário alterar o código da biblioteca. Além dos problemas mecânicos apresentados, outro desafio foi mapear a posição angular em função do sinal de entrada como descrito na seção 3.1.3, pois cada motor (mesmo sendo da mesma marca) tem uma resposta ligeiramente diferente. Portanto foi necessário definir os limites mínimo e máximo para o tempo em nível lógico alto do sinal de controle de cada motor. O procedimento para resolver esse problema foi variar o sinal de entrada através de um potenciômetro e observar a resposta do motor, sua posição angular e a corrente consumida. Quando o pulso era muito largo ou muito estreito a corrente consumida aumentava e o motor ficava travado, indicando o fim de curso do motor. 5.2 OpenGL Apenas trabalhar com as instruções OpenGL já foi um desafio, pois este assunto não é abordado no curso de Engenharia de Computação e requer conhecimento prévio de como funciona uma placa de vídeo e a sua comunicação com o processador e memória do computador. Em linhas gerais a placa de vídeo tem um processador e memória dedicados para realizar cálculos de posicionamento de vértices, renderização de polígonos e preenchimentos de texturas, o que exige basicamente cálculos envolvendo matrizes de números reais. Assim as placas de

26 22 vídeo operam com processamento paralelo e conseguem realizar esses cálculos muito mais rápido que o processador, o único problema é a troca de dados entre o processador e a placa de vídeo, que é o gargalo para a velocidade de renderização de imagens na tela do computador. O problema que ocorreu no início do projeto foi que a cada vez que um ponto era calculado e desenhado havia uma chamada para a placa de vídeo, o processador e a placa ficavam trocando informações a cada operação de calcular um novo ponto e para manter os pontos anteriores na tela era necessário desenhálos novamente. Pode-se notar que com um número elevado de pontos há muito retrabalho desenhando os anteriores e mandando para a placa de vídeo. Assim o processador do computador ficava sobrecarregado por mandar informação para a placa de vídeo em uma frequência muito alta. A solução foi programar de modo mais eficiente a atualização dos pontos através da criação de um buffer que vai guardando gradualmente os pontos calculados e somente quando a tela é atualizada é que o vetor de pontos é mandado para a placa de vídeo. Dessa forma a placa já recebe um vetor com grande quantidade de pontos e os desenha de forma paralela, e só há nova comunicação entre a placa de vídeo e o processador quando a tela é atualizada, operação que ocorre com muito menos frequência que o cálculo de um novo ponto. 5.3 Sensor de Ultrassom Um problema foi ligar o sensor de ultrassom em paralelo com os motores, ou seja, usar o mesmo ponto de alimentação 5V. Isso gerou interferências na leitura do sensor, que provavelmente ficou descalibrado devido a oscilações nessa tensão de 5V.É bem provável que as oscilações foram geradas pelos motores, uma vez que esses dispositivos são conhecidos por gerarem ruído no circuito enquanto estão em operação. Para resolver esse problema o sensor foi conectado diretamente a saída de 5V do Arduino, enquanto que os motores foram conectados à fonte externa CC.

27 23 6 TESTES Após a implementação do hardware e o desenvolvimento do software foram realizados alguns testes para analisar se o funcionamento do dispositivo estaria de acordo com o esperado. Nesta seção é descrito o procedimento de cada teste realizado, os respectivos resultados encontrados e quais as medidas tomadas para solucionar eventuais problemas. 6.1 Ambiente de tamanho pequeno Primeiramente mapeamos pequenos objetos internamente, caixas de diversos tamanhos e um balde, para determinar se os pontos desenhados tomariam a forma dos objetos mapeados. Para caixas não obteve-se um bom resultado, provavelmente devido ao material de papelão. Para o balde o resultado ficou bom mesmo havendo alguns pontos discrepantes, provavelmente por causa da reverberação do som dentro do balde. A Figura 13 a seguir mostra o resultado do mapeamento. Figura 13: Objeto a ser mapeado e o resultado visto de dois ângulos diferentes. Fonte: autoria própria.

28 Ambiente de tamanho médio Agora testando o dispositivo em um ambiente um pouco maior o objetivo é avaliar situações em que podem ocorrer leituras erradas, visto que há mais possibilidades de reflexão do som emitido. No caso esse ambiente é a parte inferior de uma estante, como aparece na Figura 14 Figura 14: Fotos do local de tamanho médio a ser mapeado. Fonte: autoria própria. Figura 15: Resultado do mapeamento de tamanho médio na primeira posição. Fonte: autoria própria.

29 25 Figura 16: Resultado do mapeamento de tamanho médio na segunda posição. Fonte: autoria própria. Figura 17: Resultado do mapeamento de tamanho médio na terceira posição. Fonte: autoria própria.

30 26 Para essa situação foi necessário usar a função de movimentar o sensor no espaço, pois em apenas um ponto o mapeamento não era suficiente para detalhar o objeto. Nesse caso foram usados três pontos diferentes. É possível observar na Figura 16 e na Figura 17 que alguns pontos são desenhados no software como se estivessem atravessando a parede, em locais que não deveriam estar. Isso ocorre devido às reflexões que devido ao angulo que atingem o obstáculo, deveriam ser sinais perdidos, porém, acabam por atingir outro obstáculo mais distante e voltar para o sonar, causando uma leitura indesejada do sensor. 6.3 Ambiente de tamanho grande Neste último teste foi realizado um mapeamento do ambiente completo, mantendo o sensor fixo, para este caso usamos a menor variação angular possível, 1º, para gerar o maior número de pontos Fica evidente a distorção para objetos de grandes dimensões, como a parede do quarto e o guarda roupas, observando a Figura 20, em perspectiva, nota-se que o mapeamento tende a formar uma esfera, pois o sensor está analisando pontos próximos como se correspondessem a uma mesma distância. Apesar de o mapeamento distorcer os objetos e não ser possível detalhar muito superfícies irregulares, a disposição dos obstáculos no quarto fica bem próxima do real, e, portanto esse dispositivo poderia ser integrado a um sistema de navegação onde é preciso apenas saber se em determinada região existe um obstáculo. O local escolhido foi um quarto como aparece na Figura 18.

31 27 Figura 18: Planta do ambiente de tamanho grande. Fonte: autoria própria. Figura 19: Fotos do ambiente de tamanho grande a ser mapeado pelo dispositivo. Fonte: autoria própria.

32 Figura 20: Resultado do mapeamento de um ambiente de tamanho grande. Fonte: autoria própria. 28

33 Interpretação dos testes O sensor ideal seria um que fosse muito pontual e sempre medisse a distância exata em relação ao obstáculo independente da posição do sensor, infelizmente na prática esse tipo de sensor não existe. No caso do sensor de ultrassom a medição é angular, ou seja, uma onda sonora é emitida da fonte e pode atingir objetos dentro de um determinado ângulo de emissão, além disso, o sensor também detecta reflexões dentro de uma determinada faixa angular. A situação ideal para esse tipo de dispositivo é quando o objeto a ser medido está perpendicular com o sensor. Figura 21. Nesse caso o som refletido provém exatamente do ponto em que se deseja saber a distância. Porém quando o mapeador se movimenta o emissor fica inclinado em relação ao obstáculo e como o sensor detecta sempre a primeira onda sonora refletida a distância medida será diferente da desejada, como aparece na Figura 22 Portanto quando mapeador vai medir um objeto extenso esse objeto fica deformado, visto que enquanto o som refletido provém de um ponto dentro da faixa angular de emissão a distância detectada será sempre a mesma, no caso a menor. No caso do sensor utilizado,conforme a descrição do fabricante, o ângulo de medição é de 15º, portanto essa é a precisão do sensor, ou seja, o quão pontual ele pode ser. Quanto maior a amplitude angular de emissão menos pontual é o sensor e a deformação dos objetos é maior, o resultado é o que aparece nos mapeamentos, mostrando objetos arredondados. Conforme aparece na Figura 20 objetos mais distantes do sensor apresentam maior deformação. Figura 21: Representação da situação ideal para a leitura do sensor. Fonte: autoria própria.

34 30 Dependendo do tipo de ambiente o som pode refletir em vários objetos antes de voltar ao sensor e a distância medida será maior que a desejada, pois não necessariamente as ondas refletidas provêm do ponto em que o sensor está emitindo, essa situação é chamada de reflexão fantasma. Outra situação é quando o ângulo entre o objeto e o sensor faz com que o som refletido nunca chegue ao sensor, como aparece na Figura 22, gerando uma leitura inválida (zero ou fora de alcance). Figura 22: Representação de uma situação ruim para a leitura do sensor. Fonte: autoria própria. Uma forma de tratar essas leituras incorretas e filtrar pontos discrepantes seria utilizar um algoritmo de ocupação, que cria o mapa do ambiente integrando os dados coletados ao longo do tempo (Varveropoulus).De forma bem resumida, esse algoritmo atribui uma probabilidade de existir um obstáculo em cada ponto do espaço compreendido no mapa considerando que a emissão da onda sonora pode ser aproximada para um formato cônico. Inicialmente todos os pontos do mapa tem a mesma probabilidade de conter objetos ou não, então após várias medições ao mover o sensor no ambiente, cada ponto do mapa visto de diferentes ângulos passa a ter uma probabilidade maior ou menor de possuir algum objeto. Quanto maior o número de mapeamentos maior a probabilidade de o mapa gerado estar correto. Então a equipe adicionou no software a possibilidade de mover a referência de onde está sendo medida cada ponto. Assim, passou a ser possível a

35 31 movimentação do sensor para realizar medições de diferentes ângulos, desde que o usuário indicasse no software o quanto foi movimentado em cada eixo. Porém não possível a implementação do algoritmo de ocupação devido a sua complexidade e falta de tempo, visto que o problema foi detectado nas fases finais do projeto. Além disso, com todo o estudo sobre os sensores percebeu-se a importância de se escolher adequadamente um sensor que atenda as necessidades e seja viável. Como o objetivo era criar um dispositivo de baixo custo, não chegamos a testar um mapeamento com sensores de maior precisão.

36 32 7 CONCLUSÃO Apesar de cumprir os objetivos propostos o projeto teve um resultado abaixo do esperado, ou seja, a implementação de baixo custo, principalmente o sensor de ultrassom, comprometeu a precisão e a qualidade final do projeto, mesmo gerando uma nuvem de pontos passível de ser utilizada em aplicações de robótica e ainda ser possível processar os dados para melhorá-los o resultado final não ficou visualmente agradável, ocorreu muita distorção dos objetos mapeados. Devido a imprevistos e principalmente a inexperiência com hardware a equipe demorou muito para resolver problemas relativamente simples e acabou perdendo o foco do projeto. Mesmo que o software e o hardware pudessem ser desenvolvidos em paralelo ocorreram momentos em que toda a equipe concentrou-se em um problema a ser superado, dessa forma outras partes do projeto ficaram sem evoluir enquanto aquele determinado problema era trabalhado. Por exemplo: o software de mapeamento começou a ser desenvolvido antes da montagem do hardware, pois ainda não dispúnhamos das peças, então inicialmente o programa avançou bastante e ficou praticamente pronto, usamos pontos gerados arbitrariamente para testar o mapeamento, mas quando começamos a montar o hardware surgiram os problemas e o software ficou parado. Só voltamos a desenvolver o software na hora de integrar as partes do projeto e nesse momento não havia mais tempo para implementar todas as ideias iniciais. Independente do resultado do projeto a experiência adquirida durante o processo já valeu o esforço da equipe, pois este é o primeiro momento do curso em que aplicamos conhecimentos de várias disciplinas para integrar software e hardware com a finalidade de resolver um problema prático, ou seja, a implementação ou pelo menos a tentativa de realizar um projeto desse caráter é uma amostra da realidade que enfrentaremos no restante do curso e na vida profissional, portanto esse trabalho já serve para testar nossas habilidades como engenheiros. Além disso, o projeto, ainda que superficialmente, aborda o tema de computação gráfica e serve como uma introdução a essa área de estudo crescente. Pode-se dizer que esse trabalho não está esgotado, com algumas melhorias ele pode ser aproveitado em projetos futuros visto que se todas as ideias iniciais fossem implementadas o dispositivo se tornaria muito mais versátil e integrável com outras pospostas de robótica ou computação. Portanto esse projeto tem pleno

37 33 potencial de ser utilizado em conjunto com sistemas de mapeamento e navegação em ambientes pequenos, além de ser relativamente fácil de construir a um custo acessível para estudantes ou entusiastas de robótica e computação.

38 34 8 TRABALHOS FUTUROS PARA O PROJETO Ao longo do desenvolvimento do projeto o grupo teve diversas ideias para acrescentar. Porém devido a grande quantidade de imprevistos, não foi possível realizar todas as ideias. A seguir há uma lista com as ideias que poderiam ser implementadas no projeto: Utilizar mais de um sensor para aumentar o número de leituras por unidade de tempo; Software em Java controlar o comportamento dos motores (rotinas de mapeamento); Realizar algum tipo de processamento sobre a nuvem de pontos gerada, por exemplo: criar uma linha entre pontos que estejam a uma determinada distância um do outro. Estudo e escolha de um sensor mais eficiente para a aplicação Implementação do algoritmo de ocupação que utiliza probabilidade para interpretar mais eficientemente os dados recebidos pelo sensor. Integração do projeto com um robô móvel com odometria, fazendo com que a parte de movimentação seja autônoma

39 35 9 REFERÊNCIAS BIBLIOGRÁFICAS ARDUINO. (2013). Arduino UNO. Acesso em Agosto de 2013, disponível em CircuitsToday. (2013). CircuitsToday. Acesso em Agosto de 2013, disponível em Lirtex. (2013). Lirtex Thecnology on the edge of time. Acesso em Agosto de 2013, disponível em LWJGL. (2013). Lightweight Java Game Library. Acesso em Agosto de 2013, disponível em Margolis, M. (2011). Arduino Cookbook. O'Reilly media. OpenGl. (2013). OpenGl The Industry's Foundation for High Performance Graphics. Acesso em Agosto de 2013, disponível em ROSSUM. (2013). Rossum project. Acesso em Setembro de 2013, disponível em RXTX. (2013). RXTX Wiki. Acesso em Agosto de 2013, disponível em SANTOS. (s.d.). Santos, R. J. (2012). Matrizes, vetorres e geometria analítica. Belo Horizonte: Imprensa Universitária. SAWICZ, D. (s.d.). Hobby Servo Fundamentals. Fonte: Valkenburg, V. (1961). Sistemas síncronos e servomecanismos básicos (2 ed.). New York: Nooger & Nevile. Varveropoulus, V. (s.d.). Robot localization and Map Construction Using Sonar Data. Acesso em Setembro de 2013, disponível em The Rossum Project: Wikipedia. (2013). Point Cloud. Acesso em 09, disponível em Wikipedia: The Free Encyclopedia:

40 A. CRONOGRAMA 36

41 37 B. ORÇAMENTO Tabela 1: Orçamento do projeto. Fonte: Os autores Descrição Quantidade utilizada Preço total (R$) Servomotor TowerPro (MG995) 2 46,00 Arduino UNO 1 70,00 Sensor ultrassom (HCSR04) 1 20,00 Outros (parafusos, suporte madeira, fios e conectores) variada 10,00 TOTAL ,00 * Valores baseados em cotações da internet no ano de Fonte : <http://www.mercadolivre.com.br/>

42 38 C. CÓDIGO ARDUÍNO #include <Servo.h> #include <NewPing.h> #define TRIGGER_PIN 5 //pino utilizado para o trigger do sensor de ultrassom #define ECHO_PIN 6 // pino utilizado para o echo do sensor de ultrassom #define MAX_DISTANCE 500 // Maximum distance we want to ping for (in centimeters). //Maximum sensor distance is rated at cm. #define VARIACAO_HORIZONTAL 2 //determina a variação de ângulo horizontal #define VARIACAO_VERTICAL 5 //determina a variação de ângulo vertical NewPing sonar(trigger_pin, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance. Servo servohorizontal, servovertical; int horizontal = 0, vertical=0; int distancia = 0; boolean aumentaangulohorizontal = true; void setup() { servohorizontal.attach(9); // associa o pino 9 ao objeto do servo horizontal servovertical.attach(10); // associa o pino 9 ao objeto do servo vertical Serial.begin(115200); // Open serial monitor at baud to see ping results. } void loop() { servovertical.write(vertical); servohorizontal.write(horizontal); lersensor(horizontal,vertical); if(aumentaangulohorizontal == true) { horizontal += VARIACAO_HORIZONTAL; //incrementa o ângulo horizontal if(horizontal >= 180) //chegou no limite do servo horizontal { horizontal = 180; //evita valores maiores que 180 aumentaangulohorizontal = false; //muda o sentido do movimento if(vertical >= 180){ //chegou no limite do servo vertical vertical = 0; } else{ vertical += VARIACAO_VERTICAL; //incrementa o ângulo vertical } }

43 39 } } else { horizontal -= VARIACAO_HORIZONTAL; //decrementa o ângulo horizontal if(horizontal <= 0) //chegou no limite do servo horizontal { horizontal = 0; //evita valores negativos aumentaangulohorizontal = true; //muda o sentido do movimento if(vertical >= 180){//chegou no limite do servo vertical vertical = 0; } else{ vertical += VARIACAO_VERTICAL; //incrementa o ângulo vertical } } } void lersensor(int theta, int phi) { delay(30); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings. unsigned int us = sonar.ping(); // Send ping, get ping time in microseconds (us). distancia = us / US_ROUNDTRIP_CM; if(distancia!= 0)// verifica se teve medição válida { //envia para o computador os valores da distância medida e ângulos dos servos por comunicação serial Serial.println(String(distancia)+"#"+String(theta)+"#"+String(phi)); } }

44 40 D. RELATÓRIO DE REUNIÕES Data: 03/07/2013 Atividades Desenvolvidas: Testes com Arduino (sensor distância). Testa da comunicação serial do Arduino para Java. Pesquisas sobre comunicação serial e desenvolvimento 3D em Java Pesquisas de preço dos componentes (servomotor e sensor ultrassom). Próximas atividades: Testar o servo motor e o sensor de ultrassom. Programação de um ambiente 3D(testes com pontos aleatórios). Data: 10/07/2013 Atividades Desenvolvidas: Reunião com o orientador da equipe: o Apresentação de soluções para o mecanismo rotativo onde o sensor de ultrassom será acoplado. o Sugestão de modo de calibração utilizando um laser centralizado junto com o sensor para visualizar o local onde está ocorrendo a medição. o Discussão da possibilidade de usar formas para minimizar os erros e os buracos entre os pontos medidos, usando ferramentas matemáticas como probabilidade ou se aproveitar da imprecisão dos servomotores para plotar mais de um ponto na mesma posição. Testes com a distância medida pelo sonar, sendo que este mostrou resultados bons com apenas algumas medições discrepantes. Testes do ultrassom utilizando o osciloscópio. Pesquisa sobre a ferramenta OpenGL. Próximas atividades: Começo da programação de um ambiente 3D utilizando OpenGL. Elaboração de uma base para o acoplamento do sensor no mecanismo rotativo. Data: 31/07/2013 Atividades Desenvolvidas: Definição do modelo do dispositivo físico no SketchUp. Definição das ferramentas e bibliotecas utilizadas para o desenvolvimento do software. Instalação das ferramentas e bibliotecas utilizadas para o desenvolvimento do software nos computadores da equipe. Reconhecimento das diretrizes para a confecção do relatório de acompanhamento. Obtenção dos materiais para confecção do dispositivo físico. Próximas atividades: Confeccionar as partes necessárias para o dispositivo físico. Redigir o relatório de progresso. Desenvolver método para transformar coordenadas esféricas em coordenadas retangulares.

45 41 Data: 07/08/2013 Atividades Desenvolvidas: Testes controlando o servo motor com o Arduino Tentativa de corrigir a falha detectada no servo Elaboração da base de acoplamento do dispositivo Elaboração do relatório de progresso Próximas atividades: Arrumar o servo motor para que tenha condições de uso no projeto, ou comprar um novo se for o caso. Redigir o relatório de progresso Otimizar o processo de desenho de imagens no software Testar distância de alcance do sensor Data: 14/08/2013 Atividades Desenvolvidas: Tentativa de corrigir a falha detectada no servo Elaboração do relatório de progresso Verificação do raio de alcance do sensor de ultrassom Próximas atividades: Montar o dispositivo com os novos servos Otimizar o processo de desenho de imagens no software Começar o desenvolvimento do software definitivo Data: 28/08/2013 Atividades Desenvolvidas: Teste do dispositivo montado o Debug do software o Solução de problemas dos servos o Solução de problemas do sensor Discussão da ideia de fazer uma PCI para facilitar a montagem Reunião com o orientador para discussões sobre o dispositivo e relatório Próximas atividades: Elaborar o projeto do PCI e executá-lo Elaboração dos cabos necessários Data: 04/09/2013 Atividades Desenvolvidas:

46 42 Elaboração dos cabos Elaboração da PCI Detectado problemas com o atual esquema da PCI Discussão de ideias para resolver os problemas do sensor Próximas atividades: Refazer o projeto da PCI Resolver os problemas detectados com os servos e o sensor Data: 11/09/2013 Atividades Desenvolvidas: Discussão e solução com o professor sobre o problema com os servos Descobrimento do problema com a biblioteca Servo.h do arduino Próximas atividades: Elaborar a monografia final Testar o software junto com o dispositivo Solucionar o problema do servo

O USO DE UM SENSOR DE LUZ LINEAR COMO RECURSO DIDÁTICO PARA DEMONSTRAR PRINCÍPIOS DE DIFRAÇÃO E ESPECTROSCOPIA

O USO DE UM SENSOR DE LUZ LINEAR COMO RECURSO DIDÁTICO PARA DEMONSTRAR PRINCÍPIOS DE DIFRAÇÃO E ESPECTROSCOPIA Quim. Nova, Vol. 38, No. 3, S1-S6, 2015 O USO DE UM SENSOR DE LUZ LINEAR COMO RECURSO DIDÁTICO PARA DEMONSTRAR PRINCÍPIOS DE DIFRAÇÃO E ESPECTROSCOPIA Fernando Arruda Mendes de Oliveira a,b, Eduardo Ribeiro

Leia mais

R O B Ó T I C A. Sensor Smart. Seguidor de Linha. Versão Hardware: 1.0 Versão Firmware: 2.0 REVISÃO 1211.19. www.robouno.com.br

R O B Ó T I C A. Sensor Smart. Seguidor de Linha. Versão Hardware: 1.0 Versão Firmware: 2.0 REVISÃO 1211.19. www.robouno.com.br R O B Ó T I C A Sensor Smart Seguidor de Linha Versão Hardware: 1.0 Versão Firmware: 2.0 REVISÃO 1211.19 Sensor Smart Seguidor de Linha 1. Introdução Os sensores seguidores de linha são sensores que detectam

Leia mais

R O B Ó T I C A. Sensor Smart. Ultrassom. Versão Hardware: 1.0 Versão Firmware: 1.0 REVISÃO 1211.13. www.robouno.com.br

R O B Ó T I C A. Sensor Smart. Ultrassom. Versão Hardware: 1.0 Versão Firmware: 1.0 REVISÃO 1211.13. www.robouno.com.br R O B Ó T I C A Sensor Smart Ultrassom Versão Hardware: 1.0 Versão Firmware: 1.0 REVISÃO 1211.13 Sensor Smart Ultrassom 1. Introdução Os sensores de ultrassom ou ultrassônicos são sensores que detectam

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CÂMPUS CURITIBA CURSO DE ENGENHARIA DE COMPUTAÇÃO

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CÂMPUS CURITIBA CURSO DE ENGENHARIA DE COMPUTAÇÃO 0 PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CÂMPUS CURITIBA CURSO DE ENGENHARIA DE COMPUTAÇÃO PROJETO INTEGRADO: COBERTURA AUTOMATIZADA COM DETECTOR DE CHUVA CURITIBA 2010 1 TAISA DAIANA DA COSTA PROJETO

Leia mais

SISTEMA INTELIGENTE DE NAVEGAÇÃO E LOCALIZAÇÃO DE ROBÔS MÓVEIS

SISTEMA INTELIGENTE DE NAVEGAÇÃO E LOCALIZAÇÃO DE ROBÔS MÓVEIS SISTEMA INTELIGENTE DE NAVEGAÇÃO E LOCALIZAÇÃO DE ROBÔS MÓVEIS Aluno: Lucas Grativol Ribeiro Orientador: Karla Tereza Figueiredo Leite Introdução As aplicações da robótica fora do contexto industrial têm

Leia mais

Servo Motores. Jener Toscano Lins e Silva

Servo Motores. Jener Toscano Lins e Silva Governo do Estado de Pernambuco Secretaria de Educação Secretaria Executiva de Educação Profissional Escola Técnica Estadual Professor Agamemnon Magalhães ETEPAM Servo Motores Jener Toscano Lins e Silva

Leia mais

Encoder de Quadratura

Encoder de Quadratura R O B Ó T I C A Sensor Smart de Quadratura Versão Hardware:. Versão Firmware: 2. REVISÃO 2.9 Sensor Smart de Quadratura. Introdução Os encoders são equipamentos utilizados para converter movimentos rotativos

Leia mais

Título: Controle de um sistema Bola- Barra com realimentação através de imagem

Título: Controle de um sistema Bola- Barra com realimentação através de imagem Título: Controle de um sistema Bola- Barra com realimentação através de imagem Autores: Caio Felipe Favaretto, Henrique Corrêa Ramiro, Rômulo de Oliveira Souza e Marcelo Barboza Silva Professor orientador:

Leia mais

TÍTULO: BRAÇO MECÂNICO AUTOMATIZADO USANDO UM CONTROLADOR ARDUINO GUIADO POR UM SENSOR DE COR RGB

TÍTULO: BRAÇO MECÂNICO AUTOMATIZADO USANDO UM CONTROLADOR ARDUINO GUIADO POR UM SENSOR DE COR RGB TÍTULO: BRAÇO MECÂNICO AUTOMATIZADO USANDO UM CONTROLADOR ARDUINO GUIADO POR UM SENSOR DE COR RGB CATEGORIA: CONCLUÍDO ÁREA: ENGENHARIAS E ARQUITETURA SUBÁREA: ENGENHARIAS INSTITUIÇÃO: CENTRO UNIVERSITÁRIO

Leia mais

Trabalho GA - Editor de Cenário Parallax

Trabalho GA - Editor de Cenário Parallax Objetivo A tarefa consiste em criar um editor gráfico de cenários para jogos 2D com visão lateral. O editor deve permitir que o usuário trabalhe com camadas, para simular o efeito parallax. O usuário pode

Leia mais

Servos - Analo gicos e Digitais - Funcionamento, uso e diferenças entre eles!

Servos - Analo gicos e Digitais - Funcionamento, uso e diferenças entre eles! Servos - Analo gicos e Digitais - Funcionamento, uso e diferenças entre eles! É importante lembrar que esta matéria serve para qualquer tipo de servo utilizado em aeromodelismo. Figura 1 Um dos diversos

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

5 Sistema Experimental

5 Sistema Experimental 5 Sistema Experimental Este capitulo apresenta o sistema experimental utilizado e é composto das seguintes seções: - 5.1 Robô ER1: Descreve o robô utilizado. É dividida nas seguintes subseções: - 5.1.1

Leia mais

Manual de utilização do programa

Manual de utilização do programa PCIToGCode Manual de utilização do programa PCIToGCode O PCITOGCODE é um aplicativo desenvolvido para converter imagem de uma placa de circuito impresso em um arquivo de códigos G. Com o arquivo de códigos

Leia mais

DESENVOLVIMENTO DE UM SISTEMA DE OBTENÇÃO DE DADOS PARA CALIBRAÇÃO DE CENTRAIS INERCIAIS

DESENVOLVIMENTO DE UM SISTEMA DE OBTENÇÃO DE DADOS PARA CALIBRAÇÃO DE CENTRAIS INERCIAIS DESENVOLVIMENTO DE UM SISTEMA DE OBTENÇÃO DE DADOS PARA CALIBRAÇÃO DE CENTRAIS INERCIAIS Aluno: Pedro Schuback Chataignier Orientador: Mauro Speranza Neto Introdução O projeto, iniciado em 2013, visa desenvolver

Leia mais

Tutorial de Computação Robô Bípede Programa de Controle em Delphi v2010.10

Tutorial de Computação Robô Bípede Programa de Controle em Delphi v2010.10 Tutorial de Computação Robô Bípede Programa de Controle em Delphi v2010.10 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina PR Brasil

Leia mais

Sensores e Atuadores (1)

Sensores e Atuadores (1) (1) 4º Engenharia de Controle e Automação FACIT / 2009 Prof. Maurílio J. Inácio Introdução Sensores Fornecem parâmetros sobre o comportamento do manipulador, geralmente em termos de posição e velocidade

Leia mais

Controle Inteligente de Robôs Móveis Autônomos utilizando Sistemas Inteligentes

Controle Inteligente de Robôs Móveis Autônomos utilizando Sistemas Inteligentes Controle Inteligente de Robôs Móveis Autônomos utilizando Sistemas Inteligentes Aluno: Gabriel Lins Tenório Orientadoras: Roxana Jiménez e Marley Rebuzzi Vellasco Introdução A aplicação de robôs móveis

Leia mais

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada.

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada. Editor de Ladder para VS7 Versão Teste O editor de ladder é um software de programação que permite que o VS7 e o µsmart sejam programados em linguagem de contatos. Esse editor está contido na pasta Público

Leia mais

Pontifícia Universidade Católica do Paraná. Claudio Roberto Ferretto Junior. Éric Guimarães Zeni. Jub Gomes da Costa WINDOWS X.

Pontifícia Universidade Católica do Paraná. Claudio Roberto Ferretto Junior. Éric Guimarães Zeni. Jub Gomes da Costa WINDOWS X. Pontifícia Universidade Católica do Paraná Claudio Roberto Ferretto Junior Éric Guimarães Zeni Jub Gomes da Costa WINDOWS X Curitiba 2013 Claudio Roberto Ferretto Junior Éric Guimarães Zeni Jub Gomes da

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

CIRCUITO PARA MEDIÇÃO DE CORRENTES ELEVADAS

CIRCUITO PARA MEDIÇÃO DE CORRENTES ELEVADAS UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA ELÉTRICA DISCIPLINA: INSTRUMENTAÇÃO ELETRÔNICA PROFESSOR: LUCIANO FONTES CAVALCANTI CIRCUITO PARA MEDIÇÃO DE

Leia mais

EXPERIÊNCIA 5 OSCILOSCÓPIO DIGITAL

EXPERIÊNCIA 5 OSCILOSCÓPIO DIGITAL EXPERIÊNCIA 5 OSCILOSCÓPIO DIGITAL 1. INTRODUÇÃO TEÓRICA 1.1 VERIFICAÇÃO FUNCIONAL Esta rápida verificação deve ser executada para comprovar se o instrumento está funcionando corretamente. Ligue o instrumento

Leia mais

O Laboratório de Garagem

O Laboratório de Garagem Oficina de Robótica O Laboratório de Garagem O Laboratório de Garagem foi fundado em 2010 e tem como proposta ser uma iniciativa voltada para a integração, colaboração e apoio aos desenvolvedores independentes

Leia mais

OpenGL. Uma Abordagem Prática e Objetiva. Marcelo Cohen Isabel Harb Manssour. Novatec Editora

OpenGL. Uma Abordagem Prática e Objetiva. Marcelo Cohen Isabel Harb Manssour. Novatec Editora OpenGL Uma Abordagem Prática e Objetiva Marcelo Cohen Isabel Harb Manssour Novatec Editora Capítulo 1 Introdução A Computação Gráfica é uma área da Ciência da Computação que se dedica ao estudo e ao desenvolvimento

Leia mais

Projeto de controle e Automação de Antena

Projeto de controle e Automação de Antena Projeto de controle e Automação de Antena Wallyson Ferreira Resumo expandido de Iniciação Tecnológica PUC-Campinas RA: 13015375 Lattes: K4894092P0 wallysonbueno@gmail.com Omar C. Branquinho Sistemas de

Leia mais

Pontifícia Universidade Católica do Paraná - PUCPR. Centro de Ciências Exatas e Tecnologia - CCET. Engenharia de Computação

Pontifícia Universidade Católica do Paraná - PUCPR. Centro de Ciências Exatas e Tecnologia - CCET. Engenharia de Computação Pontifícia Universidade Católica do Paraná - PUCPR Centro de Ciências Exatas e Tecnologia - CCET Engenharia de Computação Jean Carlo Ferreira Tambosi Raul Silva Donato Victor Henrique Alves Ribeiro Gerador

Leia mais

UMC Inventor 8 Procedimento para criação de um modelo de peça paramétrica simples projeto Projeto.

UMC Inventor 8 Procedimento para criação de um modelo de peça paramétrica simples projeto Projeto. UMC - Tecnologia de Automação Industrial Desenho 3 Prof.: Jorge Luis Bazan. Modulo 2 Inventor 8 Procedimento para criação de um modelo de peça paramétrica simples a) Defina um novo projeto para conter

Leia mais

Potenciometer [Potenciômetro] - Ligado ao eixo de saída do servo, monitora a posição do mesmo.

Potenciometer [Potenciômetro] - Ligado ao eixo de saída do servo, monitora a posição do mesmo. Servomotores Este pequeno tutorial tem como finalidade auxiliar no entendimento de um dos componentes básico utilizados na construção de robôs móveis. www.sumoderobos.org Compilado por André Santos Agosto

Leia mais

Universidade Federal do Rio de Janeiro NCE/PGTIAE. Tutorial SweetHome3D

Universidade Federal do Rio de Janeiro NCE/PGTIAE. Tutorial SweetHome3D Universidade Federal do Rio de Janeiro NCE/PGTIAE Tutorial SweetHome3D Trabalho apresentado ao Prof. Carlo na Disciplina de Software Livre no curso Pós Graduação em Tecnologia da Informação Aplicada a

Leia mais

MANUAL DO USUÁRIO ARENA 13 CONTROL CENTER

MANUAL DO USUÁRIO ARENA 13 CONTROL CENTER 1 MANUAL DO USUÁRIO ARENA 13 CONTROL CENTER 2 TERMO DE CONFIDENCIALIDADE As informações contidas neste documento são confidenciais e se constituem em propriedade da BLOCKSAT SISTEMAS DE SEGURANÇA LTDA

Leia mais

Roteiro para preparação de proposta de Trabalhos Técnico-Científicos

Roteiro para preparação de proposta de Trabalhos Técnico-Científicos 1 Roteiro para preparação de proposta de Trabalhos Técnico-Científicos Prof. Valdemir Carrara www.valcar.net www.carrara.us 2 1 INTRODUÇÃO Na introdução deve-se descrever os objetivos principais do trabalho

Leia mais

Criando seu primeiro programa: Ao abrir o software, ele já está pronto para começar a programar:

Criando seu primeiro programa: Ao abrir o software, ele já está pronto para começar a programar: Criando seu primeiro programa: Ao abrir o software, ele já está pronto para começar a programar: Após inserir funções, os códigos aparecerão na lateral esquerda: Assim que seu programa estiver pronto,

Leia mais

INTRODUÇÃO À TECNOLOGIA TOUCH SCREEN

INTRODUÇÃO À TECNOLOGIA TOUCH SCREEN INTRODUÇÃO À TECNOLOGIA TOUCH SCREEN Eduardo Reis Tomiassi¹, Wyllian Fressatti 2 1 Universidade Paranaense (Unipar) Paranavaí -Paraná- Brasil tomiassi88@hotmail.com, wyllian@unipar.br Resumo: Neste trabalho

Leia mais

Conceitos básicos do

Conceitos básicos do Conceitos básicos Conceitos básicos do Este artigo descreve os conceitos de memória eletrônica. Apresentar os conceitos básicos dos flip-flops tipo RS, JK, D e T, D Apresentar o conceito da análise de

Leia mais

EduBOT: Protótipo de uma plataforma robótica para educação através da Metareciclagem

EduBOT: Protótipo de uma plataforma robótica para educação através da Metareciclagem EduBOT: Protótipo de uma plataforma robótica para educação através da Metareciclagem Carlos S. S. Guimarães, Henrique P. Maurer Departamento das Engenharias e Ciência da Computação Universidade Regional

Leia mais

ateliê ateliê ateliê ateliê ateliê ateliê ateliê ateliê ateliê ateliê ateliê REALIDADE VIRTUAL NA ARQUITETURA José Luís Farinatti Aymone

ateliê ateliê ateliê ateliê ateliê ateliê ateliê ateliê ateliê ateliê ateliê REALIDADE VIRTUAL NA ARQUITETURA José Luís Farinatti Aymone 2004 142 ARQTEXTO 5 A REALIDADE VIRTUAL NA ARQUITETURA José Luís Farinatti Aymone O uso do projeto auxiliado por computador (CAD) em arquitetura é cada vez mais corrente, através do projeto 2D e 3D de

Leia mais

Microcontrolador Modelix 3.6

Microcontrolador Modelix 3.6 Curso de Robótica 1 Curso de Robótica Introdução à robótica O desenvolvimento da robótica surgiu da necessidade de se aperfeiçoar processos de fabricação, no sentido de melhorar a qualidade dos produtos.

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Controle para Motores de Passo usando módulo USB-6008

Controle para Motores de Passo usando módulo USB-6008 Departamento de Física e Ciência dos Materiais Caixa Postal 369-13560-970 São Carlos SP Brasil e-mail : andretec@ifsc.usp.br Controle para Motores de Passo usando módulo USB-6008 Introdução Neste projeto

Leia mais

ACENDENDO AS LUZES. Capitulo 2 - Aula 1 Livro: Arduino básico Tutor: Wivissom Fayvre

ACENDENDO AS LUZES. Capitulo 2 - Aula 1 Livro: Arduino básico Tutor: Wivissom Fayvre ACENDENDO AS LUZES Capitulo 2 - Aula 1 Livro: Arduino básico Tutor: Wivissom Fayvre Projeto 1 LED piscante Neste capitulo, todos os projetos utilizam luzes LED s de diversas formas. Em relação ao hardware,

Leia mais

Linha de Módulos de Comando

Linha de Módulos de Comando RKM SISTEMAS DE AUTOMAÇÃO E CONTROLE LTDA. Rua Catão Coelho, 215 PORTO ALEGRE RS Fone: (51) 3029-3250 www.rkmautomacao.com.br Linha de Módulos de Comando RKM Aurora MANUAL DE CONFIGURAÇÃO Rev. 1.0 Abril

Leia mais

Programação de Robótica: Modo Circuitos Programados - Avançado -

Programação de Robótica: Modo Circuitos Programados - Avançado - Programação de Robótica: Modo Circuitos Programados - Avançado - 1 Programação de Robótica: Modo Circuitos Programados - Avançado ATENÇÃO Lembramos que você poderá consultar o Manual de Referência do Software

Leia mais

Funções de Posicionamento para Controle de Eixos

Funções de Posicionamento para Controle de Eixos Funções de Posicionamento para Controle de Eixos Resumo Atualmente muitos Controladores Programáveis (CPs) classificados como de pequeno porte possuem, integrados em um único invólucro, uma densidade significativa

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO COM ROBÔS LEGO

INTRODUÇÃO À PROGRAMAÇÃO COM ROBÔS LEGO RAYNER DE MELO PIRES ANA PAULA SUZUKI ANDRÉ REIS DE GEUS GABRIELA QUIRINO PEREIRA SALVIANO LUDGÉRIO FELIPE GOMES INTRODUÇÃO À PROGRAMAÇÃO COM ROBÔS LEGO JULHO DE 2010 SUMÁRIO 1 O que é o NXT?...4 2 Explicando

Leia mais

Conjunto Sensor IR Para quem tem fome de vencer

Conjunto Sensor IR Para quem tem fome de vencer Conjunto Sensor IR Para quem tem fome de vencer Introdução: Muito obrigado por adquirir este produto. Ele foi projetado de forma a oferecer a melhor performance possível dentro de sua aplicação. Fornecemos

Leia mais

Minicurso Arduino JACEE 2012

Minicurso Arduino JACEE 2012 Minicurso Arduino JACEE 2012 1. Introdução O que é o Arduino? Arduino é uma plataforma de prototipagem eletrônica criado com o objetivo de permitir o desenvolvimento de controle de sistemas interativos,

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Hardware e Software. Professor: Felipe Schneider Costa. felipe.costa@ifsc.edu.br

Hardware e Software. Professor: Felipe Schneider Costa. felipe.costa@ifsc.edu.br Hardware e Software Professor: Felipe Schneider Costa felipe.costa@ifsc.edu.br Agenda Hardware Definição Tipos Arquitetura Exercícios Software Definição Tipos Distribuição Exercícios 2 Componentesde um

Leia mais

Microcontrolador Arduino: Aplicação em controle PI

Microcontrolador Arduino: Aplicação em controle PI Ministério da Educação Universidade Tecnológica Federal do Paraná Campus Cornélio Procópio Coordenação de Eletrotécnica Microcontrolador Arduino: Aplicação em controle PI Autor: Prof. Alessandro N. Vargas

Leia mais

Tutorial de Computação Programação em Java para MEC1100 v2010.10

Tutorial de Computação Programação em Java para MEC1100 v2010.10 Tutorial de Computação Programação em Java para MEC1100 v2010.10 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina PR Brasil http://www.maxwellbohr.com.br

Leia mais

4 Orbitais do Átomo de Hidrogênio

4 Orbitais do Átomo de Hidrogênio 4 Orbitais do Átomo de Hidrogênio A aplicação mais intuitiva e que foi a motivação inicial para desenvolver essa técnica é a representação dos orbitais do átomo de hidrogênio que, desde então, tem servido

Leia mais

Realidade Virtual e Aumentada Bruno Madeira Luiz Velho (orientador) Technical Report TR-10-01 Relatório Técnico. January - 10 - Janeiro

Realidade Virtual e Aumentada Bruno Madeira Luiz Velho (orientador) Technical Report TR-10-01 Relatório Técnico. January - 10 - Janeiro Laboratório VISGRAF Instituto de Matemática Pura e Aplicada Realidade Virtual e Aumentada Bruno Madeira Luiz Velho (orientador) Technical Report TR-10-01 Relatório Técnico January - 10 - Janeiro The contents

Leia mais

AULA 3 Ferramentas de Análise Básicas

AULA 3 Ferramentas de Análise Básicas 3.1 AULA 3 Ferramentas de Análise Básicas Neste capítulo serão apresentadas algumas ferramentas de análise de dados com representação vetorial disponíveis no TerraView. Para isso será usado o banco de

Leia mais

6 Conclusões e Trabalhos futuros 6.1. Conclusões

6 Conclusões e Trabalhos futuros 6.1. Conclusões 6 Conclusões e Trabalhos futuros 6.1. Conclusões Neste trabalho estudou-se o comportamento do sistema que foi denominado pendulo planar com a adição de uma roda de reação na haste do pendulo composta de

Leia mais

VEÍCULO CONTROLADO POR ARDUINO ATRAVÉS DO SISTEMA OPERACIONAL ANDROID

VEÍCULO CONTROLADO POR ARDUINO ATRAVÉS DO SISTEMA OPERACIONAL ANDROID VEÍCULO CONTROLADO POR ARDUINO ATRAVÉS DO SISTEMA OPERACIONAL ANDROID André Luis Fadinho Portante¹, Wyllian Fressatti¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil andreportante@gmail.com, wyllian@unipar.br

Leia mais

Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas NCET Engenharia da Computação

Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas NCET Engenharia da Computação Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas NCET Engenharia da Computação MINI OSCILOSCÓPIO DIGITAL PORTÁTIL BASEADO EM MICROCONTROLADOR PIC Curitiba 2004 1 Ederson

Leia mais

SISTEMA DE RASTREIO ÓPTICO

SISTEMA DE RASTREIO ÓPTICO SISTEMA DE RASTREIO ÓPTICO 1 SISTEMA DE RASTREIO ÓPTICO VISÃO GERAL O Sistema de Rastreio Óptico, ou simplesmente SISROT, foi desenvolvido com o objetivo de rastrear foguetes nos primeiros instantes de

Leia mais

Multimedidores Inteligentes MGE G3 Modo de uso do software IBIS_BE_cnf. ABB Automação. Hartmann & Braun

Multimedidores Inteligentes MGE G3 Modo de uso do software IBIS_BE_cnf. ABB Automação. Hartmann & Braun Multimedidores Inteligentes MGE G3 Modo de uso do software IBIS_BE_cnf ABB Automação Hartmann & Braun Índice 1. IBIS_BE_CNF - DEFINIÇÃO... 3 2. INSTALAÇÃO... 3 2.1. PRÉ-REQUISITOS PARA INSTALAÇÃO... 3

Leia mais

Notas de Aplicação. Utilizando ZAP500 com. Encoders. HI Tecnologia. Documento de acesso publico / corporativo

Notas de Aplicação. Utilizando ZAP500 com. Encoders. HI Tecnologia. Documento de acesso publico / corporativo Notas de Aplicação Utilizando ZAP500 com Encoders HI Tecnologia Documento de acesso publico / corporativo ENA.00015 Versão 1.01 dezembro-2013 HI Tecnologia Utilizando ZAP500 com Encoders Apresentação Esta

Leia mais

1 Fibra Óptica e Sistemas de transmissão ópticos

1 Fibra Óptica e Sistemas de transmissão ópticos 1 Fibra Óptica e Sistemas de transmissão ópticos 1.1 Introdução Consiste em um guia de onda cilíndrico, conforme ilustra a Figura 1, formado por núcleo de material dielétrico (em geral vidro de alta pureza),

Leia mais

CAPÍTULO 1 INTRODUÇÃO

CAPÍTULO 1 INTRODUÇÃO 1 CAPÍTULO 1 INTRODUÇÃO O computador não é uma máquina interessante se não pudermos interagir com ela. Fazemos isso através de suas interfaces e seus periféricos. Como periféricos serão considerados os

Leia mais

Sensoriamento 55. Este capítulo apresenta a parte de sensores utilizados nas simulações e nos

Sensoriamento 55. Este capítulo apresenta a parte de sensores utilizados nas simulações e nos Sensoriamento 55 3 Sensoriamento experimentos. Este capítulo apresenta a parte de sensores utilizados nas simulações e nos 3.1. Sensoriamento da Simulação O modelo de robô utilizado neste trabalho é o

Leia mais

SOFTWARE DE INTERNET PARA DEFICIENTES VISUAIS

SOFTWARE DE INTERNET PARA DEFICIENTES VISUAIS SOFTWARE DE INTERNET PARA DEFICIENTES VISUAIS Aluno: Bruno Levy Fuks Orientador: Marcos da Silveira Introdução No Brasil, é evidente o pouco comprometimento da sociedade com o deficiente. Para se ter uma

Leia mais

Curso Automação Industrial Aula 2 Estrutura e características Gerais dos Robôs. Prof. Giuliano Gozzi Disciplina: CNC - Robótica

Curso Automação Industrial Aula 2 Estrutura e características Gerais dos Robôs. Prof. Giuliano Gozzi Disciplina: CNC - Robótica Curso Automação Industrial Aula 2 Estrutura e características Gerais dos Robôs Prof. Giuliano Gozzi Disciplina: CNC - Robótica Cronograma Introdução a Robótica Estrutura e Características Gerais dos Robôs

Leia mais

Técnicas para interação de computador de bordo com dispositivo móvel usando tecnologia bluetooth

Técnicas para interação de computador de bordo com dispositivo móvel usando tecnologia bluetooth Técnicas para interação de computador de bordo com dispositivo móvel usando tecnologia bluetooth João Paulo Santos¹, Wyllian Fressaty¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil Jpsantos1511@gmail.com,

Leia mais

O Programa. Construir o ambiente. Acesso ao programa

O Programa. Construir o ambiente. Acesso ao programa Manual de Uso 1 O Programa O Tok3D é uma ferramenta para realização de projetos de decoração empregando recursos avançados de modelagem 3D. Desenvolvido na plataforma gráfica Unity um aplicativo baixado

Leia mais

RECONHECIMENTO DE VOZ UTILIZANDO ARDUINO

RECONHECIMENTO DE VOZ UTILIZANDO ARDUINO RECONHECIMENTO DE VOZ UTILIZANDO ARDUINO Jessica Garcia Luz, Wyllian Fressatti Universidade Paranaense (Unipar) Paranavaí - PR - Brasil jessica.garcia.luz@gmail.com wyllian@unipar.br Resumo. Este artigo

Leia mais

Microsoft Excel 2000. Alan Cleber Borim - alan.borim@poli.usp.br. http://www.pcs.usp.br/~alan

Microsoft Excel 2000. Alan Cleber Borim - alan.borim@poli.usp.br. http://www.pcs.usp.br/~alan Microsoft Excel 2000 Alan Cleber Borim - alan.borim@poli.usp.br http://www.pcs.usp.br/~alan Microsoft Índice 1.0 Microsoft Excel 2000 3 1.1 Acessando o Excel 3 1.2 Como sair do Excel 3 1.3 Elementos da

Leia mais

Convertendo um servo motor RC em um dispositivo de tração para micro-robôs

Convertendo um servo motor RC em um dispositivo de tração para micro-robôs Convertendo um servo motor RC em um dispositivo de tração para micro-robôs Roberto Fernandes Tavares Filho Centro Tecnológico Para Informática Vice-presidente executivo da FIRA Todos aqueles que já se

Leia mais

SENSOR DE VELOCIDADE Hudson Pinheiro de Andrade

SENSOR DE VELOCIDADE Hudson Pinheiro de Andrade UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA ELÉTRICA INSTRUMENTAÇÃO ELETRÔNICA PROFESSOR: LUCIANO CAVALCANTI SENSOR DE VELOCIDADE Hudson Pinheiro de Andrade

Leia mais

Eletrônicos PAE. Componente Curricular: Práticas de Acionamentos. 5.ª Prática Inversor de Frequência Vetorial da WEG CFW-08

Eletrônicos PAE. Componente Curricular: Práticas de Acionamentos. 5.ª Prática Inversor de Frequência Vetorial da WEG CFW-08 1 Componente Curricular: Práticas de Acionamentos Eletrônicos PAE 5.ª Prática Inversor de Frequência Vetorial da WEG CFW-08 OBJETIVO: 1) Efetuar a programação por meio de comandos de parametrização para

Leia mais

Seleção Retangular Esta é uma das ferramentas mais usadas. A seleção será indicada pelas linhas tracejadas que fazem a figura de um retângulo.

Seleção Retangular Esta é uma das ferramentas mais usadas. A seleção será indicada pelas linhas tracejadas que fazem a figura de um retângulo. O que é o Gimp? O GIMP é um editor de imagens e fotografias. Seus usos incluem criar gráficos e logotipos, redimensionar fotos, alterar cores, combinar imagens utilizando o paradigma de camadas, remover

Leia mais

CONTROLE DE UM SERVO MOTOR

CONTROLE DE UM SERVO MOTOR CONTROLE DE UM SERVO MOTOR Versão 2014 RESUMO Esta experiência tem como objetivo a familiarização e o projeto de um circuito de controle simples de um servo motor. A parte experimental inclui atividades

Leia mais

Tutorial de Computação Programação em Python para MEC1100 v2010.11

Tutorial de Computação Programação em Python para MEC1100 v2010.11 Tutorial de Computação Programação em Python para MEC1100 v2010.11 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina PR Brasil http://www.maxwellbohr.com.br

Leia mais

6. Geometria, Primitivas e Transformações 3D

6. Geometria, Primitivas e Transformações 3D 6. Geometria, Primitivas e Transformações 3D Até agora estudamos e implementamos um conjunto de ferramentas básicas que nos permitem modelar, ou representar objetos bi-dimensionais em um sistema também

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

3B SCIENTIFIC PHYSICS

3B SCIENTIFIC PHYSICS 3B SCIENTIFIC PHYSICS Conjunto para microondas 9,4 GHz (230 V, 50/60 Hz) Conjunto para microondas 10,5 GHz (115 V, 50/60 Hz) 1009950 (115 V, 50/60 Hz) 1009951 (230 V, 50/60 Hz) Instruções de operação 10/15

Leia mais

PROJETO DE PLACAS DE CIRCUITO IMPRESSO

PROJETO DE PLACAS DE CIRCUITO IMPRESSO PROJETO DE PLACAS DE CIRCUITO IMPRESSO COM O SOFTWARE EAGLE 2 A PARTE: O SOFTWARE EAGLE EWALDO LUIZ DE MATTOS MEHL DEPARTAMENTO DE ENGENHARIA ELÉTRICA UNIVERSIDADE FEDERAL DO PARANÁ Esta obra é licenciada

Leia mais

Ambientes Inteligentes

Ambientes Inteligentes Ambientes Inteligentes APRESENTAÇÃO Com a grande inovação tecnológica e a evidente demanda por segurança e comodidade, o gerenciamento de todos os processos e máquinas que nos rodeia torna-se indispensável.

Leia mais

Tutorial de Eletrônica Aplicações com 555 v2010.05

Tutorial de Eletrônica Aplicações com 555 v2010.05 Tutorial de Eletrônica Aplicações com 555 v2010.05 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina PR Brasil http://www.maxwellbohr.com.br

Leia mais

Visão computacional no reconhecimento de formas e objetos

Visão computacional no reconhecimento de formas e objetos Visão computacional no reconhecimento de formas e objetos Paula Rayane Mota Costa Pereira*, Josemar Rodrigues de Souza**, Resumo * Bolsista de Iniciação Científica da Faculdade de Tecnologia SENAI CIMATEC,

Leia mais

Aparelhos de Laboratório de Electrónica

Aparelhos de Laboratório de Electrónica Aparelhos de Laboratório de Electrónica Este texto pretende fazer uma introdução sucinta às características fundamentais dos aparelhos utilizados no laboratório. As funcionalidades descritas são as existentes

Leia mais

Manual da aplicação da ufrn_al5d.h no braço robótico Lynx AL5D - v2.0

Manual da aplicação da ufrn_al5d.h no braço robótico Lynx AL5D - v2.0 UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO E AUTOMAÇÃO Manual da aplicação da ufrn_al5d.h no braço robótico Lynx AL5D - v2.0 Engº M.Sc. Desnes

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

TÍTULO: SISTEMA DE ACESSIBILIDADE E AUTOMATIZAÇÃO PARA PESSOAS PORTADORAS DE NECESSIDADE ESPECIAIS

TÍTULO: SISTEMA DE ACESSIBILIDADE E AUTOMATIZAÇÃO PARA PESSOAS PORTADORAS DE NECESSIDADE ESPECIAIS TÍTULO: SISTEMA DE ACESSIBILIDADE E AUTOMATIZAÇÃO PARA PESSOAS PORTADORAS DE NECESSIDADE ESPECIAIS CATEGORIA: CONCLUÍDO ÁREA: ENGENHARIAS E ARQUITETURA SUBÁREA: ENGENHARIAS INSTITUIÇÃO: FACULDADE DE TECNOLOGIA

Leia mais

Manual Técnico Arduino Supervisório MODBUS & Conversor RS485

Manual Técnico Arduino Supervisório MODBUS & Conversor RS485 Manual Técnico Arduino Supervisório MODBUS & Conversor RS485 2015 Todos os direitos reservados Página 1 de 27 Sumário Manual Técnico...1 Introdução...3 Arduino Supervisório MODBUS...3 Conversor RS485...3

Leia mais

UNIVERSIDADE LUTERANA DO BRASIL ULBRA CONTROLE DE MOTOR DE PASSO VIA PORTA PARALELA -BUILDER C++ FABRÍCIO DE MARI

UNIVERSIDADE LUTERANA DO BRASIL ULBRA CONTROLE DE MOTOR DE PASSO VIA PORTA PARALELA -BUILDER C++ FABRÍCIO DE MARI UNIVERSIDADE LUTERANA DO BRASIL ULBRA CONTROLE DE MOTOR DE PASSO VIA PORTA PARALELA -BUILDER C++ FABRÍCIO DE MARI Canoas, junho de 2007. SUMÁRIO 1. INTRODUÇÃO...03 1.1 Objetivo...04 1.2 Justificativa...04

Leia mais

Rodrigo Baleeiro Silva Engenheiro de Controle e Automação. Introdução à Engenharia de Controle e Automação

Rodrigo Baleeiro Silva Engenheiro de Controle e Automação. Introdução à Engenharia de Controle e Automação Rodrigo Baleeiro Silva Engenheiro de Controle e Automação (do latim Automatus, que significa mover-se por si) ; Uso de máquinas para controlar e executar suas tarefas quase sem interferência humana, empregando

Leia mais

1. Ementa 2. Objetivos Gerais: 3. Objetivos Específicos 4. Estruturação do conteúdo da disciplina e sistemática as ser desenvolvida:

1. Ementa 2. Objetivos Gerais: 3. Objetivos Específicos 4. Estruturação do conteúdo da disciplina e sistemática as ser desenvolvida: 1. Ementa Gerenciamento e desenvolvimento de um projeto que acompanhe as etapas do ciclo de vida do software e ou hardware, com ênfase em: documentação, determinação dos requisitos, projeto lógico, projeto

Leia mais

são aplicadas num objeto cuja massa é 8,0 kg, sendo F» 1 mais intensa que F» 2

são aplicadas num objeto cuja massa é 8,0 kg, sendo F» 1 mais intensa que F» 2 Física Unidade Movimentos na Terra e no spaço QUSTÕS PROPOSTS 4. Duas forças F» e F» 2 são aplicadas num objeto cuja massa é 8,0 kg, sendo F» mais intensa que F» 2. s forças podem atuar na mesma direção

Leia mais

Desafio: Robô comandado por Laser Tracker

Desafio: Robô comandado por Laser Tracker Desafio: Robô comandado por Laser Tracker Robô comandado por Laser Tracker Apresentação do Problema: Marcação de pontos no piso com precisão da ordem de 2 mm para instalação de equipamentos. Aplicações

Leia mais

Attack 1.35. Software de controle e Monitoração de amplificadores

Attack 1.35. Software de controle e Monitoração de amplificadores Attack 1.35 Software de controle e Monitoração de amplificadores 1 Índice 1 Hardware necessário:... 3 1.1 Requisitos do computador:... 3 1.2 Cabos e conectores:... 3 1.3 Adaptadores RS-232 USB:... 4 1.4

Leia mais

TÍTULO: JANELA AUTOMATIZADA QUE OPERA A PARTIR DE DADOS METEOROLÓGICOS OBTIDOS POR SENSORES

TÍTULO: JANELA AUTOMATIZADA QUE OPERA A PARTIR DE DADOS METEOROLÓGICOS OBTIDOS POR SENSORES TÍTULO: JANELA AUTOMATIZADA QUE OPERA A PARTIR DE DADOS METEOROLÓGICOS OBTIDOS POR SENSORES CATEGORIA: CONCLUÍDO ÁREA: ENGENHARIAS E ARQUITETURA SUBÁREA: ENGENHARIAS INSTITUIÇÃO: UNIVERSIDADE SANTA CECÍLIA

Leia mais

GX - ULT MANUAL DO USARIO V1.1. NEVEX Tecnologia Ltda Copyright 2012-2015 - Todos os direitos Reservados

GX - ULT MANUAL DO USARIO V1.1. NEVEX Tecnologia Ltda Copyright 2012-2015 - Todos os direitos Reservados GX - ULT MANUAL DO USARIO V1.1 NEVEX Tecnologia Ltda Copyright 2012-2015 - Todos os direitos Reservados IMPORTANTE Máquinas de controle numérico são potencialmente perigosas. A Nevex Tecnologia Ltda não

Leia mais

BOBCOSMOS SISTEMA SOLAR PROJETO FINAL DA DISCIPLINA INTRODUÇÃO A COMPUTACAO GRAFICA

BOBCOSMOS SISTEMA SOLAR PROJETO FINAL DA DISCIPLINA INTRODUÇÃO A COMPUTACAO GRAFICA UNIVERSIDADE FEDERAL DA PARAÍBA - UFPB CENTRO DE CIÊNCIAS EXATAS E DA NATUREZA - CCEN DEPARTAMENTO DE INFORMÁTICA - DI CURSO DE CIÊNCIA DA COMPUTAÇÃO BOBCOSMOS SISTEMA SOLAR PROJETO FINAL DA DISCIPLINA

Leia mais

Manual do Usuário Android Neocontrol

Manual do Usuário Android Neocontrol Manual do Usuário Android Neocontrol Sumário 1.Licença e Direitos Autorais...3 2.Sobre o produto...4 3. Instalando, Atualizando e executando o Android Neocontrol em seu aparelho...5 3.1. Instalando o aplicativo...5

Leia mais

Informática Computador Visão Geral. Prof. Marcos André Pisching, M.Sc.

Informática Computador Visão Geral. Prof. Marcos André Pisching, M.Sc. Informática Computador Visão Geral Prof. Marcos André Pisching, M.Sc. Objetivos Identificar os componentes básicos de um sistema de computador: entrada, processamento, saída e armazenamento. Relacionar

Leia mais

Microsoft Office Excel

Microsoft Office Excel 1 Microsoft Office Excel Introdução ao Excel Um dos programas mais úteis em um escritório é, sem dúvida, o Microsoft Excel. Ele é uma planilha eletrônica que permite tabelar dados, organizar formulários,

Leia mais