Índice:

Teste o Arduino nu, com software de jogo usando entrada capacitiva e LED: 4 etapas
Teste o Arduino nu, com software de jogo usando entrada capacitiva e LED: 4 etapas

Vídeo: Teste o Arduino nu, com software de jogo usando entrada capacitiva e LED: 4 etapas

Vídeo: Teste o Arduino nu, com software de jogo usando entrada capacitiva e LED: 4 etapas
Vídeo: Como Aprender Eletrônica Partindo do Zero e Enfrentar Todas as Dificuldades? Eletronica Facil 2024, Novembro
Anonim
Teste o Arduino nu, com software de jogo usando entrada capacitiva e LED
Teste o Arduino nu, com software de jogo usando entrada capacitiva e LED
Teste o Arduino nu, com software de jogo usando entrada capacitiva e LED
Teste o Arduino nu, com software de jogo usando entrada capacitiva e LED

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.

  1. 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.
  2. 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

Busque e baixe o código
Busque e baixe 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

Jogando
Jogando

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

Experimentos opcionais com componentes externos
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: