Upload
donhi
View
233
Download
0
Embed Size (px)
Citation preview
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
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.
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.
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
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/