Você está na página 1de 9

1

Sensors 2014, 14, Microprocessadores e Microcontroladores


TRABALHO

Microprocessadores e
Microcontroladores
www.santoangelo.uri.com.br

Projeto Jogo Snake utilizando PIC18F4550


Universidade Regional do Alto Uruguai e das Missões, Departamento de Engenharia Elétrica,
Curso de Engenharia Elétrica, Microprocessadore e microcontroladores.

1
Dante, Bordin Medeiros; E-Mail: dantebordin@hotmail.com (D.B.M.);
2
Carlos Eduardo, Bordin, Kupske; E-Mail: carlosekupske@globomail.com (C.E.B.K.)
3
Edimilson, Schmitz; E-Mail: edimilson_bob@hotmail.com (E.S.)

Data Início: 01/04/2017; Data Final: 07/05/2017

Resumo: Realizou-se a elaboração de um código de programação, o qual visou


desenvolver um jogo de snake com funções de contagem, movimento e inserção de pontos
de alimento.

Abstract:
A programming code was developed, which aimed to develop a snake game with functions
of counting, movement and insertion of food points.

Palavras Chaves: snake, progrmação.

1. Introdução

Para a realização do trabalho de microprocessadores e microcontroladores foi realizado um código


em C elaborado no programa MPLAB onde compilamos e inserimos na placa PIC18f4550 utilizando o
software TinyBld. Utilizamos juntamente da ajuda do professor, manuais os quais nos possibilitaram
realizar a leitura da placa, mapeamento dos led’s e dos botões. Utilizou-se logicas binárias para o
acionamento dos mesmos

2. Metodologia Experimental
Sensors 2014, 14 2

2.1 Elaboração do código em C

Iniciamos #include que é para o programa intender que será incluindo a placa PIC18F4550, após
isso incluímos delays que farão depois a intercalação dos tempos de ação, conforme figura 1, abaixo.
Também usamos o #pragma que permite que o programador diga ao compilador para fazer certas
coisas, como descrito aqui. Usamos o #define para atribuir funções que serão responsáveis pela
execução de alguns comandos no decorrer do trabalho.

Fig.1: Introdução do código

Após feito isso, usamos algumas funções que definem variáveis e as iniciam e geram pulso de
clock.

Fig.2: Introdução do código


Sensors 2014, 14 3

Introduzimos agora o corpo do código onde atribuímos as variáveis de contagem do display de sete
seguimentos, e também os códigos binários que fazem começar o display em 0. Também inserimos a
variável de início da snake e configuramos as portas de entrada.

Fig.3: Atribuindo variáveis

Agora começamos o desenrolar do código, atribuindo o local na snake e também o ponto de partida
do local da comida, assim atualizamos o display com o start do jogo, conforme atribuímos valores lá
no começo do código.
Sensors 2014, 14 4

Fig.3: Atribuindo variáveis

A partir de agora atribuímos as funções necessárias para o funcionamento do jogo, habilitamos os


dois displays e conforme início do código começamos em 0.

Fig.4: Início do jogo


Sensors 2014, 14 5

Atribuímos também os resets dos displays, assim quando alimentamos nove vezes a snake ela reseta
o display da unidade e adiciona mais um no display da dezena, e com isso ao chegarmos em nove no
display da dezena, ao receber mais um valor ele reseta todo o jogo, conforme demonstrado na figura 5
abaixo.

Fig.5: Atribuindo resets

Na figura 6 iremos visualizar as condições de deslocamento para a direita e para a esquerda da


snake, fizemos multiplicações e divisões para conseguir movimentar. Também encontramos alguns
problemas para fazer os movimentos em virtude da placa estar configurada de forma que, quando
atingimos o bit 8 da varredura de leds a configuração da mesma altera logo após para o bit 64, tendo
assim que elaborarmos uma condição de pulo para a snake, a mesma condição que usamos na subida e
na descida, que ao atingir o bit 128 a snake deve receber o bit 1 para atravessar a varredura de leds.
Sensors 2014, 14 6

Fig.6: Atribuindo direção

Da mesma forma atribuímos as descidas e subidas da snake, utilizando o mesmo critério de


divisão e multiplicação usado acima, também os pulos de bits quando atingimos os máximos das linhas
na varreduras de leds.
Sensors 2014, 14 7

Fig.7: Atribuindo direção

3. Resultados e Discussões

Os resultados foram obtidos de forma satisfatória, conseguimos diante deste trabalho um amplo
conhecimento sobre a linguagem C, e também sobre o funcionamento de microprocessadores. Este
estudo foi de amplo estudo da mesma forma empolgou o grupo a fim de conseguir realizar as funções
propostas no trabalho.
Abaixo teremos as fotos que retrataram a forma de funcionamento do jogo.
Sensors 2014, 14 8

Fig.8: Jogo iniciado

A figura 7 exemplifica o jogo no seu inicio o qual apresenta os displays de sete seguimentos,
comida e a snake em seu ponto de partida. Já na figura 8 podemos visualizar o movimento do jogo já
com a absorção de alimentos da snake.

Fig.8: Jogo em andamento

Já na figura 9 vemos o acionamento do display que é responsável pela dezena, assim quando chega
a contagem nove, como vimos acima no desenvolvimento todo o jogo é zerado.
Sensors 2014, 14 9

Fig.9: Jogo em andamento

4. Conclusões

O presente trabalho foi de grande aprendizagem e um grande desafio o qual o grupo buscou de
várias formas executar. O snake é muito famoso e poder desenvolver este jogo além do conhecimento
acabou como consequência trazendo divertimento ao grupo, que ficava cada vez mais instigado a
resolver os problemas que iam surgindo durante o desenvolvimento do mesmo.

Referências bibliográficas

http://linguagemc.xpg.uol.com.br/funcaoc.html

http://www.inf.pucrs.br/~pinho/LaproI/Funcoes/AulaDeFuncoes.htm

http://www.di.ubi.pt/~cbarrico/Disciplinas/ProgramacaoI/Downloads/Teorica_LinguagemC%20
-%20FuncoesVectoresExemplos.pdf

Você também pode gostar