PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ
CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA – CCET
CURSO DE ENGENHARIA DE COMPUTAÇÃO
Fabiano Burakoski Ribeiro Elias
Marcus Vinicius Roecker Petri
Renan Moris Ferreira
DADO DIGITAL
Curitiba - PR
Fabiano Burakoski Ribeiro Elias
Marcus Vinicius Roecker Petri
Renan Moris Ferreira
DADO DIGITAL
Documento apresentado ao curso Graduação em Engenharia de Computação da Pontifícia Universidade Católica do Paraná como parcial da avaliação da disciplina de Microprocessadores.
RESUMO
O projeto Dado Digital, referente ao quinto período do curso de Engenharia de Computação, tem como proposta desenvolver um dado acionado e pausado através de sensores, realizando contagem de um à seis através do microcontrolador 89S51.
SUMÁRIO
1. INTRODUÇÃO...05 2. OBJETIVOS...06 2.1 GERAL...06 2.2 ESPECÍFICO...06 3. MATERIAIS UTILIZADOS...07 4. DESCRIÇÃO GERAL...08 4.1 HISTÓRIA DO PROJETO...08 4.2 HARDWARE...08 4.3 SOFTWARE...09 5. DESCRIÇÃO DETALHADA...10 6. PROBLEMAS APRESENTADOS...11 7. FIGURAS...12 8. GLOSSÁRIO...151. INTRODUÇÃO
O dado é usado em muitos jogos de tabuleiro em todo o mundo, tendo muitas variações de tamanhos e cores. O projeto Dado Digital tem como proposta criar um dado eletrônico onde os números de 1 à 6 estarão dispostos em leds representando o mesmo formato de números em um dado convencional. O projeto é controlado por um microcontrolador o qual fará a contagem e a pausa para visualização através de dois sensores. O Dado Digital pode substituir o convencional pois é de fácil manuseio, ao contrário do convencional, facilita ações no tabuleiro pois não há risco de ser jogado caindo entre as peças do jogo ou longe dos jogadores.
2. OBJETIVOS
2.1 GERALCom base na matéria de microprocessadores, desenvolver um projeto utilizando um microcontrolador orientado pela linguagem assembly, voltado para a diversão e talvez otimização dos jogos de tabuleiros.
2.2 ESPECÍFICOS
1. Estudar o funcionamento do microcontrolador. 2. Adaptar a linguagem de C/C++ para assembly.
3. Desenvolver o circuito para o funcionamento do projeto. 4. Fotos e documentação do desenvolvimento do Dado Digital.
3. MATERIAIS UTILIZADOS
- 7 leds; - Fios; - Microcontrolador Atmel 89S51; - Resistores; - 2 Baterias 3V de lítio; - 1 Capacitor; - Display 7 segmentos; - Placa de fibra de vidro;- Furadeira com broca de 1mm; - Protoboard;
- Ferro de solda; - 1 switch;
- 2 sensores de toque; - 1 cristal 12mhz.
4. DESCRIÇÃO GERAL
4.1 HISTÓRIA DO PROJETO
O projeto tinha como idéia inicial a montagem de um dado digital pequeno com leds acionado por movimento, porém, por causa do microcontrolador esse teve que ser aumentado e alterado. A partir do tamanho do 89S51, idéias foram surgindo, como por exemplo, implementação com 2 displays de 7 segmentos com sensores de toque ao invés de sensores de movimentos ou chaves, mas o grupo juntamente com o professor Afonso Ferreira Miguel decidiu optar por leds e sensores de toque para um melhor entretenimento com o usuário do Dado Digital.
4.2 HARDWARE
Para a implementação do projeto, foi usado o microcontrolador Atmel 89S51, este seria alimentado por pilhas, mas baterias foram inseridas para melhor desempenho do dado. As baterias podem ser ligadas e desligadas através de um switch implementado no projeto.
Displays de 7 segmentos deram lugar aos leds no projeto, estes posicionados de forma estratégica representando os números de um dado convencional quando acionado pelo 89S51. Para um maior efeito visual, os leds são acionados com sinal negativo, pois o microcontrolador 89S51 não é um bom fornecedor de corrente.
O sinal para que o dado inicie e pare a contagem é transmitida através de dois sensores de toque, um para cada função. O primeiro faz com que o micro controlador inicie a contagem de 1 à 6 e só pára quando o segundo sensor é acionado, pausando a contagem e assim exibindo o número que o usuário tirou.
4.3 SOFTWARE
Para testes iniciais o projeto foi implementado em linguagem C e posteriormente substituída por assembly. O programa consiste em um contador de 1 à 6 em uma freqüência muito rápida para evitar trapaças do jogador. Através do programa Keil Microvision foi possível a implementação do código em C e assim a sua adaptação para assembly. Através do mesmo, foi gerado um arquivo “.asm” (extensão da linguagem assembly) para que pudesse ser gravado no microcontrolador através do software NPT1020.
5. DESCRIÇÃO DETALHADA
Segue a seguir o roteiro de tarefas que foram cumpridas com a supervisão do professor Afonso Ferreira Miguel.
Semana 06/03/2011 à 20/03/2011
Idéias para o projeto da disciplina de Microprocessadores. Feito o estudo da arte e plano de trabalho.
Semana 20/03/2011 à 03/04/2011
Compra dos componentes e esquemático do circuito. Semana 03/04/2011 à 17/04/2011
Desenvolvimento do programa em C para testes do 89S51. Semana 17/04/2011 à 01/05/2011
Implementação do circuito no protoboard com testes no display. Substituição do display por leds e das chaves por sensores. Semana 01/05/2011 à 20/05/2011
Montagem do esquemático da placa, solda dos componentes e início da documentação.
Semana 20/05/2011 à 30/05/2011
Implementação do código para assembly, complementação da documentação e vídeo do projeto.
6. PROBLEMAS APRESENTADOS
1) Implementação do display: os valores do dado não eram representados no display, os pinos apresentados pelo datasheet do display não condiziam com o próprio.
Solução: Com a ajuda do professor Afonso, foi descoberta a verdadeira ordem dos pinos do display.
2) Implementação do sensor de toque: datasheet do sensor não era disponibilizado, dificultando a implementação dos sensores no projeto. Solução: Após uma breve explicação do professor Afonso de como funcionava os sensores, estes foram implementados com sucesso.
3) Brilho dos leds: os leds não brilhavam muito, o que dificultava a visualização em ambientes claros.
Solução: Inversão da polaridade, acionados de forma negativa, pois o 89S51 não fornecia corrente suficiente para um bom aproveitamento do brilho.
4) Circuito impresso não está funcionando devido à defeitos nos equipamentos do laboratório de engenharia elétrica, já que os de computação não estão disponíveis.
Solução: Com auxílio do professor Afonso Miguel, foi descoberto que a trilha que ligava o GND do 89S51 com o da bateria não foi impresso na placa, foi preciso um fio para ligar as trilhas.
7. FIGURAS
8. GLOSSÁRIO
Assembly: é uma notação legível por humanos para o código de máquina que uma arquitetura de computador específica usa. A linguagem de máquina, que é um mero padrão de bits, torna-se legível pela substituição dos valores em bruto por símbolos chamados mnemónicos. Microcontrolador: contém um processador, memória e periféricos
de entrada/saída. É um microprocessador que pode ser programado para funções específicas, em contraste com outros microprocessadores de propósito geral (como os utilizados nos PCs). Eles são embarcados no interior de algum outro dispositivo (geralmente um produto comercializado) para que possam controlar as funções ou ações do produto.