Índice:
Vídeo: Octarine: um jogo de combinação de cores com LEDs RGB WS2812: 6 etapas
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Octarine, a cor da magia. Estava vivo e brilhante e era o pigmento indiscutível da imaginação, porque onde quer que aparecesse era um sinal de que a mera matéria era serva dos poderes da mente mágica. Foi o próprio encantamento.
Mas Rincewind sempre achou que parecia uma espécie de roxo-esverdeado.
- Terry Pratchett - The Color Of Magic
Todas as cores ficam encantadas e você deve libertá-las uma a uma. Três feitiços mágicos irão ajudá-lo em sua busca.
P. S. Neste projeto eu uso extensivamente operadores binários e máscaras binárias, então eles podem ser usados por educadores de Ciência da Computação para fins de ensino de lógica booleana de uma forma divertida e gamificada.
Suprimentos
1x Arduino Nano / Uno ou outra placa compatível. Na verdade, o projeto usa 5 pinos digitais e menos de 6 KB de memória. Portanto, a placa baseada em Attiny85 também deve funcionar bem.
4 botões táteis. Se preferir, você pode usar os botões do sensor.
1x faixa ou barra de LED WS2812 com 8 LEDs RGB controláveis.
1 placa de ensaio ou placa de prototipagem PCB, se preferir.
Fios de jumper da placa de ensaio.
Etapa 1: Regras do jogo
A interface do jogo possui 8 LEDs RGB. O objetivo é fazer com que todos brilhem com a mesma cor. É vermelho no primeiro “mundo”, laranja no segundo, amarelo no terceiro, etc.
Existem 3 botões principais. Cada um deles muda as cores de quatro LEDs de acordo com a máscara binária. Por exemplo, o primeiro botão tem a máscara 11110000. Isso significa que ele muda as cores dos primeiros quatro LEDs. Existe também um botão “Shift” que inverte uma máscara. Se o jogador pressionar o botão Shift + Primeiro, a máscara será 00001111 e os quatro últimos LEDs serão afetados. As cores estão sendo alteradas ciclicamente.
A imagem anexada descreve todas as máscaras.
Etapa 2: Design de níveis
O jogo consiste em “mundos” de oito subníveis cada. O primeiro mundo é “Vermelho” e todos os LEDs aqui podem estar em apenas dois estados: em branco e vermelho. Em cada subnível, mais etapas aleatórias são aplicadas, de modo que a dificuldade aumenta gradualmente. Quando você passa por um mundo (ou seja, todos os subníveis), você resgata a próxima cor. Portanto, no segundo mundo (“laranja”), todos os LEDs têm três estados: em branco, vermelho e laranja. Ou seja, cada próximo mundo é mais desafiador do que o anterior.
O que acontece no 8º (“Octarine”) mundo … bem … pura magia.
Etapa 3: o circuito
Depende da placa particular que você usa, mas eu recomendo fortemente o uso de fonte de alimentação externa para LEDs.
Usei os pinos 2, 3, 4 e 5 para os botões. Se você usar outro microcontrolador ou pinos, não se esqueça de modificá-lo no código do programa.
Etapa 4: O Código
Aqui você pode encontrar a versão mais recente do código-fonte.
Etapa 5: Teste
Etapa 6: Então, o que vem a seguir?
Você deve ter notado que o jogo, na verdade, não possui o 8º mundo (Octarino). Foi feito intencionalmente. Magia … não é algo que deva ser reproduzido com exatidão.
Eu o encorajo a construir seu próprio 8º mundo. Por exemplo, você pode fazer o jogador organizar a matriz colorida do arco-íris em vez de monocromática ou implementar células com cores variáveis. Você decide. Faça sua própria mágica do seu jeito.