element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • Product Groups
  • Store
    Store
    • Visit Your Store
    • Choose Another Store
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Personal Blogs
  • Members
  • More
Personal Blogs
Legacy Personal Blogs 2645 Project - Game
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: el14jw
  • Date Created: 29 Feb 2016 12:54 PM Date Created
  • Views 231 views
  • Likes 1 like
  • Comments 0 comments
  • project
  • nokia_5110
  • frdm-k64f
  • game
  • 2645
Related
Recommended

2645 Project - Game

el14jw
el14jw
29 Feb 2016

Introduction

This blog post is dedicated to the first few steps on the way to coding a game using the FRDM K64F mbed microcontroller and a Nokia 5110 LCD display. The aim of this project is to create a fully functioning handheld arcade style game coded in c++. During the course of the project I will be using the mbed server to write, commit and save the code. The microcontroller in question can be found here: https://developer.mbed.org/platforms/FRDM-K64F/

imageimage

FRDM K64F microcontroller                                   Nokia 5110 LCD display

 

Constraints

The following are constraints placed on the project to make it fairer on people who might not have access to the same components as others:

  • Access to the following materials:
    • Joystick
    • Nokia 5110 LCD display
    • TMP102 Temperature sensor
    • On board Accelerometer and Magnometer
    • 3mm LED's (Red, green or yellow)
    • 1 k-ohm resistors (1206 surface mount package)
    • Push buttons
    • Slide buttons (Single pole double throw)
    • Piezo buzzer
    • 10k Potentiometer
  • Must be powered by 9V PP3 battery
  • Must use a 9V to 5V buck convertor (MC34062 and components)
  • Restricted to a double sided PCB board limited to 100mm by 80mm

 

Game ideas

The first brainstorm came up with multiple ideas, a lot of which would be too complicated to try and implement using the 48x84 pixels on the Nokia LCD. The fact that there are only 4032 pixels to work with and that they are only ever in one of two states (on or off) is the greatest constraint on the complexity of the game. Several ideas I came up with were:

  • A reaction timing game.
  • Classic arcade games such as snake, pong or pacman.
  • An audio based game using the piezo buzzer (This would really on it being able to produce clear tones which is probably not the case).
  • A game based on the accelerometer of the microcontroller that would allow the user to tilt the device and roll a ball through levels.
  • Having the game "Undertale" 's combat mechanics as inspiration I could create many small minigames.
  • A game that involves moving a character with partial vision around and having to navigate through a maze with only a limited area around the user visible.
  • A time based game where time only moves forwards int he game when the user moves.
  • RPG based games:
    • Hack 'n' slash type game that would involve real-time combat (This would probably not be the best when dealing with a pixelated screen).
    • A pokemon style game like the originals would be less intensive on the screen and microcontroller but would be difficult to design, again with the pixelated screen being the drawback.
    • A top-down exploring style game would be less of a problem in terms of the pixels required on the screen at any one time and could be implemented in one of two ways. Firstly the area around the user could scroll past as the user 'walks' but keep the user int he center of the screen, or alternatively it could be a room or area based system where the user moves around on the screen and when they reach the side it loads in the next area (This would be less impressive but would be easier to implement).

 

Most of these ideas are highly complex in terms of their algorithms and the time we have to develop it so it would be a good idea to create a simple game like snake as a backup just in case the main game is not completed in time. It will also give me a chance to test with interfacing between the different components of my device. From the kind of game ideas I have come up with, there are some components that would be used in all of them. These are listed below:

  • 1 Nokia 5110 LCD display
  • 1 Joystick (2 potentiometers and a button during prototyping because the joystick itself does not fit in a breadboard)
  • 2 Push to make buttons (button A and button B)
  • A Piezo buzzer (and a potentiometer to control volume)
  • A Slide button to control power
  • Green LED (To display the power state, on or off)
  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • Facebook
  • Twitter
  • linkedin
  • YouTube