viernes, 19 de febrero de 2016

Juego “Runner Scape” con display LCD 1602 y comunicación I2C


Aquí les dejo un juego para Arduino junto con el display LDC 1602, que yo he apodado “Runner Scape”, puesto que se basa en un personaje que tiene que ir sorteando los obstáculos que le van alcanzando a medida que va corriendo. La mecánica del juego es tremendamente sencilla y a su vez adictiva, es decir, cada vez que presionamos el pulsador conectado al pin digital 2 de Arduino, conseguimos que el personaje realice un salto para sortear un obstáculo, teniendo como meta la de conseguir la puntuación más alta posible sin chocarnos con los obstáculos que nos irán apareciendo, de manera aleatoria, por la pantalla (un punto equivale a un segundo corriendo sin chocarse). Una vez finalizado, el juego se reestablece presionando nuevamente el pulsador. A continuación os dejo una captura de una escena del juego.

Captura de una escena del juego

Por último me gustará aclarar que este juego fue programado inicialmente por Joshua Brooks y subido en la WEB de Instructables, aunque yo he añadido la comunicación I2C entre el Arduino y el LCD 1602, para que la instalación hardware del juego sea mucho más sencilla. Además he traducido al español, en la medida de lo posible los comentarios y mensajes del juego. Del código del programa tengo poco que añadir puesto que se trata de una programación de un nivel avanzado, cosa que de momento no entra dentro de nuestros propósitos.


Lista de Materiales:


·         Arduino UNO Rev.3.

·         Cable USB tipo A-B.

·         Módulo LCM 1602 I2C V1.

·         Display 16x2 LCD 1602.

·         Pulsador.

·         Resistencia de 10KΩ.

·         Protoboard.

·         Cables de conexión.


Programa:





Video:

17 comentarios:

  1. Hola Mariano, he probado tu sketch para este proyecto y me da un error al compilar

    exit status 1
    'POSITIVE' was not declared in this scope

    Por favor me puedes dar la clave para resolver este error. Muchas gracias

    ResponderEliminar
    Respuestas
    1. Gracias Mariano, lo probaré nuevamente.

      Eliminar
    2. Hola Mariano, al igual que juanjorosado he probado tu programa y me da un error al compilarlo

      exit status 1
      'POSITIVE' was not declared in this scope

      Te agradecería que me dieses una posible solución. Muchas gracias por tu respuesta y por tu trabajo.

      Eliminar
    3. Son las librerías, tienes que incluir mi paquete de librerías en tu IDE. Tienes todo lo necesario en uno de los primeros POST de mi BLOG (Diciembre 2015). Saludos

      Eliminar
  2. Respuestas
    1. Simplemente descarga he instala mis librerías que se encuentran en uno de los primeros POST del BLOG (Diciembre de 2015), para que el LCD funcione correctamente. Saludos

      Eliminar
  3. Hola, me podrías hacer el favor de poner el código de programación que no se una imagen si no escrito, muchas gracias

    ResponderEliminar
    Respuestas
    1. Justo antes del video del POST tienes la descarga directa del programa completo. Saludos

      Eliminar
  4. Mira lo que me apareceArduino:1.6.0 (Windows 8), Placa:"Arduino Uno"

    sketch_sep10a.ino:101:53: error: 'POSITIVE' was not declared in this scope
    Error de compilación

    This report would have more information with
    "Show verbose output during compilation"
    activala desde Archivo > Preferencias

    ResponderEliminar
    Respuestas
    1. Simplemente descarga he instala mis librerías que se encuentran en uno de los primeros POST del BLOG (Diciembre de 2015), para que el LCD funcione correctamente. Yo utilizo la versión 1.6.4 del IDE. Saludos

      Eliminar
    2. Este comentario ha sido eliminado por el autor.

      Eliminar
  5. Respuestas
    1. Tienes el esquema de montaje dentro de los comentarios del código.

      Eliminar
  6. donde se conecta todos loss cables

    ResponderEliminar
  7. ya tengo las librerias incluidas y me sale el mismo error como lo puedo solucionar?

    ResponderEliminar
  8. hola a mi se me ejecuta pero me sale la letra g unicamente

    ResponderEliminar