16
Universidade Tecnológica Federal do Paraná – UTFPR Departamento Acadêmico de Eletrônica – DAELN Departamento Acadêmico de Informática – DAINF Engenharia de Computação Oficina de Integração 3 (IF66J) – S71 – 2016/2 Relatório Técnico Ghost Chess Tabuleiro de xadrez automatizado Eduardo A. C. Nardi [email protected] Eli Teixeira [email protected] Gabriel R. Garcia [email protected] Dezembro de 2016 Resumo O presente relatório técnico apresenta o desenvolvimento de um tabuleiro de xadrez com funcionamento automatizado e um software para o tabu- leiro. O objetivo é permitir que um jogador possa jogar no tabuleiro contra outro jogador, de forma remota, ou contra a máquina através do software. Deste modo, as peças do tabuleiro devem se mover sem necessidade de intervenção do primeiro jogador. Foi utilizado o computador como esta- ção base, o qual recebe e envia informação via bluetooth para o sistema embarcado, o qual faz com que dois motores de passo e um servo motor movam as peças de xadrez. As peças e o servo motor contém imãs que permitem que as peças se movam. O sistema embarcado também contém sensores do tipo reed switch para marcar as posições das peças de xadrez. O resultado final do projeto foi alcançado. O software e o tabuleiro estão funcionais, possibilitando o jogo remoto entre dois jogadores ou contra a máquina. Ao longo do relatório será apresentado o desenvolvimento e métodos utilizado no projeto. 1 Introdução O xadrez é um dos jogos de tabuleiro mais conhecidos no mundo. Existem ver- sões eletrônicas do jogo, as quais não necessitam de dois jogadores para que o jogo aconteça. As versões eletrônicas também permitem o jogo remoto en- tre dois jogadores pela internet e o jogo entre usuário e máquina que utiliza de inteligência artificial para promover as jogadas. A versão de tabuleiro também ganhou novas formas de jogo, onde não é necessário dois jogadores humanos. No caso, um braço robótico é o segundo jogador controlado pelo computador [1]. A ideia de que duas pessoas não presentes em um mesmo local interajam através de um tabuleiro torna a experiência de jogo mais agradável do que jogar através de um software. Jogar contra a máquina de forma virtual também passa a impressão de que a pessoa está jogando contra outra pessoa. 1

Relatório Técnicopaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · Deste modo, as peças do tabuleiro devem se mover sem necessidade de intervenção

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • Universidade Tecnológica Federal do Paraná – UTFPRDepartamento Acadêmico de Eletrônica – DAELN

    Departamento Acadêmico de Informática – DAINFEngenharia de Computação

    Oficina de Integração 3 (IF66J) – S71 – 2016/2

    Relatório TécnicoGhost Chess

    Tabuleiro de xadrez automatizado

    Eduardo A. C. Nardi – [email protected] Teixeira – [email protected]

    Gabriel R. Garcia – [email protected]

    Dezembro de 2016

    Resumo

    O presente relatório técnico apresenta o desenvolvimento de um tabuleirode xadrez com funcionamento automatizado e um software para o tabu-leiro. O objetivo é permitir que um jogador possa jogar no tabuleiro contraoutro jogador, de forma remota, ou contra a máquina através do software.Deste modo, as peças do tabuleiro devem se mover sem necessidade deintervenção do primeiro jogador. Foi utilizado o computador como esta-ção base, o qual recebe e envia informação via bluetooth para o sistemaembarcado, o qual faz com que dois motores de passo e um servo motormovam as peças de xadrez. As peças e o servo motor contém imãs quepermitem que as peças se movam. O sistema embarcado também contémsensores do tipo reed switch para marcar as posições das peças de xadrez.O resultado final do projeto foi alcançado. O software e o tabuleiro estãofuncionais, possibilitando o jogo remoto entre dois jogadores ou contraa máquina. Ao longo do relatório será apresentado o desenvolvimento emétodos utilizado no projeto.

    1 Introdução

    O xadrez é um dos jogos de tabuleiro mais conhecidos no mundo. Existem ver-sões eletrônicas do jogo, as quais não necessitam de dois jogadores para queo jogo aconteça. As versões eletrônicas também permitem o jogo remoto en-tre dois jogadores pela internet e o jogo entre usuário e máquina que utiliza deinteligência artificial para promover as jogadas. A versão de tabuleiro tambémganhou novas formas de jogo, onde não é necessário dois jogadores humanos.No caso, um braço robótico é o segundo jogador controlado pelo computador[1].

    A ideia de que duas pessoas não presentes em um mesmo local interajamatravés de um tabuleiro torna a experiência de jogo mais agradável do que jogaratravés de um software. Jogar contra a máquina de forma virtual também passaa impressão de que a pessoa está jogando contra outra pessoa.

    1

  • Relatório Técnico: Ghost Chess 2

    Levando em consideração esses fatos, o objetivo do trabalho é desenvolverum tabuleiro de xadrez físico que permita partidas remotas entre dois jogadoresou entre um jogador e a máquina. As peças da máquina ou do jogador remotomovem-se sem a interação humana através de imãs e ,dessa forma, a sensaçãocriada pelo tabuleiro é de que se está jogando contra outra pessoa, assim comopode ser assistido em [2].

    A Figura 1 é uma visão geral referente ao protótipo do tabuleiro automati-zado.

    Figura 1: Visão geral do projeto

    O jogador faz a movimentação da peça de xadrez no tabuleiro e então senso-res magnéticos captam o movimento realizado. O microcontrolador (arduino)recebe as informações dos sensores e, através do barramento de dados blue-tooth, envia as informações para a estação base (pc). Esta recebe os dados,armazena-os e mostra o estado atual do jogo para o oponente humano ou parao oponente controlado pela inteligência artificial. O oponente humano ou ooponente controlado pela inteligência artifical então realiza a jogada na estaçãobase (pc) e ,através do barramento de dados bluetooth, envia as informações aomicrocontrolador (arduino). Este recebe os dados e controla motores de passos,os quais estão acoplados a uma mesa X e Y. Esta, através de um imã, controla aspeças de xadrez no tabuleiro.

    Os requisitos funcionais e não funcionais do projeto estão listados respec-

  • Relatório Técnico: Ghost Chess 3

    tivmante nas tabelas 1 e 2.

    Tabela 1: Requisitos funcionais.

    1 Permitir jogos entre dois usuários, um no pc e outro no tabuleiro.2 Permitir jogos entre um usuário e a máquina, o usuário no tabuleiro.3 Peças da máquina se movem sem interação humana.4 Peças do jogador remoto se movem sem interação humana.5 Peças eliminadas do jogador remoto se movem sem interação humana.6 Peças eliminadas da máquina se movem sem interação humana.7 Aplicativo no pc para um dos jogadores.8 Comunicação Bluetooth entre pc e microcontrolador.9 Posição salvas em todas as jogadas.

    Tabela 2: Requisitos não funcionais.

    1 O tabuleiro do jogo será de madeira.2 Peças do jogo de plástico.3 Interface 2D do tabuleiro no pc.4 As cores do aplicativo serão preto e branco.5 Software programado em Java.

    As próximas seções do relatório se dividem em quatro partes. A seção 2 dis-corre sobre a estrutura física do projeto, como foi feita a movimentações daspeças, a construção da mesa X e Y e o tabuleiro como um todo. Na seção 3 é ex-planado o desenvolvimento eletrônico, como a forma que foi feita a leitura dasposições das peças no tabuleiro e os motores utilizados. A seção 4 discorre sobreo desenvolvimento do software, como foi feito o aplicativo do jogo de xadrez, asua inteligência artificial e a integração do aplicativo com o arduino. Por fim, aseção 5 explana sobre as conclusões do projeto.

  • Relatório Técnico: Ghost Chess 4

    2 Estrutura física

    Esta seção tem por objetivo explanar o funcionamento e a montagem de toda aestrutura física do protóripo feito pela equipe. Na seção 2.1 será explicado comoe quando ocorrem a movimentação da peças. Já na seção 2.2, será exposto de-talhadamente como foi montada a mesa X e Y, a qual é responsável pela movi-mentação da peças.

    2.1 Movimentação das peças

    A movimentação automática das peças no tabuleiro se da através do uso domagnetismo. Assim, ímãs foram acoplados a cada uma das peças e um ímã deneodímio se movimenta por debaixo do tabuleiro. A atração magnética que oímã de neodímio aplica sobre os outros faz com que estes sigam o movimentodaquele.

    A solução deste projeto para movimentar o ímã de neodímio foi a montagemde uma mesa X e Y. Para melhor entender o funcionamento dessa estrutura demovimentação deve-se observar a Figura 2.

    Figura 2: Imagem da mesa X e Y feita pela equipe.

    Como pode-se perceber, existem três tubos cílindricos, dois em paralelo naparte esquerda e direita da figura, e um perpendicular aos outros na parte su-perior da figura. Estes tubos guiam a movimentação dos dois motores de passo,tanto no eixo X quanto no Y. Para que os motores possam atuar e movimentar osistema, foram utilizadas cremalheiras e rodas dentadas da marca Modelix [3].Assim, a movimentação angular dos eixos dos motores de passo é transformada

  • Relatório Técnico: Ghost Chess 5

    em movimentação linear. Toda a montagem desta mesa está explanada na seção2.2.

    Para que o ímã de neodímio não atue sobre as peças em momentos inapro-priados, ele foi acoplado a um servo motor. Assim, quando é preciso movimen-tar uma peça, o servo motor coloca o ímã para cima, caso contrário coloca o ímãpara baixo.

    Após a jogada do jogador na estação base, as movimentações necessáriassão enviadas ao sistema embarcado, e este envia comandos aos motores paraque a movimentação da peça correta ocorra. Para que uma peça não colida coma outra, fez-se com que as movimentações das peças ocorram pelos limites dascasas do tabuleiro, ou seja, um cavalo por exemplo irá se movimentar entre aspeças, não colidindo com estas.

    2.2 Mesa X e Y

    Toda a montagem e idealização da estrutura do projeto serão explanadas nassubseções seguintes. É importante ressaltar que os materiais e as técnicas uti-lizados pela equipe levam em consideração o seu baixo custo e a facilidade emseu uso, não sendo a única forma de estruturar o protótipo.

    Para facilitar o entendimento e a organização da estrutura, dividiu-se a suamontagem em três componentes básicos: o caixote, que isolará tanto a mesa Xe Y quanto a estação base do ambiente, o eixo superior e o eixo inferior.

    2.2.1 Caixote

    Para montar o caixote, primeiro definiu-se o tamanho do tabuleiro como 40x40cm. Assim, o tamanho da base do caixote ficou definido como 60x70X20 cm,tendo-se 20 cm de espaço nas laterais para que caiba a estrutua do eixo de cimatranquilamente. Os 30 cm de espaço no outro eixo permite que todos os compo-nentes eletrônicos possam ficar dentro do caixote. Este espaçamento tambémserve para que as peças retiradas do jogo possam ter um lugar para serem movi-das. O caixote pode ser observado na Figura 3.

    O tabuleiro ficou grande com o propósito de impedir que o imã da peça queestá sendo movimentada aja sobre as outras por passar muito perto delas, o queinviabilizaria o projeto.

    2.2.2 Eixo inferior

    Para montar o eixo inferior precisou-se cortar quatro pedaços de madeira assimcomo mostrado na Figura 4. Como pode-se perceber, dois tubos cilíndricos de60 cm foram acoplados nos quatro pedaços de madeira, tendo-se assim duasestruturas compostas por um tubo e dois pedaços de madeira nas extremidadesdo tubo. Uma das estruturas foi acoplada na extremidade da base do caixote,deixando apenas 1,3 cm entre os pedaços de madeira e os limites da base do

  • Relatório Técnico: Ghost Chess 6

    Figura 3: Imagem do caixote final do projeto.

    caixote. A outra estrutura foi acoplada a 60 cm de distância da primeira, parale-lamente.

    No meio e paralelamente às duas estruras acoplou-se 9 cremalheiras, queserão usadas posteriormente por um dos motores de passo para transformar amovimentação angular do eixo do motor em movimentação linear.

    Figura 4: Imagem do pedaço de madeira usado no eixo inferior.

    2.2.3 Eixo superior

    Para montar o eixo superior primeiro foi preciso produzir os pedaços de ma-deira que servem de base para este eixo. A Figura 5 mostra o produto final. Ofuro presente no meio da madeira é o espaço que os tubos do eixo inferior pas-

  • Relatório Técnico: Ghost Chess 7

    sam, portanto foi feito a partir do diâmetro dos tubos. Como pode-se perceber,a base para o eixo superior deve deslizar nos tubos. Para se ter uma movimen-tação mais acertada e leve, deve-se acoplar buchas deslizantes nos pedaços demadeira da base.

    Depois, uma tábua de madeira de 60x6,2x1 cm foi acoplada aos pedaços demadeira que servem de base para o eixo superior. Na parte inferior da tábuafoi acoplado o motor de passo 5,5 kgf de maneira perpendicular e central emrelação ao maior eixo da tábua. Na parte superior da tábua foram acopladas as9 cremalheiras restantes e uma nova estrutura de um tubo cilíndrico no qualsão acoplados dois pedaços de madeira nas extremidades, assim como foi feitono eixo inferior. No tubo desta nova estrutura, também precisou-se introduziruma base para o motor de passo de 1,2 kgf. Para acoplar os pedaços de madeirada nova estrutura na tábua de madeira, fez-se igual a Figura 4, porém virando-se os pedaços de madeira em noventa graus. Após o acoplamento do motor abase, foram adicionadas rodas dentadas aos eixos dos dois motores de passo,que servirão para permitir a movimentação dos eixos.

    Por fim, o servo motor foi acoplado em cima do motor de passo de 1,2 kgf,de maneira que o servo possa se movimentar por toda a superfície do tabuleiro.Para que ocorra a movimentação das peças, o imã de neodímio deve ser aco-plado do eixo móvel do servo, permitindo assim que o imã só esteja virado paracima quando necessário. Um exemplo do funciomento da mesa X e Y pode servisto em [2]. O produto final da montagem da mesa X e Y é apresentada na Fi-gura 2.

    Figura 5: Imagem do pedaço de madeira usado como base para o eixo superior.

    3 Desenvolvimento eletrônico

    Nesta seção serão apresentados todos os componentes eletrônicos utilizados noprotótipo, assim como o objetivo de cada um e como foram montados em sósistema. Na seção 3.1 é explanado como ocorre a leitura de quais casas do tabu-leiro existe uma peça. Já na seção 3.2, é discorrido sobre os motores usados noprotótipo e também dos componentes necessários para ligá-los ao arduino.

  • Relatório Técnico: Ghost Chess 8

    3.1 Leitura das posições das peças no tabuleiro

    Para ler-se em quais casas há ou não uma peça, utilizou-se os sensores magné-ticos reed switches. Quando um campo magnético é aplicado sobre esses senso-res, eles permitem a passagem de corrente, caso contrário agem como circuitoaberto. Mais informações técnicas sobre reed switches são apresentadas em [4].Como são 64 casas no tabuleiro, precisou-se de 64 reed switches.

    Como não há 64 portas digitais no arduino mega, precisou-se multiplexar osreed switches em uma matriz 8x8. Assim, temos oito linhas e oito colunas. Asoito linhas foram ligadas a oito pinos do arduino, sendo esses pinos definidoscomo saída,

    As oito colunas foram ligadas a resistores de pull up de 10k ohms e a outrosoito pinos do arduino, definindo estes pinos como entrada. Assim, as entradasvão estar sempre em nível lógico 1 a não ser que um nível lógico 0 chegue dealguma coluna, mudando-se o nível lógico de sua respectiva entrada para 0.

    O algoritmo para leitura das peças é simples. Primeiro deve-se colocar todasas saídas em 1. Depois, coloca-se a primeira saída em zero, testando-se todas asentradas. Se uma entrada estiver em zero quer dizer que na linha ligada à saídaem zero e na coluna ligada à entrada em zero existe uma peça. Após, coloca-sea segunda saída em zero, fazendo-se o mesmo procedimento e assim sucessiva-mente. Um pseudocódigo do algoritmo é mostrado na Figura 6.

    Figura 6: Pseudocódigo do algoritmo de leitura da matriz de reed switches. Fonte [5].

    Montar a matriz com apenas reed switches gera um fenômeno chamado "ghostkey". Quando este fenômeno ocorre, existem algumas falsas indicações de queexistem peças em casas onde na verdade não há nenhuma peça. Uma explica-ção detalhada sobre o fenômeno "ghost key"pode ser encontrado em [6]. Paracontornar este problema foram colocados diodos 1N4148 em série com cada umdos reed switches, gerando uma matriz igual a apresentada na Figura 7.

    A montagem da matriz de reed switches foi feita utilizando-se cabos AWG,ligando-se individualmente cada lado de cada reed switch ao outro ou ao diodopor um pedaço de cabo. Para acoplar a matriz à madeira do tabuleiro foi usadafita isolante. Uma maneira mais fácil e organizada porém mais cara de montara matriz está exposta em [5].

  • Relatório Técnico: Ghost Chess 9

    Figura 7: Matriz de reed switches. Fonte: [5].

    3.2 Motores

    No protótipo foram usados dois motores de passo, sendo um de 5,5 kgf de torquee o outro de 1,2 kgf. O motor com mais torque foi usado no eixo inferior, porter que mover mais peso se comparado ao outro motor. Como o arduino nãoconsegue fornecer uma corrente suficiente para que os motores consigam semovimentar adequadamente, fez-se necessário o uso do shield para motoresAdafruit [7]. No entanto, como o shield de motor adafruit tem uma capacidademáxima de 600mA em suas saídas e o motor de passo de 5,5 kgf necessita demais de 1A de corrente, precisou-se utilizar o driver para motor l298n [8].

    A estrutura da parte eletrônica do protótipo foi montada assim como apre-sentada na Figura 8. Como pode-se observar, o shield de motor adafruit foi li-gado ao arduino. Depois, o motor de passo de 1,2 kgf e o servo motor foramligados ao shield, prestando-se atenção para ligar cada bobina de maneira cor-reta. Como o arduino não tem capacidade de corrente suficiente para suprir osmotores, foi utilizada uma fonte de 9 V e 500 mA ligada diretamente ao shield.Para alimentar o driver l298n foi utilizada fonte de 12 V e 1,5 A.

  • Relatório Técnico: Ghost Chess 10

    Figura 8: Esquemático da estrutura eletrônica do protótipo

    4 Desenvolvimento do software

    Nesta seção será explanado sobre todo o software produzido para o protótipo,como o aplicativo da estaçao base e a programação da lógica presente no ar-duino. Na seção 4.1 é discorrido como funciona a aplicação de jogo de xadrezpresente na estação base. Já na seção 4.2, é explanado quais informações sãotrocadas entre a estação base e o arduino, assim como quais são as ações decada um de acordo com a mensagem recebida. Por fim. na seção 4.3 é expli-dado como ocorre a troca de mensagens entre o arduino e a estação base.

    4.1 Aplicativo do jogo de xadrez

    O software foi desenvolvido em Java, sendo toda a parte gráfica e lógica desen-volvida inteiramente pela equipe. O aplicativo consiste em um jogo de xadrezcomum com possibilidade de se jogar usuário contra usuário ou usuário contramáquina. Ao iniciar o software, assim como pode ser visto na Figura 9, apare-cem na tela uma janela com um tabuleiro de xadrez e todas as peças em suasposições iniciais e uma janela de escolha com dois botões. Esses botões ofe-recem a escolha ao usuário de se jogar player vs player ou player vs máquina.Quando o usuário clica em um desses botões ele escolhe o tipo de jogo e o jogo

  • Relatório Técnico: Ghost Chess 11

    se inicia.

    Figura 9: Imagem do aplicativo do jogo.

    Ao se jogar player vs player, o jogo consiste em turnos com o lado brancosendo o primeiro a jogar no tabuleiro. O movimento das peças do segundo jo-gador se dá ao clicar em cima da peça que deseja mover e arrastá-la até o destinodesejado. Caso o movimento feito seja um movimento válido segundo as regrasdo xadrez a jogada é feita, então a vez de jogar é passada ao outro lado. Porém,caso a jogada feita não seja permitida, nada acontece e o jogo espera uma jo-gada válida. O jogo continua nessa sequência de jogadas até que um jogadornão possua mais jogadas possíveis e esteja em cheque-mate.

    Sempre que um jogador estiver em cheque, um aviso sonoro será tocado eaparecerá uma janela de alerta na tela dizendo que o jogador em questão estáem cheque. Caso isso aconteça, apenas jogadas que tiram o jogador do estadoem cheque serão possíveis e permitidas.

    Quando um dos jogadores estiver em cheque-mate, um outro aviso sonoroserá tocado e uma janela de alerta aparecerá na tela informando o cheque-mate.Ao clicar no botão “Ok” na janela de aviso, o jogo termina e fica em um estadocongelado, não permitindo assim nenhuma jogada posterior.

    4.1.1 Inteligência artificial

    Quando o usuário escolhe jogar contra o computador ele aciona a inteligên-cia artificial. Dessa maneira o jogo consiste em uma jogada feita pelo usuárioe uma feita pelo computador. Para realizar essa jogada o computador analisa

  • Relatório Técnico: Ghost Chess 12

    todas as possibilidades de jogadas e possíveis jogadas a serem feitas pelo usuá-rio. Ao analisar essas possibilidades ele atribui valores a essas jogadas e usandoárvore e poda alfa-beta ele escolhe a melhor jogada e a faz. A poda alfa-beta con-siste em um algoritmo que visa diminuir os nós que serão avaliados na árvore.Ele para de analisar o movimento quando percebe que é pior do que um mo-vimento préviamente analisado, fazendo assim com que muitas possibilidadesdesnecessárias não sejam analisadas e tempo e processamento sejam economi-zados [9].

    4.2 Integração do aplicativo com o arduino

    Na vez do jogador que está jogando no tabuleiro, o aplicativo recebe do arduinoos estados da matriz de reed switches e, quando há alguma mudança na posiçãodas peças ele troca a posição da peça no tabuleiro gráfico. Quando é a vez damáquina ou do jogador que está jogando na estação base, o software envia parao arduino uma string com as informações de posição atual, próxima posição ese há uma eliminação de peça neste movimento. O arduino processa essa stringe manda instruções de movimento para os motores, o que concluiu o ciclo deuma rodada do jogo.

    O software de controle dos motores presente no arduino foi baseado no queestá presente em [10]. Neste código é utiliazada a biblioteca de controle de mo-tores do adafruit, que pode ser baixado em [7]. Esta biblioteca facilita muitoo desenvolvimento do código, pois a biblioteca padrão do arduino é extrema-mente limitada. Para entender o algoritmo de controle dos motores, pode-seobservar o fluxograma presente na Figura 10. As coordenadas usadas no algo-ritmo são recebidas do software, e representam o movimento de uma peça es-pecífica.

    4.3 Comunicação

    A forma escolhida para a comunicação do projeto foi o Bluetooth e o móduloutilizado no arduido foi o HC-05 [11]. Para estabelecer a comunicação entre ocomputador e o módulo a primeira coisa a ser feita é estabelecer o pareamentoentre ambos os dispositivos, para isso o módulo HC-05 possuim uma senha depareamento padrão que permite que apenas o computador e o módulo se co-muniquem.

    Após estabelicido o pareamento para enviar e receber informações foi utili-zado a biblioteca Bluecove [12] do java. A biblioteca estabelece a comunicaçãocliente servido entre o computador e o módulo através do protocolo RFCOMM[13] que simula uma porta serial entre os dois barramentos. Tanto os dados en-viados quanto os dado recebidos são no formato de bytes que posteriormentesão modificados para o formato String no software.

  • Relatório Técnico: Ghost Chess 13

    Figura 10: Fluxograma do algoritmo de movimentação dos motores.

    5 Conclusão

    Através do uso do software, o usuário consegue jogar contra um adversário re-motamente, sendo suas jogadas movimentadas automaticamente no tabuleiro.Apesar de um pouco lentas, as movimentações são realizadas com sucesso, atin-gindo um dos objetivos do projeto.

    Como os reed switches são um pouco instáveis na questão de onde deve estaro campo magnético para que eles fechem o circuito, então a matriz se comportade maneira que a peça tem que estar em uma lugar específico na casa para queo reed switch possa reconhecê-la. Este problema foi contornado com a marca-ção dos lugares corretos em que as peças devem ser colocadas para que sejamreconhecidas pelos reed switches. Outra solução para este problema seria o usode sensores magnéticos de melhor qualidade.

    Através do desenvolvimento deste projeto a equipe aprendeu muitas das ca-racterísticas do microcontrolador arduino, possibilitando o entendimento dos

  • Relatório Técnico: Ghost Chess 14

    limites e possíveis usos deste sistema. Precisou-se também aprender como pro-gramar na IDE do arduino, assim como estudar todas as bibliotecas utilizadasdurante o desenvolvimento do software.

    A equipe também aprimorou os conhecimentos sobre motores de passo,principalmente em como integrá-los ao arduinos utilizando shields e drivers.

    Um trabalho futuro do projeto também pode permitir que campeonatos se-jam realizados sem a presença dos dois competidores no mesmo local, assimcomo a integração de um temporizador para as jogadas no software e no tabu-leiro do jogo.

    5.1 Orçamento do protótipo

    Todos os materias usados pela equipe e seus respectivos custos estão apresenta-dos na Tabela 3. Se somados todos os custos, teve-se um custo total de R$1030,32.O valor final foi um pouco acima do que o esperado pela equipe. Este valor sedeve a alguns imprevistos que ocorreram durante o feitio do protótipo, que sópodiam ser contornados com a compra de novos materiais.

  • Relatório Técnico: Ghost Chess 15

    Referências

    [1] Leitão .P Souza .F, Gonçalves .J. Sistema robotizado de xadrez. InstitutoPolitécnico de Bragança.

    [2] How to Build an Arduino Powered Chess Playing Robot. https://www.youtube.com/watch?v=dX37LFv8jWY.

    [3] https:http://www.kitsderobotica.com.br/242-engrenagem-60d.

    [4] http://www.baudaeletronica.com.br/media/catalog/product/r/e/reed_switch.jpg/.

    [5] Berger. https://sites.google.com/site/bergersprojects/reedcb/matrix/assembling-pcb.

    [6] Berger. https://9c817c36-a-62cb3a1a-s-sites.googlegroups.com/site/proyectosdeberger/reedcb/repositorio/Ghost_Key.pdf?attachauth=ANoY7crSGMLopgv9RjLp1tDYLob8S-vs9apE8z-A4fJswShyXC6EjYBxjAznaMfDjKPioIiruRiR7cel6ivQh_lpcdgHfwWbz2wFcZzUtF_odudBrcV04x1yZB58KNzPEmSNPV5ooPOlEvs9YLL_KN-lTMTQPgLfkURdEEGT_HZay7R7JxtMoShhRAVpqzngIwze5kwgE_bX4eBK2JU-TEXpWJcZmOsPiQxPtOSsjh4zLxEjhHa5u_xRdMrNMpUUiSD5hg3FOqOU&attredirects=0.

    [7] https://www.adafruit.com/category/21.

    [8] Filipe. http://www.filipeflop.com/pd-6b80a-driver-motor-ponte-h-l298n.html/.

    [9] http://blog.filipeflop.com/wireless/tutorial-arduino-bluetooth-hc-05-mestre.html.

    [10] How to Build an Arduino Powered Chess Playing Robot. http://www.instructables.com/id/How-to-Build-an-Arduino-Powered-Chess-Playing-Robo/.

    [11] http://blog.filipeflop.com/wireless/tutorial-arduino-bluetooth-hc-05-mestre.html.

    [12] Chris. Best practice - java serial bluetooth connection hc-05.

    [13] https://developer.bluetooth.org/TechnologyOverview/Pages/RFCOMM.aspx.

    https://www.youtube.com/watch?v=dX37LFv8jWYhttps://www.youtube.com/watch?v=dX37LFv8jWYhttps:http://www.kitsderobotica.com.br/242-engrenagem-60dhttp://www.baudaeletronica.com.br/media/catalog/product/r/e/reed_switch.jpg/http://www.baudaeletronica.com.br/media/catalog/product/r/e/reed_switch.jpg/https://sites.google.com/site/bergersprojects/reedcb/matrix/assembling-pcbhttps://sites.google.com/site/bergersprojects/reedcb/matrix/assembling-pcbhttps://9c817c36-a-62cb3a1a-s-sites.googlegroups.com/site/proyectosdeberger/reedcb/repositorio/Ghost_Key.pdf?attachauth=ANoY7crSGMLopgv9RjLp1tDYLob8S-vs9apE8z-A4fJswShyXC6EjYBxjAznaMfDjKPioIiruRiR7cel6ivQh_lpcdgHfwWbz2wFcZzUtF_odudBrcV04x1yZB58KNzPEmSNPV5ooPOlEvs9YLL_KN-lTMTQPgLfkURdEEGT_HZay7R7JxtMoShhRAVpqzngIwze5kwgE_bX4eBK2JU-TEXpWJcZmOsPiQxPtOSsjh4zLxEjhHa5u_xRdMrNMpUUiSD5hg3FOqOU&attredirects=0https://9c817c36-a-62cb3a1a-s-sites.googlegroups.com/site/proyectosdeberger/reedcb/repositorio/Ghost_Key.pdf?attachauth=ANoY7crSGMLopgv9RjLp1tDYLob8S-vs9apE8z-A4fJswShyXC6EjYBxjAznaMfDjKPioIiruRiR7cel6ivQh_lpcdgHfwWbz2wFcZzUtF_odudBrcV04x1yZB58KNzPEmSNPV5ooPOlEvs9YLL_KN-lTMTQPgLfkURdEEGT_HZay7R7JxtMoShhRAVpqzngIwze5kwgE_bX4eBK2JU-TEXpWJcZmOsPiQxPtOSsjh4zLxEjhHa5u_xRdMrNMpUUiSD5hg3FOqOU&attredirects=0https://9c817c36-a-62cb3a1a-s-sites.googlegroups.com/site/proyectosdeberger/reedcb/repositorio/Ghost_Key.pdf?attachauth=ANoY7crSGMLopgv9RjLp1tDYLob8S-vs9apE8z-A4fJswShyXC6EjYBxjAznaMfDjKPioIiruRiR7cel6ivQh_lpcdgHfwWbz2wFcZzUtF_odudBrcV04x1yZB58KNzPEmSNPV5ooPOlEvs9YLL_KN-lTMTQPgLfkURdEEGT_HZay7R7JxtMoShhRAVpqzngIwze5kwgE_bX4eBK2JU-TEXpWJcZmOsPiQxPtOSsjh4zLxEjhHa5u_xRdMrNMpUUiSD5hg3FOqOU&attredirects=0https://9c817c36-a-62cb3a1a-s-sites.googlegroups.com/site/proyectosdeberger/reedcb/repositorio/Ghost_Key.pdf?attachauth=ANoY7crSGMLopgv9RjLp1tDYLob8S-vs9apE8z-A4fJswShyXC6EjYBxjAznaMfDjKPioIiruRiR7cel6ivQh_lpcdgHfwWbz2wFcZzUtF_odudBrcV04x1yZB58KNzPEmSNPV5ooPOlEvs9YLL_KN-lTMTQPgLfkURdEEGT_HZay7R7JxtMoShhRAVpqzngIwze5kwgE_bX4eBK2JU-TEXpWJcZmOsPiQxPtOSsjh4zLxEjhHa5u_xRdMrNMpUUiSD5hg3FOqOU&attredirects=0https://9c817c36-a-62cb3a1a-s-sites.googlegroups.com/site/proyectosdeberger/reedcb/repositorio/Ghost_Key.pdf?attachauth=ANoY7crSGMLopgv9RjLp1tDYLob8S-vs9apE8z-A4fJswShyXC6EjYBxjAznaMfDjKPioIiruRiR7cel6ivQh_lpcdgHfwWbz2wFcZzUtF_odudBrcV04x1yZB58KNzPEmSNPV5ooPOlEvs9YLL_KN-lTMTQPgLfkURdEEGT_HZay7R7JxtMoShhRAVpqzngIwze5kwgE_bX4eBK2JU-TEXpWJcZmOsPiQxPtOSsjh4zLxEjhHa5u_xRdMrNMpUUiSD5hg3FOqOU&attredirects=0https://9c817c36-a-62cb3a1a-s-sites.googlegroups.com/site/proyectosdeberger/reedcb/repositorio/Ghost_Key.pdf?attachauth=ANoY7crSGMLopgv9RjLp1tDYLob8S-vs9apE8z-A4fJswShyXC6EjYBxjAznaMfDjKPioIiruRiR7cel6ivQh_lpcdgHfwWbz2wFcZzUtF_odudBrcV04x1yZB58KNzPEmSNPV5ooPOlEvs9YLL_KN-lTMTQPgLfkURdEEGT_HZay7R7JxtMoShhRAVpqzngIwze5kwgE_bX4eBK2JU-TEXpWJcZmOsPiQxPtOSsjh4zLxEjhHa5u_xRdMrNMpUUiSD5hg3FOqOU&attredirects=0https://9c817c36-a-62cb3a1a-s-sites.googlegroups.com/site/proyectosdeberger/reedcb/repositorio/Ghost_Key.pdf?attachauth=ANoY7crSGMLopgv9RjLp1tDYLob8S-vs9apE8z-A4fJswShyXC6EjYBxjAznaMfDjKPioIiruRiR7cel6ivQh_lpcdgHfwWbz2wFcZzUtF_odudBrcV04x1yZB58KNzPEmSNPV5ooPOlEvs9YLL_KN-lTMTQPgLfkURdEEGT_HZay7R7JxtMoShhRAVpqzngIwze5kwgE_bX4eBK2JU-TEXpWJcZmOsPiQxPtOSsjh4zLxEjhHa5u_xRdMrNMpUUiSD5hg3FOqOU&attredirects=0https://9c817c36-a-62cb3a1a-s-sites.googlegroups.com/site/proyectosdeberger/reedcb/repositorio/Ghost_Key.pdf?attachauth=ANoY7crSGMLopgv9RjLp1tDYLob8S-vs9apE8z-A4fJswShyXC6EjYBxjAznaMfDjKPioIiruRiR7cel6ivQh_lpcdgHfwWbz2wFcZzUtF_odudBrcV04x1yZB58KNzPEmSNPV5ooPOlEvs9YLL_KN-lTMTQPgLfkURdEEGT_HZay7R7JxtMoShhRAVpqzngIwze5kwgE_bX4eBK2JU-TEXpWJcZmOsPiQxPtOSsjh4zLxEjhHa5u_xRdMrNMpUUiSD5hg3FOqOU&attredirects=0https://www.adafruit.com/category/21http://www.filipeflop.com/pd-6b80a-driver-motor-ponte-h-l298n.html/http://www.filipeflop.com/pd-6b80a-driver-motor-ponte-h-l298n.html/http://blog.filipeflop.com/wireless/tutorial-arduino-bluetooth-hc-05-mestre.htmlhttp://blog.filipeflop.com/wireless/tutorial-arduino-bluetooth-hc-05-mestre.htmlhttp://www.instructables.com/id/How-to-Build-an-Arduino-Powered-Chess-Playing-Robo/http://www.instructables.com/id/How-to-Build-an-Arduino-Powered-Chess-Playing-Robo/http://www.instructables.com/id/How-to-Build-an-Arduino-Powered-Chess-Playing-Robo/http://blog.filipeflop.com/wireless/tutorial-arduino-bluetooth-hc-05-mestre.htmlhttp://blog.filipeflop.com/wireless/tutorial-arduino-bluetooth-hc-05-mestre.htmlhttps://developer.bluetooth.org/TechnologyOverview/Pages/RFCOMM.aspxhttps://developer.bluetooth.org/TechnologyOverview/Pages/RFCOMM.aspx

  • Relatório Técnico: Ghost Chess 16

    Tabela 3: Tabela de custos do protótipo.

    Material $/Un QtdeMicrocontrolador Arduino mega 2560 98.00 1Shield Adafruit para motores. 22.00 1Módulo wireless ESP8266. 45.00 1Reed switches. 1.00 70Tabuleiro e peças de xadrez. 37.90 2Motor de passo 5,5 kgf. 65.00 1Motor de passo 1,2 kgf. 25.00 1Kit engrenagens Modelix 19.00 1Imã de ferrite 0.30 32Imã de neodímio 6.00 1Cabos diversos 25.00 -Rodas dentadas modelix 9.00 2Cremalheiras modelix 7.50 10Madeiras diversas 85.82 -Roda dentada para portão 29.00 1Roda dentada para portão 40.00 1Cremalheira para portão 9.00 4Acoplador para o motor 5,5 kgf 18.50 1Acoplador para o motor 1,2 kgf 14.50 1Parafusos 40.00 -Fita isolante 5.50 3Fita dupla face 20.00 2Serra de madeira 20.00 1Abraçadeiras 18.00 1Cola 5.60 1Diodos 1N4148 0.10 70Cadeado 16.90 1Motor de giro TG9n 12.90 1Ferro cilíndrico de 2 m de comprimento 65.70 1

    IntroduçãoEstrutura físicaMovimentação das peçasMesa X e YCaixoteEixo inferiorEixo superior

    Desenvolvimento eletrônicoLeitura das posições das peças no tabuleiroMotores

    Desenvolvimento do softwareAplicativo do jogo de xadrezInteligência artificial

    Integração do aplicativo com o arduinoComunicação

    ConclusãoOrçamento do protótipo