checkers -...

21
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CHECKERS CURITIBA 2012

Upload: tranmien

Post on 10-Feb-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ

CHECKERS

CURITIBA

2012

Page 2: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

2

LUIZ AUGUSTO DE PAULA

CHECKERS

Projeto apresentado à disciplina de

Resolução de Problemas em Engenharia

II do Curso de Engenharia de

Computação da Escola Politécnica sob

orientação do Prof. Afonso Ferreira

Miguel.

CURITIBA

2012

Page 3: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

3

RESUMO Projeto para o curso de Engenharia de Computação, no intuito de

aprender a projetar e construir um projeto para aprendizado. Projetando um

jogo de damas automático, onde é possível fazer a interação do jogo manual

com o computacional, onde um jogador utilizando o computador e outro direto

no tabuleiro.

Page 4: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

4

ABSTRACT Project for a class of Computer Engineer, to learn and understand how is

to create a project and make one. It is a checkers game that combine automatic

and manual moves, where one player using the computer and the other one on

the checkerboard.

.

Page 5: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

5

SUMÁRIO RESUMO............................................................................................................ 3

ABSTRACT ........................................................................................................ 4

INTRODUÇÃO ................................................................................................... 6

OBJETIVOS ....................................................................................................... 7

Geral ............................................................................................................... 7

Específicos ...................................................................................................... 7

DESCRIÇÃO GERAL ......................................................................................... 8

Projeto ............................................................................................................. 8

História do Projeto........................................................................................... 8

MATERIAIS UTILIZADOS ................................................................................ 10

PROBLEMAS APRESENTADOS ..................................................................... 11

MANUAL DO USUÁRIO ................................................................................... 12

CÓDIGO FONTE .............................................................................................. 13

CONCLUSÃO ................................................................................................... 18

REFERENCIAS ................................................................................................ 19

ANEXOS .......................................................................................................... 20

Figura 1: Interação maquete e mecânico ........................................................... 8

Figura 2: Eletroímã ............................................................................................. 9

Figura 3: Shield arduino ..................................................................................... 9

Figura 4: Maquete pronta ................................................................................. 20

Figura 5: Maquete pronta interior ..................................................................... 20

Figura 6: Shield arduino instalado .................................................................... 21

Figura 7: Diagrama elétrico shield .................................................................... 21

Page 6: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

6

INTRODUÇÃO Jogos de damas foi sempre um passatempo entre amigos ou mesmo

uma prática como um exporte. Como o jogo de tabuleiro é de no mínimo duas

pessoas, pensando nisso foi criado o jogo para computador, para suprir essa

necessidade.

Entretanto a utilização de softwares para jogar damas não tem a mesma

emoção de um jogo de tabuleiro, pensando nisso, surge à ideia de construir um

tabuleiro onde o usuário poderia jogar em um tabuleiro contra o computador.

Para contribuição com este processo, foi desenvolvido um sistema de

jogo de damas controlado por computador, sendo o mais próximo de um jogo

de duas pessoas.

Page 7: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

7

OBJETIVOS

Geral

Projetar um tabuleiro onde possa ser jogado damas contra o

computador.

Específicos

Implementação do software para controle e movimentação das peças no

tabuleiro a partir das jogadas inseridas pelo o usuário.

Construção do eletroímã e controle a partir do arduino para atração das

peças do tabuleiro.

Controlar o movimento de dois motores de passo para movimentação do

eletroímã.

Page 8: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

8

DESCRIÇÃO GERAL

Projeto

Para o projeto, será construído um tabuleiro de tamanho normal, as

peças serão movimentadas pela ajuda de um eletroímã que este localizado em

baixo do tabuleiro. Para movimentação do eletroímã nos eixos x e y, serão

utilizados dois motores de passo, cada acoplado a um trilho.

Um micro controlador arduino para controlar o acionamento dos motores

e do eletroímã. Recebendo as jogadas a partir dos dados digitados no monitor

da porta serial do programa arduino.

História do Projeto

Primeira parte a ser pensada foi como seria feito a parte de

movimentação dos motores, como sendo bem próximo ao movimento de

impressoras foi comprado o trilho, motor, corrente de uma impressora matricial.

Com a movimentação pronta, foi projetado em maquete para saber as

reais dimensões das chapas de madeiras a serem utilizadas, as quais foram

encomendadas em MDF. Podendo agora encaixar o eixo e motores na

maquete final.

Figura 1: Interação maquete e mecânico

Para atração das peças, foi comprado fio esmaltado e um prego para

confecção do eletroímã.

Page 9: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

9

Figura 2: Eletroímã

A implementação do programa começou pela criação das funções para

andar e comer peças na direção esquerda e direita e outra função para

remover a peça quando foi comida pelo o usuário. Realizado após as funções a

parte de interação com o usuário, leitura das jogadas e verificar deve chamar a

função comer ou somente andar.

Para movimentação dos motores foi comprado o l293d, CI com

funcionalidade de ponte h, um transistor 2222a e um relé para acionamento do

eletroímã. Após realizado os testes na protoboard, foi construído o shield para

o arduino.

Figura 3: Shield arduino

A alimentação dos motores é realizada por uma fonte de celular 5v

750ma e para o eletroímã é utilizado à fonte dos laboratórios de Engenharia de

Computação da PUCPR.

As peças de damas foram compradas de um jogo de damas imantado.

Page 10: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

10

MATERIAIS UTILIZADOS Arduino;

Motor de passo de impressora matricial;

Transistor 222A;

Relé 5 pinos 5V;

Placa perfurada;

Fios;

Madeira MDF;

Rebites;

Dobradiça;

Pinos poste;

CI l293d;

Prego;

Fio esmaltado;

Fonte 5v 750ma.

Page 11: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

11

PROBLEMAS APRESENTADOS

PROBLEMAS SOLUÇÃO

Movimentação do eletroímã nos eixos XY.

Peças de impressora matricial.

Intensificar a forca eletromagnética em um ponto especifico.

Utilização de um prego.

Controle dos motores de passo. Utilizando CI l293n

Acionamento do eletroímã. Utilização de um rele.

Page 12: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

12

MANUAL DO USUÁRIO Para utilização do tabuleiro, devesse conectar o dispositivo na tomada,

na fonte e na porta serial do computador, montar as peças em cima do

tabuleiro e efetuar as jogadas no computador através do monitor serial do

programa do arduino, inserindo o local no i e no j da peça a ser movida e após

o movimento dos motores deve-se inserir o local no qual a peça ira e outro

usuário no tabuleiro.

Page 13: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

13

CÓDIGO FONTE #include <Stepper.h>

const int stepsPerRevolution = 200; // 1 revolucao

int casa = 107; // 1 casa

int local1 = 0,local2=0;//local do motor

int matriz[8][8];//matriz jogo

int eletro = 3,botao =4 ;

int casa1,casa2,casa3,casa4;

// initialize the stepper library on pins 8 through 11:

Stepper myStepper(stepsPerRevolution, 6,7,8,9);

Stepper myStepper2(stepsPerRevolution, 10,11,12,13);

int casanoi = 0,casanoj = 0;

void setup() {

pinMode(eletro, OUTPUT);

pinMode(botao, INPUT);

// set the speed at 60 rpm:

myStepper.setSpeed(60);

myStepper2.setSpeed(60);

// initialize the serial port:

Serial.begin(9600);

}

void loop() {

Serial.println("escreve a casa no i");

while(Serial.available() == 0){};

casanoi = Serial.read()- 49;

Serial.println("escreve a casa no j ");

while(Serial.available() == 0){};

casanoj = Serial.read() - 49;

Serial.println(casanoi +1);

Serial.println(casanoj +1);

vailocal(casanoi,casanoj);

Serial.println("escreve a casa no i para ir");

while(Serial.available() == 0){};

casanoi = Serial.read()- 49;

Serial.println("escreve a casa no j para ir");

while(Serial.available() == 0){};

Page 14: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

14

casanoj = Serial.read() - 49;

Serial.println(casanoi +1);

Serial.println(casanoj +1);

if((local2+1)==casanoj){//verifica se eh para andar ou comer

if((local1+1)== casanoi){//andar para a direita

casadireita();

}else{

casaesquerda();

}

local1 = casanoi;

local2 = casanoj;

}else{//verifica se eh para andar ou comer

if((local1+2)== casanoi){//andar para a direita

comerdireita();

local1 = casanoi;

local2 = casanoj;

retira(casanoi-1,casanoj-1);

}else{

comeresquerda();

local1 = casanoi;

local2 = casanoj;

retira(casanoi+1,casanoj-1);

}

}

vailocal(0,0);

}

void retira(int q, int w){

int t;

vailocal(q,w);

digitalWrite(eletro, HIGH);

delay(50);

for( t=0;t < (casa/2); t++){//anda ate o meio das casa

myStepper2.step(1);

}

desliga();

vailocal(8,local2);

Page 15: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

15

for( t=0;t < (casa/2); t++){//anda ate o meio das casa

myStepper2.step(-1);

}

desliga();

for( t=0;t < (casa/2); t++){//anda ate o meio das casa

myStepper.step(1);

}

desliga();

digitalWrite(eletro, LOW);

delay(50);

for( t=0;t < (casa/2); t++){//anda ate o meio das casa

myStepper.step(-1);

}

desliga();

}

void casadireita(){

digitalWrite(eletro, HIGH);

delay(50);

for(int i=0;i < casa; i++){

myStepper.step(1);

myStepper2.step(1);

}

desliga();

digitalWrite(eletro, LOW);

delay(50);

}

void casaesquerda(){

digitalWrite(eletro, HIGH);

delay(50);

for(int i=0;i < casa; i++){

myStepper.step(-1);

myStepper2.step(1);

}

desliga();

digitalWrite(eletro, LOW);

delay(50);

}

void comerdireita(){

Page 16: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

16

digitalWrite(eletro, HIGH);

delay(50);

for(int i=0;i < casa; i++){

myStepper2.step(1);

}

desliga();

for(int i=0;i < casa; i++){

myStepper.step(1);

myStepper2.step(1);

}

desliga();

for(int i=0;i < casa; i++){

myStepper.step(1);

}

desliga();

digitalWrite(eletro, LOW);

delay(50);

}

void comeresquerda(){

digitalWrite(eletro, HIGH);

delay(50);

for(int i=0;i < casa; i++){

myStepper2.step(1);

}

desliga();

for(int i=0;i < casa; i++){

myStepper.step(-1);

myStepper2.step(1);

}

desliga();

for(int i=0;i < casa; i++){

myStepper.step(-1);

}

desliga();

digitalWrite(eletro, LOW);

delay(50);

}

void vailocal(int ii,int jj){

if (ii < local1){

Page 17: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

17

for(local1;local1 > ii;local1--){

myStepper.step(-casa);

}

desliga();

}else{

for(local1;local1 < ii;local1++){

myStepper.step(casa);

}

desliga();

}

if (jj < local2){

for(local2;local2 > jj;local2--){

myStepper2.step(-casa);

}

desliga();

}else{

for(local2;local2 < jj;local2++){

myStepper2.step(casa);

}

desliga();

}

}

void desliga(){

digitalWrite(6, LOW);

digitalWrite(7, LOW);

digitalWrite(8, LOW);

digitalWrite(9, LOW);

digitalWrite(10, LOW);

digitalWrite(11, LOW);

digitalWrite(12, LOW);

digitalWrite(13, LOW);

}

Page 18: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

18

CONCLUSÃO Ao final do projeto foi possível cumprir com o que foi proposto, criando

um jogo de damas com as jogadas realizadas pelo computador, propondo um

jogo com um jogador no tabuleiro e outro no computador.

Durante a execução do projeto foi, muito se aprendeu, principalmente

diante dos problemas encontrados, onde foi necessário um grande

desempenho para contorná-los, assim, agregando muitos conhecimentos que

poderão ser empregados em projetos futuros.

Para que o projeto fosse melhor aprimorado, seria bastante interessante

a utilização de um sensor de efeito hall para varredura das peças, podendo ter

um inteligência artificial por traz para que as jogadas do computador ocorram

automaticamente, sem ter a necessidade um usuário digitando as jogadas no

console.

Page 19: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

19

REFERENCIAS Motor de passo:

http://www.telecom.uff.br/pet/petws/downloads/tutoriais/stepmotor/stepmotor2k

81119.pdf;

Controlando CI l293: http://garagelab.com/profiles/blogs/tutorial-l293d-h-bridge-

dc-motor-controller-with-arduino;

Eletroímã: http://www.brasilescola.com/fisica/como-fazer-um-eletroima.htm;

Como jogar damas: http://www.megajogos.com.br/jogosonline/damas/regras.

Page 20: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

20

ANEXOS

Figura 4: Maquete pronta

Figura 5: Maquete pronta interior

Page 21: CHECKERS - embedded.microprocessadores.com.brembedded.microprocessadores.com.br/wp-content/uploads/2015/06/docs/... · Entretanto a utilização de softwares para jogar damas não

21

Figura 6: Shield arduino instalado

Figura 7: Diagrama elétrico shield