En esta entrada vamos a intentar explicar de la forma más sencilla posible cómo añadir un mando físico a un videojuego creado en Scratch. El juego tiene que haber sido creado en Scratch 1.4, ya que si lo hemos hecho en la versión online el formato no será compatible con S4A (Scratch for Arduino)

Para este ejemplo vamos a controlar el clásico juego del Pong, que viene de serie en Scratch, con un mando tipo Joystick conectado a Arduino. Arduino se conectará a S4A mediante un firmware que debemos cargar.

Para realizar nuestro proyecto tenemos que trabajar tanto con el hardware como con el software.

Empezaremos con el Hardware:

El Joystick que vamos a conectar a Arduino es un potenciómetro (una resistencia variable), por lo que conectaremos sus terminales a Vcc, GND y a uno de los pines analógicos de Arduino, tal como se ve en la imagen:

Joystick protoboard y Arduino

Joystick protoboard y Arduino

 

Joystick y Arduino esquema

Joystick y Arduino, esquema

Para el desarrollar el Programa:

Para este ejemplo, tal y como se comentaba, utilizaremos uno de los juegos que ya vienen incorporados en Scratch, el Pong. Para ello abrimos la aplicación S4A y el proyecto correspondiente: Archivo→ Abrir→ Ejemplos → Games → 4 Pong

El objetivo es que podamos manipular el movimiento del paddle en el eje x usando el propio mando diseñado por nosotros en lugar de utilizar el ratón del ordenador.

Para poder controlar un elemento por Arduino es necesario crear un objeto Arduino. A este objeto le asociaremos la imagen del Paddle, que cambiamos al comenzar el programa y lo programamos para que funcione de acuerdo a nuestros objetivos.  A su vez debemos eliminar el objeto del Padle original.

El Joystick es un potenciómetro, una entrada analógica cuyos valores varían entre 0 y 1023. Por tanto, se pueden considerar como valores aproximados los siguientes: 512 en el centro, 0 a la derecha y 1023 a la izquierda (esto dependerá de como tengamos orientado el joystick). Aunque sería posible utilizarlo para que el desplazamiento del paddle sea proporcional, resulta más sencillo basarse en un esquema todo o nada. Así, podríamos utilizar el siguiente programa para controlar su movimiento:

Programacion paddle S4A

Programación Paddle

¡Y esto es todo! con estos sencillos pasos ya tenemos nuestro primer videojuego controlado por nuestro propio mando.

Programas necesarios:

  • Arduino: para cargar el firmware
  • S4A

Hardware:

  • Arduino
  • Protoboard
  • Joystick
  • Cables

Vídeo explicativo de cómo programar el montaje: