Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Olá amigos, hoje quero compartilhar este único projeto. Trata-se de um jogo de quebra-cabeça numérico com arduino, cujo jogo é exibido na TV e controlado por um teclado de (4x4)
Veja o vídeo aqui
Para deslizar ou movimentar o quadrado do quebra-cabeça, pressione a tecla de acordo com a posição do quadrado desejado. Por exemplo, conforme mostrado na imagem, se você deseja mover o quadrado com o número 5 (que tem a quarta posição) para a esquerda (porque há uma posição vazia), pressione a tecla '4' no teclado, porque é a quarta posição no teclado.
Se você gosta deste projeto, vote nele no concurso de quebra-cabeças.
Obrigado
Etapa 1: Lista de componentes
Os materiais usados para este projeto são:
- Arduino Um ou outro modelo.
- TV com saída de vídeo.
- Cabo de vídeo RCA.
- (1) resistor de 1k ohms.
- (1) resistor de 470 ohms.
- Teclado hexadecimal.
- Jumpers.
Etapa 2: conectando o Arduino à TV
Baixe esta biblioteca e importe-a para o esboço.
Primeiro, adicione os resistores em linha a algum fio de conexão.
O cabo RCA terá 2 fios, um fio terra e um fio de vídeo.
O resistor de 1k ohm é conectado ao pino 9 do Arduino.
O 470 ohm é conectado ao pino 7 do Arduino.
Junte as extremidades dos resistores e conecte-o ao cabo de vídeo.
O fio GND do cabo RCA vai para o GND do Arduino.
Se tiver problemas na compilação, extraia as 3 pastas da pasta da biblioteca.
Etapa 3: Conecte o teclado
Pin Arduino | Teclado |
---|---|
13 | Linha 0 |
6 | Linha 1 |
5 | Linha 2 |
4 | Linha 3 |
3 | Col 0 |
2 | Col 1 |
1 | Col 2 |
0 | Col 3 |
Monte o projeto conforme mostrado na imagem.
Etapa 4: O Código
Os números (1 a 16) são armazenados em uma matriz.
O número 16 representa a posição vazia.
Para embaralhar os números, pressione a tecla 'A' (no início do jogo), isso chama um procedimento que embaralha os números do array e, posteriormente, são exibidos na tela.
Quando você pressiona alguma tecla no teclado, o programa verifica se há alguma posição vazia na posição próxima
(esquerda, direita, para cima ou para baixo). Conforme mostrado na imagem: Se a tecla '1' for pressionada, verifica as posições próximas.
switch (chave) {
caso 1':
mudar (0, 1); // A posição do array (0), verifica a posição do array (1).
mudar (0, 4); // A posição do array (0), verifica a posição do array (4).
pausa;
…………
A função CHANGE troca os números na matriz e a tela é atualizada com os números.
O jogo termina quando a matriz está na ordem correta: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}
Baixe o código completo aqui.
Se você gosta deste projeto, vote nele no concurso de quebra-cabeças e no concurso de criadores de olimpíadas
Obrigado