Bienvenido a un nuevo conocimiento. Hoy vamos a estar mostrando, acorde al videotutorial de nuestro canal Escuela de Juegos, como conectar Arduino y Unity, en éste caso para enviar un dato.
Lo que haremos, es que al presionar un botón en nuestro circuito de Arduino, vamos a enviar una señal mediante comunicación serial, para que en nuestro videojuego reaccione de una determinada forma, pudiendo funcionar como Joystick por ejemplo.
Como podemos ver en nuestro código de Arduino, lo que hacemos es establecer la comunicación serial, y luego declarar los botones o pulsadores que usaremos.
Finalmente, si alguno de los dos botones está presionado, enviamos un «string» o cadena de texto, con el dato deseado, para reinterpretarlo luego en Unity.
public SerialPort puerto = new SerialPort(«COM4», 9600);
Comenzamos efectuando la comunicación serial. Ahora vamos a proceder a configurarla en detalle.
puerto.ReadTimeout = 30;
puerto.Open();
Recordá que la ubicación de éstos datos, especialmente los que vienen a continuación, van a ir según como tengas configurado tu jugador o lo que vos quieras que sea el efecto resultante de la presión de los botones. En mi caso lo tengo en el Script Player, correspondiente al jugador.
Ahora vamos a chequear si hay un dato nuevo, y procesarlo.
if(puerto.IsOpen)
{
string dato_recibido = puerto.ReadLine();
}
Ahora necesitamos regular ésto, para que no genere errores ni tampoco sobre sature. Para ello haremos un «try», lo cual ejecutará solo si es posible la lectura.
try{
if(puerto.IsOpen)
{
string dato_recibido = puerto.ReadLine();
}
}catch(System.Exception ex1)
{
ex1 = new System.Exception();
}
Solo quedarÃa interpretar el dato enviado, y según eso hacer lo que nos plazca, en mi caso el movimiento.
try{
if(puerto.IsOpen)
{
string dato_recibido = puerto.ReadLine();
if(dato_recibido.Equals(«boton1_e»))
{
//MOVER IZQ
}
else if(dato_recibido.Equals(«boton2_e»))
{
//MOVER DER
}
}
}catch(System.Exception ex1)
{
ex1 = new System.Exception();
}
0 Comentarios