Tabla de contenido:

Controlador de unidad simple: 5 pasos
Controlador de unidad simple: 5 pasos

Video: Controlador de unidad simple: 5 pasos

Video: Controlador de unidad simple: 5 pasos
Video: Test driver TB6600 para control de motores paso a paso 2024, Mes de julio
Anonim
Controlador de unidad simple
Controlador de unidad simple

Descripción

Este proyecto es un controlador muy simple que puede dar entrada a Unity al presionar botones. Lo diseñé para controlar un juego que hice donde el jugador puede ir a izquierda y derecha. Por supuesto, siempre puede ajustarlo para obtener más controles. No es necesario utilizar bibliotecas adicionales.

Paso 1: Materiales

Componentes necesarios

  • -Resistencia Arduino 2x
  • - [~ 220 ohmios
  • -Alambres
  • -2x botones
  • -Tablero de circuitos

Paso 2: Breadboarding

Breadboarding
Breadboarding

Comencé conectando el puerto arduino GND a un pin negativo (-) en el lado izquierdo de la placa de pruebas, y conectando los 5V a un positivo (+) en el lado derecho de la placa de pruebas.

Después de eso, puse los botones en el lugar donde quería que estuviera el m. Y los conecté usando los cables y resistencias.

Paso 3: codificar el Arduino

En primer lugar, deberá escribir un código para que Arduino lo ejecute. Pongo comentarios en el código que explican lo que hace.

// Declara los pines a los que están conectados los botones.

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

configuración vacía ()

{// Inicie el serial Serial.begin (9600); // Configure los pines como salida. pinMode (buttonPin1, INPUT); pinMode (buttonPin2, ENTRADA); }

bucle vacío ()

{// Leer el estado del botón if (digitalRead (buttonPin1) == HIGH) {// imprimir esta línea si el estado es HIGH. Serial.println ("Izquierda"); retraso (20); } if (digitalRead (buttonPin2) == HIGH) {// imprime esta línea si el estado es HIGH. Serial.println ("Derecha"); retraso (20); }}

Paso 4: Unidad

Si no tiene un juego listo, este código funcionará en cualquier objeto del juego en la unidad.

si este es el caso, necesitará un objeto de juego para moverse.

En aras de la simplicidad, crearemos un cubo yendo a GameObject-> 3D Object-> Cube

Una vez que el cubo esté en su escena, selecciónelo y presione el botón Agregar componente, y cree un nuevo guión.

Además, deberá cambiar el nivel de compatibilidad de Api para que funcione la biblioteca System. IO. Ports.

Para hacer esto, vaya a Editar-> Configuración del proyecto-> Reproductor

desplácese hacia abajo en este menú hasta que encuentre el nivel de compatibilidad de Api y seleccione el subconjunto. NET 2.0 en lugar del subconjunto. Net 2.0

Ahora está listo para comenzar a codificar.

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

PlayerMovement de clase pública: MonoBehaviour

{velocidad de flotación pública; movimiento de flotación;

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

inicio vacío ()

{// Ejecute el código para abrir el puerto serie OpenSerialPort (); }

vacío OpenSerialPort ()

{// Abra el puerto serie sp. Open (); sp. ReadTimeout = 1; }

Movimiento vacío (dirección de la cuerda)

{// Comprueba en qué dirección ha pasado el arduino if (Dirección == "Izquierda") {movimiento = -1; } if (Dirección == "Derecha") {movimiento = 1; } // calcula la cantidad en la que se moverá el objeto del juego. float translation = movimiento * velocidad; // Aplica el movimiento al objeto del juego transform. Translate (translation, 0, 0); }

Void Update ()

{if (sp. IsOpen) {try {// mientras el puerto serial está abierto move ejecuta la función de movimiento y pasa la línea que el Arduino está imprimiendo Movement (sp. ReadLine ()); } captura (System. Exception) {

}

}

} }

Paso 5: Notas finales

Compruebe si sus componentes están funcionando

Un problema que encontré durante la creación de esto fue que todos los cables y el código estaban correctos y no debería haber ningún problema en absoluto, pero no funcionaba En mi caso era un cable que no funcionaba, aunque el lo mismo puede suceder con algunos de sus otros componentes.

Recomendado: