UNIVERSIDADE ANHEMBI MORUMBI ANDERSON DA SILVA BISCONSIN DIEGO LEITE DE SOUSA GABRIEL TREVISAN RAFAEL PEGORARO SOARES

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

Download "UNIVERSIDADE ANHEMBI MORUMBI ANDERSON DA SILVA BISCONSIN DIEGO LEITE DE SOUSA GABRIEL TREVISAN RAFAEL PEGORARO SOARES"

Transcrição

1 UNIVERSIDADE ANHEMBI MORUMBI ANDERSON DA SILVA BISCONSIN DIEGO LEITE DE SOUSA GABRIEL TREVISAN RAFAEL PEGORARO SOARES DESENVOLVENDO O JOGO PONG COM ARDUINO São Paulo 2011

2 ANDERSON DA SILVA BISCONSIN DIEGO LEITE DE SOUSA GABRIEL TREVISAN RAFAEL PEGORARO SOARES DESENVOLVENDO O JOGO PONG COM ARDUINO Trabalho de Conclusão de Curso apresentado como exigência parcial para a obtenção de título de Graduação do Curso de Ciência da Computação da Universidade Anhembi Morumbi Orientador: Prof. Msc. Emerson S. Paduan São Paulo 2011

3 ANDERSON DA SILVA BISCONSIN DIEGO LEITE DE SOUSA GABRIEL TREVISAN RAFAEL PEGORARO SOARES DESENVOLVENDO O JOGO PONG COM ARDUINO Trabalho de Conclusão de Curso apresentado como exigência parcial para a obtenção de título de Graduação do Curso de Ciência da Computação da Universidade Anhembi Morumbi Aprovado em: PROF. EMERSON DOS SANTOS PADUAN Universidade Anhembi Morumbi PROF.: REGIANE APARECIDA MARUCCI Universidade Anhembi Morumbi PROF.: EDSON LUIZ RECCHIA Universidade Anhembi Morumbi

4 RESUMO O Arduino é uma plataforma de prototipação eletrônica que possui diversas versões e com módulos disponíveis para uso em diversas aplicações, ele é um projeto que disponibiliza todas as suas documentações técnicas e diagramas esquemáticos para uso livre sobre uma licença Open Hardware, que permite o uso livre desses recursos contanto que os resultados sejam igualmente livres. Ele possue uma linguagem de programação própria, que é uma modificação da linguagem C baseada no projeto Wiring e com ambiente de desenvolvimento escrito em Java baseado no projeto Processing, ambos projetos Open-source, ou seja, de código aberto. O Arduino possibilita o desenvolvimento de aplicações complexas de forma simples, facilitando o aprendizado e o desenvolvimento por qualquer pessoa. Para demonstrar estas características este trabalho tem o objetivo de recriar o jogo Pong integrando a uma interface de controle fisica com as paletas de jogo. Apresentando as características, recursos e possibilidades existentes no Arduino desenvolvendo o jogo Pong. Palavras-chave: Linguagem C. Eletrônica. Desenvolvimento para Arduino.

5 ABSTRACT The Arduino is an electronics prototyping platform that has many versions and modules available for use in many applications, it is a project that provides all technical documentation and schematics for free use on an Open Hardware License, which allows free use these resources as long as the results are equally free. He possesses an own programming language, which is a modification of the C language based on Wiring design and development environment written in Javabased on Processing project, both open-source project, or open source. The Arduino allows for the development of complex applications in a simple, facilitating learning and development by anyone. To demonstrate these features our work aims to recreate the game Pong with a game controller that integrates physically palettes of the game control. Demonstrating its features, possibilities and resources developing the game Pong with Arduino. Key words: Language C. Electronics. Development for Arduino.

6 LISTA DE FIGURAS Figura 1 - Tela do Jogo Pong...13 Figura 2 - Tela do Jogo Tennis no Odyssey...14 Figura 3 - Protótipo Pong de Figura 4 - Arcade Pong de Figura 5 - Diagrama de Blocos...20 Figura 6 - PWM, Ciclo de Trabalho Figura 7 Dotklok...22 Figura 8 - Wifi Robot...22 Figura 9 - Arduino gamepack...23 Figura 10 - Arduino Uno...24 Figura 11 - Arduino Duemilanove...24 Figura 12 - Arduino Nano...25 Figura 13 - Arduino Mega...27 Figura 14 - Arduino BT (Bluetooth)...28 Figura 15 - Arduino LilyPad...28 Figura 16 - Arduino Fio...29 Figura 17 - Arduino Mini...29 Figura 18 - Arduino Pro...30 Figura 19 - Arduino Pro Mini...31 Figura 20 - Arduino Mini USB Adapter...31 Figura 21 - Uso simultâneo de Shields...32 Figura 22 - Arduino Ethernet Shield...33 Figura 23 - Arduino Input Shield...33 Figura 24 Freeduino...34 Figura 25 Seeeduino...34 Figura 26 Severino...35 Figura 27 - Brasuino BS Figura 28 - IDE Processing...36 Figura 29 - IDE Arduino...37 Figura 30 - Barra de Ferramentas...38 Figura 31 - Seleção de Placas Arduino...40 Figura 32 - AVR Studio...40

7 Figura 33 - Seleção de Bibliotecas...45 Figura 34 - Ping Pong com Matriz de LEDs...47 Figura 35 - Relação, Arduino e Protótipo...48 Figura 36 - Campo de jogo...48 Figura 37 - Componentes do Arduino Mega...50 Figura 38 - Matriz de LED 8x8 60mm...50 Figura 39 - Potenciômetro...51 Figura 40 - Display de 7 Segmentos...51 Figura 41 - Buzzer...52 Figura 42 - Motor 4,5V...52 Figura 43 - Shield Motor...53 Figura 44 - Chip da Shield Motor (L298N)...53 Figura 45 Protoboard...54 Figura 46 Ligações internas da Protoboard...54 Figura 47 Fonte de Alimentação Universal...55 Figura 48 Diagrama para ligação de uma Matriz de LEDs 8x Figura 49 Ligação do Potenciômetro ao Arduino...57 Figura 50 Primeiro protótipo do Projeto...58 Figura 51 Pinos de um Display de 7 Segmentos...58 Figura 52 Sequências de bits para exibição de numerais no Display...59 Figura 53 Ligação do Buzzer ao Arduino...59 Figura 54 Diagrama de ligação da Shield Motor no Arduino...61 Figura 55 Tela Inicial...61 Figura 56 Visão do Jogo...62 Figura 57 - Telas de fim de jogo...62 Figura 58 - Diagrama das ligações dos componentes no Arduino...63 Figura 59 Projeto final...64 Figura 60 Falha lógica...65

8 LISTA DE TABELAS Tabela 1 - CRITÉRIOS OPEN HARDWARE...17 Tabela 2 - TABELA COMPARATIVA DE TIPOS DE ARDUINO...32 Tabela 3 - BARRA DE MENUS...40 Tabela 4 - TABELA DE VARIÁVEIS...43

9 SUMÁRIO 1 INTRODUÇÃO OBJETIVO JUSTIFICATIVA ABRANGÊNCIA ESTRUTURA DO TRABALHO O JOGO PONG OPEN HARDWARE DENIFIÇÃO DOS CRITERIOS DO OPEN HARDWARE DOCUMENTAÇÃO ESCOPO SOFTWARE NECESSÁRIO PRODUTOS DERIVADOS LIVRE REDISTRIBUIÇÃO ATRIBUIÇÃO NÃO DISCRIMINAÇÃO DE PESSOAS OU GRUPOS NÃO DISCRIMINAÇÃO DE CAMPOS DE UTILIZAÇÃO DISTRIBUIÇÃO DA LICENÇA A LICENÇA NÃO DEVE SER ESPECÍFICA DE UM PRODUTO NÃO RESTRINGIR OUTROS SOFTWARES OU HARDWARES A LICENÇA DEVE SER TECNOLOGICAMENTE NEUTRA ARDUINO APLICAÇÕES DOTKLOK WIFI ROBOT ARDUINO GAMEPACK TIPOS DE ARDUINO UNO DUEMILANOVE UNO SMD NANO DIECIMILA...26

10 4.2.6 MEGA MEGA BT (BLUETOOTH) LILYPAD FIO MINI PRO PRO MINI MINI USB ADAPTER COMPARATIVO ENTRE OS MODELOS SHIELDS HARDWARES BASEADOS NO ARDUINO FREEDUINO SEEEDUINO SEVERINO BRASUINO BS ARDUINO ALPHA (IDE) CARACTERÍSTICAS DA FERRAMENTA (IDE) INSTALAÇÃO UTILIZAÇÃO LINGUAGENS VARIAVEIS FUNÇÕES BIBLIOTECAS BIBLIOTECAS STANDARD BIBLIOTECAS CONTRIBUTED TRABALHO RELACIONADO MODELAGEM DO PROJETO HARDWARES UTILIZADOS RAZÃO PARA USO DO MEGA MATRIZ DE LED POTENCIÔMETRO DISPLAY CÁTODO DE SETE SEGMENTOS BUZZER...50

11 6.1.6 MOTOR SHIELD MOTOR DUAL H-BRIDGE PROTOBOARD FONTE DE ALIMENTAÇÃO DESENVOLVIMENTO FUNCIONAMENTO DO JOGO PONG LIGANDO UMA MATRIZ DE LEDS AO ARDUINO LIGANDO UM POTENCIÔMETRO AO ARDUINO PRIMEIRO PROTÓTIPO LIGANDO UM DISPLAY CÁTODO AO ARDUINO LIGANDO UM BUZZER AO ARDUINO LIGANDO A SHIELD E UM MOTOR NO ARDUINO TELAS DO JOGO INTELIGÊNCIA ARTIFICIAL MONTAGEM TESTES DIFICULDADE ENCONTRADAS CONCLUSÃO E TRABALHOS FUTUROS TRABALHOS FUTUROS...64 REFERÊNCIAS BIBLIOGRÁFICAS...65 APENDICE A CÓDIGO FONTE...71 APENDICE B IMAGENS DO PROCESSO DE MONTAGEM...81 APENDICE C COMPARAÇÃO ENTRE MODELOS...81

12 11 1 INTRODUÇÃO A cada ano que passa a tecnologia avança mais, e observa-se que no mercado de Jogos e Hardwares existem grandes empresas investindo em novas tecnologias para novos projetos (MICROSOFT, 2011; ESTADAO, 2011; VEJA, 2011). Com o objetivo de oferecer aos seus usuários maior liberdade, realismo e interação através de novas tecnologias de captura de movimento, tornando tudo mais próximo da realidade. Pode-se facilmente notar esses avanços observando os jogos atuais que, com o uso da criatividade e das novas tecnologias, permitem uma maior interação e realismo proporcionando maior liberdade de movimento. Neste projeto foi utilizado o hardware Arduino para recriar o jogo Pong em uma interface mais amigável, tornando o funcionamento do jogo mais interativo e realista. 1.1 OBJETIVO Este projeto tem por objetivo desenvolver o jogo Pong utilizando o hardware Arduino e com ele desenvolver uma nova interface de controle para este jogo, com o objetivo de tornar o jogo mais intuitivo. 1.2 JUSTIFICATIVA O intuito deste projeto é cobrir temas como robótica, games e eletrônica, áreas não abordadas ou pouco discutidas pelo curso. Esse trabalho tem como objetivo o desenvolvimento de um jogo eletrônico utilizando a placa Arduino, tendo em vista proporcionar um aprendizado não adquirido até o momento. E tem como motivação a criação de um trabalho divertido que incentiva o aprendizado, servindo de referência futura para a área. 1.3 ABRANGÊNCIA O projeto abrange o desenvolvimento do jogo eletrônico Pong sem opção multi-jogador utilizando o open hardware Arduino como base. Será construído um hardware que possibilitará a interação do jogador, que controlará uma das barras

13 12 laterais que representam as raquetes no jogo, enquanto a máquina controlará a barra lateral oposta no jogo, os movimentos da bolinha e terá inteligência para validar as jogadas. As barras laterais serão físicas, sendo uma delas dotada de um controlador, enquanto a bolinha será representada virtualmente. Haverá contagem dos pontos obtidos por cada jogador e será possível a visualização desta contagem. A cada colisão da bolinha com uma barra lateral, um falante será acionado, emitindo um som para representar a colisão. 1.4 ESTRUTURA DO TRABALHO Além do capítulo introdutório, o trabalho está estruturado em 7 capítulos. No capítulo 2 é apresentada a história do jogo Pong e curiosidades acerca do jogo. É abordado no capítulo 3 o significado de Open Hardware, elencando as principais exigências do conceito no que diz respeito à documentação e licença de distribuição. No capítulo 4 é apresentado o Arduino, open hardware que será utilizado no projeto, descrevendo os modelos existentes e a linguagem de programação utilizada pelo projeto. No capítulo 5 são abordadas a IDE e a linguagem do Arduino. O capítulo 6 contempla o desenvolvimento e a montagem do projeto, descrevendo os hardwares utilizados e o funcionamento da inteligência artificial. Já no capítulo 7 são apresentadas as conclusões da monografia e sugestões de trabalhos futuros.

14 13 2 O JOGO PONG A história do jogo Pong, e também a história dos videogames, teve origem em 1951, quando Ralph Baer, um jovem engenheiro, foi encarregado de construir o melhor aparelho de televisão do mundo. A idéia de Ralph era possibilitar que as pessoas interagissem com o aparelho de TV, jogando. Essa idéia não foi bem aceita pelo engenheiro chefe Sam Lackoff, e o conceito de vídeo games de Raplh Baer não pode ser implementado. Somente em 1966, Raplh retomou a sua idéia de 1951 e começou a construir protótipos, cerca de sete, do que viria a ser o primeiro vídeo game da história. Em 1968, Ralph construiu seu último protótipo, a Brown Box, (PONGSTORY, 2011). Em 1971, Ralph Baer licencia seu projeto Brown Box para ser produzido exclusivamente pela Magnavox e auxilia a empresa na produção de uma versão do seu protótipo, que seria lançado no ano seguinte com o nome Odyssey, (BAER, 2011). O jogo Pong (Figura 1) foi criado em 1972 pelo engenheiro elétrico e cientista da computação Al Alcorn, com ajuda de Nolan Bushnell, que fundou a empresa Atari juntamente com Ted Dabney no mesmo ano, (CLASSICGAMING, 2011; NONUBA, 2009). Figura 1 - Tela do jogo Pong. Fonte: (OLD COMPUTERS, 2011). Pong foi o primeiro produto da Atari e funcionava de forma semelhante a uma partida de tênis, onde os jogadores rebatiam uma bola de um lado para outro, e era controlado por botões rotativos, parecidos com um controlador de volume de aparelho de som. Apesar de ser o primeiro jogo lucrativo da história, a idéia de Pong

15 14 não era original, pois Nolan Bushnell havia visitado uma feira e visto o jogo Tennis (Figura 2) do videogame Odyssey e pediu que Alcorn criasse um jogo baseado nele, a título de exercício, dado que Alcorn não tinha experiência com jogos eletrônicos. Bushnell ficou tão surpreso com a qualidade do jogo feito por Alcorn, que decidiu investir no jogo, (CLASSICGAMING, 2011; NONUBA, 2009). Figura 2 - Tela do Jogo Tennis no Odyssey. Fonte: (VIDEOGAME CONSOLELIBRARY, 2011). No mesmo ano, Nolan Bushnell e Al Alcorn criaram um protótipo do jogo, que possibilitava jogar contra a própria máquina ou contra um amigo mediante pagamento, e colocaram em um bar na Califórnia, chamado "Andy Capps Tavern". Após duas semanas da instalação do jogo, Alcorn foi informado pelo gerente do bar que o jogo havia quebrado e que ele adoraria que o jogo fosse concertado. Quando Alcorn verificou a máquina, encontrou um problema pouco comum. O motivo da máquina ter parado de funcionar era a quantidade de moedas que havia dentro dela. Em poucos meses outras empresas lançaram imitações do Pong, até que a Magnavox, empresa responsável pelo vídeo game Odyssey, processou a Atari por infringir as patentes de Ralph Baer, criador do videogame, em 700 mil dólares, ocasionando a primeira batalha judicial sobre videogames da história, (CLASSICGAMING, 2011; NONUBA, 2009). Em 1973, foram construídas de 8 a 10 mil unidades da máquina com o jogo Pong, conforme mostrado nas figuras 3 e 4, tornando-o um sucesso sem precedentes. No mesmo ano, Ted Dabney vendeu metade da sua parte nas ações da Atari para Nolan Bushnell, que criou uma nova empresa para concorrer com a Atari, a Kee Games, (CLASSICGAMING, 2011; NONUBA, 2009).

16 15 Figura 3 - Protótipo Pong de Fonte: (VIDEOGAMETRADER, 2011). A partir de 1974, diversas empresas, como Atari, Magnavox e Coleco, começaram a trabalhar em versões caseiras do jogo Pong, aproveitando o sucesso do Arcade. Elas criaram diversas variações do jogo nos anos seguintes, até que em 1977 Pong perdeu a sua popularidade com a chegada dos videogames baseados em cartuchos, cujos jogos não se limitavam a variações de Pong (CLASSICGAMING, 2011; NONUBA, 2009). Figura 4 Arcade Pong de Fonte: (VIDEOGAME CONSOLELIBRARY, 2011).

17 16 3 OPEN HARDWARE Open Hardware é um hardware de especificação aberta, ou seja, todas as informações necessárias para compreensão e reconstrução devem estar acessíveis e seus arquivos abertos e lidos por qualquer programa de código aberto, isto é, sem o auxílio de qualquer ferramenta comercial. Isso significa dizer que todo o seu design está à disposição de todo o público, para que esse possa estudá-lo, modificálo, fazer a sua distribuição, produção e até a venda do mesmo (OPEN HARDWARE ORG, 2011). 3.1 DENIFIÇÃO DOS CRITERIOS DO OPEN HARDWARE. Os critérios proporcionam às pessoas a liberdade de controlar a tecnologia e partilhar de seus conhecimentos, além de incentivar o comércio através da livre troca de projetos. Vale salientar que não se pode fazer o uso de um open hardware em quaisquer projetos proprietários, com especificação fechada (OPEN HARDWARE ORG, 2011). No dia 10 de fevereiro de 2011 foi lançada uma definição de open hardware, nela está escrita que para sua distribuição 12 critérios devem ser cumpridos (OPEN HARDWARE ORG, 2011). Os critérios são: DOCUMENTAÇÃO. Ele deve ser distribuído com documentação, isso deve incluir os arquivos de design e também permitir a modificação e distribuição desses arquivos. Caso o produto físico não venha acompanhando da documentação, deve obtê-la, preferencialmente via download na Internet, (OPEN HARDWARE ORG, 2011) ESCOPO. Sua documentação deve especificar de forma clara quais as partes de seu design são distribuídas sob licença, (OPEN HARDWARE ORG, 2011).

18 SOFTWARE NECESSÁRIO. Caso haja a necessidade de usar um software para o hardware operar corretamente, sua licença deve requisitar que uma das condições a seguir seja cumprida: a) Sua interface deve ser devidamente documentada e de maneira descomplicada, possibilitando a criação de um software open source para que o dispositivo possa funcionar corretamente. b) Distribuição de uma licença open source para o software necessário. Tornando o software alterável por qualquer pessoa, (OPEN HARDWARE ORG, 2011) PRODUTOS DERIVADOS. Deve-se permitir a modificação e criação de produtos derivados do hardware original. Também se deve permitir a distribuição, manufatura e venda dos produtos derivados, contanto que os mesmos sejam distribuídos sob os mesmos termos da licença original, (OPEN HARDWARE ORG, 2011) LIVRE REDISTRIBUIÇÃO A licença não pode fazer a cobrança de direitos autorais ou de qualquer outra taxa para a venda ou redistribuição, (OPEN HARDWARE ORG, 2011) ATRIBUIÇÃO A licença pode fazer a requisição de nota de direitos autorais aos seus produtos derivados, (OPEN HARDWARE ORG, 2011).

19 NÃO DISCRIMINAÇÃO DE PESSOAS OU GRUPOS Não pode ser feita qualquer discriminação contra uma pessoa, ou grupo de pessoas, (OPEN HARDWARE ORG, 2011) NÃO DISCRIMINAÇÃO DE CAMPOS DE UTILIZAÇÃO Não se deve restringir o uso do produto em nenhum campo de utilização, (OPEN HARDWARE ORG, 2011) DISTRIBUIÇÃO DA LICENÇA Todos que tiverem produtos redistribuídos devem possuir os mesmos direitos garantidos pela licença original, sem necessidade de nenhuma outra licença adicional, (OPEN HARDWARE ORG, 2011) A LICENÇA NÃO DEVE SER ESPECÍFICA DE UM PRODUTO Não se deve permitir que produtos licenciados sejam partes de um produto particular, ou seja, caso uma parte seja extraída de um produto, que esteja dentro dos termos da licença, todas as partes devem ter os mesmos direitos garantidos do produto original, (OPEN HARDWARE ORG, 2011) A LICENÇA NÃO DEVE RESTRINGIR OUTROS SOFTWARES OU HARDWARES Não se deve fazer nenhuma restrição a outros itens que sejam agregados ao produto mas não derivados do mesmo, (OPEN HARDWARE ORG, 2011) A LICENÇA DEVE SER TECNOLOGICAMENTE NEUTRA Não se pode aplicar nenhuma parte da licença a uma tecnologia em particular, componente, material ou ao estilo da interface, (OPEN HARDWARE ORG, 2011).

20 19 4 ARDUINO O conceito Arduino surgiu na Itália em 2005 com o objetivo de criar um dispositivo para controlar projetos / protótipos construídos de uma forma que exija menos despesas do que outros sistemas disponíveis no mercado (DA FONSECA; BEPPU, 2010). O Arduino é uma plataforma de computação física (são sistemas digitais ligados a sensores e atuadores, que permitem construir sistemas que percebam a realidade e respondam com ações físicas), baseada em uma simples placa de Entrada / Saída microcontrolada e desenvolvida sobre uma biblioteca que simplifica a escrita da programação em C (DA FONSECA; BEPPU, 2010). Um microcontrolador, também denominado MCU é um computador em um chip, que contém processador, memória e periféricos de entrada / saída, e que pode ser programado com funções específicas, em contraste com outros microprocessadores de propósitos gerais (como os utilizados nos PCs). Eles são acoplados no Arduino para que o Arduino possa controlar suas funções ou ações através de programação. O Arduino é capaz de interpretar variáveis no ambiente e transformá-las em sinal elétrico correspondente, através de sensores ligados aos seus terminais de entrada, e atuar no controle ou acionamento de algum outro elemento eletroeletrônico conectado ao terminal de saída. Ou seja, é uma ferramenta de controle de entrada e saída de dados, que pode ser acionada por um sensor, por exemplo, um resistor dependente da luz LDR, e que logo após passar por uma etapa de processamento, o microcontrolador poderá acionar um atuador, por exemplo, um motor. É como um computador, tendo como periféricos de entrada o mouse e o teclado, e de saída impressoras, motores de passo e caixas de som, só que fazendo interface com circuitos elétricos, podendo receber ou enviar informações / tensões através deles.

21 20 Para melhor entendimento, na figura 5 é possível identificar os elementos principais do circuito através de um diagrama em blocos (DA FONSECA; BEPPU, 2010). Figura 5 Diagrama de Blocos. Fonte: (DA FONSECA; BEPPU, 2010). O Arduino é baseado em um microcontrolador ATmega, e dessa forma é logicamente programável, ou seja, é possível a criação de programas (Sketchs), utilizando uma linguagem própria baseada em C, que quando implementados fazem com que o hardware execute certas ações (DA FONSECA; BEPPU, 2010). O grande diferencial desta ferramenta é que ela é desenvolvida e aperfeiçoada por uma comunidade que divulga os seus projetos e códigos fonte de aplicações, pois a concepção dela é open source (código fonte aberto). Ele foi projetado com a finalidade de ser de fácil entendimento, programação e aplicação, além de ser multiplataforma, ou seja, pode-se configurá-lo em ambiente Windows, GNU / Linux e Mac OS (DA FONSECA; BEPPU, 2010). Assim sendo, pode ser perfeitamente utilizado como ferramenta educacional sem se preocupar com o fato do usuário não ter um conhecimento específico de eletrônica. Entretanto, pelo fato de ter o seu esquema e software de programação open source, chamou a atenção de todos os envolvidos na área, que começaram a aperfeiçoar e a criar aplicações mais complexas (DA FONSECA; BEPPU, 2010). 4.1 APLICAÇÕES O Arduino pode ser usado para desenvolver artefatos interativos stand-alone, aplicação que não está conectada a um computador, ou conectados a um computador através de bibliotecas para comunicação com programas como Adobe Flash, Processing, Max/MSP, Pure Data ou Super Collider e outros demais.

22 21 Suas aplicações são diversas e abrangem tanto usos industriais quanto domésticos. Em indústrias, ele pode ser usado para controlar elevadores de carga, esteiras rolantes, guinchos e demais máquinas através do PWM (Pulse-Width Modulation - Modulação por Largura de Pulso). Conforme pode ser visto na figura 6, o PWM é uma tecnologia que permite controlar o período cíclico de alimentação ou frequência de operação do dispositivo. Aumentando ou diminuindo o percentual energético enviado para o dispositivo conectado ao Arduino é possível alterar a sua frequência de operação, (DA FONSECA; BEPPU, 2010). Figura 6 PWM, Ciclo de Trabalho. Fonte: (DA FONSECA; BEPPU, 2010). Já em aplicações domésticas, ele pode ser usado para controle de iluminação, portões, cortinas elétricas, dentre outros equipamentos domésticos que podem prover um gerenciamento de sua energia elétrica e da água de sua residência (DA FONSECA; BEPPU, 2010). Alguns exemplos de aplicações com o Arduino são apresentados a seguir.

23 DOTKLOK O Dotklok (Figura 7) é um relógio digital feito com Arduino que exibe diversas animações enquanto mostra as horas. Essas animações variam entre números e padrões abstratos, figuras geométricas, código Morse, faces de um relógio analógico e algumas inspiradas em jogos de vídeo clássicos como Pong, Tetris, Pacman e Space Invaders. O Dotklok possui um modo de animações aleatórias opcional, onde a animação é alterada todo dia à meia-noite, (TECHNOETC, 2011). Figura 7 Dotklok. Fonte: (TECHNOETC, 2011) WIFI ROBOT O Wifi Robot (Figura 8) é um carro controlado remotamente pela internet ou com um laptop sem fio de até 500m de distância. Ele possui uma webcam e utiliza um roteador Linksys WRT54GL para o recebimento dos comandos. Seu código fonte é aberto e foi distribuído sob os termos da GNU GPL v2, então qualquer pessoa pode utilizá-lo livremente, (JBPROJECTS, 2011). Figura 8 Wifi Robot. Fonte: (JBPROJECTS, 2011).

24 ARDUINO GAMEPACK O GamePack (Figura 9), é um projeto de um videogame portátil, baseado no Nintendo Game Boy utilizando a tecnologia do Arduino. Ele possui uma tela de LED, um joystick pequeno, dois botões de controle e uma bateria de lítio. Atualmente, o GamePack está disponível em forma de kit para que pessoas possam construir a sua versão. O seu sistema só executa alguns códigos de demonstração rudimentar, mas a esperança é que futuramente ele rode jogos mais avançados, ou talvez um emulador de Nintendo, (TECHNABOB, 2011). Figura 9 Arduino gamepack. Fonte: (TECHNABOB, 2011). 4.2 TIPOS DE ARDUINO Atualmente, existem 13 tipos de Arduino, nesta seção são detalhadas suas especificações e características. Também serão apresentadas as Shields, componentes externos que podem ser usados para se estender as funcionalidades do Arduino UNO O modelo Uno, mostrado na figura 10, é baseado no microcontrolador ATmega328. Diferentemente de outros modelos, ele não faz uso do chip FTDI (usado para converter o sinal USB para conexão UART), que foi substituído pelo microcontrolador ATmega8U2, programado para converter USB para serial.

25 24 Este modelo marca a versão 1.0 do Arduino e pode ser alimentado através da entrada USB, com um adaptador AC-DC ou uma bateria, (ARDUINO, 2011). Figura 10 Arduino Uno. Fonte: (ARDUINO, 2011) DUEMILANOVE O modelo Duemilanove (2009 em italiano), mostrado na figura 11, é baseado no microcontrolador ATmega368 e ATmega168 nas versões anteriores. Esse modelo de Arduino pode trabalhar com voltagens entre 6 e 20 volts. Entretanto, com voltagens inferiores a 7 volts, a voltagem dos pinos não alcança os 5 volts, apresentando instabilidade no funcionamento. O problema ocorre também com voltagens superiores a 12, o regulador de voltagem pode superaquecer e queimar a placa. Devido a estes problemas, as voltagens recomendadas estão entre 7 e 12 volts (ARDUINO, 2011). Figura 11 Arduino Duemilanove. Fonte: (ARDUINO, 2011).

26 UNO SMD O modelo Uno SMD é uma versão do Arduino Uno que usa o microcontrolador ATmega328P montado na superfície da placa, ao invés de montada por furos. Esta versão foi feita em resposta a um escassez na oferta do ATmega328P para montagem por furos (ARDUINO, 2011) NANO O modelo Nano, mostrado na figura 12, possui uma placa muito pequena, 0.7" x 1.7", baseada nos microcontroladores ATmega168 ou ATmega328, dependendo da versão. Sua funcionalidade se assemelha ao modelo Duemilanove, porém com um pacote diferente. Ele possui uma entrada USB mini-b, que pode ser utilizada como fonte de alimentação com voltagem entre 6 e 20 volts, ou por outra fonte de alimentação de 5 volts (ARDUINO, 2011). O modelo com microcontrolador ATmega168 possui 16 KB de memória flash, enquanto o modelo com microcontrolador ATmega328 possui 32 KB. Outras diferenças entre os modelos são o tamanho da EEPROM, 512 bytes para o modelo ATmega168 e 1 KB para o modelo ATmega328 e da SRAM, 1 KB e 2 KB, respectivamente. Diferente dos demais modelos de Arduino, as versões do modelo Nano não possuem o botão Reset impresso, elas foram projetadas para serem reiniciadas via software. Outra facilidade é o envio de código para a placa, feito através do botão Upload no software do Arduino (ARDUINO, 2011). Figura 12 Arduino Nano. Fonte: (ARDUINO, 2011).

27 DIECIMILA O modelo Diecimila representa a marca de placas fabricadas e é baseado no microcontrolador ATmega168. Ele tem basicamente as mesmas características do Arduino Duemilanove, mas com a praticidade de que este seleciona automaticamente a fonte de energia vindo ou da entrada USB ou da Fonte de energia externa, enquanto o Duemilanove tem um jumper que pode ser colocado conforme se queira utilizar (ARDUINO, 2011) MEGA O modelo Mega, mostrado na figura 13, é baseado no microcontrolador ATmeg1280 e é o modelo que possui a maior quantidade de pinos, 54 ao todo, dos quais 14 podem ser utilizados para saída PWM, que podem ser utilizados tanto para entrada quanto para saída de dados. Possui também 16 entradas analógicas, 4 portas seriais UARTS, um cristal oscilador de 16 MHz, conexão USB, uma entrada para energia, um conector ICSP e um botão Reset. O Mega é compatível com a maioria das Shields projetados para os modelos Arduino Duemilanove e Diecimila. Além de possuir um botão Reset, este modelo foi desenhado para reiniciar automaticamente quando conectado ao computador, permitindo o upload de novos códigos sem a necessidade de pressionar fisicamente o botão Reset. Existe uma trilha, identificada como "RESET-EN", que pode ser cortada para desabilitar o auto reset e os terminais de cada lado da trilha podem ser soldadas novamente para reativá-lo. Também é possível desativar o auto reset ligando um resistor de 110 Ohms num pino de 5 volts e no pino Reset. Outra característica deste modelo é a presença de um poli fusível reajustável que protege a entrada USB contra curtos e sobre-tensões. O poli fusível quebra

28 27 automaticamente, caso uma corrente superior a 500 ma for aplicada a entrada USB (ARDUINO, 2011). Figura 13 Arduino Mega. Fonte: (ARDUINO, 2011) MEGA 2560 O modelo Mega 2560 é uma versão atualizada do modelo Mega e é baseada no microcontrolador ATmega2560. Está versão conta também com 256 KB de memória flash, dos quais 8 KB são reservados para o gerenciador de boot. Assim como o modelo Uno, esta versão do modelo Mega não faz uso do chip FTDI, que foi substituído pelo microcontrolador ATmega8U2, programado para converter USB para serial. O Mega 2560 também é compatível com a maioria das Shields projetados para os modelos Arduino Uno, Duemilanove e Diecimila (ARDUINO, 2011) BT (BLUETOOTH) O modelo BT, mostrado na figura 14, é baseado no microcontrolador ATmega168 e no módulo Bluetooth Bluegiga WT11. Este modelo suporta comunicação serial sem fio, bluetooth, mas não é compatível com fones de ouvido ou outros dispositivos de áudio que disponham dessa tecnologia. O módulo Bluetooth WT11 foi especialmente configurado para o uso no Arduino BT. Ele possui um nome de identificação e exige uma senha numérica para iniciar qualquer comunicação.

29 28 O gerenciador de boot se comunica utilizando o protocolo STK500, mas também pode ser ignorado e o microcontrolador programado através do ICSP (InCircuit Serial Programming), (ARDUINO, 2011). Figura 14 Arduino BT (Bluetooth). Fonte: (ARDUINO, 2011) LILYPAD O modelo LilyPad, mostrado na figura 15, possui duas versões baseadas nos microcontroladores ATmega168V, para a versão de baixa potência, e ATmega328V. Este modelo foi desenvolvido e projetado por Leah Buechley e Eletrônica SparkFun para computação vestível e pode ser costurado em tecidos e ligado a fontes de alimentação, sensores e atuadores com fio condutor. Apesar de ter sido projetado para computação vestível, não é recomendado lavá-lo. Entretanto caso isso seja necessário é recomendado lavá-lo à mão com detergente neutro e deixar escorrer. Também é fundamental que a placa esteja desligada da fonte de alimentação (ARDUINO, 2011). Figura 15 Arduino LilyPad. Fonte: (ARDUINO, 2011).

30 FIO O modelo Fio, mostrado na figura 16, é baseado no microcontrolador ATmega328P. Este modelo foi projetado por Shigeru Kobayashi e SparkFun Electronics, e desenvolvido pela SparkFun Electronics para aplicações sem fio. Ele possui conexões para bateria de lítio, com um circuito para carga via USB disponível, e uma conexão para XBee na parte inferior. Sendo destinado para aplicações sem fio, neste modelo o usuário pode carregar programas (Sketchs) com um cabo FTDI (cabo com conector Uart e USB) ou uma placa SparkFun. Além disso, usando um adaptador específico é possível carregar programas (Sketchs) sem o uso de cabos. A placa vem sem conexões pré-montadas, permitindo o uso de vários tipos de conectores ou solda direta dos fios, (ARDUINO, 2011). Figura 16 Arduino Fio. Fonte: (ARDUINO, 2011) MINI O modelo Mini, mostrado na figura 17, possui uma placa um pouco maior que a do modelo Nano e é baseado no microcontrolador ATmega168. Este modelo é destinado ao uso em protoboards, onde o espaço é bastante escasso. É possível programar o Arduino Mini utilizando um adaptador USB Mini, outros dispositivos USB semelhantes ou um adaptador serial RS232 para TTL, (ARDUINO, 2011). Figura 17 Arduino Mini. Fonte: (ARDUINO, 2011).

31 PRO O modelo Pro, mostrado na figura 18, possui duas versões, baseadas nos microcontroladores ATmega168 e ATmega328. Este modelo não possui conexões pré-montadas e como foi projetado para a instalação de componentes de forma semi-permanente possibilita o uso de vários tipos de conectores ou solda direta de fios. Sua pinagem é compatível com a maioria das Shields para Arduino. A versão com microcontrolador ATmega168 possui 16 KB de memória flash enquanto o ATmega KB, nas duas versões 2 KB são utilizados pelo gerenciador de boot. O Arduino Pro não exige que o botão Reset seja pressionado antes de um upload de código, ele foi projetado para permitir upload enquanto está conectado ao computador. Um pino é conectado a linha de Reset do microcontrolador utilizando um capacitor de 100 nanofarad e também à linha de controle de fluxo do hardware que converte USB para serial. Este recurso é utilizado para que a reinicialização funcione de forma automática e reduz o tempo de carregamento do gerenciador de boot (ARDUINO, 2011). Figura 18 Arduino Pro. Fonte: (ARDUINO, 2011) PRO MINI O modelo Pro Mini, mostrado na figura 19, é baseado no microcontrolador ATmega168 e foi projetado e fabricado pela SparkFun Electronics. Assim como ocorre no modelo Pro ele não possui conexões pré-montadas e como foi projetado para a instalação de componentes de forma semi-permanente, possibilita o uso de vários tipos de conectores ou solda direta de fios.

32 31 Sua pinagem é compatível com o modelo Arduino Mini. Existem duas versões do modelo Mini Pro, uma que opera a 3.3 volts e freqüência de 8 MHz, e outra que opera a 5 volts e 16 MHz de freqüência, (ARDUINO, 2011). Figura 19 Arduino Pro Mini. Fonte: (ARDUINO, 2011) ADAPTADORES E CONECTORES (MINI USB ADAPTER) O Modelo Mini USB Adapter, mostrado na figura 20, é a placa que converte uma conexão USB em TX e RX (entrada e saída) de 5 volts, permitindo comunicação direta entre o Arduino Mini, ou outros microcontroladores, e o computador. Esta placa é baseada no chip FT232RL da FTDI (ARDUINO, 2011). Figura 20 Arduino Mini USB Adapter. Fonte: (ARDUINO, 2011). A. CHIP FTDI E CABO FTDI O chip FTDI FT232R é uma interface USB para serial UART com saída opcional geradora de clock, entre 6MHz e 48MHz, e pode ser utilizado para acionar um microcontrolador a outro dispositivo usado em conjunto (FTFICHIP ICS). O cabo FTDI é um conversor USB para Serial UART nível TTL que permite uma interface de dispositivos TTL para USB (FTDICHIP CABLES, 2011).

33 SHIELDS As Shields são placas que simplificam e diminuem o custo da inclusão de novas tecnologias nos projetos desenvolvidos com Arduino. Elas podem ser conectadas diretamente ao Arduino aumentando seus recursos (ARDUINO SHIELDS, 2011). Através da modularidade disponível nas Shields, o Arduino pode trabalhar com muitas delas simultaneamente, conforme ilustrado na figura 21, caso sejam compatíveis e suas especificações estejam de acordo com os recursos disponíveis, (SHIELDLIST, 2011). Figura 21 Uso simultâneo de Shields. Fonte: (SHIELDLIST, 2011). Para cada tecnologia existe pelo menos um modelo de Shield, Arduino Ethernet Shield (Figura 22), usado para conexão com a Internet e o Arduino Input Shield (Figura 23), utilizado para a construção de um joystick. Apesar da diversidade de Shields, nem todos os modelos são compatíveis com todos os modelos de Arduino. Visando centralizar e reunir o máximo de informações sobre os modelos de Shield e de sua compatibilidade com os modelos do Arduino, foi criado um banco de dados originado no fórum de discussões oficial no site do Arduino. Esse banco de dados enumera a maioria dos modelos de Shield disponíveis, juntamente com a indicação dos pinos que ele utiliza, tornando mais fácil a análise de compatibilidade (SHIELDLIST, 2011). Existem diversos fabricantes de Shields compatíveis com Arduino, e cada fabricante pode, ou não, distribuir a especificação do seu hardware, para isso

34 33 utilizam algumas das várias licenças de distribuição disponíveis, como GPL v2, GPL v3, Creative Commons e BSD (SHIELDLIST, 2011). Figura 22 - Arduino Ethernet Shield. Fonte: (ARDUINO SHIELDS, 2011; HACKDAY, 2008). Figura 23 - Arduino Input Shield. Fonte: (DFROBOT WIKI, 2010). 4.4 HARDWARES BASEADOS NO ARDUINO Devido ao fato do Arduino ser um hardware de especificação aberta, pode-se encontrar alguns projetos baseados em sua tecnologia e totalmente compatíveis com ele. Alguns exemplos são o Freeduino, Seeeduino e os modelos brasileiros Severino e Brasuino FREEDUINO Inicialmente, o Freeduino era um projeto colaborativo para a publicação de arquivos de código aberto compatíveis com o Arduino. Os arquivos resultantes

35 34 desse projeto permitem aos usuários criar placas 100% funcionais. Com o passar do tempo ele passou a ser um hardware independente, mas totalmente compatível com o Arduino. O Freeduino vem com uma licença totalmente livre e sem restrições quanto ao uso de seu nome, ou seja, o usuário não precisa se preocupar com uma violação de marca. A figura 24 mostra o Freeduino na sua versão 2.1, (FREEDUINO ORG 2011). Figura 24 Freeduino. Fonte: (FREEDUINO ORG, 2011) SEEEDUINO O Seeeduino é uma placa totalmente compatível com o Arduino, assim como seus programas (Sketchs). Ele foi produzido pela empresa SeeedStudio e é baseado no layout das placas Arduino Diecimila, Duemilanove e UNO, ou seja, as posições dos pinos são as mesmas. Na versão 2.21 ATmega 168P e ATmega 328P o seu hardware sofreu algumas mudanças para melhorar a flexibilidade e a experiência do usuário. A figura 25 mostra a placa Seeeduino versão 2.21 ATmega 168P, (SEEEDSTUDIO, 2011). Figura 25 Seeeduino. Fonte: (SEEEDSTUDIO, 2011).

36 SEVERINO O Severino é um microcontrolador projetado pelo brasileiro Adilson Akashi e foi baseado no Arduino Diecimila ATmega8. Atualmente ele está na sua terceira versão, (ARDUINO SEVERINO, 2011). Ele foi batizado dessa maneira pela tradição italiana do nome Arduino e pelo fato do nome ser bem brasileiro. O projeto é totalmente compatível com Shields, e possui 3 jumpers de fio, função auto reset e um jumper para desligá-la (ARDUINO TUTORIAL, 2011). A figura 26 mostra o Severino versão 3. Figura 26 Severino. Fonte: (ARDUINO TUTORIAL, 2011) BRASUINO BS1 A Holoscópio é uma empresa que atua na área de consultoria e desenvolvimento de soluções tecnológicas livres, e foi a responsável pelo desenvolvimento do Brasuino BS1. O Brasuino utiliza um microcontrolador AVR ATmega328 em 16MHz, com 32KB de memória Flash, 2KB de memória RAM e 1 KB de memória EEPROM. Utiliza um microcontrolador secundário ATmega8U2 que pode ser usado para criar dispositivos USB diversos. Ele é compatível com o Shields do Arduino Uno e o software Arduino (HOLOCÓPIO, 2011). A figura 27 mostra o Brasuino BS1. Figura 27 Brasuino BS1. Fonte: (HOLOSCOPIO, 2011)

37 ARDUINO ALPHA (IDE) O ambiente de desenvolvimento do Arduino é uma IDE (Integrated Development Environment ou Ambiente Integrado de Desenvolvimento) que pode ser usada para escrever, editar, compilar (transformar os códigos em linguagem que o microcontrolador irá processar) e para enviar o programa compilado ao Arduino através de interface USB, usando o botão Upload (MARGOLIS, 2011). Essa ferramenta de desenvolvimento foi criada em Java baseado na IDE usada pela linguagem Processing, uma linguagem de programação e ambiente de desenvolvimento. Criados com o intuito de proporcionar um ambiente e linguagem de fácil entendimento para manipulação e criação de imagens, animações e interações para uso em recursos multimídia por artistas, designers, hobbistas ou qualquer outra pessoa (PROCESSING, 2011). Pode-se notar na figura 28 o ambiente de desenvolvimento do Processing, que é bem limpo e objetivo. Figura 28 - IDE Processing. Fonte: (PROCESSING, 2011). O resultado foi uma IDE simples e objetiva semelhante à IDE do Processing. Na figura 29, pode-se notar a interface da Arduino IDE.

38 37 Essas características ajudam pessoas com pouco ou nenhuma experiência em desenvolvimento a criar suas aplicações rapidamente. Barra de Ferramentas Abas Editor de textos Área de Mensagem Console Figura 29 - IDE Arduino. Fonte: (O Autor, 2011) CARACTERÍSTICAS DA FERRAMENTA (IDE) O ambiente de desenvolvimento do Arduino é um Editor AVR (uma família de micro-controladores da fabricante ATmel), que é um ambiente de desenvolvimento para a Linguagem C para chips Atmel, que possui uma Área de Codificação, uma Área de Mensagens, Console, Abas, Barra de Ferramentas e uma Barra de Menus onde estão disponíveis outras opções. Sendo este um software gratuito e Open Source. Os programas do Arduino são escritos usando-se a IDE (Ambiente de Desenvolvimento Integrado), Arduino Alfa. Através dela são realizadas todas as implementações e modificações nos programas que serão executados no microcontrolador.

39 38 A Área de Mensagens mostra notificações para as ações executadas como Salvar, Exportar (Upload) e exibição de erros. O Console exibe as respostas do Arduino, como os programas de console Java, e através dele também é possível a visualização das mensagens de erro completas, além de outras informações. A Barra de Ferramentas (Figura 30), permite Abrir, Criar, Salvar, Verificar e realizar o Upload dos programas criados. Além de permitir abrir o Monitor Serial. Figura 30 - Barra de Ferramentas. Fonte: (O Autor, 2011). Verify/Compile (Verificar/Compilar) Verifica o código à procura de erros. Stop (Parar) Para o Monitor Serial, ou retira o foco de outros botões. New (Novo) Cria um novo programa (Sketch). Open (Abrir) Abre um Menu com os Programas no Sketch book. Ele abre o mesmo na janela atual. Save (Salvar) Salva o programa. Upload to I/O Board (Enviar) Compila e envia o programa para a placa do Arduino usando a porta de comunicação atual. Serial Monitor (Monitor Serial) Abre o Monitor Serial. Mas como se trata de um ambiente de desenvolvimento Alfa ainda podem ocorrer mudanças em seu desenvolvimento até a versão final, incluindo novas funcionalidades ou resultando na exclusão de outras. Outra opção interessante é a possibilidade de usar o modo Verbose ampliando as funções disponíveis pelos botões, segurando-se a Tecla SHIFT e passando o mouse pelos itens da barra de ferramentas é possível abrir programas em novas janelas, Abrir uma nova janela de projeto ou até depurar o envio do programa.

40 39 Outras opções podem ser encontradas na Barra de Menus nos menus File, Edit, Sketch, Tools, Help. Algumas das principais opções disponíveis na IDE podem ser vistas na tabela 1: Tabela 1 Barra de Menus. Copia o código para a Copy for Discourse clipboard, área de transferência, com a formatação necessária para a postagem em Fóruns. Copia o código para a clipboard com uma Edit Sketc Copy as HTML formatação em HTML, perfeito para uso em Verify/Compile páginas da web. Procura erros no programa. Adiciona bibliotecas ao programa Import Library Show Sketch Folder h Add File... Auto Format Board Serial Port usando o #include. Abre o diretório do programa. Adiciona um arquivo ao seu projeto. Ele irá aparecer em uma nova aba. Formata o código do programa. Aqui é possível selecionar o modelo de placa Arduino usada no programa. Neste menu é possível selecionar os dispositivos seriais que estão conectados ao computador, seja o Arduino ou qualquer outra placa AVR. Esse menu permite gravar um bootloader no Tools microcontrolador do Arduino. Normalmente usado Burn Bootloader em placas bootloader. ATmega É que importante não possuem selecionar a um placa Arduino correta no menu Board antes de se criar o bootloader. Fonte: (ENVIRONMENT, 2011). Na figura 31, pode ser visualizada uma das opções da Barra de Menu expandida. Neste menu é possível selecionar o Arduino que será usado no desenvolvimento de sua aplicação.

41 40 Figura 31: Seleção de Placas Arduino. Fonte: (O Autor, 2011). Outros ambientes de desenvolvimento como Editores AVR também podem ser usados, como é o caso do AVR Studio da própria Atmel, mostrado na figura 32. Figura 32 - AVR Studio. Fonte: (USING-AVR, 2011) INSTALAÇÃO A instalação do ambiente de desenvolvimento exige do usuário apenas um conhecimento básico de operação do sistema e como instalar drivers para novos

42 41 dispositivos, é recomendo se possuir acesso de administrador da maquina onde o ambiente será instalado para se evitar problemas na hora de instalar algum recurso. Para começar o desenvolvimento de programas no Arduino é necessário realizar o download da IDE no site oficial (http://www.arduino.cc) na sessão download. Utilizando um cabo de dados que conecte o Arduino ao computador, ligue a fonte de energia do Arduino e verifique se o LED verde acende. Aguarde a instalação do driver (essa instalação irá falhar devido à falta do driver no Windows), após a falha entre no Gerenciador de dispositivos e localize em portas Arduino UNO (COMxx), clique com o botão direito e escolha a opção para Atualizar o driver que se encontra na pasta Drivers dentro do diretório da IDE Arduino. Siga as etapas seguintes e após a instalação do driver, o Arduino estará pronto para o uso. Ele funciona como um pen-drive, por isso, é necessário conectálo ao computador somente para realizar o upload do novo programa. No site do Arduino estão disponíveis tutoriais de instalação para os sistemas MacOS e Linux, além de tutoriais específicos para cada versão do Arduino (GETSTART, 2011) UTILIZAÇÃO A utilização da IDE é muito simples: como exemplo, abra o arquivo de Blink em File > Examples > Basics > Blink. Escolha a versão do Arduino que será usada em Tools > Boards. Após ter conectado o Arduino ao computador, selecione a porta onde ele está instalado em Tools > Serial Port. Após desenvolver seu programa, o processo de upload é efetuado simplesmente clicando no botão Upload to I/O Board (GETSTART, 2011) LINGUAGENS O Arduino é programado usando-se uma linguagem de programação baseada no projeto Wiring (ARDUINO, 2011). Wiring é uma iniciativa que tem por objetivo

43 42 ilustrar conceitos de programação de eletrônicos e controle de mecanismos, necessários para o entendimento das interações físicas entre hardware e software (WIRING, 2011). A linguagem de programação usada no Arduino Alfa trata-se de uma modificação da linguagem C, que permite a qualquer usuário com conhecimento em C desenvolver aplicações para o Arduino. No Arduino os programas são chamados sketches e são criados através de sua IDE ou qualquer Editor AVR. As definições de variáveis, funções e bibliotecas, são feitas da mesma forma que em qualquer linguagem derivada de C. A seguir, são demonstradas as definições e sintaxes de declaração de variáveis, funções e inclusão de bibliotecas (ARDUINO FAQ, 2011) VARIÁVEIS São locais na memória onde são armazenadas informações. Possui um Nome usado para referenciá-la, um Tipo que identifica como a informação está/será armazenada e um Valor que se trata de seu conteúdo. A sintaxe para a declaração de variáveis é a seguinte: Tipo Nome = Valor; Na tabela 2 são mostradas as variáveis disponíveis na linguagem, suas características, memória consumida e valores aceitos. Por usar uma linguagem baseada na linguagem C suas variáveis possuem características semelhantes. Tabela 2 Tabela de Variáveis. Tipos int Características Representa numero inteiros positivos e negativos. Memória usada 2 Bytes Valores possíveis a 32767

44 43 unsigned int long Unsigned long float double boolean char byte string void Representa somente valores positivos. Usado para representar valores muito grandes com o uso de sinal. Usado para armazenar números inteiros muito grandes. Sem sinal. Representa valores de precisão que usem ponto flutuante. Ao contrario de C, em Arduino o double é apenas outra referência ao tipo Float. Representa valores booleanos como 0 e 1 ou verdadeiro e falso. Usado para representar um único caractere, representa valores entre -128 até 127. Semelhante ao char é usado para valores sem sinal. De 0 a 255. Representa arrays de caracteres (char), usado para guardar textos. Usado em funções para determinar que nenhum valor será retornado. Fonte: (MARGOLIS, Michael, 2011). 2 Bytes 4 Bytes 4 Bytes 4 Bytes 0 a a à E+38 a E+38 4 Bytes - 1 Bytes false (0) ou true (1) 1 Bytes -128 a Bytes 0 a 255 Não se Aplica. Não se Aplica. Não se aplica. Não se aplica. Nem sempre o Valor precisar ser declarado ao se iniciar a variável, também é possível se atribuir outros valores à variável usando-se o operador de atribuição (=) durante a execução do programa. Conforme mostrado na tabela 2, é possível o uso de diversos tipos de variáveis (ARDUINO REFERENCES, 2011) FUNÇÕES Uma função é um seguimento de código que pode ser usado diversas vezes no decorrer do programa. Nela são definidas as tarefas que serão executadas sempre que esta for chamada. Seu uso possibilita vantagens, como a organização e a simplificação do código, redução de erros, redução do tamanho do código e simplifica o reuso de determinado recurso. A declaração de uma função segue a seguinte sintaxe:

45 44 Tipo NomeDaFuncao(Valor) x = Valor++; Como uma variável, a função também necessita de declaração de tipos, pois isso define o tipo de informação resultante do seu processamento. O NomeDaFuncao será usado para chamar a função quando a for necessário. Na declaração são delimitados os valores que serão passados como parâmetros para a função durante sua chamada, e que serão usados durante sua execução, sendo necessário seu uso em conjunto com o nome da função quando declarado. Segue a sintaxe de chamada da função (ARDUINO REFERENCES, 2011): NomeDaFuncao(Valor); BIBLIOTECAS Biblioteca é um arquivo com diversas funções, ou declarações, que possuem ações semelhantes ou que trabalham sobre o mesmo objetivo. Um exemplo seria uma biblioteca de comunicação que possui funções de comunicação ou que contribuem com esse tipo de função. A declaração de uma função é bem simples: #include NomeBiblioteca Ou #include <NomeBiblioteca> A biblioteca é anexada ao código através do comando #include. Após sua declaração, todas as funções e comandos desta biblioteca poderão ser usados no código do programa da mesma forma que as funções no arquivo do programa. O NomeBiblioteca entre < e >, é usado para definir bibliotecas nativas, enquanto NomeBiblioteca entre as aspas duplas, é usado para definir bibliotecas exclusivas do projeto atual. As declarações seguem o mesmo formato usado na linguagem C, o que torna muito mais fácil seu entendimento, principalmente para quem já possui algum conhecimento da linguagem C.

46 45 O Arduino possui um conjunto de bibliotecas que permitem ampliar o conjunto de funcionalidades disponíveis. Para usá-las, basta ir até o menu Sketch > Import Library e selecionar a biblioteca desejada conforme mostrado na figura 33. Figura 33: Seleção de Bibliotecas. Fonte: (O Autor, 2011) BIBLIOTECAS STANDARD Essas são as bibliotecas que estão presentes na IDE do Arduino, nelas estão funções básicas que podem ser usadas no desenvolvimento de aplicações exemplo encontradas no site do Arduino, para desenvolvimento de Shields Standard ou para desenvolvimento de novas aplicações. EEPROM Para leitura e escrita para armazenamento físico. Ethernet Para utilizar funções de conexão de rede da Ethernet Shield. Firmata Para comunicação entre o computador e o Arduino usando interface serial. LiquidCrystal Para o controle de telas de cristal líquido. SD Para leitura e escrita em cartões SD. Servo Para controle de motores do tipo Servo. SPI Para comunicação usando a interface serial Bus.

47 46 SoftwareSerial Para comunicação serial usando os pinos digitais. Stepper Para controlar motores de paso. Wire Para comunicação de dados com dispositivos I2C / TWI. Matrix Biblioteca básica de manipulação de matriz de LED. Sprite Biblioteca básica de manipulação de imagens para animações com uma matriz de LED BIBLIOTECAS CONTRIBUTED Além das bibliotecas Standard, existem outras denominadas Contributed (Contribuição), que devem ser instaladas no subdiretório Libraries do diretório do IDE Arduino. As bibliotecas Contributed estão divididas entre as categorias de: Comunicação, Sensores, Displays e LED, Geradores de freqüência e áudio, Motores e PWM, Timing e Utilidades. Todas elas disponibilizadas para download gratuito (ARDUINO LIBRARIES, 2011). Uma das diferenças entre a linguagem Arduino e C é a existência de duas estruturas predefinidas setup() e loop(), que são usadas em quase todos os programas. A estrutura setup() é executada apenas uma única vez, quando o programa é iniciado. Ela normalmente é usada para configurar recursos que serão utilizados. A estrutura loop() é executada continuamente durante a execução do programa. Essa estrutura é usada para executar as tarefas. Essas duas estruturas são usadas para simplificar o desenvolvimento no Arduino (ARDUINO REFERENCES, 2011). No site do Arduino estão disponíveis muitos tutoriais que ensinam como trabalhar com os principais recursos do Arduino, o que ajuda na aprendizagem. 5 TRABALHO RELACIONADO O projeto encontrado no Blog de Bruno Soares foi a referência mais sólida e objetiva encontrada, pois em relação as referências encontras no fórum do Arduino essa foi a única que especificava características da matriz e que possuía um vídeo (disponibilizado em seu blog). Sua versão do jogo Pong foi desenvolvida para suportar dois jogadores onde cada jogador controla uma das barras (raquetes). Porém seu código não implementa

48 47 nenhuma inteligência artificial, pontuador ou mesmo um motor. Como pode ser observado na figura 34. Figura 34 Ping Pong com Matriz de LEDs. Fonte: (SOARES, 2009). O projeto do Bruno Soares se iniciou com o intuito de testar uma Matriz de LED 8x8 que ele havia obtido. Para iniciar o desenvolvimento ele inicialmente desenvolveu um protótipo em Flash com o uso do Action Script 3.0 (linguagem de programação do Abobe Flash). Após a prototipagem em Flash ele iniciou o desenvolvimento no Arduino utilizando como referência para ligar os LED um código encontrado em Arduino Playground (DirectDriveLEDMatrix), mas, devido a diferenças entre sua matriz e a explicada no código algumas alterações foram necessárias no método doublebuffer (responsável por ascender os LEDs da matriz), pois as linhas cátodo do código exemplo eram as colunas cátodo da matriz (nomenclatura usada para designar o contato positivo), o resultado foi o jogo pong para dois jogadores com código disponível em seu blog, (SOARES, 2009). 6 MODELAGEM DO PROJETO Neste trabalho foi realizado o desenvolvimento do jogo eletrônico Pong para interação de 1 (um) jogador humano contra a CPU. O hardware foi construído utilizando como base controladora o Arduino Mega, com microcontrolador ATmega1280, que deverá controlar todos os recursos eletrônicos, e seu funcionamento ocorrerá como exemplificado na figura 35.

49 48 Figura 35 - Relação, Arduino e Prototipo. Fonte: (O Autor, 2011). A bola do jogo será desenhada em uma matriz de LEDs, denominada campo de jogo, enquanto as barras verticais que servem de "raquetes" para o jogo serão físicas. Uma das barras verticais será controlada pelo jogador humano e outra pelo Arduino através de um motor. Foram utilizados sensores para detecção da posição Y das barras verticais e com esta informação, em conjunto com a informação do eixo XY da bola, o hardware controlador irá verificar se houve, ou não, colisão entre a bola e a barra vertical. Caso haja colisão, a velocidade da bola será incrementada e um falante será acionado fazendo assim o som do impacto da bola, como no jogo virtual. Caso não haja colisão e a bola ultrapasse a marca que delimita o "campo de jogo", conforme mostrado na figura 36, será computado um ponto. A pontuação é exibida pelos displays de sete segmentos localizados acima do "campo de jogo".

50 49 Figura 36 - Campo de jogo. Fonte: (O Autor, 2011). 6.1 HARDWARES UTILIZADOS Para o desenvolvimento desse projeto, foram utilizados diversos componentes que serão descritos a seguir: RAZÃO PARA USO DO MEGA O Arduino Mega foi escolhido para este projeto por se tratar do modelo mais completo. Por possuir maior numero de portas entre as demais versões ele fornecia uma vida útil maior, alem de permitir a implementação de projetos mais sofisticados. Sua memória interna é a maior entre todos os Arduinos, ele possui uma entrada USB, entrada para fonte de energia, um botão de reset e de não necessitar da gravação do bootloader. Na figura 37, é possível se observar os componentes do Arduino Mega.

51 50 Figura 37 Componentes do Arduino Mega. Fonte: (ARDUINO, 2011). Uma comparação mais detalhada pode ser observada na tabela disponível no Apêndice C MATRIZ DE LED Para o campo de jogo foi utilizada uma Matriz de LED 8x8 de 60mm x 60mm RGB, mostrada na figura 38, usada para o campo de jogo. Figura 38 Matriz de LED 8x8 60mm. Fonte: (ITEADSTUDUIO, 2011) POTENCIÔMETRO

52 51 Um potenciômetro, também conhecido como resistor variável, é um dispositivo elétrico que pode ter a sua resistência elétrica alterada mecanicamente. (UFRGS, 2011). Para esse projeto foram utilizados dois potenciômetros de 16mm, servindo como sensores para indexar a posição das raquetes. A figura 39 mostra um potenciômetro (comum). Figura 39 Potenciômetro. Fonte: (MULTI COMERCIAL, 2011) DISPLAY CATODO DE SETE SEGMENTOS Esse display é responsável por mostrar o placar do jogo, com segmentos de cor vermelha para o CPU e de cor verde para o jogador. A figura 40 mostra um exemplo desse display. Figura 40 Display de 7 Segmentos. Fonte: (ELETRODEX, 2011) BUZZER O Buzzer é um dispositivo utilizado para emitir os sons do jogo, a cada colisão da bola, pontos marcados ou fim de jogo. A figura 41 mostra um buzzer como o utilizado no projeto. O som do buzzer varia de acordo com a frequência e o tempo

53 52 de duração que são passados para ele, e para cada evento do jogo foram utilizadas frequências e durações diferentes. Figura 41 Buzzer. Fonte: (DIGI-KEY CORPORATION, 2011) MOTOR Um motor de 4,5 V retirado de uma impressora foi utilizado, como visto na figura 42. Ele é controlado pela Shield Dual H-Bridge. Figura 42 Motor 4,5V. Fonte: (MITSUMI, 2011) SHIELD MOTOR DUAL H-BRIDGE Essa Shield é responsável por controlar o motor de acordo com as informações que são passadas pelo Arduino. Ela é capaz de controlar até dois motores simultaneamente. Sua aparência pode ser vista na figura 43.

54 53 Figura 43 Shield Motor. Fonte: (DFROBOT, 2011). A Shield possui um chip, que pode ser visto na figura 44, que tem como principal função ativar ou desativar o motor. Figura 44 Chip da Shield Motor (L298N). Fonte: (ROBOKITS, 2011) PROTOBOARD A Protoboard, também conhecida como breadboard ou matriz de contato, permite a construção de protótipos de circuitos complexos sem a necessidade de solda. Na superfície de uma protoboard existe uma base de plástico com diversos orifícios onde são conectados os componentes, enquanto na parte inferior existem contatos metálicos que interligam eletricamente os componentes inseridos na placa. Geralmente, elas suportam correntes entre 1 A e 3 A (ARDUINO PIAUI, 2010). A figura 45 ilustra uma protoboard básica, com duas fileiras horizontais, sendo uma na parte superior e uma na parte inferior, elas são utilizadas para alimentação e todos os orifícios são ligados horizontalmente, em geral possuem um rótulo indicando a fileira positiva e a negativa.

55 54 Figura 45 Protoboard. Fonte: (ELETRONICA DIDATICA, 2011). Existem também duas fileiras de orifícios verticais que são ligados na mesma orientação, de A a E e de F a J, em todas as fileiras, conforme a imagem 46 demonstra como são as ligações internas da protoboard (ARDUINO PIAUI, 2010). Figura 46 Ligações internas da Protoboard. Fonte: (ELETRONICA DIDATICA, 2011) FONTE DE ALIMENTAÇÃO Com muitos componentes eletrônicos ligados ao mesmo tempo, o consumo de energia aumentou, tornando a bateria de 9 Volts comum e a alimentação pelo cabo USB insuficientes. Portanto, para suprir esta necessidade, foi utilizada uma fonte universal, mostrada na figura 47, com a possibilidade de alteração da voltagem, entre 1.5 volts até 12 volts.

56 55 Figura 47 Fonte de Alimentação Universal. Fonte: (GSM INFORMATICA, 2011). 6.2 DESENVOLVIMENTO Nesta seção são mostrados os passos seguidos na adaptação do jogo base ao projeto, da implementação das novas funcionalidades e de sua montagem FUNCIONAMENTO DO JOGO PONG O funcionamento do jogo é simples, o jogador e a Inteligência Artificial devem impedir que a bola toque seu respectivo lado, o que pontua o oponente. Para isso o jogador ou a CPU devem mover as barras laterais (raquetes) para interceptar a bolinha, rebatendo a mesma para a outra extremidade da matriz. A cada ponto marcado o contador aumenta em um ponto, o contador que alcançar três pontos primeiro vence terminando a rodada. Exibindo uma animação de vitória caso os 3 pontos sejam alcançados pelo jogador ou de derrota caso a CPU alcance os 3 pontos. Após o fim da rodada o jogo é iniciado novamente exibindo uma animação do nome Pong exibido letra por letra. Essa animação também é exibida quando o jogo é ligado LIGANDO UMA MATRIZ DE LEDS AO ARDUINO

57 56 Para ligar a Matriz de LEDs ao Arduino, foi utilizado, além do datasheet que acompanha a matriz, o diagrama da figura 46. Nele é possível visualizar de forma menos técnica as referências de linhas e colunas com cada pino da Matriz. Figura 48 Diagrama para ligação de uma Matriz de LEDs 8x8. Fonte: (OOMLOUT, 2009). A matriz utilizada possibilita a exibição de mais de uma cor por LED, porém para este projeto só seria necessária a exibição de uma única cor e por esse motivo nem todos os pinos da matriz estão ligados ao Arduino LIGANDO UM POTENCIÔMETRO AO ARDUINO No potenciômetro, as conexões das extremidades são referentes a alimentação, e devem ser ligadas nas fileiras negativas e positivas da protoboard, ou às entradas GND e 5V do Arduino, respectivamente. A conexão central do potenciômetro serve para a comunicação e deve ser ligada à uma entrada analógica do Arduino. Existem diversos modelos de potenciômetros disponíveis no mercado, porém o modelo escolhido ofereceu uma vantagem técnica pois pode ser utilizado junto de engrenagens. Na figura 49 é possível se observar as ligações do potenciômetro.

58 57 Figura 49 Ligação do Potenciômetro ao Arduino. Fonte: (ARDUINO, 2011). Para que o Arduino possa ler o valor do potenciômetro deve ser utilizada a função analogread() e informando como parâmetro o pino ligado à conexão central do potenciômetro, conforme trecho de código a seguir, (ARDUINO, 2011): int potpin = 2; // Pino conectado ao potenciômetro int val = 0; void setup() void loop() var = analogread(potpin); // ler o valor do potenciômetro Serial.println(var); // Exibe no console valor lido do potenciômetro PRIMEIRO PROTÓTIPO Para a implementação do primeiro protótipo do projeto, mostrado na figura 50, foram implementadas adaptações ao código-fonte disponibilizado pelo Bruno Soares para que funcionasse com os pinos do Arduino utilizados na ligação da Matriz de LEDs e dos potenciômetros. Sua alimentação de dava através do cabo UART conectado na USB do computador.

59 58 Figura 50 Primeiro protótipo do Projeto. Fonte: (O Autor, 2011). Com o protótipo funcional, foram iniciadas pesquisas sobre o funcionamento de um Display de sete segmentos, para exibição da pontuação no jogo, de um Buzzer, para a sonorização, do controle de um Motor DC utilizando uma Shield, e para a movimentação da raquete da CPU utilizando uma inteligência artificial LIGANDO UM DISPLAY CÁTODO AO ARDUINO Figura 51 Pinos de um Display de 7 Segmentos. Fonte: (TECNOMELQUE, 2011). No diagrama da figura 49 são mostrados os pinos existentes em um Display Cátodo. Os pinos são ligados ao Arduino em ordem alfabética, onde os pinos de A a G são referentes aos segmentos, e devem ser ligados às entradas digitais do Arduino, e o pino K a alimentação. Caso o display utilizado seja Cátodo, os dois pinos K existentes no display devem ser ligados à fileira negativa da protoboard ou às entradas GND do Arduino, caso seja Anodo, os pinos K devem ser ligados à fileira positiva da protoboard ou à entrada 5V do Arduino (TECNOMELQUE, 2011).

60 59 Para que sejam exibidos numerais de 0 a 9 no Display Cátodo, uma seqüência de bits deve ser enviada ao Display Cátodo para informar quais segmentos deverão ser acesos ou apagados, conforme a figura 52. Figura 52 Sequências de bits para exibição de numerais no Display. Fonte: (TECNOMELQUE, 2011) LIGANDO UM BUZZER AO ARDUINO Para possibilitar o uso de efeitos sonoros no projeto, foi utilizado um Buzzer, descrito na seção A ligação do Buzzer é bem simples, bastando ligar a conexão negativa do Buzzer à fileira negativa da protoboard, ou a entrada GND do Arduino, e a conexão positiva à uma entrada digital do Arduino, como pode ser observado na figura 53. Figura 53 Ligação do Buzzer ao Arduino. Fonte: (SUHANKO, 2011).

61 60 Para que seja emitido qualquer som através do Buzzer, deve-se utilizar a função tone(), informando como parâmetros o pino ligado à conexão positiva do Buzzer, a frequência do som e a duração, conforme demonstrado no trecho de código a seguir, (SUHANKO, 2011): int buzzpin = 2, // Pino conectado ao positivo do buzzer void setup() pinmode(buzzpin,output); // Declara o pino buzzpin como saída void loop() tone(buzzpin,3100,800); // Toca tom com frequência 3100 por 800 milissegundos delay(1000); // Delay em milissegundos LIGANDO A SHIELD E UM MOTOR NO ARDUINO Para ligar a shield de controle e um motor ao Arduino, foi utilizado o diagrama da figura 54. Nele é possível visualizar uma descrição detalhada de cada uma das conexões da shield Motor Dual H-bridge. Para controle do motor são utilizadas as funções analogwrite() e digitalwrite(). A função analogwrite() recebe como parâmetro o pino referente a porta E (E1 ou E2) da Shield, e a velocidade que se deseja para a movimentação do motor, enquanto que a função digitalwrite() recebe como parâmetros o pino referente a porta M (M1 ou M2) as Shields, e o sentido da rotação, HIGH ou LOW (DFROBOT WIKI, 2011). Com estas duas funções é possível mover o motor no sentido e velocidade desejados. O motor é ligado à shield através das conexões positiva e negativas, cada lado da shield possui duas conexões. Para movimentar o motor no sentido correto foi necessário um teste em conjunto com as engrenagens, isso facilitou a calibração.

62 61 Figura 54 Diagrama de ligação da Shield Motor no Arduino. Fonte: (DFROBOT WIKI, 2011) TELAS DO JOGO Por se tratar de um jogo simples, ele possui poucas telas, quatro no total. A primeira delas é a tela de apresentação, mostrada na figura 55, onde é escrito o termo PONG!, uma letra por vez, devido à limitação da matriz de LED. Figura 55 Tela Inicial. Fonte: (O Autor, 2011). A figura 56 mostra a visão do jogo. Nela, a matriz de LED reproduz a bola e as barras verticais são feitas de Lego e presas à barras de ferro. Existem também dois displays de sete segmentos, onde são exibidos os pontos.

63 62 Figura 56 Visão do Jogo. Fonte: (O Autor, 2011). As duas últimas telas são: a tela de vitória e de derrota. Caso o jogador humano ganhe, um rosto feliz é apresentado, caso contrário um rosto triste aparece. Ambas as telas são mostradas na figura 57. Figura 57 Telas de fim de jogo. Fonte: (O Autor, 2011) INTELIGÊNCIA ARTIFICIAL O algoritmo da inteligência artificial é bem simples, ele apenas se aproxima da bola uma casa por vez, de acordo com a posição dela no eixo Y da matriz. Isso significa que, se a bola estiver acima da raquete da CPU ela decrementa sua posição em um, caso esteja abaixo sua posição é incrementada em um e caso seja igual ela não se move. Ela também não se moverá quando a bola estiver indo em direção ao campo de defesa do jogador, a partir da posição 5 do eixo X da matriz.

64 63 Sua lógica é semelhante ao Robocode, onde o movimento da bolinha na tela é acompanhado e uma ação é tomada para cada ação realizada pela bolinha. Fazendo com que a maquina se movimente em paralelo. O problema com essa abordagem, é que ela torna a CPU invencível, algo inaceitável em um jogo. Para variar o nível de dificuldade do jogo foi implementado um atraso na movimentação da CPU que influencia em sua velocidade, e a cada gol marcado pelo jogador ele diminui esse atraso e se torna mais rápido fazendo com que o jogo fique mais difícil. Porém uma rotina faz com que a CPU tenha uma movimentação restringida quando o delay esta configurado para 1, tornando ela mais lenta para buscar bolas mais rápidas quando a dificuldade esta alta. 6.3 MONTAGEM O diagrama da figura 58 demonstra a ligação de cada componente à protoboard e ao Arduino adotado neste projeto: Figura 58 Diagrama das ligações dos componentes no Arduino. Fonte: (O Autor, 2011).

65 64 A protoboard e os demais componentes foram colocados dentro de uma caixa de madeira, onde foram afixadas três barras de ferro retiradas de uma impressora. Essas barras servem de trilhos para os carros onde ficam os cartuchos da impressora. Esses carros também retirados da impressora, e neles foram presas peças de Lego, que representam as raquetes do jogo. Duas barras de ferro foram usadas para o lado do jogador, uma para prender o carro e outra para a sua sustentação. Uma engrenagem retirada de um drive de CD-ROM foi colada a um dos carros da impressora, para movimentar o potenciômetro quando o carro for movido. A terceira barra é usada no lado da CPU como apoio para o carro, enquanto uma correia, também retirada da impressora, é usada para mover o carro, que fica preso a ela, e girar o potenciômetro através de uma engrenagem. Um motor afixado na caixa e ligado à Shield Dual H-Bridge, que por sua vez é ligada ao Arduino, move a correia, que é sustentada por roldanas. Esse segundo potenciômetro é usado apenas para saber a posição do carro, que é acessada no início do jogo. A figura 59 mostra o projeto final. Figura 59 Projeto final. Fonte: (O Autor, 2011). Nos apêndices A e B podem ser encontrados o código fonte do projeto e várias fotos das etapas do processo de montagem.

66 TESTES Durante a etapa de testes foi encontrado um problema relacionado ao funcionamento do jogo Pong em uma Matrix de numero Par (8x8) com raquetes com numero Par de LED. Foi identificado que devido a esta paridade caso a raquete seja colocada em uma posição central o jogo ficaria em Loop até a derrota da CPU ou em alguns casos pode continuar por tempo indeterminado. Isso ocorre pois ao bater na laterais a bolinha sempre percorre a mesma distancia para todos os casos. Para solucionar esse problema seria necessárias uma matriz impar ou barras (raquetes) de numero impar. Na figura 60 é possível se observar o problema em questão. Figura 60 Falha lógica. Fonte: (O Autor, 2011). Mas como o jogador costuma alternar a posição da aste essa situação foi considerada aceitável, pois isso só ocorre se o lado especifico da aste tocar na bolinha. Pois permitia ao jogador ter uma vantagem imperceptível durante a partida contra a CPU.

TUTORIAL Arduino Nano

TUTORIAL Arduino Nano Conceito: O é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, projetada com um microcontrolador Atmel AVR com circuitos de entrada/saída embutido que podem ser facilmente

Leia mais

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega ARDUINO O que é Arduino Arduino foi criado na Itália por Máximo Banzi com o objetivo de fomentar a computação física, cujo conceito é aumentar as formas de interação física entre nós e os computadores.

Leia mais

Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações.

Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações. Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações. A partir de agora, iremos conhecer o hardware do Arduino e suas caracteristicas

Leia mais

Manual Técnico Arduino Programador Supervisório Gravador de Bootloader

Manual Técnico Arduino Programador Supervisório Gravador de Bootloader Manual Técnico Arduino Programador Supervisório Gravador de Bootloader Seriallink.com.br 2014 Todos os direitos reservados Página 1 de 19 Sumário Manual Técnico...1 Introdução...3 Características...3 Downloads...3

Leia mais

ARDUINO UNO Guia do Usuário

ARDUINO UNO Guia do Usuário ARDUINO UNO Guia do Usuário Heco Mecatrônica Ltda. e-mail: vendas@hecomecatronica.com.br Visite nosso site: www.hecomecatronica.com.br Loja Virtual: shop.hecomecatronica.com.br Guia do Usuário - Página

Leia mais

Introdução ao Arduino. Pessanha Santos ASPOF EN-AEL

Introdução ao Arduino. Pessanha Santos ASPOF EN-AEL Introdução ao Arduino Pessanha Santos ASPOF EN-AEL Programa 1. Introdução à plataforma de desenvolvimento Arduino 2. Análise à sua constituição 3. Software de desenvolvimento Arduino 4. Estrutura e Sintaxe

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

Simulação de Circuitos Microcontrolados com o Proteus

Simulação de Circuitos Microcontrolados com o Proteus Universidade Federal do Pará Laboratório de Processamento de Sinais (LaPS) Simulação de Circuitos Microcontrolados com o Proteus Flávio Hernan Figueiredo Nunes flaviohernanfnunes@gmail.com 25 de janeiro

Leia mais

Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4.

Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4. 1 Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4. Interface do sistema... 4 1.4.1. Janela Principal... 4 1.5.

Leia mais

MicrovixPOS Requisitos, Instalação e Execução

MicrovixPOS Requisitos, Instalação e Execução MicrovixPOS Requisitos, Instalação e Execução Autor Público Alvo Rodrigo Cristiano dos Santos Suporte Técnico, Consultoria e Desenvolvimento. Histórico Data 13/06/2012 Autor Rodrigo Cristiano Descrição

Leia mais

Por: Rafael Nink de Carvalho www.linuxeducacional.com www.rafaelnink.com

Por: Rafael Nink de Carvalho www.linuxeducacional.com www.rafaelnink.com L I N2 U0 X0 9 Manual de Instalação do Linux Educacional 3.0 Por: Rafael Nink de Carvalho ü Configurando o SETUP do computador ü Rodando a versão Live CD ü Instalando o Linux www.linuxeducacional.com Educacional

Leia mais

Sistema Modelix-G (Modelix-Grafix)

Sistema Modelix-G (Modelix-Grafix) Sistema Modelix-G (Modelix-Grafix) 1) Introdução 1 2) Utilizando o Sistema Modelix-G impresso (paper) 1 3) Utilizando o Sistema Modelix-G com software 4 4) Divulgando seus projetos e idéias 7 1) Introdução

Leia mais

Minicurso de Arduino

Minicurso de Arduino Minicurso de Arduino Gabriel Vasiljević Wanderson Ricardo August 28, 2015 Gabriel Vasiljević Wanderson Ricardo Minicurso de Arduino August 28, 2015 1 / 45 Roteiro do curso O que é o Arduino (especificações,

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

UNIVERSIDADE FEDERAL DE SANTA CATARINA EEL5105 Circuitos e Técnicas Digitais Prof. Eduardo L. O. Batista

UNIVERSIDADE FEDERAL DE SANTA CATARINA EEL5105 Circuitos e Técnicas Digitais Prof. Eduardo L. O. Batista UNIVERSIDADE FEDERAL DE SANTA CATARINA EEL5105 Circuitos e Técnicas Digitais Prof. Eduardo L. O. Batista EXPERIMENTO 1 INTRODUÇÃO AO LABORATÓRIO A. Introdução O Quartus II é um software utilizado para

Leia mais

TopPendrive Manual de Instruções TopPendrive - MP07301-01 Rev 06-03/05/2010 PG - 1 -

TopPendrive Manual de Instruções TopPendrive - MP07301-01 Rev 06-03/05/2010 PG - 1 - TopPendrive Manual de Instruções TopPendrive - MP07301-01 Rev 06-03/05/2010 PG - 1 - Índice Manual de Instruções TopPendrive - MP07301-01 Rev 06-03/05/2010 PG - 2 - ÍNDICE 1 APRESENTAÇÃO... 3 1.1 ACESSÓRIOS

Leia mais

Painel de Controle e Configurações

Painel de Controle e Configurações Painel de Controle e Configurações Painel de Controle FERRAMENTAS DO PAINEL DE CONTROLE: - Adicionar Hardware: Você pode usar Adicionar hardware para detectar e configurar dispositivos conectados ao seu

Leia mais

MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL - 317 RV1

MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL - 317 RV1 MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL - 317 RV1 SÃO CAETANO DO SUL 06/06/2014 SUMÁRIO Descrição do Produto... 3 Características... 3 Configuração USB... 4 Configuração... 5 Página

Leia mais

Uma Introdução ao ARDUINO e suas Aplicações na Robótica. André F. Núñez

Uma Introdução ao ARDUINO e suas Aplicações na Robótica. André F. Núñez Uma Introdução ao ARDUINO e suas Aplicações na Robótica André F. Núñez O que é Arduino? Arduino é uma plataforma open-source de protótipos eletrônicos baseados em hardware e software flexível e fácil de

Leia mais

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 FileMaker Pro 13 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 2007-2013 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

Leia mais

Aplicativo para configuração da interface de celular ITC 4000

Aplicativo para configuração da interface de celular ITC 4000 MANUAL DO USUÁRIO Aplicativo para configuração da interface de celular ITC 4000 Este aplicativo roda em plataforma Windows e comunica-se com a ITC 4000 via conexão USB. Através do ITC 4000 Manager, o usuário

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

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

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

Leia mais

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 FileMaker Pro 14 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 2007-2015 FileMaker, Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

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

Controle de Acesso. Automático de Veículos. saiba mais. automação

Controle de Acesso. Automático de Veículos. saiba mais. automação Controle de Acesso Automático de Veículos Este trabalho tem como objetivo desenvolver uma solução tecnológica que permita o controle dos portões automáticos remotamente através da internet. Aplicando-se

Leia mais

Módulo de Desenvolvimento PIC16F877A

Módulo de Desenvolvimento PIC16F877A Objetivos: Módulo de Desenvolvimento PIC16F877A Realizar programação e projetos com microcontroladores e seus periféricos, integrando sistemas analógicos e digitais com a utilização de compilador (Mikro

Leia mais

GUIA RÁPIDO SISTEMA ANTIFURTO THEFT DETERRENT

GUIA RÁPIDO SISTEMA ANTIFURTO THEFT DETERRENT GUIA RÁPIDO SISTEMA ANTIFURTO THEFT DETERRENT SUMÁRIO Prefácio... 1 A quem se destina... 1 Nomenclatura utilizada neste documento... 1 Tela de login... 2 Tela Inicial... 4 Gestão de Dispositivo Acompanhar

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

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

FileMaker Pro 12. Utilização de uma Conexão de Área de Trabalho Remota com o

FileMaker Pro 12. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 12 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 12 2007 2012 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

Leia mais

Geral: Manual de Utilização do Software de Teste Gradual Windows

Geral: Manual de Utilização do Software de Teste Gradual Windows Manual de Utilização do Software de Teste Gradual Windows Geral: Este aplicativo é utilizado para testar os Microterminais Gradual Tecnologia Ltda. Para tanto deve ter as Dll s necessárias para controlar

Leia mais

Minicurso de Arduino

Minicurso de Arduino Minicurso de Arduino Gabriel Vasiljević Felipe Fernandes January 28, 2013 Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 28, 2013 1 / 34 Sobre Sobre o minicurso: Duração de 20 horas Certificado

Leia mais

Intel Galileo: Instalação e IDE Arduino

Intel Galileo: Instalação e IDE Arduino Objetivo Instalação do software e execução de Sketch para teste do hardware e conectividade da placa Galileo. 20/10/2014 Objetivo Instalação do software e execução de Sketch para teste do hardware e conectividade

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Unidade 4 Ambiente de desenvolvimento Java QI ESCOLAS E FACULDADES Curso Técnico em Informática SUMÁRIO A LINGUAGEM JAVA... 3 JVM, JRE, JDK... 3 BYTECODE... 3 PREPARANDO O AMBIENTE

Leia mais

Índice. Para encerrar um atendimento (suporte)... 17. Conversa... 17. Adicionar Pessoa (na mesma conversa)... 20

Índice. Para encerrar um atendimento (suporte)... 17. Conversa... 17. Adicionar Pessoa (na mesma conversa)... 20 Guia de utilização Índice Introdução... 3 O que é o sistema BlueTalk... 3 Quem vai utilizar?... 3 A utilização do BlueTalk pelo estagiário do Programa Acessa Escola... 5 A arquitetura do sistema BlueTalk...

Leia mais

Boot Camp Guia de Instalação e Configuração

Boot Camp Guia de Instalação e Configuração Boot Camp Guia de Instalação e Configuração Conteúdo 3 Introdução 4 Visão geral da instalação 4 Passo 1: Buscar atualizações 4 Passo 2: Preparar o Mac para Windows 4 Passo 3: Instalar o Windows no seu

Leia mais

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Manual de Utilização Google Grupos Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução... 3 Página

Leia mais

Comunicação Serial com o AVR ATMEGA8

Comunicação Serial com o AVR ATMEGA8 Comunicação Serial com o AVR ATMEGA8 Vitor Amadeu Souza vitor@cerne-tec.com.br Introdução Os microcontroladores AVR vem a cada dia tomando cada vez mais espaço nos novos projetos eletrônicos microcontrolados.

Leia mais

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 269 - TELEFONE: 6823-8800 SÃO CAETANO DO SUL - SP - CEP 09530-250

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 269 - TELEFONE: 6823-8800 SÃO CAETANO DO SUL - SP - CEP 09530-250 LINEAR EQUIPAMENTOS RUA SÃO JORGE, 269 - TELEFONE: 6823-8800 SÃO CAETANO DO SUL - SP - CEP 09530-250 Recomendações Iniciais SOFTWARE HCS 2005 - VERSÃO 4.2 (Compatível com Guarita Vr4.03 e Vr4.04) Para

Leia mais

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

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

IREasy Manual do Usuário Versão do manual - 0.0.9

IREasy Manual do Usuário Versão do manual - 0.0.9 OBJETIVOS DO PROGRAMA DE COMPUTADOR IREasy Permitir a apuração do Imposto de Renda dos resultados das operações em bolsa de valores (mercado à vista, a termo e futuros). REQUISITOS MÍNIMOS DO COMPUTADOR

Leia mais

INSTALAÇÃO E USO DO ASSINADOR LIVRE. Índice:

INSTALAÇÃO E USO DO ASSINADOR LIVRE. Índice: Proposto por: Marcos Stallone Santos / Karla Ferreira Moreira Analisado por: Aprovado por: Índice: 1 - O Assinador Livre:...2 2 - Pré-requisitos para instalação:...2 3 - Download e Instalação do Assinador

Leia mais

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER V14 de BricsCAD vem com um novo sistema de licenciamento, com base na tecnologia de licenciamento de Reprise Software. Este novo sistema oferece um ambiente

Leia mais

Tutorial de Auxílio. figura 1.0 programa de gravação

Tutorial de Auxílio. figura 1.0 programa de gravação Tutorial de Auxílio O intuito deste material é facilitar o uso, por parte do aluno, das ferramentas de software indispensáveis para o trabalho com os microcontroladores, neste tutorial abordaremos o processo

Leia mais

PROJETO INFORMÁTICA NA ESCOLA

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

Leia mais

Boot Camp Guia de Instalação e Configuração

Boot Camp Guia de Instalação e Configuração Boot Camp Guia de Instalação e Configuração Índice 3 Introdução 4 Requisitos Necessários 5 Visão Geral da Instalação 5 Passo 1: Buscar atualizações 5 Passo 2: Preparar o Mac para Windows 5 Passo 3: Instalar

Leia mais

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

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

Leia mais

LUMIKIT PRO X4 / RACK INTERFACE QUICK GUIDE

LUMIKIT PRO X4 / RACK INTERFACE QUICK GUIDE LUMIKIT PRO X4 / RACK INTERFACE QUICK GUIDE LEIA O MANUAL ANTES DE UTILIZAR O PRODUTO! Considerações importantes, leia antes de usar o produto: A diferença entre a interface Lumikit PRO X4 e Lumikit PRO

Leia mais

TUTORIAL INSTALAÇÃO DA ROTINA 2075 NO LINUX

TUTORIAL INSTALAÇÃO DA ROTINA 2075 NO LINUX Apresentação O departamento de varejo da PC Sistemas inovou seu produto de frente de caixa, permitindo seu funcionamento no sistema operacional do Linux com a distribuição Ubuntu. O cliente poderá usar

Leia mais

Introdução a Robótica, do NXT ao Arduino

Introdução a Robótica, do NXT ao Arduino Introdução a Robótica, do NXT ao Arduino Com Alex Aquino III Workshop de Sistemas Embarcados do Semiárido do Nordeste & 3 Workshop Técnico Científico de Computação De 12 a 15 de Março de 2013 em Mossoró/RN

Leia mais

INTRODUÇÃO AO DESENVOLVIMENTO DE SISTEMAS COM MICROCONTROLADORES

INTRODUÇÃO AO DESENVOLVIMENTO DE SISTEMAS COM MICROCONTROLADORES INTRODUÇÃO AO DESENVOLVIMENTO DE SISTEMAS COM MICROCONTROLADORES Matheus Montanini Breve (PIBIC-Jr), Miguel Angel Chincaro Bernuy (Orientador), e-mail: migueltrabalho@gmail.com Universidade Tecnológica

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

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

ÍNDICE 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO PICKIT2... 4. 2.1. Ligação da porta USB... 4. 2.2. LEDs de estado... 4. 2.3. Botão... 5

ÍNDICE 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO PICKIT2... 4. 2.1. Ligação da porta USB... 4. 2.2. LEDs de estado... 4. 2.3. Botão... 5 MANUAL PICKIT2 ÍNDICE 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO PICKIT2... 4 2.1. Ligação da porta USB... 4 2.2. LEDs de estado... 4 2.3. Botão... 5 2.4. Conector de programação... 5 2.5. Slot para chaveiro...

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

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles:

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles: Instalação do Netz Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles: Instalação do Java SE 6, que pode ser instalado através da JDK.

Leia mais

Para montar sua própria rede sem fio você precisará dos seguintes itens:

Para montar sua própria rede sem fio você precisará dos seguintes itens: Introdução: Muita gente não sabe que com o Windows XP ou o Windows Vista é possível montar uma rede sem fio em casa ou no escritório sem usar um roteador de banda larga ou um ponto de acesso (access point),

Leia mais

WWW.cerne-tec.com.br. Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br

WWW.cerne-tec.com.br. Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br 1 Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br Continuando com o artigo apresentado na edição passada de comunicação USB com o PIC, continuaremos nesta edição o estudo do

Leia mais

WiFiShield. Introdução

WiFiShield. Introdução WiFiShield Obrigado por adquirir o WiFiShield do Laboratório de Garagem. Através deste manual, você conhecerá maiores detalhes sobre este produto, para iniciar seus projetos com Arduino e integração com

Leia mais

Como montar uma rede Wireless

Como montar uma rede Wireless Como montar uma rede Wireless Autor: Cristiane S. Carlos 1 2 Como Montar uma Rede Sem Fio sem Usar um Roteador de Banda Larga Introdução Muita gente não sabe que com o Windows XP ou o Windows Vista é possível

Leia mais

Aplicativo da Manifestação do Destinatário. Manual

Aplicativo da Manifestação do Destinatário. Manual Aplicativo da Manifestação do Destinatário Manual Novembro de 2012 1 Sumário 1 Aplicativo de Manifestação do Destinatário...4 2 Iniciando o aplicativo...4 3 Menus...5 3.1 Manifestação Destinatário...5

Leia mais

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO 1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO

Leia mais

1. Introdução. 2. Conteúdo da embalagem

1. Introdução. 2. Conteúdo da embalagem 1 1. Introdução / 2. Conteúdo da embalagem 1. Introdução O Repetidor WiFi Multilaser é a combinação entre uma conexão com e sem fio. Foi projetado especificamente para pequenas empresas, escritórios e

Leia mais

Henry Equipamentos Eletrônicos e Sistemas Ltda.

Henry Equipamentos Eletrônicos e Sistemas Ltda. Manual do equipamento Henry Equipamentos Eletrônicos e Sistemas Ltda. +55 41 3661-0100 Rua Rio Piquiri, 400 - Jardim Weissópolis - Pinhais/PR - Brasil CEP: 83322-010 CNPJ: 01.245.055/0001-24 Inscrição

Leia mais

Notas de Aplicação. Utilizando o servidor de comunicação SCP Server. HI Tecnologia. Documento de acesso público

Notas de Aplicação. Utilizando o servidor de comunicação SCP Server. HI Tecnologia. Documento de acesso público Notas de Aplicação Utilizando o servidor de comunicação SCP Server HI Tecnologia Documento de acesso público ENA.00024 Versão 1.02 dezembro-2006 HI Tecnologia Utilizando o servidor de comunicação SCP Server

Leia mais

TCI 322. Conversor de Interface USB para RS422/RS485. Manual de Instalação

TCI 322. Conversor de Interface USB para RS422/RS485. Manual de Instalação TCI 322 Conversor de Interface USB para RS422/RS485 Manual de Instalação O conversor de interface TCI 322 é um dispositivo versátil que permite a partir de uma porta USB do computador ter-se uma interface

Leia mais

Certificado Digital A1

Certificado Digital A1 Abril/ Certificado Digital A1 Geração Página 1 de 32 Abril/ Pré requisitos para a geração Dispositivos de Certificação Digital Para que o processo de instalação tenha sucesso, é necessário obedecer aos

Leia mais

Informática Aplicada. Aula 2 Windows Vista. Professora: Cintia Caetano

Informática Aplicada. Aula 2 Windows Vista. Professora: Cintia Caetano Informática Aplicada Aula 2 Windows Vista Professora: Cintia Caetano AMBIENTE WINDOWS O Microsoft Windows é um sistema operacional que possui aparência e apresentação aperfeiçoadas para que o trabalho

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

Manual da Placa de Interface e Acionamento. SnowFlakes 4S

Manual da Placa de Interface e Acionamento. SnowFlakes 4S Manual da Placa de Interface e Acionamento SnowFlakes 4S Introdução O SnowFlakes é uma placa eletrônica Open Source desenvolvida com o controlador programável Tibbo AKTEM-203, vendido no e-commerce do

Leia mais

Mac OS X 10.6 Snow Leopard Guia de instalação e configuração

Mac OS X 10.6 Snow Leopard Guia de instalação e configuração Mac OS X 10.6 Snow Leopard Guia de instalação e configuração Leia este documento antes de instalar o Mac OS X. Ele inclui informações importantes sobre como instalar o Mac OS X. Requisitos do sistema Para

Leia mais

Certificado Digital A1

Certificado Digital A1 Certificado Digital A1 Geração Todos os direitos reservados. Imprensa Oficial do Estado S.A. - 2012 Página 1 de 41 Pré-requisitos para a geração Dispositivos de Certificação Digital Para que o processo

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ

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

Leia mais

Manual de utilização. Aplicativo que substitua o controle remoto da TV e Home Theater da marca LG.

Manual de utilização. Aplicativo que substitua o controle remoto da TV e Home Theater da marca LG. Manual de utilização Aplicativo que substitua o controle remoto da TV e Home Theater da marca LG. ANO 2013 Sumário 1. Descrição... 3 2. Esquema Arduino... 4 3. Código Arduino... 5 4. Instalação do Aplicativo...

Leia mais

Capítulo 7 O Gerenciador de Arquivos

Capítulo 7 O Gerenciador de Arquivos Capítulo 7 O Gerenciador de Arquivos Neste capítulo nós iremos examinar as características da interface do gerenciador de arquivos Konqueror. Através dele realizaremos as principais operações com arquivos

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

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

www.vwsolucoes.com Copyright 2012 VW Soluções 1 Apresentação O Cabo PicKit2 é uma versão simplificada do gravador PicKit2 da Microchip com a idéia de podermos substituir o microcontrolador dos Clp Pic 28 e/ou Clp Pic40 por outros com maiores capacidades

Leia mais

Librix...3. Software Livre...3. Manual Eletrônico...3. Opções de Suporte...3. Configuração de Dispositivos Básicos...4

Librix...3. Software Livre...3. Manual Eletrônico...3. Opções de Suporte...3. Configuração de Dispositivos Básicos...4 Índice Introdução Librix...3 Software Livre...3 Manual Eletrônico...3 Opções de Suporte...3 Dicas para a Instalação Configuração de Dispositivos Básicos...4 Teclado...4 Mouse...5 Vídeo...5 Rede...6 Configuração

Leia mais

PROTÓTIPO DE ATENDIMENTO DOMICILIAR AUTOMATIZADO: HOME CARE DE BAIXO CUSTO

PROTÓTIPO DE ATENDIMENTO DOMICILIAR AUTOMATIZADO: HOME CARE DE BAIXO CUSTO PROTÓTIPO DE ATENDIMENTO DOMICILIAR AUTOMATIZADO: HOME CARE DE BAIXO CUSTO Wilker Luiz Machado Barros¹, Wyllian Fressatti¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil wilkermachado1@hotmail.com,

Leia mais

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO SOFTWARE DE CONFIGURAÇÃO S501 CONNECT Versão 1.0.1 / Revisão 1 MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO CONTEMP IND. COM. E SERVIÇOS LTDA. Al. Araguaia, 204 - CEP 09560-580 S. Caetano do Sul - SP - Brasil Fone:

Leia mais

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7)

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7) SafeNet Authentication Client 8.2 SP1 (Para MAC OS 10.7) 2/28 Sumário 1 Introdução... 3 2 Pré-Requisitos Para Instalação... 3 3 Ambientes Homologados... 4 4 Tokens Homologados... 4 5 Instruções de Instalação...

Leia mais

Arduino e Proteus (Tutorial)

Arduino e Proteus (Tutorial) Arduino e Proteus (Tutorial) Por Felipe Gomes Flores Para quem trabalha com projetos ou apenas os faz por hobby sabe que há situações em uma boa idéia surge do nada e às vezes não há como reproduzi-la

Leia mais

CDE4000 MANUAL 1. INTRODUÇÃO 2. SOFTWARE DE CONFIGURAÇÃO 3. COMUNICAÇÃO

CDE4000 MANUAL 1. INTRODUÇÃO 2. SOFTWARE DE CONFIGURAÇÃO 3. COMUNICAÇÃO CDE4000 MANUAL 1. INTRODUÇÃO O controlador CDE4000 é um equipamento para controle de demanda e fator de potência. Este controle é feito em sincronismo com a medição da concessionária, através dos dados

Leia mais

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel Software de gerenciamento do sistema Intel do servidor modular Intel Declarações de Caráter Legal AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO RELACIONADAS AOS PRODUTOS INTEL, PARA FINS DE SUPORTE ÀS PLACAS

Leia mais

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

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

Leia mais

Informática - Básico. Paulo Serrano GTTEC/CCUEC-Unicamp

Informática - Básico. Paulo Serrano GTTEC/CCUEC-Unicamp Informática - Básico Paulo Serrano GTTEC/CCUEC-Unicamp Índice Apresentação...06 Quais são as características do Windows?...07 Instalando o Windows...08 Aspectos Básicos...09 O que há na tela do Windows...10

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

Comm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI

Comm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI Manual de Utilização Família MI ÍNDICE 1.0 COMO LIGAR O MÓDULO... pág 03 e 04 2.0 OBJETIVO... pág 05 3.0 COMO CONFIGURAR O MÓDULO MI... pág 06, 07, 08 e 09 4.0 COMO TESTAR A REDE... pág 10 5.0 COMO CONFIGURAR

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

Manual Equipamento ST10 Flasher Rev. 1

Manual Equipamento ST10 Flasher Rev. 1 Maio de 2014 2 Sumário Introdução:... 3 Acessórios utilizados:... 4 Instalação:... 5 Abrindo e Conhecendo o Software:... 10 SET PORT... 11 RELOAD MONITOR... 13 BlankCheck... 14 ERASE FLASH... 14 DUMP...

Leia mais

Monitor de Rede Elétrica Som Maior Pro. Manual do Usuário Versão 3.9f

Monitor de Rede Elétrica Som Maior Pro. Manual do Usuário Versão 3.9f Monitor de Rede Elétrica Som Maior Pro Manual do Usuário Versão 3.9f 2 ÍNDICE PÁG. 1 APRESENTAÇÃO...03 2 DESCRIÇÃO DO EQUIPAMENTO...04 2.1 ROTINA INICIAL DE AVALIAÇÃO DA REDE ELÉTRICA...04 2.2 TROCA DE

Leia mais

TRBOnet Standard. Manual de Operação

TRBOnet Standard. Manual de Operação TRBOnet Standard Manual de Operação Versão 1.8 NEOCOM Ltd ÍNDICE 1. TELA DE RÁDIO 3 1.1 COMANDOS AVANÇADOS 4 1.2 BARRA DE FERRAMENTAS 5 2. TELA DE LOCALIZAÇÃO GPS 6 2.1 MAPLIB 6 2.2 GOOGLE EARTH 7 2.3

Leia mais

A ideia! Criar uma plataforma de prototipagem de componentes eletrônicos e sistemas de automação para leigos!

A ideia! Criar uma plataforma de prototipagem de componentes eletrônicos e sistemas de automação para leigos! Prof. Cláudio Oliveira Prof. Humberto Zanetti Prof. Júlio Vansan A ideia! Criar uma plataforma de prototipagem de componentes eletrônicos e sistemas de automação para leigos! 1 O que é Arduino? Uma plataforma

Leia mais

Gerenciador do Token PROTOKEN PRO. Guia de Instalação

Gerenciador do Token PROTOKEN PRO. Guia de Instalação Gerenciador do Token PROTOKEN PRO Guia de Instalação Certificação Digital Guia CD-05 Público 1. Pré-requisitos para a instalação do dispositivo de certificação digital: Token Protoken Pro Para que o processo

Leia mais

Introdução aos Projectos

Introdução aos Projectos Introdução aos Projectos Categoria Novos Usuários Tempo necessário 20 minutos Arquivo Tutorial Usado Iniciar um novo arquivo de projeto Este exercício explica a finalidade ea função do arquivo de projeto

Leia mais

Manual de Instalação EDIÇÃO 1.0

Manual de Instalação EDIÇÃO 1.0 Editor Rápido ipldk Manual de Instalação EDIÇÃO 1.0 HISTÓRICO DE REVISÃO Edição Data Descrição das Alterações Versão S/W Versão MPB Edição 1 Out/2006 Lançamento Inicial C.7Aa ~ C.7Aa - i - Conteúdo 1.

Leia mais

Informática Básica. Microsoft Word XP, 2003 e 2007

Informática Básica. Microsoft Word XP, 2003 e 2007 Informática Básica Microsoft Word XP, 2003 e 2007 Introdução O editor de textos Microsoft Word oferece um conjunto de recursos bastante completo, cobrindo todas as etapas de preparação, formatação e impressão

Leia mais

Introdução sobre à porta USB

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

Leia mais