Índice:
Vídeo: Jogo Arduino Battleship: 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Lembro-me de jogar uma versão com papel e lápis do Jogo do Navio de Guerra quando criança. Na verdade, ele existe desde a Primeira Guerra Mundial. Eu também tinha uma variante "eletrônica" no início dos anos 1960 chamada "Sonar Sub Hunt" que tinha luzes e sons e minas escondidas. Pelos padrões de videogame de hoje, Battleship é muito chato, mas pensei que faria um de qualquer maneira, só para ver o que os netos pensavam sobre isso. Afinal, às vezes retrô pode ser legal.
Existem pedaços deste projeto que seriam úteis em outro lugar, mesmo se você não estiver interessado em fazer o jogo Battleship. Ele tem uma interface simples de LCD 1602 de 4 bits que inclui uma rotina para definir a localização de um caractere específico. Também existe uma interface para decodificar uma matriz de switch 4x4. Essas duas interfaces estão disponíveis como arquivos de inclusão separados para que sejam facilmente transportáveis. O jogo também tem várias rotinas de efeitos sonoros e um circuito amplificador de áudio simples de um transistor.
Etapa 1: Hardware
O esquema apresentado aqui é para um único jogador, portanto, duas unidades precisariam ser feitas. As unidades se comunicam usando uma interface de 3 fios que inclui as linhas UART TX e RX e um fio terra. Eu escolhi usar um fone de ouvido estéreo padrão de 1/8 de polegada e um cabo padrão com plugues machos em ambas as extremidades. O RX de uma caixa vai para o TX da outra caixa e vice-versa. Você pode fazer isso trocando os fios soldados ao conector do fone de ouvido dentro da caixa ou trocando-os na placa de circuito ao construí-la.
O jogo clássico foi planejado como uma matriz, mas decidi fazer uma implementação simples usando um LCD 1602 para a tela. A primeira linha mostra a localização do navio do jogador e os tiros do oponente. A segunda linha mostra os tiros do jogador e quaisquer acertos nos navios do oponente. Isso fornece 16 localizações possíveis para navios. O número de navios é definido no software e eu escolhi 5 arbitrariamente.
Os 16 locais de envio se ajustam perfeitamente aos requisitos do switch porque permitem uma matriz 4x4. Existem painéis de comutação de matriz 4x4 disponíveis, mas optei por usar interruptores individuais em uma única linha para corresponder à exibição linear. No entanto, conectei os interruptores como uma matriz 4x4, de modo que apenas oito pinos do Arduino sejam necessários. Consulte o diagrama de fiação da chave e o esquema para as conexões adequadas.
O display LCD é conectado para uma interface de 4 bits. Também adicionei um LED externo no pino D13 para indicar qual jogador deve tirar uma foto. Inicialmente, os jogadores decidem quem dá o primeiro tiro e, em seguida, o software controla automaticamente o vaivém do jogo.
Eu queria adicionar efeitos sonoros simples para o tiro, as explosões, o jogo pronto e o vencedor / perdedor. Tentei usar uma campainha piezoelétrica simples, mas acabei com um pequeno alto-falante. A corrente exigida pelo alto-falante excede o que o Arduino pode suportar, então um amplificador de transistor simples foi adicionado. O som ainda não é bom, mas é melhor do que com a campainha. Meu alto-falante tem 4 ohms, mas se você tiver um de 8 ohms, mude o resistor no esquema de 39 ohms para 33 ohms. Se você usar uma campainha piezoelétrica, deverá ser capaz de acioná-la diretamente do pino do Arduino com o outro lado da campainha conectado ao aterramento.
Uma chave de reinicialização externa também está incluída e é conectada diretamente entre o aterramento e o pino de “reinicialização” no Arduino. Isso fornece os meios para reiniciar o jogo.
Etapa 2: Software
O software tem o arquivo de inclusão para minha interface LCD e também criei um arquivo de inclusão para a digitalização de matriz de switch 4x4. A inicialização avisa o jogador para selecionar os locais para seus navios e então vai para um estado “Pronto”. Quando os dois jogadores estiverem prontos, um deles inicia o jogo pressionando um botão.
O local do tiro é transmitido através do UART para o outro jogador e o resultado apropriado é transmitido de volta para o jogador que disparou. Como mencionado anteriormente, uma vez que a primeira foto é tirada, o software controla quem tira a próxima. Antes de uma foto ser transmitida, ela é verificada em relação aos locais das fotos anteriores. Se esse local já tiver sido usado, o tiro não será transmitido. O LED “My_Shot” determina de quem é a vez. Há também um som de tiro gerado para uma seleção válida e um som de explosão se um navio for atingido. Os efeitos sonoros são derivados de exemplos encontrados online com modificações para se adequar ao jogo.
Assim que os navios do oponente forem todos atingidos, uma mensagem é exibida em cada LCD - um como o vencedor e o outro como o perdedor. A mensagem também especifica que o jogo pode ser reiniciado pressionando o botão reset. Existem também efeitos sonoros separados para o vencedor e o perdedor.
Etapa 3: capturas de tela
Aqui estão algumas capturas de tela do jogo. É isso para este post. Confira meus outros Instructables e também meu site em: www.boomerrules.wordpress.com
Recomendado:
Jogo eletrônico do jogo da velha em uma caixa de madeira: 5 etapas
Jogo eletrônico do jogo da velha em uma caixa de madeira: Olá, eu apresento o jogo engraçado do jogo da velha em uma nova edição. Pesquisei na web por projetos semelhantes, mas a ideia aqui é única. ESPERO:) Então, vamos começar agora
Jogo Aruduino LED Jogo de dois jogadores com cliques rápidos: 8 etapas
Aruduino LED Game Jogo de dois jogadores com cliques rápidos: Este projeto é inspirado em @HassonAlkeim. Se você estiver disposto a dar uma olhada profunda, aqui está um link que você pode verificar https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/. Este jogo é uma versão melhorada do Alkeim. É um
Controlador de jogo DIY baseado em Arduino - Controlador de jogo Arduino PS2 - Jogando Tekken com gamepad Arduino DIY: 7 etapas
Controlador de jogo DIY baseado em Arduino | Controlador de jogo Arduino PS2 | Jogando Tekken com DIY Arduino Gamepad: Olá pessoal, jogar é sempre divertido, mas jogar com seu próprio controlador de jogo DIY personalizado é mais divertido. Portanto, faremos um controlador de jogo usando arduino pro micro neste instructables
Controlador de jogo Arduino com luzes que respondem ao seu jogo Unity :: 24 etapas
Controlador de jogo Arduino com luzes que respondem ao seu jogo Unity :: Primeiro, escrevi isso em palavras. Esta é a primeira vez que uso instructable so sempre que digo: escreva código assim, saiba que estou me referindo à imagem no topo dessa etapa. Neste projeto eu uso 2 arduino ’ s para executar 2 bits separados
Como verificar se um jogo será executado em seu computador antes de comprar o jogo .: 4 etapas
Como verificar se um jogo pode rodar no seu computador antes de comprá-lo .: Adquiri recentemente o Call of Duty 4 de um amigo (de graça, devo acrescentar) porque não rodava no computador dele. Bem, o computador dele é relativamente novo e fiquei perplexo porque não funcionava. Depois de algumas horas de pesquisa na Internet, descobri