En éste sencillo documento, les adjunto el código de como he enviado datos mediante conexión serial, desde Arduino al motor de desarrollo de videojuegos Godot Game Engine 3.

Todo ésto podrán verlo en mis tutos de Arduino paso a paso, al final de este post.

const int buttonPin = 2;
int buttonState = 0;   

void setup() {
  Serial.begin(9600);
  // put your setup code here, to run once:
  pinMode(buttonPinINPUT);
}

void loop() {
   buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
    Serial.println(«1\n«);  
  } else {
    Serial.println(«0\n«);  
  }

  delay(1000);
}

En éste caso, con un botón conectado al puerto digital 2, enviaremos una señal a Godot indicando si el botón está presionado o no.

Recordemos que para el siguiente paso debemos tener instalada la extensión adecuada para poder usar lenguaje Python en Godot, tal como se explica en el tutorial de nuestro canal Escuela de Juegos.

Una vez con eso, solo debemos crear un Sprite simple con la imagen que desees, ya que esa imagen cambiará de color al presionar el botón.

from godot import exposed, export

from godot import *

import serial


@exposed

class main(Node2D):


def _ready(self):

pass

def _process(self, delta):

sercom = serial.Serial(‘COM4’, 9600, timeout = 4)

dato = sercom.readline()

dato = dato.decode(«ascii»)

if(len(dato) > 0):

if(dato == «1\n»):

self.get_node(«Sprite»).modulate = Color(1,0,0)

else:

self.get_node(«Sprite»).modulate = Color(0,0,0)

sercom.close()