IFMA – INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLÓGIA DO MARANHÃO DESU – DIRETORIA DE ENSINO SUPERIOR DEE – DEPARTAMENTO DE ELETRO-ELETRÔNICA

CURSO DE ENGENHARIA ELÉTRICA INDUSTRIAL

ÁLVARO METON SOUSA PERDIGÃO

ESTEIRA PARA CONTAGEM DE CAIXAS VIA BLUETOOTH

SÃO LUÍS - MA 2012

ÁLVARO METON SOUSA PERDIGÃO

ESTEIRA PARA CONTAGEM DE CAIXAS VIA BLUETOOTH

Trabalho de Conclusão de Curso apresentado para obtenção do grau de Engenheiro Eletricista pelo Instituo Federal de Educação, Ciência e Tecnologia do Maranhão.

SÃO LUÍS - MA 2012

ÁLVARO METON SOUSA PERDIGÃO

ESTEIRA PARA CONTAGEM DE CAIXAS VIA BLUETOOTH

Trabalho de Conclusão de Curso submetido ao corpo docente do IFMA – Instituto Federal de Educação, Ciência e Tecnologia do Maranhão, como parte dos requisitos necessários à obtenção do grau de Bacharel em Engenharia Elétrica Industrial.

Data da aprovação: _____ / ______ / ______________

Nota: ___________

Aprovada por:

____________________________________ Prof. Msc. Cláudio Leão Torres

____________________________________ Prof. Msc. Evandro de Carvalho Gomes

____________________________________ Prof. Msc. Eliude Trovão Moraes

SÃO LUÍS - MA 2012

.Dedico este trabalho de conclusão de curso a minha avó e mãe. Izabel Santana Perdigão e a minha segunda avó e também mãe Maria Benedita Marinho.

. Agradeço a todos os meus tios. pela força e o apoio na escolha da minha carreira. que sempre foram exemplos dos ensinamentos da minha avó de que a educação e o respeito são as coisas mais importantes na vida uma pessoa. pela compreensão nas vésperas das provas. pelo apoio depois das provas e por me levar pra sair nos momentos que eram preciso. Agradeço aos meus pais. Adilson Santana Perdigão e Inácia Madalena Bógea Sousa Perdigão. que sempre me deu todo o suporte para a minha educação e foi a minha inspiração. Raissy Oliveira e Costa. Alvanir Santana Perdigão e Álvaro Ribeiro Perdigão Neto. Airton Santana Perdigão. Agradeço a todos os meus colegas do curso. Ana Tereza Santana Perdigão. Maria das Graças Barros. Agradeço a minha namorada. que desde o começo sempre todos se ajudaram para se chegar até aqui.AGRADECIMENTOS Agradeço ao meu Tio e Padrinho.

Resumo Este trabalho tem como objetivo reproduzir em escala reduzida o processo de automação da contagem de caixas em uma esteira de uma linha produção. identificando o tamanho das caixas e armazenando em um banco de dados o total de caixas e a quantidade de cada tipo de caixa. utilizando apenas o WiiRemote. Além dos conceitos de Programação e Eletrônica envolvidos no controle. Banco de dados . Contagem. e linguagem orientada a objeto. WiiRemote. controle do console Wii da Nintendo. Palavras-Chave: Esteira. e o driver desenvolvido para realizar a comunicação do controle com o motor de tração da esteira. será mostrado também o processo de confecção da esteira transportadora que necessitou de conceitos da Mecânica. o que torna este trabalho completamente interdisciplinar. JScript. No decorrer do trabalho serão mostrados os sensores e atuadores do WiiRemote que foram utilizados. todo o código escrito em JScript (uma derivação do JavaScript) para fazer a interpretação das informações enviadas via Bluetooth do controle para o computador. Orientado a objeto.

the total of boxes and how much boxes of each size. what makes this job quite interdisciplinary. using only one WiiRemote. Database . will be show too how the treadmill was made. In the course of the work will be shown all the sensors and actuators WiiRemote that were used and all the code written in JScript (a derivation of JavaScript) to do the interpretation of the information sent via Bluetooth for control to the computer. WiiMote. control of Nintendo Wii console. Keywords: Treadmill. and the Mechanics concepts envolveds.Abstract The goal of this work is reproduce in a reduced scale an automation of the process of counting boxes process on a treadmill of a line production. Beyond the concepts of Programming and Eletronics envolved in the control. identifying the size of the boxes and store the read box in a database. Jscipt. Object-oriented. and object-oriented language. Count.

......... SISTEMA DE ACIONAMENTO ................ Armazenamento ....................... SISTEMA DE CLASSIFICAÇÃO E ARMAZENAMENTO ............ 53 1........................................................................... INTRODUÇÃO............................................................................................................................................................ 20 3.......................................................................................................................................................... CONEXÃO DO CONTROLE COM O PC ........... 69 6...................... INTERFACE ............................. 20 2........... 38 8..... Datasheet do Optoacoplador 4N25.... 70 ............................................................................................................ Datasheet do transistor BD135 .................................................................................3...... 18 2................................................................................ 21 4..................... Script – LigaDesliga .....................................................................................................................................................................................................2 Acionamento ....................... 19 2................................... 33 7......5........................................................................................................................................... CONFECCÇÃO DA ESTEIRA ................................................................InterfaceEsteira ................ 2............. 18 2..............4.................................................................................................................... 12 VISÃO GERAL DO PROCESSO .....1 Comunicação .........................Sumário 1............... Leitura .................................... 52 ANEXOS .............................. 57 3............................... 53 2......................................... Script ..............................................................................Principal . Fotos da Esteira ....................................................................................................................... 47 CONCLUSÃO................. Script ............................................................................... 68 5.... SISTEMA DE LEITURA..................................................... 18 2.............................................................................................................................. 29 6................................ 26 5......................... Classificação..... 51 REFERÊNCIA BIBLIOGRÁFICA ................................................................... 63 4.................

..............................................................PlayStation Move com o emissor de luz infravermelha .................................................................................................................................................. 23 Figura 14 – Redução utilizada para transformar a alta rotação do motor em torque para a esteira ................................... microfone e projetor de luz estruturada.......................... com todos os sistemas de RumblePack............................................ 18 Figura 9 – Fluxograma do processo de contagem de caixas .............................................................................. 14 Figura 4 – Controle do Nintendo 64 com o sistema de RumblePack acoplado ............... .............................................................................................. 27 Figura 22 – Solicitação de serviço ........................................... 22 Figura 12 – Dimensões da esteira ......... 16 Figura 7 – Kinect da Microsoft..................................... 26 Figura 20 – Encontrando dispositivos ................ 28 Figura 23 – Conexão estabelecida ............................ 30 Figura 26 – Adaptação para obtenção do sinal ........... Bluetooth........................ ......... 12 Figura 2 – Linha de produção automatizada .............. 25 Figura 19 – Vista Inferior da Placa do WiiRemote ..................... 13 Figura 3 – Simplicidade do controle do Atari nos anos 70 ................................. 27 Figura 21 – Serviço disponível ......Visão Geral dos sistemas que compõem o processo de contagem de caixas.......................................... 16 Figura 8 ................... 23 Figura 13 – Motor CC retirado de carro de controle remoto ....................................................... 31 ......... com câmeras infravermelhas. 23 Figura 15 – Carregador de celular utilizado para suprir a energia do motor............................... 24 Figura 16 – Eixo de tração da esteira ligado diretamente à redução ................................................................................. 24 Figura 17 – Sistema de correia instalado para diminuir a velocidade da esteira .. ............................ 20 Figura 11 – Dimensões das caixas a serem contadas..................... 25 Figura 18 – Esteira completa......................... 29 Figura 25 – Código de acionamento do motor no GlovePIE .................................................. 19 Figura 10 – Diagrama de Blocos do WiiRemote........................ 28 Figura 24 – GlovePIE – Código InterfaceEsteira ........................................ Câmera Infravermelha e Auto-Falante embutidos....................................................................... ....................................................................................................................................................................................... 15 Figura 5 – WiiRemote do Nintendo Wii......................................................FIGURAS Figura 1 – Humanos realizando trabalho repetitivo em linha de produção dos anos 30......... 15 Figura 6 .......................................

.................................................. 40 Figura 41 – Bibliotecas do pacote Microsoft............................................ 41 Figura 43 – Funções para atualização do placar de caixas................................... 45 Figura 51 – Ícone do Relatório gerado ..................................................... 35 Figura 35 – Leitura de caixa pequena............................................................................ 32 Figura 30 – SensorBar .. 36 Figura 37 – Interface do Unity 3D............. 31 Figura 28 – Circuito 2 de interface WiiRemote – Motor Esteira .............................. bloqueio da visualização de 2 led’s ....... 43 Figura 47 – Final do período para recebimento de entradas e determinação do tamanho da caixa lida................................................................................................................................................................ 39 Figura 40 – Condições de pressionamento de teclas para ligar e desligar a esteira.............................. 47 Figura 55 – Posição Desligado.......... 42 Figura 45 – Parte do código do Unity 3D para iniciar o processo de leitura .............. 44 Figura 49 – Captação dos dados de tempo para elaboração do relatório ... 39 Figura 39 – Declaração de variáveis do script LigaDesliga ............ ................................................. 48 Figura 56 – Posição Ligado .............. bloqueio da visualização de apenas 1 led ......................... 48 .......... 42 Figura 44 – Principal condição para execução do script Principal..................................... 46 Figura 52 – Visualização em Bloco de Notas ........ 33 Figura 31 – Circuito de alimentação dos led’s ..................................... 35 Figura 36 – Leitura de caixa grande...................................................................................... 46 Figura 54 – Interface do programa de classificação e contagem de caixas ............................................... 44 Figura 48 – Zeramento das variáveis para iniciar nova contagem .................................................................................................................................................................................... 43 Figura 46 – Leituras realizadas dentro do espaço de tempo determinado pela passagem da caixa ................... 41 Figura 42 – Declaração das variáveis do script Principal ..................................................................... 46 Figura 53 – Visualização no Microsoft Excel ............................................................... 33 Figura 32 – Dimensão das caixas e led’s ..............................Figura 27 – Circuito 1 de interface WiiRemote – Motor Esteira ................................................................................................................................................................. 34 Figura 33 – Imagem dos led’s infravermelhos funcionando capturada por câmera de celular ...............................................................................................................TXT .............. 34 Figura 34 – Código no GlovePIE para emulação de teclas de acordo com a leitura de led’s...............................................Net Framework importadas .... 38 Figura 38 – Scripts criados ........ 45 Figura 50 – Função para criação do arquivo ................................... 32 Figura 29 – Circuito de acionamento montado no Protoboard .........

........ 50 ................................ 49 Figura 59 – Solicitação de Nova Contagem ........................................................................................................................................ 50 Figura 61 – Salvar Contagem.... 48 Figura 58 – Caixa grande classificada............................... 49 Figura 60 – Contagem Zerada .......................................................Figura 57 – Caixa Pequena classificada ................................................................................................................................ 50 Figura 62 – Aviso de salvamento do arquivo..................................

................. 36 Tabela 3 ..........................Padrão de leitura das caixas grandes .....................................TABELAS Tabela 1 – Tipos de esteiras ....................................................................Padrão de leitura das caixas pequenas ....... 36 ......... 21 Tabela 2 .............................

Porém devido as atividades simples e repetitivas realizadas pelos empregados eram pagos pequenos salários e subutilizada uma mão de obra com uma enorme capacidade que é a do ser humano. primeiramente evidenciado no Fordismo no início da década de 20. 1936). o modelo produzido na fábrica. 1). que foi satirizado no filme de Charlie Chaplin. (Fig. Esse método aumentou consideravelmente a quantidade de carros produzidos. INTRODUÇÃO A utilização de esteiras em processos produtivos iniciou-se quando as produções adotaram o método de linha. Figura 1 – Humanos realizando trabalho repetitivo em linha de produção dos anos 30. porém essa subutilização da mão de obra humana foi diminuída com o advento da Automação Industrial. sendo utilizada a mão de obra humana apenas em processos mais complexo que . quando os carros eram colocados em uma esteira onde passavam pelos postos de trabalho em que cada trabalhador realizava apenas uma especifica tarefa repetidamente. Tempos Modernos (EUA. Nos dias de hoje é impossível imaginar um processo que não utilize esteiras e uma produção em linha se quiser ter alta produtividade.12 1. Ford chegou a dizer que metade dos carros do mundo seriam Ford T.

Com o passar do tempo muitas empresas de Games surgiram. através de sensores e atuadores que são capazes de enxergar. Figura 2 – Linha de produção automatizada Junto com a evolução dos processos produtivos. Um dos exemplos de jogos dessa época é o Tennis for Two. Atualmente uma esteira automatizada tem a capacidade de classificar. envasar. principalmente os consoles dos vídeos-game. de 1958. outra indústria que também evoluiu muito foi a de Games. Ao contrário do que muitos acham a Automação não veio para tirar empregos e sim melhor aplicar a capacidade do ser humano. não muito distante da utilização da linha de produção. pesar e etc (Fig. detectar metais. desenvolvido no Brookhaven National Laboratory. Sega e mesmo a Microsoft que é uma empresa de software. Atualmente todas disputam não apenas por jogos com gráficos mais impressionantes ou consoles mais . Sony.13 máquinas ainda não são capazes de realizar. empurrar. também tem participação na indústria dos Games. cortar e até apertar os parafusos em uma linha de produção. como Nintendo. que controlavam barras nas laterais da tela rebatendo um pontinho verde que se deslocava de um lado para o outro como uma bola de tênis. etiquetar. pelo cientista William Higinbotham onde o console na verdade era um osciloscópio e os comandos eram dados por potenciômetros. 2). Os primeiros jogos interativos datam do final dos anos 1940 e inicio dos anos 1950.

E o melhor do controle é a ausência de fios. devido à comunicação do controle se dar via Bluetooth com o console (Fig. onde a interação com o usuário é feita através do seu controle. O controle veio equipado com uma câmera infravermelha na parte frontal com uma resolução de 1024x768 pixels e frequência de atualização de 100 Hz. o Nintendo 64. ou até mesmo rebater uma bola de tênis. o WiiRemote. muito mais interativo do que simplesmente girar um potenciômetro. capaz de detectar até quatro pontos infravermelhos e se orientar no espaço por eles. quer eram simples contatos elétricos. 5).3). como era no Atari dos anos 70 (Fig. o que possibilita toda essa mobilidade. sensores capazes de detectar a intensidade e o sentido de forças aplicadas. desenvolvido pela própria Nintendo ainda no console anterior. quando a Nintendo revolucionou esse jeito do usuário interagir com console com o lançamento do videogame Nintendo Wii. com esses sensores o controle se tornou capaz de detectar movimentos. passando de um simples apertar de botões. Ainda no controle pode ser encontrado um alto-falante para simular sons como o de batidas de bolas ou pequenos alarmes e também um sistema de vibração. dar um soco. só que anteriormente necessitava-se acoplar o .14 potentes como também por novos métodos do usuário interagir com o jogo. para reconhecimento de voz e movimento nos dias de hoje. como pular. Essa mudança começou a acontecer em dezembro de 2006. Figura 3 – Simplicidade do controle do Atari nos anos 70 Outro recurso do controle foram os acelerômetros. chamado RumblePack.

que conseguiu inserir um público que antes não conseguia vencer a barreira da quantidade de botões em um controle. Em 2010 Sony lançou o PlayStation Move. deixando o controle muito pesado o que era um incomodo para o usuário (Fig. Após o enorme sucesso do WiiRemote as outras empresas da área de games resolveram investir nessa interatividade. 4).15 sistema ao controle com uma alimentação independente. com todos os sistemas de RumblePack. Figura 4 – Controle do Nintendo 64 com o sistema de RumblePack acoplado Figura 5 – WiiRemote do Nintendo Wii. onde uma câmera infravermelha . Câmera Infravermelha e Auto-Falante embutidos. Bluetooth.

emitidas pelo próprio dispositivo. foi o lançamento do Kinect (Fig. Figura 7 – Kinect da Microsoft. 6). 7). o dispositivo possui uma câmera infravermelha que capta a projeção de raios infravermelhos em forma de linhas (luz estruturada). . que ao tocarem em qualquer objeto são deformadas. O Kinect revolucionou por que na verdade eliminou o controle da mão do usuário. com câmeras infravermelhas. e também é dotado de acelerômetros o que possibilita o reconhecimento de gestos (Fig. microfone e projetor de luz estruturada. da Microsoft. posicionado próximo ao console. um dispositivo que acompanha o vídeo-game Xbox 360. de acordo com a deformação das linhas o console interpreta as informações e delimita a silueta do jogador reconhecendo todos os seus movimentos.PlayStation Move com o emissor de luz infravermelha Mas no final de 2010 houve a maior revolução dentre todos os controles. Figura 6 .16 posicionada próximo sobre o console capta a movimentação do controle que possui um emissor de luz infravermelha.

O Capítulo 3 mostrará todos os componentes utilizados na confecção da esteira. No Capítulo 4 será exposto o processo de estabelecimento da comunicação entre o WiiRemote e computador utilizado passo-a-passo. que o desafio foi aceito e ao decorrer deste trabalho será mostrada uma aplicação de contagem de caixas de acordo com o seu tamanho em uma reprodução de um processo produtivo. especificando todos os softwares necessários. com a necessidade de melhorar um processo produtivo e com a disponibilidade de todos esses recursos tecnológicos nos controles atuais. No Capítulo 6 será explicado como o ocorre o processo de Leitura do tamanho das caixas. O Capítulo 7 mostrará a parte do código que faz a Contagem de acordo com as informações vindas da Leitura e Armazena em um arquivo “TXT”. mostrando o padrão das informações obtidas pelo sensor infravermelho que servirão para o processo de Classificação. No Capítulo 2 iremos ter uma visão geral do processo que pode ser dividido Acionamento. especificando os componentes. materiais e dimensões. . Leitura e Classificação & Armazenamento. e também a interface criada para a visualização das informações pelo usuário.17 É baseada nessas duas evoluções em paralelo. mostrando tanto o circuito de interface do controle com o motor quanto a parte do código que envia o sinal para do computador para o controle. a Automação Industrial e a evolução dos Consoles de Videogames que se baseia esse trabalho. O Acionamento será abordado no Capítulo 5.

Visão Geral dos sistemas que compõem o processo de contagem de caixas. e a leitura depende da comunicação para o WiiRemote enviar os dados obtidos para o computador poder realizar a classificação da caixa e conseqüentemente o armazenamento. 8). Leitura. 2. 2. como dito anteriormente o comando virá do computador através do WiiRemote. Essa comunicação se dá através do dispositivo Bluetooth presente no WiiRemote. Classificação & Armazenamento.18 2. para a realização desse processo foi desenvolvido um circuito para . Acionamento. como pode ser visto na figura abaixo (Fig.2 Acionamento Esta parte do processo consiste em acionar o motor de tração da esteira para o deslocamento das caixas em direção a coluna de led’s infravermelhos onde será efetuada a leitura. no terceiro capítulo será explicado todo o processo para o estabelecimento dessa comunicação. Figura 8 . o acionamento depende da comunicação para o WiiRemote receber o comando do computador. VISÃO GERAL DO PROCESSO O processo de contagem de caixas pode ser dividido em cinco etapas: Comunicação.1 Comunicação É a função básica de todo o processo.

3.19 fazer a interface do controle para o motor. Figura 9 – Fluxograma do processo de contagem de caixas 2. que é a câmera infravermelha localizada na frente do controle. enviando essas informações para o computador. utilizando um optoacoplador para isolar o controle e um transistor de potência para suprir a necessidade de corrente do motor. . que consegue visualizar até 4 pontos infravermelhos retornando Verdadeiro ou Falso de acordo com a visualização ou impossibilidade de visualizar cada ponto. Leitura Para o processo de leitura será utilizado outro recurso do WiiRemote.

Ao solicitar a geração do relatório será criado um arquivo “TXT”. hora. após o tratamento o software irá emular comandos que serão recebidos pelo programa principal onde de acordo com as entradas será incrementada a contagem de cada tipo de caixas. 2.20 2.5 Armazenamento A qualquer momento o usuário irá poder gerar um relatório com a data. Figura 10 – Diagrama de Blocos do WiiRemote . com uma formatação que possibilitará sua abertura em planilhas eletrônicas com todos os dados separados em células podendo ser gerados gráficos mais detalhados da produção. quantidade de cada tipo de caixa e o total de caixas.4 Classificação Todos os verdadeiros e falsos enviados pela visualização dos led’s serão tratados pelo software de comunicação com o controle.

De acordo com a carga deve ser escolhido o tipo de esteira mais indicado (Tab. Tabela 1 – Tipos de esteiras Esteira de Caneca Destinada a elevação de cargas.21 3. o que pode influenciar inclusive nos sensores a serem utilizados. mantendo a distância de acordo com a frequência de colocação na esteira. plástico ou vidro). peso e seu material. com pás de sustentação para a carga. Esteira de Roletes Sem controle de velocidade e distância entre as cargas. que irá influenciar na aderência (papelão. Esteira Simples de Carga A carga se apoia diretamente na correia. o movimento se da por acumulo. . CONFECCÇÃO DA ESTEIRA O projeto de uma esteira inicia-se com a determinação da carga a ser transportada. tendo como parâmetros: tamanho (grão ou objeto).1).

5V (3 pilhas AA) tendo em média 800 RPM com carga máxima. retirado de carro de controle remoto. . para a instalação de um sistema de tração e mais uma área para a leitura do sensor (Fig. baixa velocidade e sem a necessidade de conexões para realizar curvas. 12). e demandando uma corrente de 200mA. 13). 14). fixadas com arrebites nas extremidades. Para a tração foi escolhido um Motor Elétrico CC (Fig. O Motor originalmente no carro era alimentado por uma tensão de 4.22 Os parâmetros para a contagem das caixas foram os seguintes:     Formato cúbico L = 5 cm e l = 3 cm Material: Papelão Necessitavam manter uma distância constante uma das outras Figura 11 – Dimensões das caixas a serem contadas. Material Utilizado Para base da esteira foi confeccionada uma estrutura com perfis de alumínio. com um espaço de suficiente para o deslocamento da carga. horizontal. juntamente com a redução (Fig. O que levou a escolha de uma esteira do tipo simples.

23 Figura 12 – Dimensões da esteira Como a velocidade necessitava ser constante por um longo período de tempo. e é capaz de fornecer uma corrente de até 800 mA. 15). pois iria haver a variação da velocidade de acordo com o descarregamento natural das pilhas.7 V. para não haver variações na leitura. suprindo completamente as necessidades do motor. Então foi definida como nova alimentação um carregador de celular (Fig. Figura 13 – Motor CC retirado de carro de controle remoto Figura 14 – Redução utilizada para transformar a alta rotação do motor em torque para a esteira . que tem saída de 5. próximo da tensão nominal de trabalho do motor. seria inviável a utilização de pilhas para a alimentação do motor.

que foi trocado de elástico por um material plástico. o que acabava sobrecarregando o motor CC que impossibilitando a partida. porém a relação Tensão X Aderência não foi satisfatória.16). Para a solução do problema foram tomadas duas medidas. . fixando um cano de PVC de 15 mm junto ao eixo e a troca do material da esteira. pois a velocidade da esteira estava muito alta. primeiro o aumento do diâmetro do eixo do motor para aumentar a área de contato com a esteira e consequentemente aumentar a tração transmitida. para se obter uma aderência suficiente entre o elástico e o eixo do motor para se conseguir fazer a transmissão da tração.24 Figura 15 – Carregador de celular utilizado para suprir a energia do motor O material da esteira transportadora foi um grande desafio na confecção da esteira. Figura 16 – Eixo de tração da esteira ligado diretamente à redução No primeiro teste com o eixo de tração ligado diretamente na redução (Fig. que precisa de menos tensão para obter o mesmo nível de aderência. primeiramente foi testado um elástico de 80 mm de largura. impossibilitando tanto a estabilidade da caixa sobre a esteira quanto à leitura no instante da passagem da caixa pelo sensor. a velocidade de deslocamento da caixa não foi satisfatória. era necessário uma tensão muito grande no elástico.

17). mas podem ser vistos todos já instalados na esteira na figura abaixo: Figura 18 – Esteira completa .18). que por ter um diâmetro muito maior do que o eixo secundário diminuirá consideravelmente o número de rotações por minuto. que possibilitou a estabilidade da caixa sobre a esteira e tempo suficiente de passagem no sensor para a leitura correta. Com a alteração feita foi obtida uma velocidade satisfatória. Figura 17 – Sistema de correia instalado para diminuir a velocidade da esteira Para fixação da esteira e de todos os componentes foi cortada uma folha de compensado com espessura de 1’’ nas dimensões de 20x30cm (Fig. porém como não dispúnhamos de outras engrenagens foi decido modificar o sistema de transmissão de tração. Foi acoplada uma roldana de 5 cm de diâmetro ao eixo de tração e confeccionada uma correia com fita isolante para transmitir a tração de um eixo secundário para a roldana instalada (Fig. consequentemente diminuindo a velocidade da esteira.25 Para reduzir ainda mais a velocidade da esteira seria necessário modificar o tamanho das engrenagens da redução. Todos os outros sistemas (Leitura e Acionamento) terão seus componentes especificados em seus respectivos capítulos.

A seguir podemos ver a placa do WiiRemote e a localização do dispositivo Bluetooth (Fig. pois sem essa comunicação é impossível movimentar as caixas. joystick e teclado. pois devido o protocolo utilizado os pacotes de dados são mínimos. sendo assim.0.338. 19) Figura 19 – Vista Inferior da Placa do WiiRemote Para esta estabelecer a conexão.26 4. mais do que o suficiente para o projeto.0. como algum desses periféricos. o WiiRemote será visto pelo computados dessa forma. a conexão do WiiRemote com o computador. apenas de demonstração que permite a transferência de até 2 MB de dados. neste projeto será utilizada a versão 8. além do hardware instalado no computador é necessário a instalação do software BlueSoleil. o protocolo usado é o Bluetooth HID (Humam Interface Device). . que dá suporte a comunicações de mouse. A comunicação é feita através de uma conexão Bluetooth Classe 2. que permite uma comunicação de até 10 metros que consome até 2.5 mW de potência. CONEXÃO DO CONTROLE COM O PC Este pode ser considerado o ponto vital de todo o processo. ler os dados do sensor e enviar as informações para o computador. para enfim ser visualizado o tamanho da caixa.

ao final da busca serão exibidos todos os dispositivos que estiverem com o Bluetooth ligado ao seu redor.27 O procedimento de conexão é bastante simples. o primeiro passo é iniciar o BlueSoleil e solicitar uma busca de dispositivos. um dispositivo de interface humana. o controle será exibido como um joystick. serão dados dois clicks no ícone do joystick para serem exibidos os serviços disponíveis para aquele dispositivo. O ícone do mouse na parte superior do programa irá ser realçado (Fig. 21). clicando duas vezes no círculo central da interface do programa. Figura 21 – Serviço disponível .20). Figura 20 – Encontrando dispositivos Depois de encontrado. Enquanto estiver sendo realizada a busca mantenha os botões 1 e 2 do WiiRemote pressionados por pelo menos 5 segundos (Fig. indicando que aquele serviço está disponível.

28 O próximo passo é solicitar a ligação.22). Figura 23 – Conexão estabelecida . 23). a opção a ser escolhida é Ligar Dispositivo de interface humana Bluetooth. Figura 22 – Solicitação de serviço Caso o procedimento ocorra corretamente será exibida uma linha tracejada verde entre o joystick e o círculo central (Fig. com um click com o botão direito em cima do dispositivo serão mostradas as opções para aquele dispositivo (Fig.

como o WiiRemote.29 5. Figura 24 – GlovePIE – Código InterfaceEsteira Todo o código para envio e recebimento de informações do controle está mostrado na Fig. que com uma linguagem própria e procedural. que de acordo com o diagrama de blocos do Cap. o RumblePack. tanto da parte de acionamento do motor quanto de leitura do tamanho das caixas. essa tarefa se da com o acionamento do motor da esteira. mouse 3D e teclado através de controles de vídeos-game. do seu sistema de vibração. utiliza a conexão já estabelecida e faz a interface para enviar as instruções para o controle. o próximo passo é iniciar o deslocamento das caixas em direção ao sensor. Xbox360 Controller. . o seu sinal de comando vem do WiiRemote. que será comentado no próximo capítulo. O software utilizado para essa tarefa será o GlovePIE. desenvolvido por Carl Kenner e distribuído gratuitamente. Mesmo o controle já conectado com o computador esses comandos ainda não são enviados para o controle. SISTEMA DE ACIONAMENTO Após estabelecida a comunicação. Playstation 3 BDRemote. esse programa é capaz de emular diversos periféricos como mouse.24. Para interpretar esses comandos será utilizado mais um software. Neste projeto o acionamento é feito remotamente pelo computador de controle através das setas para cima e para baixo do teclado. 2.

26). abaixo da tensão nominal de trabalho do motor CC do carro de controle remoto. enviará um sinal para o controle para ativar o seu motor interno.30 Figura 25 – Código de acionamento do motor no GlovePIE O código é bem simples e direto.Up). pressionando a tecla para baixo (Keyboard. e consequentemente prejudicar o sistema de leitura. não é necessário nem a declaração do tipo da variável. seria inviável a alimentação do motor de tração da esteira vir do WiiRemote.Down) do teclado. desabilitando o motor interno do controle.2 V (Fig. a seção de acionamento possui duas condições. . Como pode ser visto na Fig. de acordo com o acontecimento do evento a variável é criada e atribuído um valor a ela. além disso. pois o consumo do motor iria diminuir a vida útil da das pilhas do controle.Rumble que recebe como parâmetro a variável ativado. a função WiiMote. quando pressionada a tecla para cima do teclado (Keyboard. Foram realizadas medições nos terminais do RumblePack durante o seu acionamento encontrado um valor de 3. e nem uma atribuição de bibliotecas no início do programa. será atribuída uma condição falsa a variável ativado.25. criando um efeito de vibração enquanto a variável for verdadeira. é atribuída uma condição verdadeira a variável ativado.

o que possibilitou realizar o acionamento do motor através do controle.5 V e alimentar o motor e com uma fonte independente do controle. Características que poderiam ser completamente atendidas com apenas um transistor funcionando como chave. foi necessário fazer o isolamento do . O transistor que mais se adequou as necessidades do projeto foi o BD135 (datasheet em anexo).31 Figura 26 – Adaptação para obtenção do sinal Devido a impossibilidade de alimentação direta do WiiRemote para o motor de tração.27): Figura 27 – Circuito 1 de interface WiiRemote – Motor Esteira Com o motor de tração ligado ao emissor do transistor e o sinal vindo do RumblePack ligado a base. foi montado então o seguinte circuito. recebendo o comando do controle na base e alimentando o motor pelo carregador de celular. foi desenvolvido um driver para fazer a interface do comando entre o controle e o motor de tração. Como parâmetros para desenvolvimento do driver tínhamos que: elevar a tensão em cima dos terminais do motor para um valor igual ou maior a 4. Porém por uma questão de segurança e para garantir a confiabilidade do sistema de acionamento. (Fig.

29). Como solução foi desenvolvido um segundo driver (Fig. isolando o controle do transistor.32 controle. Figura 29 – Circuito de acionamento montado no Protoboard . Figura 28 – Circuito 2 de interface WiiRemote – Motor Esteira Abaixo pode ser visto o circuito montado no protoboard e fixado ao lado do motor sobre a folha de compensado (Fig. que por ser um sistema digital e ter muitos componentes sensíveis.28). o 4N25 (datasheet em anexo). através de um optoacoplador. é melhor ficar isolado do sistema de força.

Figura 30 – SensorBar Os leds que servirão de referência para o controle foram fixados em um palito de picolé com o espaçamento definido de acordo com o tamanho das caixas a serem classificadas (Fig.33 6. chamada de SensorBar (Fig. só que para os led's foi utilizado um resistor de 120Ω para limitar a corrente evitando a queima (Fig. Para alimentação dos led's também foi o carregador de celular com a tensão de 5.7 V. Esses pontos infravermelhos são Led’s Infravermelhos nas extremidades de uma barra alimentada pelo console. SISTEMA DE LEITURA O sistema de leitura foi baseado na funcionalidade básica do console Wii. Figura 31 – Circuito de alimentação dos led’s .30). 31). que é o reconhecimento de pontos infravermelhos pelo controle WiiRemote para servir de referência para o deslocamento do mouse na tela e conseqüentemente a navegação pelos menus. 32).

com uma sintaxe bem simples e direta. quando o . Figura 33 – Imagem dos led’s infravermelhos funcionando capturada por câmera de celular Como citado no capítulo anterior. 34) são dados os comandos de emulação. mas com qualquer câmera. na segunda parte do código (Fig. o responsável por receber essas informações no computador é o GlovePIE. inclusive de celular. 33). não visível a olho nu. podemos visualizar se realmente o circuito está funcionando (Fig.34 Figura 32 – Dimensão das caixas e led’s A luz emitida pelos led é infravermelha.

35 segundo led não estiver visível será pressionada a tecla “B” do teclado e quando o primeiro led não estiver visível será pressionada a tecla “A” do teclado. bloqueio da visualização de apenas 1 led . por default quando um led deixa de estar visível. O controle não consegue distinguir qual dos dois led's visualizados é o primeiro ou o segundo. Figura 34 – Código no GlovePIE para emulação de teclas de acordo com a leitura de led’s. automaticamente ele é considerado como o segundo led. Nesse caso as variáveis foram declaradas apenas para efeito de visualização na interface do próprio software para confirmação da leitura. Figura 35 – Leitura de caixa pequena. e quando o próximo led deixar de estar visível é considerado o primeiro. resultando em uma lógica inversa.

obtendo-se o seguinte resultado (Tab. 35).3): Tabela 2 . Como teste foi utilizado o Microsoft Word 2010 para verificar os padrões criados pela emulação do teclado. (caso da caixa pequena). será pressionada a tecla “A”.Padrão de leitura das caixas pequenas B B B B B B Passagem de caixas pequenas B B B B B B B B B B B B . bloqueio da visualização de 2 led’s Então quando for bloqueada a visualização de apenas um dos led's (Fig. Quando os dois led's tiverem a visualização bloqueada (Fig.36).2 e Tab. será pressionada a tecla “B”.Padrão de leitura das caixas grandes Baa Baaaaa Abaa Abbbbbbbbbbbbbbb Abbb Abbb Aba Passagem de caixas grandes Aba Abbbb Ab Aba Ab ABB Baaa Ab BA Baa Baa Baa ABB Baa Tabela 3 .36 Figura 36 – Leitura de caixa grande.

apresentam-se dois tipos de entrada. já na passagem da caixa grande. que serão detalhados no próximo capítulo. a linguagem utilizada pelo GlovePIE é não linear. Tendo os dois padrões definidos o próximo passo é o tratamento dessas informações de entrada para a classificação e armazenamento. onde os dois led’s são bloqueados. já que as duas estão acontecendo. então o programa executa as duas ações aleatoriamente. o padrão são apenas teclas “B”. como explicado anteriormente. . mas seguindo um padrão de aparecer sempre a tecla “A”. Pode ser observado que na passagem da caixa pequena.37 Durante a passagem da caixa pelo sensor a emulação do teclado ocorre várias vezes. onde é bloqueada apenas a visão de um dos led’s.

37). o que facilita a estruturação da criação do aplicativo. da Microsoft) e C# (muito conhecida e também da Microsoft). como Boo (variante do Python desenvolvida pelo brasileiro Rodrigo Barreto de Oliveira).4. com suporte a várias linguagens de programação. SISTEMA DE CLASSIFICAÇÃO E ARMAZENAMENTO De acordo com os padrões obtidos pela leitura do sensor. o objetivo agora é tratar e fazer com que esses caracteres se transformem em informações e sejam armazenados possibilitando a sua consulta futuramente. que dispensa a necessidade do conhecimento de bibliotecas especificas. na versão 3. um jeito muito mais visual de programar.0f5. uma Game Engine 3D. Para essa atividade foi escolhido o software Unity 3D (Fig. Neste capítulo serão abordados apenas os códigos criados. O método de trabalho com todas as linguagem é através de scripts que são atribuídos a objetos em um espaço tridimensional.38 7. JScript (variante do JavaScript. Outro fator muito importante é o suporte a parte gráfica para criação da interface. Figura 37 – Interface do Unity 3D . a interface será apresentada no próximo capítulo.

simplesmente sendo transferidos ou salvos dentro da pasta Assets dentro da pasta do projeto.39). a alavanca de acionamento da esteira. dando ideia de animação.40).39 A linguagem escolhida como padrão para esse projeto foi o JScript. devido a farta documentação encontrada na internet. como pode ser visto na interface do Unity Figura 38 – Scripts criados Script – LigaDesliga Define a textura a ser utilizada em um dos principais botões da interface. A principal função de todos os scripts é a função Update( ) (Fig. onde são executados todos os comandos dentro da função a cada ciclo. a frequência de ciclos é inversamente . o Unity trabalha em um esquema de clico de frames. que só poderá ocorrer quando “acionamento” for verdadeiro. Os arquivos primeiramente precisam ser importados para dentro do Unity. A variável “acionamento” do tipo booleana será chamada pelo script leitor e será a principal condição para liberação do processo de leitura e classificação. No início do script são declaradas todas as variáveis a serem utilizadas (Fig. (Fig. por possuir todas as funções necessárias e ter uma sintaxe de fácil assimilação. Figura 39 – Declaração de variáveis do script LigaDesliga As variáveis “lig” e “des” criam slots no objeto para o recebimento dos arquivos de imagem que representarão o estado ligado e desligado da alavanca.38): Para esse projeto foi necessária a criação de apenas 2 scripts. tanto booleanas quanto texturas.

UpArrow)) e if(Input. definir o tamanho da caixa e armazenar no banco de dados. dentro de um determinado espaço de tempo. que o GlovePIE emular o pressionamento de uma tecla. Script – Principal Este é o principal script de todo o aplicativo. de acordo com os padrões .GeyKeyDown(KeyCode. automaticamente a primeira tecla pressionada será armazenada em um vetor e será iniciada uma contagem. para essa aplicação a taxa de atualização está em torno de 107 frames/s. Figura 40 – Condições de pressionamento de teclas para ligar e desligar a esteira As condições if(Input. todas as teclas pressionadas também serão armazenas nesse mesmo vetor. responsável pelas tarefas de receber as informações enviadas pelo GlovePIE.UpArrow)) captam as entradas de teclado seta para cima e seta para baixo. O principio de funcionamento é bem simples. O procedimento inverso acontece quando pressionada a tecla seta para baixo. ao iniciar a passagem de uma caixa. o que habilitará o processo de contagem e classificação no script leitor e aplica a textura “lig” ao objeto que contém o script IO. sendo aplicada a textura “des”.GeyKeyDown(KeyCode. ao final do intervalo de tempo será feito uma varredura no vetor. que estará sendo executado por trás recebendo os mesmos comandos e atuando no acionamento do motor. Com o pressionamento da tecla de seta para cima a variável “acionamento” é setada como verdadeira. mesmos comandos citados anteriormente para o GlovePIE. interpretar.40 proporcional a quantidade de elementos carregados na interface.

essa caixa será classificada como grande. caso apareça algum caractere “A”. correspondente ao tempo decorrido desde o início do programa até o instante do pressionamento da primeira tecla emulada de cada caixa.41 obtidos nos testes de leitura. (Fig. Figura 41 – Bibliotecas do pacote Microsoft. será classificada como pequena. habilitando novas entradas após a primeira leitura e desabilitando no final da janela de leitura.42): Figura 42 – Declaração das variáveis do script Principal A primeira variável. A variável “lista2” é um vetor que receberá em cada elemento as entradas emuladas pelo GlovePIE (“A” e “B”).Net Framework importadas Após a importação das bibliotecas teremos a declaração das variáveis. “Instante” receberá um valor em segundos. será uma variável auxiliar irá variar entre “verdadeiro” e “falso”. Especialmente nesse script será necessário a importação de duas bibliotecas especificas (Fig. .Net Framework que não estão no Unity e são responsáveis pela função da criação do arquivo “TXT”. de acordo com a visualização dos led’s infravermelhos.41). do pacote Microsoft. caso não apareça nenhum. “HAB”.

A primeira condição para o processo iniciar é que a variável “acionamento”. esteja na condição de verdadeira. caso contrário a leitura não é realizada. Em seguida inicia-se a principal parte do script (Fig. será do tipo string para ser adicionado tanto ao titulo do arquivo “TXT” gerado quando ao próprio conteúdo do arquivo. Figura 44 – Principal condição para execução do script Principal Caso esta condição esteja satisfeita. a caixa será classificada como grande. será liberado o recebimento para as entradas emuladas pelo GlovePIE de acordo com os led’s visualizados. atuando no texto que será exibido nesse objeto através da função guiText. . que atualiza a cada ciclo.Find (Fig. algumas variáveis foram declaradas simplesmente como var e outras como static var. que é a classificação das caixas. Figura 43 – Funções para atualização do placar de caixas Logo no início do script. para cada caractere “A” presente no vetor. ou seja.44). “ident” seja maior do que zero. “Data” receberá o dia e a hora no instante em que for dado o comando de gravação no banco de dados. é chamada a função GameObject. na função Update ( ). “Caixa_grande”. que busca o objeto com o nome passado como parâmetro.text. isso acontece por que na estrutura do JScript variáveis que necessitam ter seu valor lido tanto dentro da função em que estão sendo incrementadas quanto em outras funções. a variável é incrementada.43). do script anterior. que a esteira esteja ligada.42 “Ident” será apenas um identificador da presença de caracteres “A” no vetor. “caixa_pequena” e “total_de_caixas” serão as variáveis incrementadas durante o processo de contagem. Como pode ser visto. textos esses que serão as quantidades de caixas. necessitam ser declaradas como static.

habilita o vetor para o recebimento de novos elementos. A variável “ident” será zerada para a classificação não sofrer interferências de classificações anteriores e será adicionado ao vetor o caractere que for emulado pelo GlovePIE através da função Push.46).43 Figura 45 – Parte do código do Unity 3D para iniciar o processo de leitura O programa ficará aguardando a primeira entrada (Fig. Figura 46 – Leituras realizadas dentro do espaço de tempo determinado pela passagem da caixa Ao ser desabilitada na primeira parte do código. a variável “HAB” estando no estado falso (Fig. mas sem alterar nenhuma outra variável.45). a variável “instante” receberá automaticamente o valor em segundos referente ao tempo decorrido desde o início do programa até aquele momento. . e precisará que a variável “HAB” seja verdadeira. No momento em que ocorrer a leitura. ao final da primeira leitura a variável “HAB” é desabilitada para esse processo inicial não se repetir caso novas emulações de teclas ocorram. independente de ser o caractere “A” ou “B”. protegendo a variável “instante” que irá definir o tempo em que a janela de tempo para recebimento das emulações ficará em aberto.

e de acordo com o padrão de leitura das caixas. ou seja. com a função Clear( ). a caixa será classificada como grande.47). Será iniciada a varredura do vetor “lista2”. caso não tenha nenhum caractere “A” no vetor. a caixa será classificada como pequena. incrementando a variável “caixa_grande”. ao final da varredura será feita uma comparação da variável. “caixa_grande” e “total_de_caixas” mediante o pressionamento da tecla “N” (Fig. e a janela para recebimento de uma nova leitura inicial é liberada novamente. caso tenha aparecido um caractere “A”. incrementando a variável “caixa_pequena”. Para cada caractere “A” encontrado no vetor será incrementado de um a variável “ident”. Figura 48 – Zeramento das variáveis para iniciar nova contagem . zerando as variáveis que foram incrementadas “caixa_pequena”.44 Figura 47 – Final do período para recebimento de entradas e determinação do tamanho da caixa lida No instante em que o tempo decorrido desde o início do programa seja maior que o valor em segundos do instante da primeira leitura mais 3. Outra atividade que está dentro da função Update ( ) é a de iniciar uma nova contagem. Ao final da classificação o vetor é limpado. independente de quantos elementos tiverem sido adicionados ao vetor.48). passados 3 segundos da abertura da janela de tempo para as entradas emuladas pelo GlovePIE. será dado início ao processo de classificação (Fig.

porém o formato das horas continha o caractere “:”.49). que não é aceito em nomes de arquivos do Windows por ser um caractere especial. Figura 49 – Captação dos dados de tempo para elaboração do relatório Primeiramente foi utilizada apenas a função System.ToString( ) para retornar o dia e a hora no momento em que a tecla era pressionada para a variável “data”.DateTime. Figura 50 – Função para criação do arquivo . que será realizada mediante o pressionamento da tecla “S”.TXT . sendo assim foi necessário extrair cada elemento individualmente para compor a variável “data” somando a caracteres aceitos pelo Windows para nomear o TXT. Após compor a variável “data” é chamada a função WriteFile (Fig. que está declarada abaixo com o parâmetro do local a ser salvo o arquivo gerado quando a tecla “S” for pressionada.45 Por último temos a atividade de armazenamento dos dados. (Fig.50). que seria utilizada para nomear o arquivo TXT gerado.

como no Microsoft Excel (Fig.53).52). podendo ser manipulado facilmente.46 Indo no local indicado é constatado que o arquivo realmente foi gerado com o nome: Relatório. que devido a formatação aplicada todo o conteúdo já é automaticamente divido em células.51). onde os dados são visualizados como simples texto. Figura 51 – Ícone do Relatório gerado O TXT gerado pode ser aberto tanto no bloco de notas (Fig. quanto em um editor de planilhas. seguido da data e da hora no exato momento em que foi solicitada a geração do relatório (Fig. Figura 52 – Visualização em Bloco de Notas Figura 53 – Visualização no Microsoft Excel .

automaticamente a esteira é ligada e se houver alguma caixa será iniciado o seu deslocamento. para isso. INTERFACE Após a apresentação de todos os sistemas individualmente. O programa é iniciado com a alavanca na posição DESLIGADO e a esteira parada.56). foram utilizados ícones grandes e bem significativos. a esteira permanece parada e não é efetuada a contagem como citado no capítulo anterior. vamos ver como o usuário visualiza todas essas informações e interage com o processo. quando pressionada a tecla [(↑) Seta para Cima]. De forma bem intuitiva foram colocados do lado os comandos que acionam a alavanca [(↑) Seta para Cima] e [(↓) Seta para Baixo]. Figura 54 – Interface do programa de classificação e contagem de caixas Logo bem grande do lado esquerdo podemos ver a alavanca de acionamento. .55). a parte mais importante da interface.47 8. Por ser um processo bem simples e industrial. pois caso ela esteja no estado DESLIGADO (Fig. a textura da alavanca é alterada e é selecionado o estado LIGADO (Fig. a linguagem têm que ser bem visual e intuitiva.

48

Figura 55 – Posição Desligado

Figura 56 – Posição Ligado Como citado, se houver alguma caixa ela será deslocada, indo em direção ao sistema de leitura constituído pela coluna de led’s, a passagem de uma caixa pequena irá incrementar a variável “caixa_pequena” que poderá ser visualizada no painel CAIXAS CLASSIFICADAS (Fig.57), do lado direito.

Figura 57 – Caixa Pequena classificada

49

Caso a caixa que passar pelo sistema de leitura for seja uma caixa grande, será incrementada a variável “caixa_grande” e poderá ser visualizado o incremento no mesmo painel anterior só que sob a caixa da esquerda (Fig.58), representando a caixa grande.

Figura 58 – Caixa grande classificada A qualquer momento pode ser solicitada uma nova contagem, independente de ter sido salva ou não a contagem, como citado no capitulo anterior a solicitação de uma nova contagem zera as variáveis “caixa_grande” e “caixa_pequena”, na interface esta bem destacado que para a solicitação de uma nova contagem é necessário o pressionamento da tecla “N”, (Fig.59).

Figura 59 – Solicitação de Nova Contagem Após a solicitação pode ser visualizado no painel de CLASSIFICAÇÃO DE CAIXAS (Fig.60), que as variáveis realmente foram zeradas.

50

Figura 60 – Contagem Zerada O outro botão presente na interface é o botão SALVAR CONTAGEM (Fig.61), que pode ser acionado com o pressionamento da tecla “S”.

Figura 61 – Salvar Contagem Quando solicitado o salvamento da contagem é realizado todo o processo relatado no final do capitulo anterior, armazenando a quantidade de caixas grandes e pequenas no arquivo TXT e retornada uma mensagem indicando local e o nome do arquivo salvo (Fig.62).

Figura 62 – Aviso de salvamento do arquivo

quanto à necessidade da aplicação de novas tecnologias. Foi enorme a experiência adquirida. a reprodução do processo industrial de automação foi reproduzido. passando pela implantação e a entrega do projeto funcionando de acordo com os parâmetros propostos. em uma linha de produção automatizada pode-se ter vários equipamentos de fabricantes diferentes. o qual dependia das informações enviadas pelo sensor. com várias funções diferentes para se chegar a único objetivo. pois mesmo em uma escala muito menor. mas isso é justamente o que acontece na realidade. enfrentando muitas vezes vários casos de incompatibilidades. pois necessitou de conceitos de várias áreas completamente diferentes tendo que funcionar juntos e com o mesmo objetivo.51 CONCLUSÃO Este trabalho foi um grande desafio. vários problemas presentes em um processo industrial puderam ser vividos. que utilizam PLC’s de marcas diferentes. desde a adaptação do sistema aos parâmetros do produto a ser produzido. Concluímos que apesar de desafiador. que está nas mãos de milhares de pessoas. que influenciaria diretamente no código de um programa. como foi a utilização de um controle de videogame. desde o conceito. um exemplo é ter uma relação de polias que dependiam da velocidade de leitura de um sensor. assim como no programa de classificação devido ao padrão das entradas do sensor serem apenas verdadeiro ou falso. e é utilizado para fins completamente diferentes da área de automação industrial. com uma quantidade enorme de tecnologia. e propiciou a experiência de um projeto. sendo necessário adaptações. precisando serem emuladas para serem reconhecidas por outro programa. . Outro desafio foi a quantidade de softwares utilizados.

org/wiki/Bluetooth> Acesso em 27.youtube. fev. jan. 2011 UNITY3D. Fabrício Cardoso. a enciclopédia livre. Projeto Esteira Seletora.com/support/documentation/ScriptReference/ > . 2011. Acesso em 23 nov. a enciclopédia livre. Fordismo. Disponível em: <http://www. 2009. Acesso em 12. 2012 Wikipédia.com/watch?v=HDgVJQiJpcc >. Wikipédia. Acesso em: 28 nov. 2012 CEBILDS. Carl. Universidade Federal do Pará.org/wiki/Fordismo> Acesso em 14.wikipedia. Bluetooth. Negreiros. Documentation . Jogo Educativo “A Revolta da Cabanagem” e as técnicas de geração dos recursos gráficos de seu ambiente virtual. ALMANADA.avi.GlovePIE. Disponível em: <http://pt.br/casa-e-jardim/como-construir-uma-esteira- transportadora>. Disponível em: <http://pt. 2011 KENNER.wikipedia. 2012 <http://unity3d. Disponível em: < http://www. Belém – PA. Unity Script Reference.52 REFERÊNCIA BIBLIOGRÁFICA SILVA.doc.com.comofazertudo. jan. Como construir uma esteira transportadora.org/> Acesso em: 12 nov. Disponível em: <http://glovepie.

53 ANEXOS 1. Datasheet do transistor BD135 .

54 .

55 .

56 .

57 2. Datasheet do Optoacoplador 4N25 .

58 .

59 .

60 .

61 .

62 .

text = "" + caixa_pequena.63 3. .acionamento == true){ . static var caixa_grande : int = 0. var instante : float.Find("caixa_grande_text"). . . static var data : String. . . .principal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 . var ident : int. . static var total_de_caixas : int = 0. . import System. . . if (LigaDesliga. . var lista2 = new Array (). .Find("caixa_pequena_text"). GameObject. . static var caixa_pequena : int = 0. . . import System.guiText. Script . . . var HAB = true.text = "" + caixa_grande. .guiText. . . function Update(){ //Display das informações GameObject.IO.

GetKeyDown ("a")){ lista2.GetKeyDown ("b")){ lista2. . . .GetKeyDown ("a")){ lista2. . } if (Input.Push ("b").GetKeyDown ("b")){ lista2. .GetKeyDown ("a") || Input. //Primeira leitura if ( (Input. . . . . . .Push ("a"). . . } if (Input. } //Leituras sequintes if (HAB == false){ if (Input. .64 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 . ident = 0. } HAB = false. . . . } .GetKeyDown ("b")) && (HAB == true) ){ instante = Time.time.Push ("b"). . . .Push ("a"). . if (Input.

n++){ if (lista2[n]=="a"){ ident++. .65 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 64 65 66 . . . } } if (ident > 0){ caixa_grande++. n < lista2.length. . . . . . } if (ident == 0){ caixa_pequena++.time > instante + 3)){ for (var n=0. . } lista2. HAB = true. } //Iniciar nova contagem if (Input. . . . } } //Classificação if ((HAB == false) && (Time. . . . . . . .GetKey(KeyCode.N)){ . .Clear(). .

DateTime.DateTime. .Now.DateTime. principal. principal. .DateTime. . . var seg = System. . . .GetKey(KeyCode. . .data+". . . .Now.Year.caixa_grande = 0. var mes = System. //Salvar a contagem if (Input.S)){ var dia = System.Second.total_de_caixas = 0.ToString(). var min = System.caixa_pequena = 0.Day.ToString(). principal.ToString(). .Minute.Now.66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 . } function WriteFile (filepathIncludingFileName : String){ .DateTime. . .ToString().Now.Now. var hora = System. . .Hour.Now. .data = dia+"-"+mes+"-"+ano+" "+hora+"h"+min+"m"+seg+"s".DateTime.txt"). } } principal. .ToString(). WriteFile("C:/Relatório "+principal. . var ano = System.ToString(). .Month.

sw.WriteLine("Quantidade de caixas pequenas: . . .WriteLine("---------------------------------------------------")."+principal. . sw.67 89 90 91 92 93 94 95 96 97 98 99 .caixa_grande)."+principal.Close(). sw. . . } .total_de_caixas)."+principal.WriteLine("---------------------------------------------------"). sw.WriteLine("Quantidade de caixas grande: . sw. .data). sw. var sw : StreamWriter = new StreamWriter (filepathIncludingFileName). sw.WriteLine("Quantidade Total de Caixas: .WriteLine(principal.caixa_pequena).Flush(). sw. sw. . . .WriteLine("Relatório de Caixas Produzidas"). .

13 .mainTexture = lig.mainTexture = des. 16 . . } } static var acionamento = false.acionamento = true. Script – LigaDesliga 1 2 3 4 5 6 7 8 9 . function Update(){ if (Input.DownArrow)){ LigaDesliga.material. 10 .acionamento = false. 17 . .Log ("DESLIGADO"). . . 15 .Log ("LIGADO").material. 12 . . .GetKeyDown (KeyCode. var lig : Texture. } if (Input. renderer. .UpArrow)){ LigaDesliga. . . 14 . 11 .GetKeyDown (KeyCode.68 4. renderer. Debug. Debug. var des : Texture.

. Script .ativado = False if (Keyboard. .ativado = True // Acioamento A = !(WiiMote. . . . . . . .69 5. .A = WiiMote.Rumble = var. .B = WiiMote. .Down){ var.dot2vis // Leitura .ativado } if (Keyboard.dot2vis) var. .Up){ var. } WiiMote.dot1vis) B = !(WiiMote. .dot1vis var. .InterfaceEsteira 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 . .

Fotos da Esteira VISÃO GERAL DETALHE DA ESTEIRA .70 6.

Sign up to vote on this title
UsefulNot useful