Índice:

Quebra-cabeça com base em cores: 6 etapas
Quebra-cabeça com base em cores: 6 etapas

Vídeo: Quebra-cabeça com base em cores: 6 etapas

Vídeo: Quebra-cabeça com base em cores: 6 etapas
Vídeo: Como Resolver Rapidamente um Cubo de Rubik 3x3 | O Tutorial Mais Fácil 2024, Julho
Anonim
Quebra-cabeça baseado em cores
Quebra-cabeça baseado em cores
Quebra-cabeça baseado em cores
Quebra-cabeça baseado em cores

Ei!

Para um projeto escolar chamado "If This Then That", tive que construir um objeto interativo usando o Arduino. Decidi construir um quebra-cabeça baseado em cores com um sistema de feedback simples.

O que faz (em resumo):

  1. Ele determina a cor do objeto acima do sensor de cores.
  2. Ele verifica se essa cor corresponde à solução correta.
  3. Ou levanta o sinal "você morreu" ou não, dependendo do tempo em que o quebra-cabeça foi resolvido ou não.

Então você pode pensar que esse quebra-cabeça é fácil de resolver?

Bem, para alguém que sabe como funciona meio que é, mesmo que você possa mudar a solução! Mas não se preocupe, para alguém que não tem ideia de como funciona, parece mágica. Na minha experiência, muitas pessoas pensaram que o quebra-cabeça tinha a ver com peso, não com cor. E, para não esquecer, você é o mestre do quebra-cabeça, quantas pistas você der depende de você.

Como eu (gostaria) de usá-lo:

Eu gostaria de usar este quebra-cabeça como uma parte interativa da minha campanha de D&D.

Etapa 1: Materiais

Materiais
Materiais
Materiais
Materiais

Você precisará dos seguintes itens antes de começar a construir:

Em geral:

Um cérebro (criativo) para inventar um quebra-cabeça

Coisas do Arduino:

  • Arduino Uno
  • Tábua de pão
  • Um servo motor
  • (TCS3200) Sensor de cor
  • 7x Macho - Fios de jumper fêmea (de preferência de todas as cores, altamente recomendado)
  • 11x Macho - Fios de ligação macho
  • powerbank (caso você queira que funcione sem o seu computador / laptop)

Carcaça:

  • Uma caixa (sapato) com tampa (para montar o quebra-cabeça)
  • alguns pedaços de papelão (para fazer as paredes, pilar no meio e sinal de você morreu)
  • Blocos de madeira, (pelo menos) um lado deve ser maior que o sensor de cores.
  • pintar: preto, vermelho, azul e verde (e quaisquer cores adicionais, se desejar *)
  • Folha A4 de papel branco
  • Tesoura
  • Um marcador preto
  • Fita adesiva dupla-face forte
  • Um lápis
  • Cola instantânea
  • Faca de descascar ou faca Stanley

* pequena nota lateral sobre as cores: inicialmente eu também usei roxo, mas o sensor não conseguiu distinguir vermelho e roxo, então eu o deixei de fora. Esteja ciente de que outras cores podem não funcionar tão bem também (mas podem, eu não tentei). Meu sensor era barato, um sensor mais preciso provavelmente pode distinguir mais cores.

Etapa 2: o quebra-cabeça

O quebra-cabeça
O quebra-cabeça

A parte mais importante deste projeto é ter um bom quebra-cabeça para decifrar o cérebro.

Como você pode ver na primeira foto (aquela com a introdução), eu pintei runas nórdicas nos meus blocos (em todos os lados, exceto na parte inferior). Eles têm a ver com o quebra-cabeça. Em seguida, colei uma pergunta simples no caso: "A verdadeira riqueza é …?".

Usei a imagem acima para traduzir as runas. Eu também dei as traduções para as pessoas que tentaram meu quebra-cabeça.

A solução para o quebra-cabeça:

A verdadeira riqueza é felicidade!

Então o que o jogador precisa fazer é substituir o tesouro (bloco com o símbolo de riqueza) pelo bloco com o símbolo de felicidade nele.

Sinta-se à vontade para usar meu quebra-cabeça, mas eu o encorajo a criar o seu próprio.

Etapa 3: a fiação

A fiação
A fiação
A fiação
A fiação

A fiação é bastante simples, pois há apenas 2 componentes (e o arduino). Na descrição utilizo o número mínimo de fios, se quiser usar mais, fique à vontade para fazê-lo. (Usei mais fios na foto)

Arduino para a placa de ensaio: (Use 2 fios Macho - Macho)

  1. conecte o pino de 5 V ao lado + da placa de ensaio.
  2. conecte um dos pinos de aterramento ao lado - da placa de ensaio.

O servo: (Use 3 fios Macho - Macho)

o servo tem três fios: potência, terra e sinal.

  1. A alimentação é normalmente um fio vermelho, conecte este fio ao lado + da sua placa de ensaio.
  2. O aterramento é normalmente um fio preto ou marrom, conecte esse fio na lateral da placa de ensaio.
  3. O sinal é normalmente um fio amarelo ou laranja, conecte este fio a uma fileira horizontal em sua placa de ensaio. *

O sensor de cores: (Use 7 fios Macho - Fêmea)

  1. VCC: conecte este fio ao lado + da sua placa de ensaio (é a alimentação).
  2. GND: conecte este fio ao lado - da placa de ensaio (é o aterramento).
  3. S0: conecte este fio a uma linha horizontal em sua placa de ensaio. *
  4. S1: conecte este fio a uma linha horizontal em sua placa de ensaio. *
  5. S2: conecte este fio a uma linha horizontal em sua placa de ensaio. *
  6. S3: conecte este fio a uma linha horizontal em sua placa de ensaio. *
  7. OUT: conecte este fio a uma linha horizontal em sua placa de ensaio. *

* Não estou dizendo exatamente onde fixá-lo na placa de ensaio porque é mais fácil descobrir por si mesmo o que é melhor em combinação com sua construção.

Placa de ensaio para Arduino: ** (use 6 fios Macho - Macho)

É bom ver se tudo funciona antes de colocá-lo na caixa, lembre-se que para isso é necessário retirar esses cabos e colocá-los de volta mais tarde. Certifique-se de lembrar ou anotar qual cabo está conectado a qual.

  1. conecte a linha que você conectou ao pino de sinal do servo ao pino 9 no Arduino.
  2. conecte a linha que você conectou ao pino S0 do sensor de cor ao pino 4 no Arduino.
  3. conecte a linha que você conectou ao pino S1 do sensor de cor ao pino 5 no Arduino.
  4. conecte a linha que você conectou ao pino S2 do sensor de cor ao pino 6 no Arduino.
  5. conecte a linha que você conectou ao pino S3 do sensor de cor ao pino 7 no Arduino.
  6. conecte a linha que você conectou ao pino OUT do sensor de cor ao pino 8 no Arduino.

** as linhas que me refiro acima aqui são as do seu breadboard.

Etapa 4: O Código

No anexo aqui você encontrará o código necessário para executar este projeto. Os comentários no código devem ser claros sobre o que ele faz. Se você quiser informações mais detalhadas sobre como o sensor de cores funciona (para se você quiser entender totalmente o código), eu recomendo que você verifique estes tutoriais "Como funciona o sensor?" seção.

Embora você ainda não tenha feito isso, há algumas coisas que você precisa ajustar no código:

  • Ajuste as variáveis.
  • Ajuste as declarações if para se adequarem ao seu enigma (se necessário).

É útil fazer o pilar e pintar os blocos da próxima etapa antes de ajustar as variáveis para que você não precise fazer isso novamente.

Ajuste as variáveis:

Se você montou a fiação corretamente, o código deve funcionar, pegue um pedaço de papel, uma caneta e os blocos (pintados). *

  1. Comente temporário a função void checkRiddle fora do código. (para que essa parte não corra)
  2. Faça upload do código para o seu Arduino.
  3. Abra o monitor serial, ele começará a funcionar e mostrará R = … G = … B = … (e mais algumas coisas, elas não importam agora)
  4. Segure um bloco colorido bem na frente do sensor (o mais próximo possível em seu design final) por alguns segundos.
  5. Enquanto o segura na frente do sensor, desligue o Arduino. (retire-o da porta USB)
  6. Anote os valores externos (mais alto e mais baixo) que o sensor de cores mediu em cada cor (R, G e B).
  7. Escolha os dois valores que variam menos (por exemplo R e B). **
  8. Conte +10 no valor mais alto e -10 no valor mais baixo para que o sensor possa cometer pequenos erros.
  9. Agora substitua os valores no código pelos que você tem agora. (Um comentário diz quais valores você deve substituir)
  10. Se você estiver usando uma cor diferente da minha, altere também o serial.print.
  11. Agora, carregue novamente o código para seu Arduino com ele usando seus valores medidos recentemente.
  12. Teste se o monitor serial imprime bem a cor que você acabou de inserir no código, segurando o bloco da mesma cor na frente dele. Certifique-se de que esteja consistente, contanto que você o segure na frente do sensor.
  13. Se não:: (verifique os valores, veja se você precisa aumentar o intervalo. Se sim::) o código agora reconhece esta cor.
  14. Agora repita este processo (etapas 4 - 13) até que todas as cores que deseja usar estejam integradas no código.
  15. Não se esqueça de descomentar a função void checkRiddle!

* vá para a etapa "o caso" primeiro se você ainda não os pintou.

** você pode ser mais preciso se quiser usando todos os 3 (R, G e B), mas para este projeto isso não é necessário.

Ajuste as declarações if ao seu enigma: (somente se você quiser mudar a solução)

Etapa 5: o caso e pintando os blocos

O caso e pintando os blocos
O caso e pintando os blocos
O caso e pintando os blocos
O caso e pintando os blocos
O caso e pintando os blocos
O caso e pintando os blocos
O caso e pintando os blocos
O caso e pintando os blocos

O case é um pouco complicado, mas não é difícil de fazer, trata-se principalmente de ter as medidas corretas. Não estou fornecendo minhas medidas porque (muito provavelmente) não estamos usando materiais do mesmo tamanho.

Pintando os blocos:

Pinte os blocos nas cores que deseja usar. Recomendo vermelho, verde e azul porque é mais fácil distinguir aqueles com sensor.

Se você não estiver fazendo seu próprio quebra-cabeça, pinte as runas também.

O pilar:

O pilar serve para ocultar (parcialmente) o sensor de cor e os cabos conectados a ele. Para determinar as medidas do pilar, você precisa medir os lados de seu sensor de cor e determinar a altura que deseja que seu pilar tenha (aquele que você veja na foto é de 3 cm de altura). Em seguida, desenhe no papelão e recorte, você pode pintar se quiser.

Prenda os fios ao sensor ANTES de colocá-lo no pilar, você não conseguirá mais alcançar os pinos.

Usei a fita adesiva dupla-face para prender o sensor dentro do pilar. Você pode ver isso na terceira foto.

Certifique-se de que os leds no sensor estão dentro do pilar (não sobre a borda), os blocos precisam ficar sobre ele mais tarde.

O sinal de "você morreu":

Corte um pedaço de papelão e escreva "você morreu" nele. Como você pode ver na primeira foto, colei a foto de um homem zangado com uma espada do outro lado. Certifique-se de que a placa tenha uma saliência na parte inferior. Use a saliência para colar o sinal no servo.

Criando a sala:

  1. Pinte a caixa que você escolheu para o caso. (Da cor que você quiser, usei preto)
  2. Desenhe a forma da sala na parte inferior da caixa para determinar o comprimento das paredes. (Meça as linhas com uma régua).
  3. Determine a altura que você deseja que as paredes tenham. As paredes no meu exemplo têm 5 centímetros de altura.
  4. Agora que você tem as dimensões de suas paredes, desenhe-as no papelão e recorte-as.
  5. Pintar as paredes. (Eu os pintei de preto)
  6. Cole as paredes na caixa, nas linhas que você desenhou antes.

Agora você tem a sala configurada.

Orifícios para os cabos e a placa:

Você precisa fazer dois furos na caixa, um para os cabos e outro para a placa "você morreu". e tenha cuidado! os orifícios não podem ser removidos depois de lá estarem.

faça um buraco sob o local onde deseja que o sensor de cores fique. Faça o furo o menor possível, mas evite tensão nos cabos, você não quer que eles se soltem.

O buraco para a placa "você morreu" precisa ser um pouco mais grosso do que o papelão que você está usando, para que possa sair sem bater na caixa. O comprimento do buraco depende do tamanho do sinal. Use uma faca Stanley ou faca para fazer o buraco.

Agora use a fita dupla-face para prender o servo motor na lateral da caixa.

Etapa 6: Alguma dúvida ??

Portanto, agora você deve ser capaz de construir um incrível quebra-cabeça baseado em cores com o Arduino. Se você tiver alguma dúvida, pergunte!

Divirta-se construindo!

Recomendado: