Retro Game

by Adrian09 in Circuits > Arduino

197 Views, 2 Favorites, 0 Comments

Retro Game

Retro Game - Snake Game

Hi! I'm Adrián Gómez, I present to you the Retro Game console, my Arduino based Game Boy. This project was submitted to 'Creative Electronics', a Beng Electronics Engineering module at University of Málaga, School of Telecommunications (https://www.uma.es/etsi-de-telecomunicacion/).

The aim if this proyect was to build an Game Boy on Arduino and used neopixels for screen play.

I hope you enjoy this instructable as we did enjoy making it! Also, if you need help with some of the steps or want to collaborate do not be afraid of asking in the commentary section!

Supplies

Materials:

  • LCD Display.
  • LCD to I2C convertor.
  • Neopixel matrix.
  • Buttons x5.
  • Switch
  • Power supply.
  • Wire.
  • Power supply cable.
  • Arduino Uno board.
  • Buzzer.

Tools that I used fot this build:

  • 3D printer.
  • Soldering kit.
  • Flux and tin.
  • Glue gun.

Software

Imagen de WhatsApp 2024-01-20 a las 17.33.01_b63730cb.jpg

I have used the Adafruit_NeoPixel library made by Adafruit Industries and LiquidCrystal_I2C made by Frank de Brabander to do this project.The Adafruit_NeoPixel library for controlling the LED matrix and the LiquidCrystal_I2C libary for controlling the LCD screen.

The code has a main menu, and once entered into the game, it is monitored by a state machine.

Once the console is started, a menu is displayed on the screen with 2 options:

  • Play.
  • Exit.

When the up button is pressed, the snake game is entered, which is a function consisting of other functions running in a loop. These functions are used to read buttons characterized as digital input with pull-up resistors (otherwise, resistors would be needed in the circuit).Then, the snake movement is handled, a retro music is played using a buzzer, collision between the snake's head and any part of its body is checked, and there is another function that draws the snake and the food.

Downloads

3D Design

The next step is design the console for this I split the console into two parts (top and down). I recomended to print first the top part for better placement of components and not run out of space.

License:CC BY-NC 4.0 Deed | Attribution-NonCommercial 4.0 International | Creative Commons

Schematic and Wiring

Imagen de WhatsApp 2024-01-20 a las 18.51.11_4ef05851.jpg
Imagen de WhatsApp 2024-01-20 a las 18.55.38_f50ebe6f.jpg
Imagen de WhatsApp 2024-01-20 a las 18.55.52_1d26b304.jpg

To the design of this schematic, it would be necessary to replace the neopixel strip with an 8x8 matrix. For the implementation, I have used a board to solder the components and keep them in place. Finally, it has been coated with silicone to secure the components in place.