Índice:

Jogo de tesoura de pedra de papel Arduino portátil usando display LCD 20x4 com I2C: 7 etapas
Jogo de tesoura de pedra de papel Arduino portátil usando display LCD 20x4 com I2C: 7 etapas
Anonim
Jogo de tesoura de pedra de papel Arduino portátil usando display LCD 20x4 com I2C
Jogo de tesoura de pedra de papel Arduino portátil usando display LCD 20x4 com I2C
Jogo de tesoura de pedra de papel Arduino portátil usando display LCD 20x4 com I2C
Jogo de tesoura de pedra de papel Arduino portátil usando display LCD 20x4 com I2C
Jogo de tesoura de pedra de papel Arduino portátil usando display LCD 20x4 com I2C
Jogo de tesoura de pedra de papel Arduino portátil usando display LCD 20x4 com I2C

Olá a todos ou talvez devesse dizer "Olá, mundo!"

Seria um grande prazer compartilhar com você um projeto que foi minha entrada em muitas coisas do Arduino. Este é um jogo Arduino Paper Rock Scissors portátil usando um display LCD I2C 20x4. Eu sei que você pode estar pensando, "Outro jogo Paper Rock Scissors?" Mas a maioria dos jogos Arduino Paper Rock Scissors usam LEDs simples e também vi um que usava símbolos de papel levantados por servos. Esses são legais. Este projeto usa display LCD 20x4 e fez um com I2C e outro sem (não mostrado aqui). Queria uma caixa barata com um visual acabado, não apenas uma bagunça de tábua de pão. Nem todo mundo tem acesso a uma impressora 3D e quer pagar alguém que tem. E eu queria que fosse fácil de fazer para que eu pudesse compartilhar as ideias com outras pessoas. Como minhas habilidades de programação são de nível iniciante, o esboço é bastante simples e fácil de entender e editar. Esta foi minha educação pessoal para criar um esboço. Você encontrará muitas notas no esboço e ele passou por muitas, muitas (mais de 20?) Iterações até que eu acredite que esteja certo. O projeto custa menos de $ 20 para ser feito (não I2C).

Comecei com o Arduino em 2018, visitei o site deles e li tudo o que pude. Construiu e experimentou os projetos de exemplo com os quais ele vem e leu muitos Instructables que muitos de vocês compartilharam ao longo dos anos. Eu realmente os aprecio e aprendi muito com todos vocês. Obrigada. Agora quero compartilhar um pouco do que aprendi adicionando minha própria criatividade. Antes que a seção de comentários se acumule com muitas perguntas sobre como fazer isso e tenha em mente que comecei isso sem nenhuma experiência em Arduino. Aprendi construindo os projetos de exemplo nos sites do Arduino e do Instructables. Aprendi com vocês. Quando você fica travado, essa pode ser a maneira mais rápida de encontrar uma solução.

Etapa 1: Introdução ao Projeto

Introdução ao Projeto
Introdução ao Projeto
Introdução ao Projeto
Introdução ao Projeto

Selecionou o display LCD da Amazon e escolheu o LCD I2C 20x4 devido ao baixo custo (cerca de US $ 12 - US $ 18) e facilidade de fiação e programação. Se quiser, você pode usar um sem I2C e pode conseguir um tão barato quanto $ 7. Mas você precisará usar uma biblioteca e um esquema de fiação diferentes e usar mais pinos do Arduino. Não se preocupe, é o suficiente para ir de qualquer maneira. Serial I2C 20x4 seria mais fácil de construir, menos fios são menos confusos. Mas o LCD paralelo 20x4 é cerca de US $ 5 mais barato. Desenhei esquemas para ambos os esquemas de fiação. A maioria das outras peças eu comprei na Amazon e em algumas lojas locais. Minha caixa é uma caixa vazia de mix de bebida de cappuccino. Gosto que a tampa se abra facilmente para ligar / desligar, trabalhar em qualquer componente ou trocar a bateria. E "Ei!" a caixa era de graça e eu gosto de cappuccino. Reciclar plástico é bom para o meio ambiente. Você pode usar qualquer caixa que quiser para que tudo se encaixe ou até mesmo pular a caixa ou placa do pão do projeto. Eu queria um "visual de projeto acabado" barato. Aposto que alguém cria uma versão impressa em 3D. O Arduino joga o jogo Paper Rock Scissors com você no LCD, mantém a pontuação, você pode inserir com os botões e, se escolher, existe uma opção que permite trapacear. Originalmente, o recurso de cheat foi escrito para fins de depuração e quando terminei comentei-o. Só para me divertir, coloquei-o de volta.

Etapa 2: tábua de pão

Tábua de pão
Tábua de pão
Tábua de pão
Tábua de pão

Eu embaralhei meus circuitos usando o Arduino Uno, mas ao montar tudo usei o Arduino Nano porque ele se encaixa melhor na caixa. Portanto, você pode construir isso com qualquer um. Mas lembre-se de alterar algumas configurações no IDE. O Nano é instalado na parte traseira do LCD usando Command Strips ou fita adesiva dupla-face. Posicione o Arduino Nano ao lado da placa I2C piggyback de forma que o conector USB fique voltado para fora (à direita do LCD). Você pode usar uma caixa de bateria 9v ou 4x AA (o que lhe dá 6v) com interruptor deslizante SPST para alimentação montada dentro da caixa também com faixas de comando. Construído nos dois sentidos, o Arduino tem um regulador de voltagem integrado que o reduz para os 5 volts de que precisa. Se você pensar sobre isso, este jogo pode realmente reciclar "baterias de 9v quase totalmente mortas" para obter energia e funcionar bem. (Você troca as baterias dos detectores de fumaça duas vezes por ano, certo?) Outros dispositivos que usam uma bateria de 9v podem dizer que ela acabou com 6 - 8 volts; mas não está morto até que seja "Arduino Dead!"

Enquanto desenhava o projeto, usei 4 botões SPST para entrada. Mas construir o jogo finalizado na caixa usei 5 botões SPST pensando que no futuro eu poderia tentar fazer um jogo que precisasse de mais botões. Talvez um jogo de labirinto? Um divisor de tensão do resistor para os botões é montado em um pedaço de placa protetora que também pode ser montado com faixas de comando.

Etapa 3: Montagem

conjunto
conjunto
conjunto
conjunto
conjunto
conjunto

Conjunto:

Os 4 conjuntos principais são o LCD com placa opcional I2C piggyback, Arduino Nano, os resistores e interruptores encadeados à placa protetora de interconexão e a caixa da bateria com interruptor liga / desliga.

Você deve começar fazendo o bread-boarding no circuito ou conectando a protoplaca seguindo o esquema. Gosto de guardar o LCD voltado para baixo na tampa da caixa para não arranhá-lo. Usei um conector em apenas um lado do Arduino que tem 5v para conectá-lo à placa proto. Fiz uma ponte com 3 conectores (muito trabalho de solda) do Arduino para a placa proto para que eles fiquem planos na parte de trás do LCD com faixas de comando ou fita adesiva dupla-face. Mas, na verdade, as placas podem ser conectadas apenas soldando fios de uma à outra. Usei um conector fêmea para conectar a placa proto ao LCD I2C. As pernas do resistor da protoplaca podem ser usadas para fazer os 5 pontos de solda dos botões. A outra perna de cada botão vai para o pino A0 do Arduino. Cada botão precisará de 2 fios soldados. Use um ohmímetro para determinar quais pernas de botão usar, mas geralmente você não pode dar errado com pernas não adjacentes (diagonais uma da outra).

Escolha suas configurações para seu Arduino no IDE. Baixe o esboço e carregue-o no Arduino e teste / solução de problemas.

Pronto para colocá-lo em uma caixa? Retirei a etiqueta do cappuccino, lavei e sequei minha caixa. Medido com cuidado e cortar o orifício na caixa do LCD, como você pode ver, ele é montado com 3 pinos aparafusados a três orifícios de canto do LCD (2 na parte inferior da caixa, 1 perto da tampa) apenas o tempo suficiente para alcançar o parte de trás da caixa e mantenha-a no lugar com fricção. O orifício do parafuso no LCD da placa traseira pode estar muito próximo ao terminal, então eu o omiti. Use uma faca Exacto para fazer orifícios-piloto para os parafusos nos tarugos para que eles não se partam (cuidado, não escorregue e se apunhale, segure os tarugos com um alicate). Tive que dobrar / dobrar a caixa um pouco para a instalação final, mas ela voltou à forma adequada. Os orifícios para os botões são "furados" posicionando-os (traçar linhas com régua) e aquecendo os terminais com um ferro de solda até que "derretam" na caixa. Em seguida, removeu os botões após eles esfriarem e soldar pedaços de fio CAT 5e de 6 "- 9" ou fio de 18ga a 22ga aos botões. Instale os botões primeiro com o fio de volta em seus orifícios e depois solde à protoplaca do resistor. Um ponto de supercola, cola quente ou mesmo apenas fricção vai manter os botões no lugar. Em uma construção, usei alguns splicers de cabo telefônico (os círculos vermelhos nos blocos de plástico transparentes) para ajudar a tornar mais fácil o último punhado de conexões entre a caixa da bateria, a protoplaca do resistor e o conjunto LCD / Arduino. Se você quiser, pode usar solda e termorretrátil. Em seguida, empurre com cuidado e devagar todos os fios e componentes para dentro da caixa e feche a tampa. Você instalou uma bateria e carregou o esboço do Arduino antes de fazer tudo isso? Você também precisará da biblioteca para o monitor LCD 20x4 com ou sem I2C (o que você escolher), que pode ser baixada gratuitamente no Github. Ligue-o, experimente e veja se funciona. Mais tarde, editei meu esboço com pausas para torná-lo mais fácil de ler, adicionei o "efeito de pontos piscando" e algumas outras coisas junto com muitos comentários. Tente posicionar o Arduino de forma que o USB ainda possa ser conectado e um novo esboço carregado. Usei um fluxograma, é claro, ao criar o esboço. Você verá que os comentários definem muito bem a localização de cada bloco do fluxograma.

Você descobrirá que os botões estão em um circuito em série / paralelo que permite usar um pino de entrada do Arduino para quantos botões desejar. O circuito atua como um divisor de tensão para alimentar um valor para o pino analógico alterando o valor lido por cada botão pressionado. Você pode usar o monitor serial para descobrir seus valores de circuito com base em seus resistores e alterar os "valores aceitos" em seu esboço.

Espero que você se divirta construindo o seu próprio! Se você fizer um ou até mesmo fazer alguns mods, compartilhe com o resto de nós. Obrigado por ler.

Etapa 4: Programação e configurações

Programação e configurações
Programação e configurações
Programação e configurações
Programação e configurações

Agora, divirta-se com o IDE. Espero que você esteja bebendo um cappuccino. Você pode precisar dele para ajudá-lo a ficar acordado.

Você pode descobrir que precisará configurar algumas bibliotecas. Você precisará de Wire.h para I2C, LCD.h para LCD, LiquidCrystal_I2C.h para LCD controlado por I2C. Você também precisará usar o comando lcd.begin (20, 4) para informar ao Arduino que está usando um LCD de 20 caracteres e 4 linhas e que pode haver outras configurações.

Para obter informações sobre como instalar bibliotecas, consulte:

No IDE do Arduino, você pode descobrir que precisará configurar sua placa e a porta à qual ela está conectada. A porta pode ser encontrada no painel de controle do computador / gerenciador de dispositivos / controladores de barramento serial universal. Você precisa descobrir qual Arduino está usando. Estou usando o Arduino Nano, mas o Uno também funciona para isso. Escolha suas configurações com cuidado.

Você pode precisar descobrir seu endereço I2C. Você deve ser capaz de lê-lo diretamente dos jumpers da placa. Você também pode baixar um scanner I2C em Arduino.cc ou também em https://www.gammon.com.au/forum/?id=10896 e em outros lugares.

Em algum ponto próximo a este ponto, você deve ser capaz de carregar o programa no Arduino e testar a funcionalidade. A tela LCD acende? Você consegue ler personagens? Uma das vezes que construí o circuito, em seguida, testei a luz de fundo acesa, mas os caracteres estavam ilegíveis. Passei horas (isso mesmo, HORAS) tentando configurações e tonificando as conexões para ter certeza de que foi construído corretamente. Desisti por alguns dias. Voltei a ele mais tarde e percebi que o resistor variável na placa traseira estava no mínimo. Aumentou e os personagens ficaram visíveis. Bata a cabeça na mesa. Outro motivo para bater a cabeça na mesa? Se você precisar trocar a bateria, pode ser necessário ajustar este resistor variável novamente. Quando isso aconteceu, cortei um pequeno orifício na parte de trás da caixa para ter acesso.

Você pode precisar definir seus próprios valores de botão neste programa com base nos resistores que você usa para seus botões. Você pode usar este pequeno esboço útil para isso e lembre-se de ativar o monitor serial. Execute o esboço, pressione cada botão e anote cada valor. Em seguida, edite o esboço para refletir os valores do botão. Em seguida, carregue o esboço editado no seu quadro e veja se funciona.

Existem muitas pequenas variáveis que precisam estar certas e as suas podem ser diferentes das minhas. Ser paciente e tentar coisas diferentes o ajudará a fazer o seu funcionar. Lembre-se também de que, depois de definir as variáveis do Arduino (como nome da placa, com 3, 5 ou qualquer outro, processador e programador [tudo em ferramentas]), você pode defini-las corretamente, mas não funciona porque é necessário reinicializar. Desconecte o Arduino e conecte-o de volta ao seu computador. Talvez seja necessário salvar e reinicializar o computador novamente.

Carregue este esboço, execute o monitor, aperte os botões e registre os valores, então edite o esboço Paper Rock Scissors substituindo meus valores de resistor pelos seus. Execute o esboço Paper Rock Scissors e veja se funciona direito. Sim, você instalou seus botões na ordem errada? Você pode ter que reinstalá-los se quiser em uma ordem específica.

Divirta-se!

Etapa 5: O esboço de leitura do botão ajudará você a encontrar os valores do seu resistor para editar no esboço principal. Aperte cada botão e registre os valores do seu resistor para entrar no esboço principal

// esboço de leitura do botão

void setup () {

// coloque seu código de configuração aqui, para ser executado uma vez:

Serial.begin (9600);

}

void loop () {

// coloque seu código principal aqui, para executar repetidamente:

int buTTon; // Para botões de leitura

buTTon = 0; // Para botões de leitura

buTTon = analogRead (A0); // Comando usado para ler os botões

atraso (100);

Serial.println (buTTon);

Etapa 6: Listas de peças e ferramentas de que você pode precisar

Lista de peças da Amazon:

Arduino Uno ou Arduino Nano

Tela LCD 20x4 com ou sem I2C

Caixa de bateria de 9v ou 6v com interruptor deslizante SPST (ou obtenha o interruptor deslizante separadamente)

5 botões SPST

1x resistor pull-up 1k - 5k

5x resistores com menos de 1k, 200 - 500 Ohms é bom

Listas de peças em outros locais ou lojas:

Bateria de 9v ou 4x de 1,5 volts (a opção de 9v permite reciclar baterias "quase todas mortas")

Command Strips (usado um pacote de refil) ou fita adesiva dupla-face

Splicers de cabo de telefone (opcional, mas torna mais fácil conectar os fios)

Alguns centímetros de pino de 1/4"

Parafusos de madeira minúsculos para montar buchas no LCD

Solda

Termorretrátil para fios de 18 ga

Sucatas ou peças de reciclagem:

Esvazie a caixa de mistura de bebida de cappuccino (nem todo mundo tem uma impressora 3D, tome um cappuccino e recicle algum plástico)

Cerca de 1 "x 2" sucata de placa de protótipo, embora eu tenha usado protoboard da Amazon

Vários comprimentos de fio 18ga a 22ga ou núcleo sólido Cat 5e

Ferramentas que você pode precisar:

Chave de fenda Philips pequena

Chave de fenda pequena de lâmina plana

Faca Exacto

Ferro de solda e solda

Tesouras resistentes

Alicate de ponta fina

Governante

Etapa 7: Mais algumas informações e o esboço principal

Obrigado por ler. Eu sei que é muito. Este é meu primeiro Intructable e só isso foi um pouco educacional para mim. Olhando para trás, vejo que sou prolixo em alguns lugares e muito breve em outros. Eu deveria ter dividido a montagem em mais etapas. E como eu construí este projeto cerca de uma dúzia de vezes até que ele estava certo, algumas das fotos são de um modelo ou de outro. Preciso voltar e tirar fotos de apenas um modelo. Também quero incluir um ou dois vídeos. Então, sim, vou voltar e consertar essas coisas. Mas, por enquanto, coloco em suas mãos. Espero que você goste de construí-lo tanto quanto eu. Obrigado novamente por ler.

Recomendado: