CHECKERS -...
Transcript of CHECKERS -...
![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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/1.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/2.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/3.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/4.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/5.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/6.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/7.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/8.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/9.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/10.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/11.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/12.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/13.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/14.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/15.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/16.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/17.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/18.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/19.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/20.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022021722/5c5fd03d09d3f2f0588b6076/html5/thumbnails/21.jpg)
21
Figura 6: Shield arduino instalado
Figura 7: Diagrama elétrico shield