jogo de batalha naval embarcado wireless - … circuito integrado gnd grond - terra ma mili-amperes....

48
Centro Universitário Positivo – UnicenP Núcleo de Ciências Exatas e Tecnológicas – NCET Engenharia da Computação Gabriel Aphonso dos Santos Jogo de Batalha Naval Embarcado Wireless Curitiba 2006

Upload: phungdat

Post on 03-May-2018

214 views

Category:

Documents


1 download

TRANSCRIPT

Centro Universitário Positivo – UnicenP Núcleo de Ciências Exatas e Tecnológicas – NCET

Engenharia da Computação Gabriel Aphonso dos Santos

Jogo de Batalha Naval Embarcado Wireless

Curitiba 2006

2

Centro Universitário Positivo – UnicenP

Núcleo de Ciências Exatas e Tecnológicas – NCET Engenharia da Computação

Gabriel Aphonso dos Santos

Jogo de Batalha Naval Embarcado Wireless

Monografia apresentada à disciplina de Projeto Final, como requisito parcial à conc lusão do Curso de Engenharia da Computação. Orientadora Prof a . Dr a. Adriana Cursinho Thomé.

Curitiba

2006

3

Sumário Lista de Figuras 05 Lista de Tabelas 06 Lista de Siglas e Símbolos 07 Resumo 08 Abstract 09 1. Introdução 10 1.1. Motivação do desenvolvimento 10 1.2. Situação do projeto no contexto geral em que está inserido 10 1.3. Metas a serem alcançadas 11 2.Estudo teórico 12 2.1. Display 12 2.1.1. Interface com CPU 12 2.1.2. Funções do controlador 12 2.1.2.1. Pinagem do display 13 2.1.2.2. Temporização e instruções do display 13 2.2. Microcontrolador 14 2.2.1. 8051 Básico 15 2.3. Porta serial 17 2.3.1. Modo síncrono de comunicação 17 2.3.2. Modo assíncrono de comunicação 17 2.3.3. Interface serial no 8051 18 2.4. Comunicação 18 2.4.1. I-Mode 19 2.4.2. WAP 20 2.4.3. Bluetooth 20 2.4.4. RFID 21 3. Descrição 23 3.1. Característica do jogo Batalha Naval Wireless 23 3.2. Característ icas do sistema 23 4. Especif icações técnicas 25 4.1. Especif icações do hardware 25 4.1.1. Módulos do sistema 25 4.1.2. Funções do hardware 26 4.1.3. Componentes uti l izados 26 4.1.4. Descrição do diagrama em blocos 27 4.1.5. Descrição do RF 27 4.1.6. Descrição do display 30 4.1.7. Descrição do microcontrolador 30 4.1.8. Descrição do Teclado 32 4.2. Especif icações do software 32 4.2.1. Ambiente desenvolvido 32 4.2.2. Diagrama de contexto 32 4.2.3. Diagrama de fluxo de dado 33 4.2.4. Diagrama de estados 34

4

4.2.5. Fluxograma 36 5. Projeto 37 5.1 Transmissão 37 5.2 Display 37 5.3 Microcontrolador 38 5.4 Teclado 38 5.5 Software 39 5.5.1 Interface com usuário 39 6. Validação 43 7. Estudo de Viabilidade 46 8. Conclusão 47 9. Referências Bibl iográf icas 48

5

Lista de Figuras Figura 2.1 – Diagrama de blocos do 8051 Figura 2.2 – Pinagem 8051 Figura 4.1 - Diagrama em bloco. Figura 4.2 – Esquemático TX 315Mhz Figura 4.3 – Esquemático RX 315Mhz Figura 4.4 – Esquemático TX 433.9Mhz Figura 4.5 – Esquemático RX 433.9Mhz Figura 4.6 – Esquemático de l igação do display Figura 4.7 - Esquemático do microcontrolador Figura 4.8 – Sistema Power -on- reset Figura 4.9 – Esquemático do teclado Figura 4.10 – Diagrama de contexo Figura 4.11 – Diagrama de Fluxo de Dado Figura 4.12 – Diagrama de estados Figura 4.13 – Fluxograma do Firmware Figura 5.1 - RF 433.9Mhz Figura 5.2 - RF 315.9Mhz Figura 5.3 – Display LCD Figura 5.4 – Tela inicial Figura 5.5 – Tela disponibil izando barco adv. ocupado Figura 5.6 – Tela disponibil izando barco adv. pronto Figura 5.7 – Tela esperando adversário. Figura 5.8 – Tela jogando Figura 5.9 – Tela aguarde Figura 5.10 – Tela venceu Figura 5.11 – Tela perdeu Figura 6 – Projeto Completo

6

Lista de Tabelas Tabela 2.1 – Módulos e funções Tabela 2.2 - Instruções e temporização do modulo LCD Tabela 5.1- Relação do botão com o MC Tabela 6.1 - Validação Tabela 7 – Tabela de Viabilidade

7

Lista de Siglas e Símbolos

RF Radio Freqüência LCD Liquid Crystal Display LED Light-emitt ing Diode CPU Central Processing Unit. ROM Read Only Memory RAM Random Access Memory PC Personal Computer MC Microcontrolador ASCII American Standard Code for Information Interchange SBUF Serial Buffer UHF Ultra High Frequency SHF Super High Frequency VHF Very High Frequency MHz Mgahertz. GHz Gigahertz WAP Wireless Applicat ion Protocol TDMA Time Divis ion Mult ip l Access WEB WWW - World Wide Web Kbps kilobit por segundo Html Hypertext Markup Language SIG Special Interst Group ISM Industrial Scientifc and Medical TDD Time Division Duplex PAN Personal Area Nerwork RFID Radio Frequency Identif ication CI Circuito Integrado GND Grond - Terra mA Mili-amperes. Ms Mil isegundos. V Vol ts. O ohms

8

Resumo

Neste trabalho é apresentado um sistema embarcado de Jogo de Batalha Naval uti l izando a tecnologia de transmissão via radio freqüência para a troca de informações entre os consoles. Este sistema tem como entrada 6 botões dis postos na mesma forma que um controle de videogame que é onde o usuário tomará suas decisões e uti l iza um display caractere 4x20 que mostra todos as informações do jogo. O projeto tem como objetivo criar um sistema embarcado que seja capaz que duas pessoas joguem o jogo batalha naval. Palavras -chave : Rádio Freqüência, Display Gráf ico.

9

Abstract

This work presents an embedded system of a Batt le FieldGame using wireless technology to exchange data between the consoles. This system has 6 buttons as inputs, disposed in the same layout as a videogame control where the user wil l take the decisions and use a LCD display with 4x20 characters that shows al l the game information. The project aims to build an embedded system that allows two people to play the game. Key-words: radio frequency, LCD display

10

1. Introdução

A batalha naval é um jogo criado há muito tempo. Com o passar do tempo ele vem sendo aprimorado conforme as inovações tecnológicas para que possa continuar interessante para as novas gerações. Inicialmente, era necessário que cada participante confeccionasse seu gráfico manualmente, dispondo seus navios aleatoriamente. A comunicação verbal era essencial entre os jogadores. Com o advento dos computadores, excluiu-se a necessidade da confecção gráfica do manual e da comunicação verbal. Ambas passaram a ser realizadas por intermédio de um ou mais computadores interl igados por rede. Com o avanço da tecnologia tanto na parte de transmissão via wireless quanto na fabricação de sistemas embarcados, que viabil izam uma maior mobil idade, este trabalho tem como objetivo uti l izar essas tecnologias para criar um sistema que possibi l i te montar um jogo de batalha naval.

1.1. Motivação do desenvolvimento Os motivos que levaram ao desenvolvimento desse projeto foram:

?? oportunidade de estudar o funcionamento e trabalhar com dois transmissores de freqüências diferentes de transmissão de radio freqüência (RF);

?? o desenvolvimento de um jogo embarcado que dispensa completamente a necessidade de um computador;

?? dar continuação ao projeto desenvolvido em Corso(2005) acrescentando melhorias.

1.2. Situação do projeto no contexto geral em que está inserido Este projeto foi iniciado em 2005, pelo aluno de En genharia da Computação Fernando Ricardo Corso. Infelizmente, não foi possível implementar os dois consoles e a transmissão RF. Assim sendo,tomando por base seus estudos, problemas e soluções , além de modif icações e inovações foi então confeccionado o protótipo do Jogo de Batalha Naval Embarcado Wireless .

11

1.3. Metas a serem alcançadas Para o desenvolvimento desse projeto, foram estabelecidas as seguintes metas:

? ? desenvolver a transmissão RF; ? ? aprender a uti l izar o display Liquid Crystal Display

(LCD) de Caractere e a programar em C no microcontrolador;

? ? calcular e projetar os t ipos de tamanho de memória para o sistema;,

? ? fazer a integração de todos os itens acima e, em seguida, duplicar o sistema completo apenas modif icando a freqüência do RF.

12

2.Estudo teórico A seguir serão apresentados alguns conceitos citados no projeto com objetivo de estudar e entender as tecnologias uti l izadas para o desenvolvimento do mesmo. 2.1. Display Os módulos LCD são interfaces de saída muito úteis em sistemas microprocessados e podem ser do t ipo caractere ou gráfico. São encontrados com várias configurações de tamanho de tela, tamanho de caixa e de resolução. Atualmente, existem lojas especial izadas em montar displays customizados sendo assim possível def inir as suas característ icas conforme a necessidade do projeto a ser implementado. Os módulos podem ser encontrados com Light Emitt ing Diode (LED) backl ight (com i luminação de fundo) para faci l i tar as leituras durante a noite. Apesar da atual disponibil idade de varias combinações de fundo com letra, o mais encontrado para o display de caractere ainda é a combinação de fundo amarelo com caractere preto. Como a pinagem não é padronizada, recomenda-se consulta previa do datasheet fornecido pelo fabricante.

2.1.1. Interface com CPU Os módulos LCD são projetados para permit ir conexão com a maioria das Central Processing Unit (CPU) disponíveis no mercado, bastando para isto, que essa CPU atenda às temporizações de leitura e escrita das in struções e dados fornecidos pelo fabricante do módulo(FLEURY, 1996). 2.1.2. Funções do controlador A seguir, são apresentados os comandos e funções tal como a l inha de dados a ser setada para configurar o display .

13

2.1.2.1. Pinagem do display A tabela 2.1 a seguir disponibil iza os dados necessários para a pinagem do display.

Tabela 2.1 – Módulos e funções

Pino Simbolo Nivel I/O Função 1 Vss - - Terra (GND) 2 Vcc - - Tensão (+5V) 3 Vee - - Ajuste de Contraste 4 RS 0/1 I 0 = Entrada de Instrução

1 = Entrada de Dados 5 R/W 0/1 I 0 = Modo de escrita

1 = Modo de leitura 6 E 1, 1->0 I Enable signal 7 DB0 0/1 I/O Dado 0 (LSB) 8 DB1 0/1 I/O Dado 1 9 DB2 0/1 I/O Dado 2 10 DB3 0/1 I/O Dado 3 11 DB4 0/1 I/O Dado 4

12 DB5 0/1 I/O Dado 5 13 DB6 0/1 I/O Dado 6 14 DB7 0/1 I/O Dado 7 (MSB) 15 Vcc - - Backlight – Tensão (+5V) 16 Vss - - Backlight -Terra (GND)

Fonte: Datasheet

2.1.2.2. Temporização e instruções do display A tabela 2.2 i lustra a seqüência de dados a ser disponibil izada para a configuração do LDC juntamente com a temporização de cada comando para o mesmo funcionar de acordo com o esperado.

14

Tabela 2.2 - Instruções e temporização do modulo LCD

Fonte: Datasheet

2.2. Microcontrolador Um microcontrolador é um elemento eletrônico desenvolvido para executar tarefas específicas, porém com linguagem de comando especif icas(NICOLOSI, 2001). Ele uti l iza uma memória de programa (Code Memory – ROM ) para ler as instruções que deve executar e uma memória de dados (Data Memory - RAM) para armazenar temporariamente informações de uso próprio das instruções. Seu propósito é, portanto, executar tarefas específ icas gravadas em sua memória de código (ROM)como por exemplo: interpretar uma tecla, acender uma lâmpada, real izar uma impressão, comunicar-se com um Personal Computer (PC). Um dos componentes básico para o funcionamento de um microcontrolador (MC) é o osci lador (cristal) que, por sua vez gera um clock , que define a velocidade de processamento do MC. Cada MC tem uma faixa de freqüência de trabalho para saber a faixa recomenda-se verif icar o datasheet do mesmo.

15

2.2.1. 8051 Básico No início da década de 80, a Intel que já tinha criado o microcontrolador 8048, lançou uma nova família que foi intitulada 8051que a grande diferença era que ela possuía 8 bi ts. Inicialmente ela lançou o 8051 com ROM interna programável de fábrica o 8751 com EPROM interna programável pelo usuário e o 8031 com necessidade de ter chips de EPROM externa. Após alguns anos a família se expandiu para o 8052 que tem um t imer a mais que o 8051 e suas variações, chamando de 8052 -Basic, que tem dentro de sua ROM um interpretador Basic que permite programá-lo também em l inguagem Basic. Posteriormente, a Intel autorizou outras empresas a fabr icar esses microcontroladores como a Siemens, Advancrs Mocrocontroller Devie, Phil ips e Oki (NICOLOSI, 2001) Tipicamente o 8051, como representante básico da famíl ia, contém.

? ? rAM interna com 128bytes; ? ? rOM interna de 4Kbytes; ? ? 4 Ports de I/O; ? ? 2 Timers de 16 bits; ? ? 1 Interface serial; ? ? capacidade de 64Kbytes de endereçamento externo

de ROM; ? ? capacidade de 64Kbytes de endereçamento externo

de RAM; ? ? processador “Booleano”; ? ? ciclos Típicos de instruções de 1 e 2 micro

segundos; ? ? instrução direta de divisão e mult ipl icação; ? ? estradas de interrupção externa.

A figura 2.1 representa o diagrama em bloco do microcontrolador. Nela podemos ver as memórias ROM, RAM os t imer e como o sistema é interl igado através dos barramentos interno.

16

Figura 2.1 – Diagrama de blocos do 8051 Fonte: (NICOLOSI, 2001)

A seguir na figura 2.2 temos a pinagem do 8051 com seus pinos.

Figura 2.2 – Pinagem 8051 Fonte: (NICOLOSI, 2001)

17

2.3. Porta serial Diante da necessidade de comunicar equipamentos a grande distância, foi cr iada a transmissão serial. Atualmente, o meio mais uti l izado para o transporte serial de informações é a l inha telefônica, que com a ajuda de aparelhos dedicados permite a l igação de dois ou mais computadores, por exemplo, em países di ferentes, bastando para tal a disponibil idade da linha telefônica e seus sistemas próprios (centrais, antenas e até mesmo satél i tes) Na transmissão serial, o envio de um certo caractere (vários bits) é feito de tal forma que um bit de cada caractere é t ransmitido de forma seqüencial, um após o outro. Para que vários sistemas troquem informações, foi criado um código binário por caractere, de tal forma que exista compatibi l idade. Atualmente usa-se o código ASCII. Neste código, cada caractere possui seu correspondente em binário, incluindo -se também vários caracteres de controle e sinais especiais (SILVA, 2000). 2.3.1. Modo síncrono de comunicação Esse modo de comunicação necessita de um sincronismo entre dois sistemas envolvidos. Este sincronismo é gerado por um conjunto de bits , denominados bits de sincronismo, que ao serem recebidos pele elemento receptor, ajustam seu relógio interno para receber um conjunto de bits referentes ao dado. Logo após o último bit de dado, o transmissor envia um conjunto de bits chamado bits de paridade, que ao serem detectados pelo receptor, informam que acabaram os bits de dados.

Esses bits de paridade podem conter ou não informações a respeito dos bits transmit idos, permit indo assim, que o receptor confirme se recebeu os bits corretamente (SILVA, 2000) 2.3.2. Modo assíncrono de comunicação Neste modo, não existe a necessidade de gerar sincronismo, então cada caractere é transmitido individualmente, e para cada caractere(transmit ido bit a bit) existem bits de inicio de transmissão(Start bi t) e bits de f im de transmissão(Stop bit).

18

O Start bit é reconhecido pela transição do nível presente na l inha de 1 para 0. A partir desse instante, o clock interno do sistema efetua uma varredura periódica da l inha para detectar o nível na mesma, nível este que, será associado a cada bit de forma conveniente. Ao reconhecer o sétimo bit , o sistema f ica esperando o Stop bit, que é a transição de 0 para 1, ou a permanência em nível 1. Neste ponto, o sistema entra em repouso e fica na espera de um novo Start bit , para iniciar a recepção de um novo caractere. Porem, para seu correto funcionamento, deve-se garantir que o transmissor e o receptor operem com a mesma taxa de transmissão e recepção (AXELSON,1998). 2.3.3. Interface serial no 8051 No 8051, a interface serial é do tipo Full-Duplex . Isto signif ica que, através de registros especiais, o microcontrolador pode receber e transmit ir dados simultaneamente. O registro para a ser ia l chama-se SBUF (Serial Buffer) e uma escri ta no mesmo implica em automática transmissão do dado escri to, assim como um dado que chegue no pino de recepção, implicará na automática operação de recepção por parte do sistema, independente do controle do usuário (SILVA, 2000). 2.4. Comunicação Wireless Wireless é uma forma de comunicação sem fio que pode ocorrer entre computadores, rádios, antenas, celulares etc... Existe uma classif icação quando se trata da freqüência uti l izada, que é o próprio espectro de freqüência. Dependendo da freqüência ut i l izada o sistema é descrito como UHF ou SHF(CORSO, 2005) . A Ultra High Frequency (UHF - de 300 MHz a 3000 MHz)é uma banda praticamente igual a faixa de VHF quanto à sua operação diferindo apenas pela influência de vegetação, neve e umidade do ar, sendo sua atenuação, portanto, maior e mais crí t ica, conforme as característ icas geográficas. Aqui estão incluídas as faixas de 450 a 512 MHz de uso comercial, (chamada simplesmente de UHF) e a telefonia celular em 800 MHz (CORSO, 2005) .

A Super High Frequency (SHF - de 3 GHz a 30 GHz),constitui o l imite superior da freqüência dos sinais que tem uso pratico em

19

comunicações por ondas de radio e é popularmente chamada de “microondas”. Principalmente acima dos 10Ghzm a absorção dos sinais é muito grande devido a umidade e precipi tações (chuvas, neve e outros)(CORSO, 2005) . 2.4.1. I-Mode O i-mode foi criado pela operadora japonesa NTT DoCoMo e é basicamente um serviço de informação por pacotes. Com este sistema, diferentemente das redes telefônicas de comutação de c i rcui tos, não é necessário que cada usuário receba a informação através de um só canal de rádio, o que signif ica um grande número de pessoas acessando informações simultaneamente. Além disso, o modelo em pacotes ajuda a reduzir os custos, já que as tari fas baseiam-se no volume de informação enviada e recebida. O i -mode se aproxima em muitos aspectos do WAP, a começar pela velocidade de transmissão, que é de 9,6 kbps, a mesma que se tem nas redes TDMA. Essa baixa taxa de transmissão faz com que o protocolo japonês esbarre na dif iculdade de transportar imagens, assim como o 8 . São possíveis apenas ícones muito simples, parecidos com pequenas imagens do WAP em formato vbmp. Graças ao sistema de comutação de pacotes, os usuários da NTT DoCoMo tem conexão permanente com a Web . Isso explica por que a lenta velocidade de transmissão de dados de 9,6 kbps não afeta de forma tão direta o desempenho do i-mode, como acontece com o WAP. A outra vantagem desse modelo de rede é a uti l ização de pacotes de serviços extremamente econômicos. Diferentemente do que acontece no Brasil, onde as operadoras cobram pelo tempo de uso, no modelo uti l izado pela operadora japonesa a cobrança é feita pela quantidade de dados transmitida. Inicialmente, o i -mode estabeleceu uma tecnologia baseada no HTML, o CHTML que permite que os provedores de conteúdo possam desenvolver aplicações sem a necessidade de novos métodos de programação e ter que uti l izar conversores de HTML a WML. Com um acordo feito entre a empresa DoCoMo e o WAP Fórum, os dois padrões passaram a usar o mesmo padrão de linguagem de marcação, baseado no padrão HTML versão (Corso, 2005).

20

2.4.2. WAP O WAP é um método de distribuição de informação da Internet para os usuários, através de um disposit ivo móvel que, atualmente, é padronizado pelo WAP Fórum. Esse modelo de programação é similar ao modelo de programação Web . Isto signif ica, que ele promove vários benefícios para a comunidade desenvolvedora de aplicações, incluindo um modelo de programação famil iar e a capacidade de reuti l ização das ferramentas atuais, como os servidores Web . Entretanto, otimizações e extensões foram feitas de maneira que a característica do mundo Web fosse ao encontro do ambiente sem fio. Sempre que possível, os padrões existentes foram plenamente ado tados ou foram usados como ponto de partida para a tecnologia WAP(Corso, 2005) 2.4.3. Bluetooth Bluetooth é um padrão proposto pelo Bluetooth SIG (Special Interest Group) , que é um consórcio das maiores empresas de telecomunicações e computação do mundo. O padrão opera na faixa Industr ial, Scienti f ic, and Medical (ISM) de 2,4 GHz e tem como princípio propor uma tecnologia de baixo custo para conectividade sem fio. Inicialmente o padrão foi projetado como uma solução para subst i tuição de cabos usados na comunicação de periféricos por comunicação via rádio. No entanto, ele permite a conexão entre diferentes tipos de disposit ivos possibi l i tando a formação de redes ad-hoc. A estrutura básica de comunicação no Bluetooth é chamada de piconet. A piconet tem a c aracterística de ser uma rede onde um nodo central, definido como mestre, se comunica ativamente com os outros nodos chamados de escravos, formando uma topologia em estrela, com no máximo sete elementos. Piconets podem se conectar entre si formando scatternets. O pequeno alcance de comunicação dos disposit ivos faz com que essas piconets possuam a característ ica de formarem pequenas redes pessoais, conhecidas como Personal Area Network (PAN). Algumas das principais diferenças entre o Bluetooth e outros t ipos de redes sem fio são:

?? Redes formadas basicamente de disposit ivos com baixa capacidade e pouca energia.

21

?? As conexões entre dois disposit ivos possuem diversos estados, com o objetivo de economizar energia e gerenciar a formação de outras piconets.

?? Formaç ão espontânea de piconets, possibil i tando modif icações constantes em sua topologia. Essas modificações não são apenas em função da mobil idade, como normalmente acontece nas redes sem fio.

?? As scatternets possuem pequenos diâmetros, sendo formadas por menos de 10 piconets, pois o Bluetooth prevê que as PANs façam comunicação entre usuários e disposi t ivos.

?? O estabelecimento da conexão entre dois nodos passa por um procedimento de identif icação e sincronização que necessita de uma temporizarão para ocorrer efe tivamente.

Outro ponto é a maneira que o canal entre o mestre e o escravo é tratado. A comunicação de rádio do Bluetooth usa um esquema de salto de freqüência para permit ir uma comunicação robusta em ambientes com muita interferência e uma comunicação mai s segura e personalizada, com um número mínimo de colisões quando comparado com outros padrões. A especif icação define dois sistemas de salto de freqüência, um que trabalha sobre 73 freqüências diferentes, e outro sobre 23. Durante a comunicação, é uti l iz ado o TDD (Time Division Duplex ), que possibil i ta o suporte da comunicação duplex. A seqüência do salto de freqüência é definida pelo identif icador único do mestre na rede, um número gerado de forma similar ao especif icado pelo IEEE802, sendo o TDD controlado por um relógio que se encontra no mestre, o que faz com que todos os nodos que se comunicam com o mestre passem por um processo de identi f icação e sincronização. A especif icação inclui os protocolos da interface aérea para permit ir a comunicação entre disposit ivos e os perfis de uso, que definem como disposit ivos Bluetooth podem comunicar entre si em diferentes apl icações. (CORSO, 2005) 2.4.4. RFID Uma etiqueta RFID é formada por um microchip (pequenos computadores que possuem um número de identif icação) conectado a uma antena. Existem diversos t ipos de etiquetas para diferentes formas de aplicações.No entanto, o ponto importante para tornar a tecnologia RFID largamente aplicável e o seu baixo custo. Cada

22

etiqueta possui um identif icador único que é enviado via difusão através da antena. Essas et iquetas podem ser at ivas, passivas ou semi-passivas, e de leitura-escrita ou somente de leitura. A ativa tem uma bateria para alimentar o circuito do microchip e para enviar um sinal para uma estação de leit ura. A passiva não tem bateria e usa a energia das ondas eletromagnéticas enviadas pela estação de leitura para induzir uma corrente na antena da etiqueta que transmite o identi f icador. Já as semi-passivas usam uma bateria para alimentar o circuito mas usam a energia eletromagnética para fazer a transmissão do identif icador. Etiquetas de leitura -escrita podem gravar uma nova informação ou escrever sobre a existente enquanto uma somente de leitura apenas transmite a informação gravada previamente. O raio de transmissão que um identif icador alcança depende de fatores como potencia do sinal Transmit ido (CORSO, 2005).

23

3. Descrição do Projeto Este projeto permite que duas pessoas joguem batalha naval através de um sistema totalmen te informatizado porém, sem a necessidade de um computador e também proporciona uma grande mobil idade por ser compacto e uti l iza baterias tornando o jogo ainda mais dinâmico e portáti l . 3.1. Característica do jogo Batalha Naval Wireless O jogo Batalha Naval Wireless assemelha-se muito ao convencional criado há décadas atrás. A grande diferença entre eles esta nos “tabuleiros” e na jogabil idade que não necessita uma interação verbal entre os dois jogadores. Esta nova versão difere das anteriores também na distribuição dos navios, que passaram a ocupar apenas uma célula e não uma ou mais conforme os t ipos de navios (porta-aviões, destroyer, outros) . As regras básicas, no entanto foram mantidas: quatro barcos são distribuídos aleatoriamente pelo usuário pelas dezesseis células da tabela, não sendo permitida a ocupação de uma mesma célula por mais de um navio bem como mais de um tiro na mesma posição. Quando um jogador acerta, ele pode continuar até errar. Inicia o jogo aquele que primeiro pos ic ionar os seus navios. O jogador deve conhecer a legenda do sistema a mesma esta i lustrada no console. Ela constitui -se das seguintes letras:

?? B – Signif ica Barco na posição; ?? X – Significa Tiro na posição; ?? A – Significa Barco afundado na posição.

Quando o jogador acertar um barco do adversário a letra X é substituída pelo sistema automaticamente pela letra B indicando que naquela posição existia um barco. Quando um barco é atingindo a letra B é substituída pela letra A. 3.2. Características do sistema

E s te projeto trata-se de um sistema embarcado constituído por duas unidades de jogo que contém:

24

?? Microcontrolador 89s52: é responsável por todo controle

de entrada e saída de dados para o display bem como, pelo envio e recebimento através do RF e controle de dados através do usuário.

?? Display caractere 4x20 com backlight: ele que faz a interação do hardware com o usuário disponibil izando dos dados.

?? Memória ROM Flash: já inclusa na arquitetura do microcontrolador, é uti l izada para a gravação do f irmware.

?? Memór ia RAM: também presente na arquitetura do microcontrolador, é responsável pelo armazenamento de toda a memória voláti l do sistema que armazena os dados da part ida tais como posições dos barcos, armazenamento da flag de estados, contagem de barcos atingidos e tc .

?? Telcado: composto por cinco botões que é o responsável pela interação entre o usuário e o hardware.

?? Circuito RF: possibi l i ta a comunicação wireless entre os consoles fazendo com que a troca de informações entre os consoles seja possível. Uti l izando as freqüências de 315Mhz e 433.9Mhz.

25

4. Especificações técnicas Nos itens subjacentes, são explicados os componentes do sistema uti l izado na confecção deste projeto. 4.1. Especificações do hardware É a parte física do projeto, composto por microcontroladores, teclado, LCD e RF. Nos subitens a seguir, segue a descrição dos mesmos. 4.1.1. Módulos do sistema Abaixo é apresentado pela figura 4.1 o diagrama em bloco do projeto:

Figura 4.1 - Diagrama em b loco.

A Figura 4.1 mostra o console que corresponde a toda parte física do projeto a pesar do projeto precisar de dois consoles existem apenas duas diferenças entre eles que esta na placa de RF será abordada no subitem 4.1.5. Descrição do RF. A tabela 4.1 a seguir apresenta uma descrição sucinta dos módulos do sistema e a funções dos mesmos.

26

Tabela 4.1 – Módulos e funções

Módulo Função Sistema RF Responsável pela transmissão

e recepção dos sinais entre os consoles.

Display Caractere Responsável pela visualização das informações do jogo.

Microcontrolador 8051 Memórias Ram/Rom

Responsável pelo processamento de todas as

informações e pelo controle dos disposit ivos de RF, Display

Caractere, Teclado. Teclado Responsável pela entrada de

dados. 4.1.2. Funções do hardware O hardware tem um papel autônomo, ou seja, não necessita de configuração para que o sistema funcione. O envio e recebimento dos dados na transmissão de rádio freqüência não é controlado pelo hardware , cabendo ao software man ipular a função de qual unidade irá ser habil i tada para transmitir ou receber dados naquele determinado momento. O hardware receber informações provindas do teclado, tais como posição dos navios, localização dos t iros e movimentação dos barcos. Em seguida, a mesma grava as informações em sua memória. Realizada a gravação, esses dados serão disponibi l izados ao circuito de rádio freqüência para que sejam transmitidos à outra unidade do sistema. Todo esse controle será real izado através de um microcontrolador . 4.1.3. Componentes utilizados A seguir apresentado na Tabela 4.2, os componentes uti l izado nesse projeto:

Tabela 4.2 – Componentes

Quantidade Descrição 2 Microcontrolado 89s52 2 Display Caractere 4x20 1 Circuito de RF 433,92MHz 1 Circuito de RF 315 MHz 12 Push Botton

27

2 Cristal 11.052Mhz 4 Trimpot 10K 22 Resistores 6 Diodos 14 Capacitores 2 Reguladores de Tensão 2 Leds 8 Placa de cobre 12 Circuito integrados 14 Soquetes torneados 10 Barra de pinos 26 Pé de borracha 8 Parafuso/porca 2 Botões Liga/Desliga 4 Conectores para bateria 2 Dissipador de calor 2 Baterias 9v 5m Cabo 10via Flat 2 Invólucro para o Hardware

4.1.4. Descrição do diagrama em blocos No próximo subitem, todos os módulos presentes no projeto são detalhadamente descritos. 4.1.5. Descrição do RF Os módulos transmissor RT4 e receptor RR3 têm alcance de até 100m sem obstáculos, desde que a antena e a fonte de al imentação do transmissor sigam as recomendações técnicas do fabricante. Esses módulos já saem de fábrica regulados através de tecnologia à laser, dispensando qualquer tipo de regulagem por parte do desenvolvedor. Os módulos RT4 e RR3 trabalham nas faixas de freqüências de: 315MHz, 418MHz e 433,92MHz. As freqüências util izadas neste projeto são de 315 e 433,92MHz. A largura de banda (para a transferência dos dados) do módulo RT4 é de 4KHz, já a do módulo RR3 é de 2KHz. Portanto, para que o módulo receptor RR3 consiga receber os dados corretamente, o transmissor RT4 deverá se l imitar a transmit i r os dados numa taxa inferior ou igual a 2KHz. Para que se posa transmitir dados de forma digital e seguindo um determinado padrão através da portadora dos módulos RF

28

RT4 e RR3, é uti l izado os CIs MC145026 (Encoder) e MC145027 (Decoder), fabricados pela Motorola. A Figura 4.2 mostra o esquemático da placa de transmissão do RF da freqüência 315Mhz.

Figura 4.2 – Esquemát ico TX 315Mhz

A Figura 4.3 apresenta o esquemático da placa de recepção do RF da freqüência 315Mhz.

Figura 4.3 – Esquemát ico RX 315Mhz

29

A Figura 4.4 i lustra o esquemático da placa de transmissão do RF da freqüência 433.9Mhz.

F igura 4 .4 – Esquemát ico TX 433.9Mhz

A Figura 4.5 representa o esquemático da placa de recepção do RF da freqüência 433.9Mhz.

F igura 4 .5 – Esquemát i co RX 433.9Mhz

30

4.1.6. Descrição do display Os display uti l izado foi o modelo HD44780 com as seguintes especif icações:

? ? 4 l inhas; ? ? 20 colunas; ? ? backl ight ; ? ? dimensão do Módulo 98x60x12.5mm; ? ? área de Visão 76x25mm; ? ? tamanho do Caractere 2,95x4,75mm.

A seguir a Figura 4.6 mostra o esquemático de l igação do contraste e da al imentação.

Figura 4.6 – Esquemático de ligação do display

4.1.7. Descrição do microcontrolador Como já descrito anteriormente o responsável pelo controle de todo o sistema é a placa do microcontrolador que é apresentado a baixo na Figura 4.7.

31

F igura 4 .7 - Esquemát ico do mic rocon t ro lador

A Figura 4.8 seguinte mostra o sistema de power-on- reset implementado nesse projeto. Ele tem como vantagem, efetu ar o reset automaticamente todas as vezes que o MC é l igado,proporcionando assim, seu funcionamento adequado.

Figura 4.8 – Sistema Power-on- reset

32

4.1.8. Descrição do Teclado O sistema que compõe o teclado possui um total de cinco botões controlado por uma lógica que uti l iza dois circuitos integrados AND como mostra o esquemático na f igura 4.9 abaixo.

Figura 4.9 – Esquemático do teclado

4.2. Especificações do software Todas os dados a respeito do desenvolvimento do f irmwar e podem ser encontrada nos subitens a seguir. 4.2.1. Ambiente desenvolvido Para o desenvolvimento do f irmware do projeto foi uti l izado o programa Keil 2.0 e a linguagem de programação C para o Microcontrolador 8051. 4.2.2. Diagrama de contexto A figura 4.10 mostrada abaixo representa o diagrama de contexto do sistema embarcado. Nesse diagrama, é representado apenas a interação do usuário com o sistema. Essa interação se dá na entrada das informações como posicionar os barcos, escolher a posição par a efetuar um tiro e

33

visual iza as informações correspondentes às respostas do sistema de acordo com a operação efetuada.

Figura 4.10 – Diagrama de contexo

4.2.3. Diagrama de fluxo de dado

A f igura 4.11 i lustra o f luxo de dados do sistema. A partir de ste, pode-se verif icar a origem, destino e respectivos caminhos que os dados irão percorrer no sistema. O Jogador escolhe as coordenadas para jogada e, se estas forem válidas, serão então enviadas para a outra unidade do sistema, que após verif icação das mesmas, determinara se houver um erro,um acerto ou inda se o jogo acabou.

Figura 4.11 – Diagrama de Fluxo de Dado

34

4.2.4. Diagrama de estados

A seguir na Figura 4.12 é apresentado o diagrama de estado onde o mesmo representando todos os estados que o f irmware segue.

Figura 4.12 – Diagrama de estados Quando o console é l igado o firmware esta no estado “Inicio” ao pressionar qualquer um dos cinco botões do teclado ele muda para o estado de “Montando Barco”, e fica neste estado até o jogador disponibil izar os quatro barcos no tabuleiro Após a conclusão ele muda para o estado “Aguardando Adv.”, o f irmware f ica checando se recebeu uma confirmação do adversário que signif ica que ele terminou também após o recebimento da c onfirmação caso o jogador tenha terminado primeiro ele vai para o estado “Escolhe Pos Tiro” e não ele vai para “Aguarda Pos Tiro”.

35

No estado “Escolhe Pos Tiro” ele esta jogando e tem que escolher uma das células para dar um tiro daí ele f ica esperando um retorno que será: acertou, errou ou venceu. Caso seja acertou tem uma nova chance se errou ele vai para o estado “Aguarda Pos Tiro” e se venceu vai para o estado “Fim”. No estado “Aguarda Pos Tiro” o jogador fica em aguarde e tem que esperar o adversário dar um tiro, quando recebe o t iro o f irmware processa e verif ica se acertou ou errou se acertou verif ica se já acertou os quatro barco se sim ele envia a mensagem para seu adversário venceu e muda para o estado “Fim”, caso não tenha acertado o 4º barco ainda só envia acertou e continua no mesmo estado, caso errou envia a mensagem errou e altera seu estado para “Escolhe Pos Tiro”. No estado “Fim” f ica mostrando que venceu e quem perdeu no display , ao pressionar qualquer um dos botões do teclado ele volta para o estado inicio.

36

4.2.5. Fluxograma

A figura 4.13 mostra o firmware reapresentado por um fluxograma que i lustra a implementação e funcionamento detalhado do sistema.

Figura 4.13 – Fluxograma do Firmware

37

5.Projeto Os procedimentos e técnicas uti l izadas para o desenvolvimento de cada módulo são a seguir: 5.1 Transmissão Neste projeto para a transmissão de dados, foi uti l izado um buffer 74ls244 que garanti que o transmissor envie realmente o valor que o MC esta dis ponibi l izando nas portas. As placas de transmissão e de recepção são praticamente iguais diferindo apenas no endereçamento do encoder e decoder. No RF de freqüência 433.9Mhz (figura 5.1) os endereços estão configurados como a seguinte seqüência de bits 0001 e já no kit de 315Mhz(figura 5.2) estão configurados com a seguinte seqüência de bits 1001.

Figura 5.1 - RF 433.9Mhz Figura 5.2 - RF 315.9Mhz

Poderia ter sido uti l izada a mesma seqüência de endereçamento pois os kits de RF são de freq üências diferentes mas foi observados através de testes realizado com o auxil io de um osciloscópio no pino de saída de dado do receptor que quando configurados no mesmo endereçamento obtinha um nível maior de interferência. 5.2 Display O código de controle tal como configuração inicial, envio de mensagens e comando para o display apresentado na Figura 5.3 foi obtido através do fabricante. Esta informação pode ser encontrado no Apêndice dentro do código fonte do f irmware.

38

Figura 5.3 – Display LCD

5.3 Microcontrolador O grande diferencial desse sistema é a maneira uti l izada para fazer a transmissão de dados entre os consoles. Como já descrito e mostrado no esquemático das placas de RF foi uti l izado um encoder e um decoder, grandes responsáveis pela configuração da freqüência de transmissão. Apesar do microcontrolador (MC) já possui saída serial para troca de informações, foi implementado um modelo completamente fora do usual. O MC disponibi l iza os dados através das portas P1.5, P1.6, P1.7 e P3.0 e pela porta P3.1 que é conectado a porta 14 do CI MC145027 que quando levado ao nível lógico zero efetua a transmissão. Para receber os dados as portas P3.4, P3.5, P3.6 e P3.7 do MC estão conectadas ao decoder e são apenas l idas quando o receptor recebe um pacote endereçado corretamente Em seguida, o decoder da um pulso pelo pino onze que está ligado a uma porta lógica not que faz com que cada dado recebido de um pulso para nível lógico zero que este é l igado a interrupção do MC na porta P3.3. 5.4 Teclado Cada botão tem dois conectores. Um deles é conectado ao GND da placa e outro à uma porta do CI AND e a uma porta do MC como é definido a seguir na tabela 5.1:

39

Tabela 5.1- Relação do botão com o MC Botão Porta AND CI AND Porta MC Cima 2 1º P1.2 Baixo 5 1º P1.1 Esquerdo 9 1º P1.0 Direi to 4 2º P1.3 Tiro/Seleciona 9 2º P1.4 Quando algum botão é pressionado, a interrupção do MC é ativada e por uma rotina do f irmware, checa qual das portas do MC esta em nível lógico zero com isso o f i rmware sabe qual das botões foi pressionado. 5.5 Software Este foi desenvolvido com base no diagrama de estados que a cada entrada de dados saída de dados tanto pelo teclado ou pelo sistema de RF para o um mesmo sinal dependendo do estado que o jogo esta isto é “Inicio do Jogo”, “Aguardando Tiro”, “Atirando” pode ter diferentes funções. 5.5.1 Interface com usuário A seguir é mostrado o protótipo da tela que foi programado no firmware para o jogo. Com a uti l ização de display é possível visualizar todas as informações necessárias para o usuário. Na figura 5.4 é mostrada a tela inicial ou seja quando o usuário l iga o sistema ou reseta. Para dar continuidade no sistema basta pressionar qualquer um dos cinco botões do teclado.

Figura 5.4 – Tela inicial

40

Na figura 5.5 é mostrado a tela no estado Montando Barco isto é quando o usuário necessita disponibi l izar os 4 barcos como desejar dentro do tabuleiro. Na mesma tela aparecem tambem algumas informações tais como: total de barcos, total de barcos já colocado e a ult ima informação é sobre o status do adversário.

Figura 5.5 – Tela disponibilizando barco adv. ocupado

A figura 5.6 mostra a tela no estado “Montando Barco”. A diferença nessa exemplo que o adversário já terminou de disponibi l izar como é mostrado na ult ima l inha de informação do display .

Figura 5.6 – Tela disponibilizando barco adv. pronto

A figura 5.7 i lustra a tela no estado “aguarda adversário” que signif ica que o usuário terminou de disponibi l izar os barcos e f ica em espera a f inal ização do adversário.

41

Figura 5.7 – Tela esperando adversário.

A figura 5.8 é apresenta a tela no estado “escolhe posição tiro” que o usuário tem que escolher uma posição na segunda tabela para dar um tiro e tentar acertar o adversário. Nessa tela a primeira informação é o status do jogador é “Jogando” na segunda linha é apresentado o total de barcos danif icados que é mostrado no display como “B. Dani”, na terceira l inha é apresentado o total de barcos acertados do adversário que no display esta escrito “Adv. Dani” e na ult ima l inha é informado o total de tiros que o usuário efetuou ate aquele momento.

Figura 5.8 – Tela jogando

Nessa tela presente na figura 5.9 esta no estado de “aguardando t iro adversário”, que apresenta as mesmas informações da f igur a 5xxx mas a diferença que a primeira l inha esta escrito Aguarde que representa o estado do jogo.

42

Figura 5.9 – Tela aguarde

Na figura 5.10 nesta tela esta no estado fim, ou seja, um dos dois jogadores acertou os quatro barcos do adversário e é o vitorioso. Já a figura 5.11 é quando o jogador é derrotado.

Figura 5.10 – Tela venceu

Figura 5.11 – Tela Perdeu

43

6. Validação Para efetuar a validação do projeto, cada módulo foi testado separadamente afim de garantir que os mesmos estivessem em perfeito funcionamento. Com todos os módulos interconectados foram realizada várias jogadas, em diferentes distâncias e com e sem obstáculo para verif icar a transmissão via radio freqüência e cert i f icar a estabil idade do f irmware como é mostrado na Tabela 6.1 Abaixo.

Tabela 6.1 - Validação

Nº Jogada A B Erro Distancia Obstaculo Tempo Total de Transmissões

1 9 10 1m Não 4 40

2 15 15 1m Não 5 62 3 8 8 1m Não 3 34 4 1 0 1 1m Não 1 3

5 8 5 1m Não 2 28 6 3 7 1m Não 2 22 7 15 14 1m Não 4 60 8 4 5 1 1m Não 2 19 9 9 9 1m Não 3 38 10 7 5 2m Não 3 26 11 9 5 2m Não 4 30 12 7 7 2m Não 3 30 13 7 10 2m Não 4 36 14 10 11 2m Não 5 44 15 12 11 5m Sim 3 48 16 10 7 5m Sim 2 36 17 8 7 5m Sim 4 32 18 13 12 5m Sim 3 52 19 13 15 5m Sim 5 58 20 10 7 5m Sim 4 36 21 11 8 5m Sim 7 40 22 13 13 5m Sim 5 54 23 7 10 1 5m Sim 4 35 24 15 14 8m Sim 5 60 25 12 11 8m Sim 7 48 26 6 5 8m Sim 5 24 27 6 7 8m Sim 6 28

28 12 10 8m Sim 4 46 29 13 14 8m Sim 3 56 30 11 12 8m Sim 5 48 31 10 13 8m Sim 4 48 32 14 13 8m Sim 6 56

44

33 12 11 8m Sim 5 48 34 9 10 8m Sim 4 40 35 10 7 8m Sim 3 36 36 5 6 1 8m Sim 1 23 37 6 10 8m Sim 3 34 38 7 9 8m Sim 4 34 39 10 7 8m Sim 7 36 40 14 13 1 8m Sim 6 55 41 11 10 8m Sim 5 44 42 7 7 1 8m Sim 6 29 43 9 10 8m Sim 7 40 44 12 13 1 8m Sim 5 51 45 10 11 8m Sim 4 44 46 15 14 8m Sim 5 60

47 10 8 1 8m Sim 4 37

Após os testes realizados, pode-se constatar que todo o sistema composto pelos dois consoles estão em perfeito funcionamento em vista dos resultados obtidos que pode ser observado na Tabela 6.2.

Tabela 6.1 - Validação

Total de Jogos 47

Total de Erros 8

Jogo Certo 39

Total De Trans. 1896 Total de Trans. Erro 8

Total de Tran Corretas 1888

Tempo Minutos 196

Total Horas 3,2666667

A seguir na figura 6 é apresentado o hardware montado.

45

Figura 6 – Projeto Completo

46

7. Estudo de Viabilidade Apresentamos abaixo a tabela 7 que descreve os produtos e o valor gasto em cada item de todo o projeto.

Tabela 7 – Tabela de Viabilidade Descr ição Valor (R$)

Microcontrolado 89s52 16,00 Display Caractere 4x20 110,00 Circuito de RF 433,92MHz 35,00 Circuito de RF 315 MHz 35,00 Push Botton 22,80 Componentes em Geral 100,00 Pé de borracha 20,00 Parafuso/porca 5,00 Botões Liga/Desliga 2,40 Baterias 9v 20,00 Invólucro para o Hardware 150,00 Horas despendidas (800h) 10.000,00

TOTAL 10.516,20

47

8. Conclusão Neste trabalho foi apresentado um sistema embarcado de Jogo de Batalha Naval uti l izando a tecnologia de transmissão via radio freqüência para a troca de informações entre os consoles. Todos os objet ivos propostos foram alcançados tais como:

? ? uti l ização de um display LCD; ? ? t ransmissão wireless; ? ? desenvolvimento para o circuito do teclado e ? ? desenvolvimento do Jogo de Batalha Naval.

Algumas sugestões de mudança para o aprimoramento do projeto são:

? ? Troca dos RF por um Transceiver 2.4Ghz, que possibil i ta uma maior taxa de transmissão podendo assim implementar jogos mais dinâmicos tais com ping pong, tênis etc. .

? ? Display Gráfico que permite ter maior r iqueza em detalhes.

? ? Incluir memórias ROM e RAM para poder implementar jogos mais complexos e até mesmo vários jogos dentro do mesmo console.

Tendo em vista que o projeto teve todos os seus objetivos alcançados e com testes de viabil idade foi mostrado que tem um ótimo desempenho pode-se concluir que é indubitavelmente viável a produção do jogo Batalha naval embarcado através da transmissão sem f io, wireless.

48

9. Referencias Denys E. C. Nicolosi. Microcontrolador; 8051 Detalhado. Érica 2004 Denys E. C. Nicolosi e Rodrigo B. Bronzeri; Microcontrolador 8051 Com linguagem C. Érica 2005 Mauricio Cardoso de Sá; Programação C para Microcontroladores. Érica 2005 Hollingwoth, Swart; C++ Builder 6 Developer Guide. SAMS 2002 Hauser, Carlos Alberto; Sagra Luzzatto 2001 Deitel,H. M; C++ Como programar Bookman 2001 Corso, Fernando Ricardo. Jogo de Batalha Naval Embarcado. Curitiba 2006