Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Luz LED Whack-a-mole

Componentes e suprimentos

Arduino UNO
× 1
LEDs
× 7
Resistor 221 ohm
× 7
Joystick analógico (genérico)
× 1
Fios de jumpers (genérico)
× 8
Cabos de jumper masculino / feminino
× 4

Sobre este projeto


Este foi meu primeiro projeto Arduino, eu o construí baseado no que aprendi nos primeiros tutoriais sobre LEDs e controles básicos.

Este jogo "Whack-a-mole" usa 7 LEDs e um joystick. Existem 4 "moles", representados pelas 2ª, 3ª, 4ª e 5ª luzes da esquerda no meu tabuleiro. Uma das quatro luzes acenderá aleatoriamente e dará um determinado período de tempo para atingir a direção correspondente no joystick. Organizei minhas luzes de forma que, da esquerda para a direita, as seleções no joystick sejam:esquerda, para cima, para baixo, direita. Esta é apenas a convenção que escolhi, então criativo e experimente outras!

As duas luzes à esquerda são vermelhas e verdes, o que indica uma escolha incorreta ou correta. A luz amarela na extrema direita pisca a contagem para a pontuação mais alta atual e indica a pontuação toda vez que uma corrida termina (sempre que uma escolha errada é feita). Naturalmente, uma nova pontuação máxima substitui a anterior.

Talvez a parte mais complicada deste projeto seja o joystick analógico. Para ambas as direções do joystick, existem valores máximos de 0 e 1024 (para o meu, eu tive que usar 1023, então se você não está obtendo as seleções corretas, você pode tentar isso). Acredito que esses valores também podem ser medidos usando uma janela serial. Simplifiquei esses valores de entrada usando instruções switch para as entradas x e y. Não tenho certeza se esta é a melhor maneira de fazer isso, mas porque eu só precisava dos valores máximos de cada direção (ou seja, apenas 4 opções, 4 moles de LED), atribuí valores inteiros para cada possibilidade:1, 2, 3, 4 correspondendo a esquerda, direita, cima, baixo.



Os níveis de dificuldade que escrevi em meu código como constantes são o tempo em milissegundos que a pessoa tem para fazer uma seleção. Você pode mexer nesses horários para mudar a dificuldade de acordo com sua preferência. Pensei em integrar uma escolha usando botões ou talvez o joystick no início de uma curva, mas não valeu a pena o trabalho, pois acho que seria muito complicado e não muito amigável.

De qualquer forma, deixe-me saber quais modificações e melhorias podem ser feitas! :)

Código

  • WhackALED
WhackALED Arduino
 // Whack a LED // Joystick variablesint sX =A0; // eixo x do joystick, inputint analógico sY =A1; // eixo y do joystick, analógico inputint sSX; // estado de x, lendo de sXint sSY; // estado de y, lendo de sYint sS; // estado convertido (pode não ser o mais eficiente) // Variáveis ​​do jogoint rNum; // random int escolhendo a luz aleatória para ligarint wins =0; // contando winsint consecutivas highScore =0; // salvando a maior pontuação de vitórias consecutivas // Constantes de dificuldade, tempo para reagirconst int easy =1000; const int medium =500; const int hard =325; const int stupid =250; int ledPins [] ={5,2, 4,3,6,7,8}; // inicializando led'sint pinCount =7; // número de led pinsvoid setup () {Serial.begin (9600); pinMode (sX, INPUT); pinMode (sY, INPUT); for (int thisPin =0; thisPin  highScore) {// se as vitórias consecutivas forem maiores do que o recorde anterior, o novo recorde é definido. highScore =vitórias; vitórias =0; } for (int i =0; i <=3; i ++) {// luz vermelha piscando indicando escolha incorreta digitalWrite (ledPins [5], HIGH); atraso (50); digitalWrite (ledPins [5], LOW); atraso (50); } for (int w =0; w  

Esquemas

Tudo deve corresponder à imagem real do projeto, exceto o joystick. Meu joystick tem 5 pinos, 4 ou que usei:nomeados de cima para baixo "GND", "+ 5V", "VRx" e "VRy". "GND" e "+ 5V" são conectados a GND e 5V no arduino, "VRx" e "VRy" são conectados a A0 e A1. Tudo deve corresponder à imagem real do projeto, exceto o joystick. Meu joystick tem 5 pinos, 4 ou que usei:nomeados de cima para baixo "GND", "+ 5V", "VRx" e "VRy". "GND" e "+ 5V" são conectados a GND e 5V no arduino, "VRx" e "VRy" são conectados a A0 e A1. whack_a_mole_schematic_CBciL9GiCP.fzz

Processo de manufatura

  1. Lanterna a gás
  2. Ponteiro Laser
  3. Lanterna
  4. Caleidoscópio
  5. Laser semicondutor
  6. Fotografia
  7. Sinal de trânsito
  8. Diodo emissor de luz (LED)
  9. Acessórios de LED – Acessórios de faixa de luz de LED
  10. Entendendo as luzes e indicadores do painel do carro