Índice:
- Etapa 1: Ter o que você precisa
- Etapa 2: buscar e baixar o código
- Etapa 3: Brincando
- Etapa 4: experimentos opcionais com componentes externos
Vídeo: Teste o Arduino nu, com software de jogo usando entrada capacitiva e LED: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
Jogo interativo "Push-It" usando uma placa Arduino nua, nenhuma parte externa ou fiação necessária (usa uma entrada capacitiva de 'toque'). Mostrado acima, demonstra a execução em duas placas diferentes.
Push-It tem dois propósitos.
- Para demonstrar / verificar rapidamente se sua placa Arduino funciona e se você está configurado corretamente para fazer o download de um novo esboço de código para ela. Você poderá ver que ele realiza entrada e saída (detecta o nível de entrada digital, saída para o LED integrado); armazenar e recuperar um valor da memória EEPROM não volátil. Tudo sem conectar fios ou dispositivos.
- Fornece um jogo divertido e desafiador interagindo com uma placa Arduino.
Este instrutível assume que você já instalou um IDE Arduino e está pelo menos minimamente familiarizado com seu uso. Caso contrário, indico estes links:
Introdução ao Arduino
Adicionando suporte Digispark (com bootloader) ao Arduino 1.6.x IDE existente
Push-It funcionará com a maioria das placas Arduino, por exemplo, uma placa Nano, Uno ou DigiSpark Attiny85. Eu testei com um Nano 3.1 e um DigiSpark. No texto, quando me refiro a nomes / números de pinos, eles serão usados na placa Nano (em oposição ao DigiSpark).
Etapa 1: Ter o que você precisa
Que é simplesmente qualquer Arduino ou placa comparável.
Se você ainda não tem um, recomendo começar com um DigiSpark Pro (~ $ 12) ou um Nano 3.0 do eBay por ~ $ 3 (mas você terá uma ou duas semanas extras para esperar que ele chegue da China; e você precisará instalar um driver CH340 USB). O DigiSpark ~ $ 10 (não Pro) é muito adequado para este jogo de 'vídeo' de bit único (esta unidade simplificada, tendo apenas 6 I / Os, é um pouco mais difícil de carregar)
Links para o hardware usado aqui:
Nano V3.0 Atmega328P no eBay
Digispark USB Development Board
Etapa 2: buscar e baixar o código
Copie o código abaixo em um arquivo de esboço do Arduino (por exemplo … / Push_It / Push_It.ino) Eu tentei comentá-lo muito bem. Espero que você encontre o código facilmente compreensível. A lógica para determinar quando aumentar, diminuir e quando não é um pouco complicada, mas essa parte também é um código especializado e não é de utilidade geral. Para obter mais detalhes sobre como configurar um novo 'esboço' (projeto de código) para ser usado com o IDE do Arduino, consulte:
Criando um novo esboço do Arduino
Baixe o esboço 'Push_It' em nosso microcontoller de acordo com as instruções do IDE do Arduino para sua placa.
Etapa 3: Brincando
O objetivo do jogo é fazer com que o LED (on-board) pisque o máximo de tempo possível em um conjunto de flashes que se repetem
Jogando o jogo:
O Push-It começa com um único flash, que então se repete. Se você tocar seu dedo próximo ao pino de entrada enquanto o LED estiver ligado, o próximo ciclo piscará o LED duas vezes.
Cada vez que você pressiona o pseudo botão durante o primeiro flash de um conjunto de flashes, outro flash é adicionado a esse conjunto. Geralmente, não importa quando você levanta / remove o dedo.
Mas se você 'empurrar' antes ou depois do primeiro flash, a contagem de flashes em um conjunto será reduzida.
Se você não fizer mais nada, o número de flashes em um conjunto será mantido. Além disso, quando a contagem permanece inalterada por um ciclo completo, o número da contagem é armazenado na memória EEPROM.
Cada vez que você aumenta a contagem de flashes, o tempo acelera um pouco, tornando cada vez mais difícil obter contagens de flash altas. Quando você comete um deslize e o número de flashes diminui, haverá uma pausa mais longa antes do início do próximo ciclo. Isso oferece um desafio adicional, pois pode aumentar a probabilidade de você se precipitar. Portanto, fique alerta.
Depois de colocar sua unidade em uma contagem alta de flash, você pode levá-la (ou enviá-la, para o qual o DigiSpark é bom) para um amigo, onde, ao conectá-la, eles verão quão alta a contagem de flash você aumentou para. Achei desafiador aumentar para mais de 8. Com um botão real anexado, consegui aumentar para mais de uma dúzia. Para reverter para uma contagem mais baixa, você pode pressioná-lo repetidamente a qualquer momento antes ou depois do primeiro flash. Além disso, se você conectar o pino de entrada ao aterramento durante uma inicialização, a contagem será redefinida para 1.
Observe que o tabuleiro DigiSpark original tem um atraso de 10 segundos após ser ligado, antes do qual começará a executar o código 'Push-It' e jogar o jogo. Ele usa esse tempo para tentar falar através dos pinos USB a fim de receber uma possível nova atualização do código de download.
Se a placa Arduino que você está usando tiver um LED USB TX, este LED terá um pequeno flash rápido quando você efetivamente 'apertar o botão'. Haverá um piscar mais significativo deste LED sempre que o valor da contagem na EEPROM for atualizado com um novo valor. Este feedback pode ajudá-lo muito a saber quando ou a garantir que você efetivamente acionou um evento de 'botão pressionado'. Você pode precisar se certificar de que não está tocando o aterramento do circuito (como o metal ao redor de um conector micro-USB) para que sua figura induza de fato ruído no pino de entrada aberto. Haverá desafios adicionais e um tanto imprevisíveis devido ao fato de que o pino de entrada está flutuando (não puxado para cima ou para baixo por uma carga condutiva / resistiva) e o ruído de sinal variável vindo de seu dedo.
Uma onda quadrada de 250 Hz é emitida para um pino próximo ao pino de entrada, o que melhora muito a certeza de um sinal de entrada injetado quando seu dedo cobre ambos os pinos.
Eu descobri que a resposta da placa DigiSpark é bastante previsível a um pequeno aperto dos dedos no canto da placa onde estão D3-D5.
Quando jogo 'Push-It', gosto de fazer isso com a placa conectada a uma bateria móvel USB 5v (veja as fotos). Geralmente, eles podem ser encontrados de forma barata em caixas próximas às de adaptadores automáticos USB AC e 12v; na maioria dos departamentos de eletrônicos de qualquer loja de departamentos.
Etapa 4: experimentos opcionais com componentes externos
Observação: se você anexar um botão real, há uma linha de código que precisa ser comentada, conforme indicado no código.
Com um alto-falante, um lado para o terra, se você tocar o outro fio para D4, você ouvirá o som de uma onda quadrada de 250 Hz. Em D3, há uma onda quadrada de 500Hz. Se você conectar o alto-falante entre D3 e D4, ouvirá um composto dos dois sinais.
Conectar um LED em vez de um alto-falante como acima é muito interessante. Não há necessidade de se preocupar com voltagem, níveis de corrente, resistências ou mesmo polaridade (na pior das hipóteses, ela não acende, então apenas vire-a). Experimente, em primeiro lugar, com o cabo negativo (cátodo) ligado à terra e o outro a D3 ou D4. O LED ficará 'meio' aceso devido às ondas quadradas. Além disso, nenhum resistor é necessário, pois a saída das MicroControllerUnits são limitadas por corrente. Fiz medições de corrente resultando em 15ma e 20ma para os MCUs Attiny85 e Atmega328 respectivamente. Esses níveis são cerca de metade do valor atual limitado para essas partes devido à natureza do ciclo de trabalho de 50% dos sinais de onda quadrada de condução. As leituras do medidor são, na verdade, uma média da corrente através do circuito testado.
Curiosamente, se você fizer a ponte entre D3 e D4 com o LED (veja a imagem acima e à esquerda), ele acenderá de qualquer maneira e com cerca de ½ do brilho como acontecia com um lado conectado ao aterramento. Convido você a refletir sobre o porquê.
Recomendado:
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
Faça um banco de teste Arduino personalizado usando Wirewrapping: 7 etapas (com imagens)
Faça um banco de teste Arduino personalizado usando Wirewrapping: Este Instructable mostrará uma maneira fácil de conectar um Arduino Nano a várias placas de breakout PCB. Este projeto surgiu durante minha busca por uma maneira eficaz, mas não destrutiva, de interconectar vários módulos. Eu tinha cinco módulos que queria
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
Mudar para o jogo de teste de garrafas de plástico: 9 etapas
Interruptor para jogo de teste de garrafas de plástico: este par de interruptores montados dentro de uma garrafa de plástico usa um circuito muito simples para controlar as luzes LED. Depois que um botão é pressionado, suas luzes se acendem, desativando o outro conjunto de luzes. Todas as fotos após a imagem ampliada são