BANCADA INFANTIL PARA JOGOS EDUCATIVOS - up.edu.br · centro universitÁrio positivo nÚcleo de...

48
CENTRO UNIVERSITÁRIO POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ENGENHARIA DA COMPUTAÇÃO BANCADA INFANTIL PARA JOGOS EDUCATIVOS Raquel Ferreira Jorge Monografia apresentada à disciplina de Projeto Final como requisito parcial à conclusão do Curso de Engenharia da Computação, orientada pela Profa. Adriana Cursino Thomé. UNICENP/NCET Curitiba 2007

Transcript of BANCADA INFANTIL PARA JOGOS EDUCATIVOS - up.edu.br · centro universitÁrio positivo nÚcleo de...

CENTRO UNIVERSITÁRIO POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

ENGENHARIA DA COMPUTAÇÃO

BANCADA INFANTIL PARA JOGOS EDUCATIVOS

Raquel Ferreira Jorge

Monografia apresentada à disciplina de Projeto Final como requisito parcial à conclusão

do Curso de Engenharia da Computação, orientada pela Profa. Adriana Cursino Thomé.

UNICENP/NCET

Curitiba

2007

TERMO DE APROVAÇÃO

Raquel Ferreira Jorge

Bancada Infantil para Jogos Educativos Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da Computação

do Centro Universitário Positivo, pela seguinte banca examinadora:

Profa. Adriana Cursino Thomé (Orientadora) Prof. Alessandro Brawerman Prof. Marcelo Mikosz Gonçalves

Curitiba, 05 de Novembro de 2007.

AGRADECIMENTOS Agradeço primeiramente a Deus, por ter me dado à vida e as muitas oportunidades que me foram

concedidas.

Aos meus pais, Ricardo F. Jorge e Rita de Cássia P. F. Jorge, por ter me dado esta oportunidade,

me apoiando e acreditando na conclusão desta graduação.

Ao meu noivo, por ter me ajudado e apoiado nos momentos mais difíceis.

À minha professora orientadora, Adriana Cursino Thomé, pelo apoio dado durante o

desenvolvimento do projeto.

Agradeço também, a todos os professores que de alguma forma contribuíram com o

conhecimento que adquiri ao longo dessa graduação.

RESUMO

Este documento consiste na descrição de uma bancada de jogos educativos, voltados para

crianças com idade a partir de sete anos. No sistema há cinco jogos individuais, onde as opções

de jogos e de perguntas são mostradas em um display gráfico de 128x64 e as decisões de escolha

e de respostas são tomadas via teclado.

O processamento é feito por um microcontrolador PIC e para armazenamento dos jogos é

utilizada uma memória da microchip.

Palavras chave: jogos, display gráfico, teclado, microcontrolador, memória.

INFANTILE DESK OF EDUCATIVE GAMES

ABSTRACT

This document is the description of a bench of educational games, aimed at children aged from

seven years. In the system there are five individual matches, where the options of games and

questions are shown in a graphic display of 128x64 and the reply decisions are taken through the

keyboard.

The processing is done by a PIC microcontroller and for storage of used games is a memory of

the microchip.

Key words: Games, graphical display, keyboard, microcontroller, memory.

SUMÁRIO

LISTA DE FIGURAS

LISTA DE TABELAS

LISTA DE SIGLAS

LISTA DE SÍMBOLOS

Pág.

CAPÍTULO 1 - INTRODUÇÃO...............................................................................................12

1.1-Motivação .......................................................................................................................12

1.2-Metas ..............................................................................................................................12

CAPÍTULO 2 – FUNDAMENTAÇÃO TEÓRICA...................................................................13

2.1-Jogos Infantis ..................................................................................................................13

2.1.1-Jogos Similares..........................................................................................................14

2.2-Display Gráfico ....................................................................................................... 155

2.3-Teclado ...........................................................................................................................17

2.4-Microcontrolador.............................................................................................................17

2.4.1- Microcontroladores PIC............................................................................................18

2.5-Memória..........................................................................................................................19

2.6-Comunicação Serial....................................................................................................... 211

CAPÍTULO 3 – ESPECIFICAÇÃO DO PROJETO..................................................................22

3.1 – Especificação do Hardware ...........................................................................................22

3.1.1 – Microcontrolador PIC18F4620................................................................................22

3.1.2-Memória 26AA640....................................................................................................23

3.2-Especificação do Firmware..............................................................................................24

CAPÍTULO 4 – DESENVOLVIMENTO E IMPLEMENTAÇÃO............................................26

4.1-Testes Preliminares..........................................................................................................26

4.2- Hardware........................................................................................................................26

4.3- Firmware........................................................................................................................26

4.4- Trechos de Códigos ........................................................................................................29

CAPÍTULO 5 – VALIDAÇÃO E RESULTADOS ...................................................................40

CAPÍTULO 6 – CONCLUSÃO................................................................................................47

CAPÍTULO 7 - REFERÊNCIAS BIBLIOGRÁFICAS .............................................................48

LISTA DE FIGURAS

Fig. 2.1 – Jogo Simon (Genius).................................................................................................14

Fig. 2.2 – Jogo Pense Bem.. ......................................................................................................15

Fig. 2.3 – Nova Versão do Jogo Pense Bem. .............................................................................15

Fig. 2.4 – Display Gráfico.........................................................................................................16

Fig. 2.5 – Código das Teclas. ....................................................................................................17

Fig. 3.1 – Diagrama em Blocos. ................................................................................................22

Fig. 3.2 – Diagrama em Blocos do Memória 26AA640. ............................................................24

Fig. 3.3 – Diagrama de Estados.................................................................................................25

Fig. 4.1 – Sinal Emitido pelo Teclado. ......................................................................................26

Fig. 4.2 – Esquemático do Hardware da Bancada......................................................................27

Fig. 4.3 – Esquemático do Hardware da Fonte ..........................................................................28

Fig. 4.4 – Primeira Parte do Fluxograma...................................................................................30

Fig. 4.5 – Segunda Parte do Fluxograma...................................................................................31

Fig. 4.6 – Terceira Parte do Fluxograma ...................................................................................32

Fig. 4.7 – Quarta Parte do Fluxograma......................................................................................33

Fig. 4.8 – Quinta Parte do Fluxograma......................................................................................34

Fig. 4.9 – Sexta Parte do Fluxograma........................................................................................35

Fig. 5.1 – Protótipo (Vista Frontal) ...........................................................................................39

Fig. 5.2 – Protótipo (Vista Traseira)..........................................................................................39

Fig. 5.3 – Protótipo (Vista Lateral)............................................................................................40

Fig. 5.4 – Tela Principal............................................................................................................40

Fig. 5.5 – Tela de Seleção dos Temas do Jogo de Perguntas e Respostas...................................41

Fig. 5.6 – Exemplo de Pergunta do Jogo de Perguntas e Respostas ...........................................41

Fig. 5.7 – Tela Inicial do Jogo da Forca ....................................................................................42

Fig. 5.8 – Exemplo de Tela do Jogo da Forca............................................................................42

Fig. 5.9 – Exemplo de Tela do Jogo da Seqüência.....................................................................43

Fig. 5.10 – Tela de Seleção do Jogo da Matemática ..................................................................43

Fig. 5.11 – Exemplo de Tela do Jogo da Matemática ................................................................44

Fig. 5.12 – Exemplo de Tela do Jogo da Matemática com Resultado ........................................44

Fig. 5.13 – Exemplo de Tela do Jogo da Gramática...................................................................45

Fig. 5.14 – Crianças Interagindo com a Bancada.......................................................................45

LISTA DE TABELAS

Tabela 2.1 - Pinagem dos Módulos LCD.............................................................................. 16

Tabela 3.1 - Principais Características do PIC18F4620 ........................................................ 23

Tabela 4.1 - Mapa da Memória ............................................................................................ 28

Tabela 4.2 - Materiais para Realização do Projeto................................................................ 29

LISTA DE SIGLAS

NCET- Núcleo de Ciências Exatas e Tecnológicas

UNICENP – Centro Universitário Positivo

LCD – Liquid Crystal Display

LED – Light-Emitting Diode, ou Diodo Emissor de Luz

PIC – Peripherical Interface Controller

CPU – Central Processing Unit

DIP – Dual In-Line Package

RISC – Reduced Instruction Set Computer

ROM – Read Only Memory

RAM – Random Access Memory

EPROM – Erasable Programmable Read-Only Memory

EEPROM – Electrically -Erasable Programmable Read-Only Memory

CMOS – Complementary Metal-Oxide-Semiconductor

USART – Universal Synchronous Asynchronous Receiver transmitter

I2C – Inter-Intergrated Circuit

SPI – Serial Peripheral Interface

USB – Universal Serial Bus

PWM – Pulse-Width Modulation

LISTA DE SÍMBOLOS

ΩΩΩΩ - ohm

A - ampère

12

CAPÍTULO 1 - INTRODUÇÃO

Este projeto tem como objetivo desenvolver uma bancada que contém jogos educativos que

interajam com crianças a partir de sete anos, fazendo com que além da diversão, o raciocínio seja

estimulado. Os jogos são individuais.

1.1-Motivação

Muitos estudos apontam os jogos infantis como sendo bastante relevantes para o

desenvolvimento humano, por isso, a realização da bancada vem com o intuito de propiciar

diversão para as crianças visando à aprendizagem de várias habilidades.

1.2-Metas

O projeto consiste em uma bancada que contém um display gráfico 128x64 pixels e um teclado

de laptop. Os cinco jogos disponíveis são:

1. Jogo de pergunta e resposta. Cada pergunta tem quatro alternativas, são elas:

a. animais;

b. fundo do Mar;

c. espaço;

d. aventura;

e. invenção.

2. Jogo da forca. O tema é ‘animais’.

3. Jogo da seqüência de números. É um jogo em que a criança tem que seguir uma

seqüência aleatória de números.

4. Jogo da matemática. Com três níveis:

a. nível 1 – soma e subtração;

b. nível 2 – soma, subtração e multiplicação;

c. nível 3 – soma, subtração, multiplicação e divisão.

5. Jogo da Gramática. A criança tem que dizer se a grafia está certa.

O display gráfico mostra as opções dos jogos e as questões do jogo escolhido. Pelo teclado serão

recebidas informações das respostas. O microcontrolador tem que interpretar a resposta recebida

para verificar se a resposta está certa ou errada e mostrar ao usuário.

13

CAPÍTULO 2 – FUNDAMENTAÇÃO TEÓRICA

Neste capítulo são abordados os principais temas para o desenvolvimento do projeto, são eles:

• Jogos Infantis;

• Display Gráfico;

• Teclado;

• Microcontrolador;

• Memória e

• Comunicação Serial.

2.1-Jogos Infantis

No século XX, a Psicologia do Jogo tratou de divulgar a relevância dos jogos infantis para o

desenvolvimento humano. Isso explica a insistência dos pesquisadores do tema em perceber as

atividades lúdicas infantis, prioritariamente, pela ótica das ricas contribuições para certo

desenvolvimento já previsto, com grandes chances de boa execução, se bem controlado durante

todo o percurso (ou seja, até certo ponto inato, passível de ser estimulado e testado).

A palavra "jogo" se origina do vocábulo latino ludus, que significa diversão, brincadeira. O jogo

é reconhecido como meio de fornecer à criança um ambiente agradável, motivador, planejado e

enriquecido, que possibilita a aprendizagem de várias habilidades. Em Psicologia, aprendizagem

é o processo de modificação da conduta por treinamento e experiência, variando da simples

aquisição de hábitos às técnicas mais complexas. A brincadeira infantil é um importante

mecanismo para o desenvolvimento da aprendizagem da criança. (Valentim)

O jogo é, portanto, sob as suas duas formas essenciais de exercício sensório-motor e de

simbolismo, uma assimilação da real à atividade própria, fornecendo a esta seu alimento

necessário e transformando o real em função das necessidades múltiplas do eu. Por isso, os

métodos ativos de educação das crianças exigem todos que se forneça às crianças um material

conveniente, a fim de que, jogando, elas cheguem a assimilar as realidades intelectuais que, sem

isso, permanecem exteriores à inteligência infantil. (Valentim)

Pode-se perceber a importância dos jogos e brincadeiras infantis para o desenvolvimento

intelectual e social da criança, mas faz-se necessário também associar os mecanismos da

14

aprendizagem com integridade do sistema nervoso. Crianças com algum tipo de problema

neurológico ou motor necessitam de materiais especialmente criados, para auxiliá-las nas

atividades pedagógicas. (Valentim)

2.1.1-Jogos Similares

• Genius:

Genius (Figura 2.1) foi a reprodução eletrônica da brincadeira "Simon Says" ("Siga o

mestre..." no Brasil), virou um "must have" nos anos 80 no país. A Disco e suas fortes luzes

da pista de dança estavam em alta nos EUA, exatamente por isso, o SIMON ("Simon

Says...") foi lançado no natal de 78, em uma casa noturna de Nova Iorque, a inesquecível

Studio 54, point Disco da cidade. Vários artistas da Disco apareciam na propaganda original,

sempre dentro de uma casa noturna, jogando o Genius (na verdade, o Simon) e dançando

Disco, e as luzes no ritmo da música. Isso conquistou o público na época.

Fig. 2.1 – Jogo Simon (Genius)

• Pense Bem:

O Pense Bem (Figura 2.2) é um jogo produzido pela empresa brasileira Devworks. Este é um

jogo de perguntas e respostas sobre conhecimentos gerais. São dez temas diferentes (animais,

artes, ciências, conhecimentos gerais, ecologia, economia, esportes, geografia, história e

desafio) para o jogador demonstrar os seus conhecimentos, incluindo o desafio com

perguntas difíceis. Ao fim de cada jogo, o jogador recebe uma senha e pode utilizá-la para

aumentar sua nota desafio.

15

Fig. 2.2 – Jogo Pense Bem

Atualmente, no site da Devworks (http://www.devworks.com.br), há uma nova versão do

Pense Bem (Figura 2.3). Foi desenvolvido para o Mega-Drive III e para o Master System.

São mais de 100 perguntas e ilustrações para cada tópico.

Fig. 2.3 – Nova Versão do Pense Bem

FONTE: Devworks

2.2-Display Gráfico

Os módulos LCD gráficos são encontrados com resoluções de 122x64, 240x64 e 240x128 dots

pixel e geralmente estão disponíveis com 20 pinos para conexão, podem ser encontrados com

LED backlight (com uma iluminação de fundo) para facilitar as leituras durante a noite. Neste

caso, a alimentação deste led faz-se normalmente pelos pinos 19 e 20 para os módulos gráficos,

sendo que o pino 19 para ligação ao anodo e 20 para o catodo. A corrente de alimentação deste

led varia de 100 a 200mA, dependendo do modelo.

16

Estes módulos utilizam um controlador próprio, permitindo sua interligação com outras placas

através de seus pinos, onde deve ser alimentado o módulo e interligado o barramento de dados e

controle do módulo com a placa do usuário. Naturalmente, que além de alimentar e conectar os

pinos do módulo com a placa do usuário deverá haver um protocolo de comunicação entre as

partes, que envolve o envio de bytes de instruções e bytes de dados pelo sistema do usuário. A

Tabela 2.1 descreve cada pino do módulo para conexão deste com outras placas.

TABELA 2.1 - Pinagem dos Módulos LCD

FONTE: adaptado de Apostila de Eletrônica (1996)

O display gráfico serial TS-12864 utilizado, mostrado na Figura 2.4, combina um módulo serial

com um display gráfico de 128x64 pontos. Este conjunto recebe dados serialmente a velocidade

de 2400 a 19200bps e mostra no display textos ou gráficos. No modo texto ele possui 4

tamanhos diferentes de fontes. (Tato 2007)

Fig. 2.4 – Display Gráfico.

17

2.3-Teclado

Todo teclado escaneia códigos que informa quais teclas estão sendo apertadas ou liberadas. Por

exemplo: O código da letra ‘A’ é 1C (hex). Quando a mesma estiver pressionada, o teclado

enviará 1C e enquanto não for solta ou outra tecla não for pressionada, continuará enviando o

código, mas quando a tecla for solta, será enviado outro código, no caso do ‘A’, o código será

F0. Desta forma, pode-se saber qual tecla é pressionada e qual é liberada. (Beyondlogic 2005)

A Figura 2.5 mostra o scan de códigos nomeado às teclas individuais. Por exemplo, o código da

tecla ESC é 76. Todos os códigos são mostrados em hexadecimal.

Fig. 2.5 – Código das Teclas.

FONTE: adaptado de Beyondlogic (2005)

2.4-Microcontrolador

Um microcontrolador é um computador. Todos os computadores (independentemente de ser

um computador de mesa (desktop), um grande mainframe ou um microcontrolador) possuem

várias características em comum:

• todos os computadores possuem uma CPU (unidade de processamento central) que

executa programas. Se você está sentado agora em seu computador lendo este artigo, a

CPU dessa máquina está executando um programa para implementar o navegador Web

que está exibindo a página;

• a CPU carrega o programa de algum lugar. Em um computador de mesa, o programa de

navegação é carregado a partir do disco rígido;

18

• o computador possui memória RAM (memória de acesso aleatório) no qual pode

armazenar "variáveis";

• o computador também tem alguns dispositivos de entrada e saída para interagir com as

pessoas. Em um computador de mesa, o teclado e mouse são dispositivos de entrada e o

monitor e impressora são dispositivos de saída. O disco rígido é um dispositivo de E/S:

ele manipula tanto a entrada como a saída.

Existem outras características que definem os microcontroladores, dentre elas:

• Eles são "embutidos" no interior de algum outro dispositivo (geralmente um produto

comercializado) para que possam controlar as funções ou ações do produto. Um outro

nome para o microcontrolador, portanto, é controlador embutido.

• Os microcontroladores são dedicados e executam um programa específico. O programa é

armazenado na memória ROM (memória apenas de leitura) e geralmente não muda.

• Microcontroladores geralmente são dispositivos de baixa potência. Um computador de

mesa é quase sempre ligado na tomada e pode consumir 50 watts de eletricidade. Um

microcontrolador alimentado por bateria pode consumir 50 miliwatts.

• Um microcontrolador possui um dispositivo dedicado de entrada (mas nem sempre) e

geralmente possui um pequeno LED ou visor LCD de saída. Um microcontrolador

também obtém a entrada do dispositivo que está controlando e o controla enviando sinais

a diferentes componentes desse dispositivo.

Também existe uma linha de controladores populares chamados "microcontroladores PIC"

criados por uma empresa chamada Microchip. Nos padrões atuais, eles são incrivelmente

minimalistas; mas extremamente econômicos quando adquiridos em grandes quantidades e

geralmente conseguem atender às necessidades de um projetista de dispositivos com apenas um

chip.

2.4.1- Microcontroladores PIC

Os PIC (Peripheral Integrated Controler) são uma família de microcontroladores fabricados pela

Microchip Technology, que processam dados de 8 bits (recentemente foi lançada uma família de

16 bits com prefixo 24F) com extensa variedade de modelos e periféricos internos, com

arquitetura Harvard e conjunto de instruções RISC (sets de 35 instruções e de 76 instruções),

com recursos de programação por memória FLASH, EEPROM e OTP.

19

Os microcontroladores PIC têm famílias de 12 bits, 14 bits e 16 bits de núcleo de processamento

e trabalham em velocidade de 0kHz (ou DC) a 48MHz usando ciclo de instrução mínimo de 4

períodos de clock o que permite uma velocidade chegue ao máximo de 10 MIPS. Há o

reconhecimento de interrupções tanto externas como de periféricos internos. Funcionam com

tensões de alimentação de 2 a 6V e os modelos possuem encapsulamento de 6 a 100 pinos em

diversos encapsulamentos (SOT23, DIP, SOIC, TQFP, etc) Seus principais periféricos internos

(a disponibilidade varia conforme o modelo) são:

• conversores Analógico-Digitais de 8 a 12 bits;

• contadores e timers de 8 e 16 bits;

• comparadores Analógicos;

• USARTs;

• controladores de comunicação I2C, SPI, USB;

• controladores PWM;

• controladores de LCD;

• controladores de motores;

• periféricos para LIN, CAN;

• controladores Ethernet;

• periféricos IRDA;

• codificadores para criptografia Keeloq;

• watchdog timer;

• detetores de falha na alimentação;

• portas digitais com capacidade de 25mA (fornecer ou drenar) para acionar circuitos

externos e

• osciladores internos.

2.5-Memória

Existem vários tipos de memórias, dentre eles:

• Memórias primárias: são memórias que o processador pode endereçar diretamente, sem

as quais o computador não pode funcionar. Estas fornecem geralmente uma ponte para as

secundárias, mas a sua função principal é a de conter a informação necessária para o

20

processador num determinado momento; esta informação pode ser, por exemplo, os

programas em execução. Nesta categoria insere-se a memória RAM (volátil), memória

ROM (não volátil), registradores e memórias cache.

• Memórias secundárias: memórias que não podem ser endereçadas diretamente, i.e., a

informação precisa ser carregada em memória primária antes de poder ser tratada pelo

processador. Não são estritamente necessárias para a operação do computador. São,

geralmente não-voláteis, permitindo guardar os dados permanentemente. Incluem-se,

nesta categoria, os discos rígidos, CDs, DVDs e disquetes.

• Memórias voláteis são as que requerem energia para manter a informação armazenada.

São fabricadas com base em duas tecnologias: dinâmica e estática.

• Memórias dinâmicas são aquelas que foram popularizadas como memórias RAM. Este

atributo vem do nome inglês Randomic Acess Memory (memória de acesso aleatório),

que significa que os dados nela armazenados podem ser acessados a partir de qualquer

endereço.

• Memórias estáticas não necessitam ser analisada ou recarregada a cada momento.

Fabricada com circuitos eletrônicos conhecidos como latch, guardam a informação por

todo o tempo em que estiver a receber alimentação.

• Memórias não voláteis são aquelas que guardam todas as informações mesmo quando

não estiverem a receber alimentação. Por exemplo: ROM e FLASH.

o ROM (Read Only Memory – memória somente de leitura): Gravada na fábrica

uma única vez.

o PROM (Programable Read Only Memory – memória programável somente de

leitura): Gravada pelo usuário uma única vez.

o EPROM (Eraseble Programable Read Only Memory – memória programável e

apagável somente de leitura): Pode ser gravada ou regravada por meio de um

equipamento que fornece as voltagens adequadas em cada pino. Para apagar os

dados nela contidos, basta iluminar o chip com raios ultravioleta. Isto pode ser

feito através de uma pequena janela de cristal presente no circuito integrado.

o EEPROM (Electrically Eraseble Programable Read Only Memory - memória

programável e apagável eletronicamente somente de leitura): Pode ser gravada,

apagada ou regravada utilizando um equipamento que fornece as voltagens

adequadas em cada pino.

21

O tipo de memória conhecido como FLASH é o tipo mais moderno dentre os apresentados aqui,

mas é uma variação do tipo EEPROM. Tornaram-se muito populares por dois motivos: a

utilização de dispositivos de armazenamento removíveis como os chamados pen drives e a

aplicação em equipamentos de som que reproduzem música no formato MP3. Os dados

armazenados neste tipo de memória permanecem ali sem a necessidade de alimentação. Sua

gravação é feita em geral através da porta USB que fornece 5 Volts para alimentação.

As memórias de massa podem armazenar grande quantidade de informação e têm tido seu

tamanho físico reduzido a cada dia. O disco rígido é o meio mais comum neste tipo de memória,

mas os disquetes ainda ocupam uma pequena parcela do mercado. Não é tão rápida como a

memória FLASH, mas já é possível utilizá-la em equipamentos de reprodução de música e

filmes como os portáteis que reproduzem videoclipes de música em vários formatos, como

MPEG.

2.6-Comunicação Serial

Na comunicação serial o dado é enviado bit por bit. O cabo que conecta os dispositivos pode ser

mais longo, em virtude de características especiais do sinal que é transmitido. Existem dois

modos de comunicação serial:

• Comunicação Serial Síncrona

o Neste modo de comunicação o transmissor e o receptor devem ser sincronizados

para a troca de comunicação de dados. Geralmente uma palavra de

SINCRONISMO é utilizada para que ambos ajustem o relógio interno. Após a

sincronização os bits são enviados seqüencialmente, até uma quantidade pré-

combinada entre os dispositivos.

• Comunicação Serial Assíncrona

o Esta é a forma mais usual de transmissão de dados. Não existe a necessidade de

sincronização entre os dispositivos, uma vez que os caracteres são transmitidos

individualmente e não em blocos como na comunicação síncrona. A transmissão

de cada caractere é precedida de um bit de start e terminada por 1 (1/2 ou 2) bit(s)

de stop.

22

CAPÍTULO 3 – ESPECIFICAÇÃO DO PROJETO

O projeto consiste no desenvolvimento de uma bancada de jogos educativos. Os Jogos foram

desenvolvidos para crianças a partir de sete anos e pode ser jogado apenas individualmente.

3.1 – Especificação do Hardware

O hardware é o responsável por todo o controle e tratamento dos dados de entrada e saída, sendo

que o teclado e display fazem a interface com o usuário. Abaixo estão os principais componentes

utilizados para a construção do hardware da Bancada e o diagrama em blocos para uma melhor

visualização como apresentado na Figura 3.1:

• PIC18F4620;

• Memória EEPROM de 8kb;

• Display 128x64 e

• Teclado.

MICROCONTROLADOR

MEMÓRIA

DISPLAY

TECLADOFONTE +5V

SERIAL

Fig. 3.1 – Diagrama em Blocos

3.1.1 – Microcontrolador PIC18F4620

Através do firmware que foi gravado em sua memória interna, o microcontrolador faz todo o

tratamento e aquisição dos dados e é por ele que é feito o envio e recebimento de dados da

memória, do teclado e do display.

O microcontrolador utilizado no projeto foi o PIC18F4620 e suas principais características são

apresentadas na Tabela 3.1.

23

TABELA 3.1 – Principais Características do PIC18F4620

FONTE: adaptada de Microchip (2007).

3.1.2-Memória 26AA640

A memória utilizada foi uma EEPROM de 8kb, que é acessada via serial (SPI). Os pinos

necessários são: clock de entrada (SCK), dado de entrada (SI) e dado de saída (SO). O acesso do

chip é controlado pelo chip selec (SC) que permite o acesso de maior prioridade. A Figura 3.2

apresenta um diagrama em blocos desta memória.

24

Fig. 3.2 – Diagrama em Blocos da Memória 26AA640

FONTE: adaptada de Microchip (2007).

3.2-Especificação do Firmware

O firmware do sistema é responsável pela operação do microcontrolador que envia dados para o

display e faz aquisição de dados do teclado. Quando ligado, o firmware inicializa todas as portas

com seus respectivos valores, inicializa a memória, o Timer1 para 10µs e Timer2 para 1ms e

após uma delay de 30s, inicializa o display.

O firmware foi baseado em máquina de estados apresentado na Figura 3.3. Após a inicialização

do display, é mostrada a tela principal com as opções dos jogos. A partir da tela principal, pode-

se ir para qualquer um dos cinco jogos a partir das teclas F1, F2, F3, F4 e F5. Estando em

qualquer jogo, pode voltar para o início através da tecla ESC. Dentro de cada jogo, há teclas

específicas para joga-los.

25

Fig. 3.3 – Diagrama de Estados

26

CAPÍTULO 4 – DESENVOLVIMENTO E IMPLEMENTAÇÃO

4.1-Testes Preliminares

Para testar o teclado, foi alimentado e ligado ao osciloscópio. No fio de alimentação, foi

colocado uma tensão de +5V, no fio de dado foi colocado em uma das pontas do oscilador e a

outra ponta foi ligado ao fio de clock e o terra ligado ao terra da fonte. Cada tecla apertada, na

ponteira do dado, eram enviados 2 sinais. Um dizendo qual tecla foi apertada e outro dizendo

que a tecla foi solta. Na outra ponteira via-se o sinal do clock apenas enquando tinha o sinal de

dado. Com esse experimento, pode-se perceber como funciona o teclado e qual tipo de sinal que

o PIC precisa tratar. Assim, foi percebido que o sinal de tecla solta é o mesmo e que o teclado

envia 11 (onze) bits, mas estão invertidos.

Dos 11 bits, o primeiro é de start, os próximos 8 bits são de dados (invertidos), o penúltimo é a

paridade (para saber que o pacote ta completo) e o último é o stop. A figura abaixo (Figura 4.1)

mostra exatamente isso.

Fig. 4.1 – Sinal Emitido pelo Teclado.

FONTE: adaptado de http://www.beyondlogic.org/keyboard/keybrd.htm (2005)

4.2- Hardware

O hardware do sistema é formado basicamente de um microcontrolador que é interligado com

uma memória, na qual é gravada a maioria dos jogos, com um display, no qual são mostrados os

jogos e com um teclado, por onde as respostas dos jogos são enviadas para serem analisadas.

O microcontrolador, como mostrado na Figura 4.2, é um PIC 18F4620. Este bloco é responsável

por todo o processamento do sistema. Nele são ligados os LEDs (LED1 até LED6), que piscam

vermelho quando se erra a resposta e verde quando se acerta, a memória (SS_M1, SDO, SDI,

SCK), o display(TX_TTL) e o teclado( Clock, Data).

27

A memória 25AA640 da Microchip foi utilizada para gravar dados necessários para alguns

jogos que só funcionam se houver uma base de dados pré-estabalecida, para isso, foi necessário

fazer um mapa da memória (Tabela 4.1) na qual foi especificado onde seria gravado cada byte.

Uma fonte externa de 5V foi necessário para alimentar todo o circuito do microcontrolador,

incluindo o display e o teclado. Para isso foi utilizado o LM7805 como regulador de tensão,

como mostra a Figura 4.3.

EEPROM SPI 1+5V

GND

Vcc8

HOLD7

SCK6

SI 5

CS1

SO2

WP3

Vss4

25AA160B

U1

SDISCKSDO

SS_M0

+5V

GND

Vcc 8

HOLD7

SCK6

SI5

CS1

SO2

WP3

Vss4

25AA160B

U2

SDISCKSDO

SS_M1

ClockGNDData

EEPROM SPI 2

TECLADO

DISPLAY+5V

+5V

SS_M0

SCK SDISDOTX_TTL

10 MHzY1

15pFC4

15pFC3

+5VPGCPGDMCLR

10K

R1+5V

100nF 25VC1

100nF 25VC2

+5V

SS_M1

Clock

Data

MCLR/Vpp/RE31

RA0/AN0/2

RA1/AN13

RA2/AN2/VREF-4

RA3/AN3/VREF+5

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

VDD11

VSS12

OSC1/CLKI/RA713

OSC2/CLKO/RA614

RC0/T1OSO/T13CKI15

RC1/T1OSI/CCP216

RC2/CCP1/P1A17

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120 RD2/PSP2 21RD3/PSP3 22

RC4/SDI/SDA23RC5/SDO24RC6/TX/CK25RC7/RX/DT26

RD4/PSP4 27RD5/PSP5/P1B 28RD6/PSP6/P1C 29RD7/PSP7/P1D 30

VSS31VDD32RB0/INT0/FLT0/AN1233RB1/INT1/AN1034

RB2/INT2/AN8 35RB3/AN9/CCP2 36RB4/KBI0/AN11 37RB5/KBI1/PGM 38RB6/KBI2/PGC

39RB7/KBI3/PGD40

U3

PIC18F4620MICROCONTROLADOR

123456

J3

Gravação

PGCPGDMCLR

Fonte

+5V -5V

123

J1

Header 3

1234

JP2

Header 4

TX_TTL

123456

JP1

Header 6

123456

S

J2

PS2-6PIN

ClockGNDData+5V

Fig. 4.2 – Esquemático do Hardware da Bancada.

28

+5AC

+5V

Entrada do Trafo

Alimentação circuito

Saida da Fonte

D4

Diode 1N4007

D5

Diode 1N4007

D7

Diode 1N4007

D6

Diode 1N4007

+5AC

GND+7V

IN1

2

OUT3

GND

U1 LM7805CT

1N4007

D1

1N4007

D2

1N4007

D3

100nF 50V

C1

10uF / 35V

C2

10uF 16V

C3

100nF 16V

C4

+7V +5V12

JP1

Header 2

12

JP2

Header 2

GND

TERRA

2200uF/35V

C5

Cap2

DS1

LED21K

R1

Res1+5V

TERRA

Fig. 4.3 – Esquemático do Hardware da Fonte

TABELA 4.1: Mapa da Memória

0 até 31 LIVRE

32 até 114 Quantidade Forca

115 até 944 Palavras Forca

945 até 1028 Quantidade Gramática

1029 até 1868 Jogo Gramática

1869 até 1908 Quantidade perguntas

1909 até 8108 Jogo Perguntas e Respostas

8109 até 8148 Resultados das Perguntas

8149 até 8192 LIVRE

29

Para a realização deste projeto, foi necessário os seguintes materias apresentados na Tabela 4.2.

TABELA 4.2: Materiais para Realização do Projeto

Quantidade Material

1 Display 128x64

1 Mini teclado

1 Microcontrolador

1 Memória 8kb

1 Trafo

1 Regulador de tensão (LM7805)

1 Cristal 11

2 KRE

6 LEDs de alto-brilho

1 Cristal 11.052Mhz

7 Resistores

8 Diodos

7 Capacitores

1 Reguladores de Tensão

2 Placa de cobre

4 Circuito integrados

5 Soquetes torneados

2 Barra de pinos

3 Parafuso

1 Botão Liga/Desliga

4.3- Firmware

Quando a Bancada é ligada, primeiramente todas as portas são inicializadas e após o programa

começar, aparece uma tela com as opções dos cinco jogos. O usuário pressiona um número de F1

a F5 do teclado para selecionar um dos jogos. O hardware recebe essa informação que são

interpretadas pelo microcontrolador que responde ao usuário através do display gráfico, ou seja,

começa o jogo selecionado. Na memória externa, estão gravados três jogos. O fluxograma com

mais detalhes de como foi implementado o firmware está da Figura 4.5 até 4.10:

30

Início

F1 – Jogo de Perguntas e RespostasF2 – Jogo da ForcaF3 – Jogo da SeqüênciaF4 – Jogo da MatemáticaF5 – Jogo Gramática

Tecla pressionada

F1

F2

F3

F4

F5

5

4

3

2

1

V1 V2 V3 V4 V5

Não

Sim

Sim

Sim

Sim

Sim

Sim

Não

Não

Não

Não

Não

Fig. 4.4 – Primeira parte do Fluxograma.

31

Tecla pressionada

1,2,3,4,5

ESC

Mostra Pergunta

Tecla pressionada

1,2,3,4

Mensagem de erro ou

acerto

V1

Pontuação

ESC

1

1 – Animais2 – Fundo do Mar3 - Espaço4 – Aventura5 - Invenção

Sim

Não

Sim

Sim

Sim

Sim

Sim

Não

Não

Não

Não

Não

Fig. 4.5 – Segunda parte do Fluxograma.

32

Tela da Forca

Tecla Pressionada

A,..., Z

ESC

Acertou?

Errou + de 6x

Mostra palavra com a nova letra

Mensagem de erro ou acerto

Completou palavra?

Pontuação

V2 2

Não

Sim

Não

Não

Não

Não

Sim

Sim

Sim

Sim

Sim

Fig. 4.6 – Terceira parte do Fluxograma.

33

Fig. 4.7 – Quarta parte do Fluxograma.

34

4

1 - Nível 12 - Nível 23 - Nível 3

Tecla pressionada

1,2,3

ESC

Tecla pressionada

Algum número

ENTER

ArmazenarESC

V4

Pontuação

Mostra conta

Mensagem de erro ou

acerto

Confere resultado

Fig. 4.8 – Quinta parte do Fluxograma.

35

Fig. 4.9 – Sexta parte do Fluxograma.

4.4- Trechos de código

Abaixo segue o código onde é feito o tratamento dos dados vindo do teclado.

36

//Esta função armazena em uma variável os dados vindo do teclado.

void Armazenar (void)

BYTE ValorTecla;

ContadorBits++;

//Concatena os bits em uma variável.

DadoRecebido = (DadoRecebido|PORTBbits.RB3);

//Entra nesse if até acabar de receber os dados.

if(ContadorBits < 11)

//Desloca os bits para a esquerda.

DadoRecebido = DadoRecebido<<1;

//Apenas entra nesse if caso já tenha recebido os 11 bits do teclado.

if (ContadorBits == 11)

//Zera o contador.

ContadorBits = 0;

//Chama a função para inverter os bits recebidos.

ValorTecla = Inverter(DadoRecebido);

//Zera a variável para esperar o próximo dado

DadoRecebido = 0;

//Chama a função para transformar o dado em caractere

Transformar(ValorTecla);

//Inverte o dado recebido.

BYTE Inverter (WORD DadoInvertido)

WORD DadoCerto=0;

BYTE i;

//Desloca 2 bits para a direita pois assim elimina a paridade e o bit de stop.

DadoInvertido = DadoInvertido>>2;

for (i=0;i<8;i++)

37

//Verifica se o dado é 0 ou 1 e concatena os bit em uma variável.

DadoCerto =((DadoInvertido & 0x01)|DadoCerto);

if (i<7)

//Desloca 1 bit para a esquerda do dado certo

DadoCerto = DadoCerto<<1;

//Desloca 1 bit para a direita do dado invertido

DadoInvertido = DadoInvertido>>1;

//Retorna apenas o byte menos significativos.

//São nos bytes menos significativos que estão os 8 bits.

return LOBYTE(DadoCerto);

//Esta função transforma o dado em letras.

void Transformar (BYTE Tecla)

BYTE letra;

//Verifica se é dado de tecla sendo solta.

if (Tecla == 0xF0)

Validar = false;

else

//Se for tecla pressionada,

if (Validar == false)

//Chama rotina que manda letra pro display

EstadoTela(Tecla);

Validar = true;

38

Neste outro trecho de código é feito o tratamento da tecla pressionada em relação à tela principal.

//Nesta função, faz-se a decisão para qual tela que vai.

void EstadoTela(BYTE Tecla)

inicio=0;

switch(EstadoAtual)

//Estando na tela principal

case TelaInicial:

switch(Tecla)

//Sendo pressionada a tecla F1

case F1:

//Vai para a tela de seleção de

//temas de perguntas

MudaEstado(SELECAOPERG);

break;

//Sendo pressionada a tecla F2

case F2:

//Vai para a tela do jogo da forca

MudaEstado(JOGO2);

break;

//Sendo pressionada a tecla F3

case F3:

//Vai para a tela do jogo da seqüência

MudaEstado(JOGO3);

break;

39

//Sendo pressionada a tecla F4

case F4:

//Vai para a tela de níveis do

//jogo da matemática

MudaEstado(SELECAOMAT);

break;

//Sendo pressionada a tecla F5

case F5:

//Vai para a tela do jogo da gramática

MudaEstado(JOGO5);

break;

//Sendo pressionada a tecla ESC

case ESC:

//Volta para a tela inicial

MudaEstado(TelaInicial);

break;

break;

40

CAPÍTULO 5 – VALIDAÇÃO E RESULTADOS

O protótipo foi feito de acrílico de 3mm e ficou banstante satisfatório como mostram nas Figuras

5.1, 5.2 e 5.3.

Fig. 5.1 – Protótipo (Vista Frontal)

Fig. 5.2 – Protótipo (Vista Traseira)

41

Fig. 5.3 – Protótipo (Vista Lateral)

As telas principais das telas dos jogos estão exemplificadas nas Figuras 5.4, 5.5, 5.6, 5.7, 5.8,

5.9, 5.10, 5.11, 5.12 e 5.13.

Fig. 5.4 – Tela Principal

42

Fig. 5.5 – Tela de Seleção dos Temas do Jogo de Perguntas e Respostas

Fig. 5.6 – Exemplo de Pergunta do Jogo de Perguntas e Respostas

43

Fig. 5.7 – Tela Inicial do Jogo da Forca

Fig. 5.8 –Exemplo de Tela do Jogo da Forca

44

Fig. 5.9 – Exemplo de Tela do Jogo da Seqüência

Fig 5.10 – Tela de Seleção do Jogo da Matemática

45

Fig 5.11 – Exemplo de Tela do Jogo da Matemática

Fig 5.12 – Exemplo de Tela do Jogo da Matemática com Resultado

46

Fig 5.13 – Exemplo de Tela do Jogo da Gramática

Para ser testado e validado com sucesso, crianças das primeiras séries do ensino fundamental

jogaram e se divertiram com os jogos como mostra a Figura 5.14.

A reunião das crianças foi em minha casa, onde foram orientadas com as regras dos jogos. Este

teste foi feito durante uma tarde e não houver nenhum erro, confirmando a validação do projeto..

Fig. 5.14 – Crianças Interagindo com a Bancada

47

CAPÍTULO 6 – CONCLUSÃO

Apesar de algumas dificuldades, como por exemplo: aprender a utilizar o display LCD, memória

SPI e programar em PIC, o projeto se mostrou bastante eficiente com relação a que foi proposto

e o objetivo de fazer jogos que trouxesse algum aprendizado para as crianças, foram alcançados.

Uma melhoria para projetos futuros, seria a utilização de uma memória maior para que os jogos

fossem mais elaborados e o jogo de Perguntas e Respostas pudesse ser aleatório como os outros.

Outra sugestão poderia ser feito um teclado específico para a Bancada, pois o excesso de teclas

não utilizadas confundem as crianças e tendo apenas tecla úteis torna o jogo mais dinâmico.

Mais uma opção de melhoria seria ter alguma conexão externa para que os jogos possam ser

alterados.

48

CAPÍTULO 7 - REFERÊNCIAS BIBLIOGRÁFICAS

SICA, CARLOS. “Sistemas Automáticos com Microcontroladores 8031/8051”, Editora

Novatec. 2006.

BRAIN, MARSHALL. “Como funcionam os microcontroladores”. Abril de 2000. Disponível

em: http://informatica.hsw.com.br/microcontroladores.htm. Acessado em junho de 2007.

Jogos Infantis. Valentim, M. O. S. V. Brincadeiras Infantis: Importância Para o

Desenvolvimento Neuropsicológico. Disponível em: http://www.profala.com/arteducesp60.htm.

Acessado em: março 2007.

Jogos Infantis. Pense Bem. Disponível em: http://www.devworks.com.br Acessado em:

dezembro de 2007.

Proença, Alberto José. Arquitetura de Computadores. (1999)

Jogos Infantis. Genius. Disponível em: http://www.autobahn.com.br/Technopop/genius.html.

Acesso em junho de 2007.

Display Gráfico – Apostila de Eletrônica. Display LCD. Disponível em:

http://www.eletronica.org/arq_apostilas/2/lcd_codigos.pdf. Acesso em: Março de 2007

Teclado. Interfacing the AT keyboard. Disponível em:

http://www.beyondlogic.org/keyboard/keybrd.htm. Acesso em: Março de 2007.

Microcontrolador PIC18F4620. Disponível em

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocNa

me=en010304. Acesso em: Abril 2007.

Tato 2007. Datasheet Display Gráfico. Disponível em: http://www.tato.ind.br/