Índice:

Controlador de videogame Arduino: 4 etapas
Controlador de videogame Arduino: 4 etapas

Vídeo: Controlador de videogame Arduino: 4 etapas

Vídeo: Controlador de videogame Arduino: 4 etapas
Vídeo: stepper motor speed controller reverse or forward controller 2024, Julho
Anonim
Controlador de videogame Arduino
Controlador de videogame Arduino

Você tem um kit Arduino disponível, mas não tem ideia do que fazer com ele? Talvez não, mas neste Instructable irei mostrar passo a passo como construir, codificar e integrar o Arduino em seu projeto. No momento, este guia só foi testado com Clickteam Fusion Developer 2.5, mas as etapas de construção e código do Arduino podem ser usadas universalmente. Este guia pode ser atualizado para Unreal e Unity no futuro.

Etapa 1: lista de compras

  • Arduino Uno ou similar
  • Cabo USB
  • (400 pontos) Breadboard ou 1 x perf / strip board
  • Fios compatíveis com Arduino.
  • Vários sensores. Usei o seguinte em meu projeto de exemplo:
  • Potenciômetro de montagem em painel de placa de ensaio 10K amigável
  • Fotorresistor
  • Resistência sensível à força

Etapa 2: conexões

Conexões
Conexões

Observação: esses são apenas os sensores que usei pessoalmente para meu projeto. Isso significa que existem muito mais opções por aí. As instruções passo a passo sobre como conectá-los podem ser encontradas em vários sites, dependendo do sensor.

Etapa 3: Código Arduino

Copie e carregue este código para o seu Arduino se desejar usar o mesmo tipo de sensores que eu. Caso contrário, você pode usar seu próprio código para seus sensores. A única coisa global importante que é necessária é que as variáveis que você deseja usar em seu mecanismo de jogo sejam impressas no monitor serial ou possam ser lidas de alguma outra forma.

// Eles são definidos no início e não são alterados durante a execução do programa. Como o ANALOG IN que o pino usa.

const int potPin = A0; const int fsrAnalogPin = 5; const int photocellPin = 2; // Variáveis: // SENSOR DE LUZ: // Variável de quantidade de luz: int photocellReading; // POTENCIÔMETRO // Valor do Potenciômetro int value; // SENSOR DE PRESSÃO // Esta é a variável de dados brutos do sensor de pressão. int fsrReading; // Versão mapeada da variável fsrReading int pressure; void setup () {// coloque seu código de configuração aqui, para executar uma vez: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// SENSOR DE PRESSÃO // Aqui usamos o fsrAnalogPin especificado para ler os dados desse pino. fsrReading = analogRead (fsrAnalogPin); // Mapeie o valor 0-1023 a 0-255. pressão = mapa (fsrReading, 0, 1023, 0, 255); // Verifique se a pressão está abaixo ou acima de uma determinada quantidade imprimindo um dos dois. Esta variável impressa é usada posteriormente no motor de jogo. if (pressão 70) {Serial.print ("6"); } // POTENTIOMETER value = analogRead (potPin); // Lê e salva o valor analógico do potenciômetro value = map (value, 0, 1023, 0, 360); // Map value 0-1023 to 0-360 // Aqui nós dividimos o 360 em seis segmentos diferentes. // Você pode alterar a quantidade de segmentos para uma quantidade maior. Cada segmento teria um intervalo menor. Por exemplo, 8 segmentos teriam um intervalo de 45 cada. (360 / quantidade de segmentos) // Se o valor atual cair em um segmento, ele imprimirá o nome desse segmento. if (valor 60 e valor 120 e valor 180 e valor 240 e valor 300 e valor <375) Serial.print ("Seis"); // SENSOR DE LUZ // Aqui lemos mais uma vez e definimos uma variável, neste caso photocellReading. photocellReading = analogRead (photocellPin); // Verificamos a quantidade de luz, com impressão escuro e muito escuro a 3 e valores de luz normal impressão 4. if (photocellReading <10) {Serial.println ("- 3"); } else if (photocellReading <200) {Serial.println ("- 3 -"); } else if (photocellReading <500) {Serial.println ("- 4 -"); } // Os números no Serial: // O primeiro número é o sensor de pressão, 5 não é pressionado e 6 é pressionado. // Depois disso, é em qual segmento o potenciômetro está atualmente. // E o último número é 3 = escuro ou 4 = claro.

Etapa 4: No mecanismo de jogo: clique em Equipe 2.5

No Extension Manager, encontre o Serial Object e instale-o.

Coloque o objeto serial, um contador e uma string em seu quadro. (Clique com o botão direito no quadro - insira o objeto)

No Editor de Eventos, crie um evento: Se os Dados estiverem esperando: Defina a String alterável para GetData ("Objeto Serial")

Isso definirá a string para todos os dados que estão sendo enviados pelo Arduino, a string agora deve ser semelhante ao Monitor Serial.

Crie outro evento Sempre: Defina o contador para: Find (string $ ("String"), "4", 0)

Este exemplo tentará encontrar o 4 que é igual a luz, como pode ser visto no código do Arduino.

Se encontrar o 4, ele definirá o contador para 4, se não conseguir encontrar o 4, o contador será -1.

Agora você pode adicionar um novo evento para fazer algo com este resultado:

If counter = -1: Aqui você pode colocar o que deveria estar acontecendo se for falso, como ter uma animação de uma lâmpada sendo desligada.

Se contador = -1: Isso significa que encontrou a variável e o contador foi definido para qualquer que seja a variável (desde que não seja -1), aqui você pode fazer com que a animação da lâmpada acenda.

Basicamente, usando contadores configurados para -1, que é falso, ou -1, que é verdadeiro, você pode fazer os eventos acontecerem.

Recomendado: