tisla002 / Mario_Run

ATMEGA1284 Embedded Systems Project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mario Run!

Introduction

Mario Run is a side-scrolling game inspired by Super Mario Bros. The objective of the game is to move the player to the end of the level by crossing obstacles and barriers. The player controls the character using a bluetooth controller and jumps across obstacles to reach the end of the level in the fastest time possible while trying not to die. The game itself is displayed on LED Matrix, while information pertaining to the game (score etc.) is displayed on a LCD screen. There is Mario music playing while the game is running, and the bluetooth controller includes jump, move, start, and reset buttons.

Hardware

Parts List

The hardware that was used in this design is listed below.

  • ATMega1284 microcontroller
  • 4-Pin LCD Display
  • LED Matrix
  • Speaker
  • Bluetooth Module

Pinout

Software

State Machine functionality left out of images, all images are within images folder.

Complexities

Completed Complexities:

  • Led Matrix
  • Bluetooth Module (USART)
  • Using EEPROM to save the high score (minimum time)
  • LCD 4-Pin DATA
  • Core Game Logic

Incomplete complexities:

  • Nokia 5110 (wouldn’t arrive on time, changed to LED Matrix)

Video

CS 120B Project Youtube Link

Known Bugs and Shortcomings

  • After you reset the game, sometimes only one LED in the Matrix is still lit up. I believe that this is caused be me not resetting the Row and Column outputs properly.
  • After you first program the game with your programmer, there is garbage values shown on the LCD screen. Resetting the power fixes this problem. The issue could be due to the timing of each tasks.

Future work

In future versions of this project, I would add multiple levels, enemies that I can destroy, as well as more music. I would also like to add more intuitive controls, and switch from LED Matrix to a Nokia 5110.

About

ATMEGA1284 Embedded Systems Project


Languages

Language:C 75.7%Language:Makefile 15.5%Language:C++ 7.3%Language:Objective-C 1.5%