Mudanças entre as edições de "Relógio de Xadrez"

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
Linha 107: Linha 107:
 
* [[Usuário:Samuel.grigolato|Samuel Grigolato]]
 
* [[Usuário:Samuel.grigolato|Samuel Grigolato]]
 
* Seu nome aqui: _
 
* Seu nome aqui: _
  +
  +
[[Categoria:Projetos]]

Edição das 07h48min de 15 de dezembro de 2013

O quê?

Um projeto com a finalidade de construir um relógio para Xadrez.

Quando?

Os encontros ocorrem normalmente de quarta após o evento principal do Turing Clube.

Histórico

11/12/2013

  • Presentes:
    • Alexandre Souza
    • Samuel Grigolato
  • Resumo das atividades:
    • Desembalamos o microprocessador RL78 da Renesas, deixado no local pelo André Oliveira.
    • Constatamos que não havia tool chain para nos auxiliar no Linux (de forma precipitada, pois o André passou o seguinte link na lista no dia 12/12), e partimos para o Arduino UNO.
    • Definimos a especificação técnica do projeto.
    • Colocamos um botão para acender/apagar um LED, utilizando uma porta INPUT do Arduino para receber a leitura do botão e uma OUTPUT para acender/apagar o LED. Também escrevemos um Hello, World! em um display LCD 16x2.
    • Jogo paralelo de Xadrez, orquestrado pelo celular (2 minutos por jogada, para dar tempo de fazer outra coisa interessante, como subir um teste no Arduino UNO). Obviamente essa estratégia gerou jogadas engraçadas e peças entregues a preço de banana (pra não falar de graça).
    • Definimos que vamos utilizar o GitHub como repósitório git para os códigos útilizados.

Fotos:

Especificação Técnica

Nota: essa seção não tem o objetivo de ser fixada em pedra, ao contrário, a tendência é que mude semanalmente caso ideias mais interessantes sejam escolhidas pelos participantes. Propostas que foram enviadas mas não tiveram aceitação da maioria (ainda) vão parar na seção Ideias.

O projeto é composto por dois displays LCD 16x2 e dois botões de fliperama. Esses componentes estarão dispostos em um case montado na impressora 3D, assim:

   +--[B1]------------[B2]--+
   |                        |
   |  LP1             LP2   |
   |[      ]        [      ]|
   |                        |
   +------------------------+

Obs: B1/B2 são os botões (no topo da caixa), e LP1/LP2 são os displays. Cada display apresentará, na linha superior, o tempo restante do jogador e, na linha inferior, uma barra de progresso proporcional ao tempo configurado inicialmente. Por exemplo:

   +---------------+
   |05:00          |
   |###############|
   +---------------+
   +---------------+
   |01:15          |
   |####           |
   +---------------+

Na parte funcional, ele possui três situações distintas:

  • Parado, ou em configuração
  • Rodando
  • Estourado (you lose!)

Na situação Parado, o botão B1 permite rotacionar o valor inicial do relógio, dentre os seguintes valores: 0:30, 1:00, 2:00, 5:00, 10:00 e 30:00. O botão B2 passa para a situação Rodando.

Na situação Rodando, o tempo do jogador ativo descresce até que ele aperte seu respectivo botão. Caso os dois botões sejam apertados simultaneamente por mais de 2 segundos, o relógio é "resetado" e volta para a situação Parado. Caso o tempo de algum jogador termine, o relógio passa para a situação Estourado.

Na situação Estourado, o display do jogador que perdeu muda para (Alexandre, aprove aí, acabei de acrescentar isso, rsrs):

   +---------------+
   |# # # # # # # #|
   | # # # # # # # |
   +---------------+

E o botão B1 reinicia com a mesma configuração, enquanto o B2 reseta o relógio para a situação Parado.

O microcontrolador RL78/G13 será utilizado para interligar tudo.

Ideias

  • Usar displays de 7 dígitos
  • Usar LEDs para representar o jogador atual
  • Usar barra de LEDs para representar a barra de progresso
  • Usar buzzers para ficar apitando quando o tempo estiver próximo do fim
  • Usar o display HS-40101BS de 122x90x15mm
  • Usar o display 3208
  • Usar motor de passo
  • Usar os displays em disposição vertical, permitindo utilizar componentes maiores:
   +--[B1]------------[B2]--+
   |                        |
   |          LP1           |
   |    [             ]     |
   |          LP2           |
   |    [             ]     |
   |                        |
   +------------------------+
  • Usar um motor para controlar uma peça em uma "trilha", que anda conforme o tempo vai acabando:
   |______(p)_| ... |____(p)___| ... |_(p)______|
  • Implementar controles mecânicos para os botões, de forma que apenas um fique "para cima" em um determinado momento, como ocorre com os relógios de xadrez analógicos convencionais.

Quem?