Índice:

Controlador de unidade simples: 5 etapas
Controlador de unidade simples: 5 etapas

Vídeo: Controlador de unidade simples: 5 etapas

Vídeo: Controlador de unidade simples: 5 etapas
Vídeo: Sistema Hidráulico Industrial 2024, Julho
Anonim
Controlador Unity Simples
Controlador Unity Simples

Descrição

Este projeto é um controlador muito simples que pode dar entrada ao Unity ao pressionar os botões que eu projetei para controlar um jogo que fiz onde o jogador pode ir para a esquerda e para a direita. Claro que você sempre pode ajustá-lo para mais controles. Não há necessidade de usar nenhuma biblioteca extra.

Etapa 1: Materiais

Componentes necessários

  • -Arduino 2x resistor
  • - [~ 220 Ohm
  • -Fios
  • -2x Botões
  • -Breadboard

Etapa 2: breadboarding

Breadboarding
Breadboarding

Comecei conectando a porta GND do arduino a um pino negativo (-) no lado esquerdo da placa de ensaio e conectando o 5V a um positivo (+) no lado direito da placa de ensaio.

Depois coloquei os botões no lugar que queria que mto ficasse. E os conectei usando os fios e resistores.

Etapa 3: codificando o Arduino

Em primeiro lugar, você precisará escrever algum código para o Arduino executar. Eu coloquei comentários no código que explicam o que ele faz.

// Declara os pinos aos quais os botões estão conectados.

const int buttonPin1 = 3; const int buttonPin2 = 4;

void setup ()

{// Iniciar o serial Serial.begin (9600); // Configure os pinos como saída. pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

void loop ()

{// Lê o estado do botão if (digitalRead (buttonPin1) == HIGH) {// imprime esta linha se o estado é HIGH. Serial.println ("Esquerda"); atraso (20); } if (digitalRead (buttonPin2) == HIGH) {// imprime esta linha se o estado for HIGH. Serial.println ("Right"); atraso (20); }}

Etapa 4: Unidade

Se você não tiver um jogo pronto, este código funcionará em qualquer objeto de jogo na unidade.

se for esse o caso, você precisará de um objeto de jogo para se mover.

Por uma questão de simplicidade, vamos criar um cubo indo para GameObject-> 3D Object-> Cube

quando o cubo estiver em sua cena, selecione-o e pressione o botão Adicionar componente e crie um novo script.

Além disso, você precisará alterar o nível de compatibilidade da Api para que a biblioteca System. IO. Ports funcione.

Para fazer isso, vá para Editar-> Configurações do Projeto-> Player

role para baixo neste menu até encontrar o nível de compatibilidade Api e selecione. NET 2.0 em vez do subconjunto. Net 2.0

Agora você está pronto para começar a codificar.

usando System. Collections; using System. Collections. Generic; using UnityEngine; using System. IO. Ports;

public class PlayerMovement: MonoBehaviour

{velocidade de flutuação pública; movimento de flutuação;

SerialPort sp = novo SerialPort ("COM3", 9600);

void Start ()

{// Execute o código para abrir a porta serial OpenSerialPort (); }

void OpenSerialPort ()

{// Abra a porta serial sp. Open (); sp. ReadTimeout = 1; }

Movimento vazio (direção da corda)

{// Verifique em que direção o arduino passou if (Direction == "Left") {movement = -1; } if (Direção == "Direita") {movimento = 1; } // calcula a quantidade pela qual o objeto de jogo será movido float translation = movement * speed; // Aplica o movimento ao objeto do jogo transform. Translate (translation, 0, 0); }

void Update ()

{if (sp. IsOpen) {try {// enquanto a porta serial está aberta, mova execute a função de movimento e passe a linha que o Arduino está imprimindo Movimento (sp. ReadLine ()); } catch (System. Exception) {

}

}

} }

Etapa 5: Notas Finais

Verifique se seus componentes estão funcionando

Um problema que encontrei durante a criação deste foi que todos os fios e código estavam corretos e não deveria haver nenhum problema, mas não estava funcionando. No meu caso, era um fio que não estava funcionando, embora o o mesmo pode acontecer com alguns de seus outros componentes.

Recomendado: