Escolar Documentos
Profissional Documentos
Cultura Documentos
Relatório Técnico
Ghost Chess
Tabuleiro de xadrez automatizado
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écnico: Ghost Chess 2
2 Estrutura física
Esta seção tem por objetivo explanar o funcionamento e a montagem de toda a
estrutura física do protóripo feito pela equipe. Na seção 2.1 será explicado como
e 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.2 Mesa X e Y
Toda a montagem e idealização da estrutura do projeto serão explanadas nas
subseçõ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 em
seu 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 sua
montagem em três componentes básicos: o caixote, que isolará tanto a mesa X
e Y quanto a estação base do ambiente, o eixo superior e o eixo inferior.
2.2.1 Caixote
Para montar o eixo inferior precisou-se cortar quatro pedaços de madeira assim
como mostrado na Figura 4. Como pode-se perceber, dois tubos cilíndricos de
60 cm foram acoplados nos quatro pedaços de madeira, tendo-se assim duas
estruturas compostas por um tubo e dois pedaços de madeira nas extremidades
do 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
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. O
furo 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 de
madeira da base.
Depois, uma tábua de madeira de 60x6,2x1 cm foi acoplada aos pedaços de
madeira que servem de base para o eixo superior. Na parte inferior da tábua
foi acoplado o motor de passo 5,5 kgf de maneira perpendicular e central em
relação ao maior eixo da tábua. Na parte superior da tábua foram acopladas as
9 cremalheiras restantes e uma nova estrutura de um tubo cilíndrico no qual
são acoplados dois pedaços de madeira nas extremidades, assim como foi feito
no eixo inferior. No tubo desta nova estrutura, também precisou-se introduzir
uma base para o motor de passo de 1,2 kgf. Para acoplar os pedaços de madeira
da 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 a
base, 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 para
cima quando necessário. Um exemplo do funciomento da mesa X e Y pode ser
visto 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 no
protó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 no
protótipo e também dos componentes necessários para ligá-los ao arduino.
Relatório Técnico: Ghost Chess 8
Montar a matriz com apenas reed switches gera um fenômeno chamado "ghost
key". Quando este fenômeno ocorre, existem algumas falsas indicações de que
existem 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]. Para
contornar este problema foram colocados diodos 1N4148 em série com cada um
dos 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 diodo
por um pedaço de cabo. Para acoplar a matriz à madeira do tabuleiro foi usada
fita isolante. Uma maneira mais fácil e organizada porém mais cara de montar
a matriz está exposta em [5].
Relatório Técnico: Ghost Chess 9
3.2 Motores
No protótipo foram usados dois motores de passo, sendo um de 5,5 kgf de torque
e o outro de 1,2 kgf. O motor com mais torque foi usado no eixo inferior, por
ter que mover mais peso se comparado ao outro motor. Como o arduino não
consegue fornecer uma corrente suficiente para que os motores consigam se
movimentar adequadamente, fez-se necessário o uso do shield para motores
Adafruit [7]. No entanto, como o shield de motor adafruit tem uma capacidade
máxima de 600mA em suas saídas e o motor de passo de 5,5 kgf necessita de
mais 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 foram
ligados 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 os
motores, 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
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 xadrez
presente na estação base. Já na seção 4.2, é explanado quais informações são
trocadas entre a estação base e o arduino, assim como quais são as ações de
cada 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.
se inicia.
4.3 Comunicação
A forma escolhida para a comunicação do projeto foi o Bluetooth e o módulo
utilizado no arduido foi o HC-05 [11]. Para estabelecer a comunicação entre o
computador e o módulo a primeira coisa a ser feita é estabelecer o pareamento
entre ambos os dispositivos, para isso o módulo HC-05 possuim uma senha de
pareamento 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ção
cliente 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 posteriormente
são modificados para o formato String no software.
Relatório Técnico: Ghost Chess 13
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 estar
o campo magnético para que eles fechem o circuito, então a matriz se comporta
de maneira que a peça tem que estar em uma lugar específico na casa para que
o 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 sejam
reconhecidas pelos reed switches. Outra solução para este problema seria o uso
de 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 utilizadas
durante 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, assim
como a integração de um temporizador para as jogadas no software e no tabu-
leiro do jogo.
Referências
[1] Leitão .P Souza .F, Gonçalves .J. Sistema robotizado de xadrez. Instituto
Politécnico de Bragança.
[3] https:http://www.kitsderobotica.com.br/242-engrenagem-60d.
[4] http://www.baudaeletronica.com.br/media/catalog/product/r/
e/reed_switch.jpg/.
[7] https://www.adafruit.com/category/21.
[9] http://blog.filipeflop.com/wireless/tutorial-arduino-
bluetooth-hc-05-mestre.html.
[11] http://blog.filipeflop.com/wireless/tutorial-arduino-
bluetooth-hc-05-mestre.html.
[13] https://developer.bluetooth.org/TechnologyOverview/Pages/
RFCOMM.aspx.
Relatório Técnico: Ghost Chess 16