Coder Social home page Coder Social logo

gameconsole's Introduction

Gane Console Project

A game console project on a self made embedded system.

  1. Designed PCB in Altium Designer
  2. Programmed in AVR Studio and C language
  3. Uses SPI for serial communication between microcontroller peripheral devices
  4. Uses interrupts for button actions
  5. Components
    • ATMEGA16 microcontroller
    • Soft Power switch (uses D-FlipFlop to store On/Off state)
    • LCD Screen with Backlight
    • Power Circuit with boost converter
    • JTAG interface

8 bit AVR microcontroller ATMEGA16 settings reffered from documentation: https://www.gme.cz/data/attachments/dsh.958-112.1.pdf

Project File Structure

|-src
|   |___
|	|__backlight.c   	  //Handles backlight control using PWM
|	|__battery.c     	  //Handles battery level checking
|	|__character.h   	  //Protoypes of Character Library
|	|__character.c   	  //Self Created Character Library
|	|__etchasketch.c 	  //etchASketch game implementation
|	|__flappybird.c		  //Flappy Bird game implementation
|	|__function_prototypes.h  //Prototypes of misc functions
|	|__game_console.h	  //Main Game Console function Prototypes
|	|__game_console.c         //Main Program
|	|__game_interrupts.c      //Handles interrupts in ATMEGA16
|	|__guess.c                //Monty Hall game implementation
|	|__init_misc_components.c //Initializing Components on bootup
|	|__LCD.c                  //Handles LCD communication via SPI
|	|__pong.c                 //Implementation of Pong Game
|	|__spi.c                  //Main functions for SPI communication
|
|-pcb
    |__Game_Consol.PcbDoc         //Altium Design Document

Menu Scroll Through

  • Buttons navigating through game console
  • Timer implemented on welcome screen.

Brightness PWM:

  • Controlled using fast PWM Mode on ATMEGA16 chip

Games:

Flappy Bird

  • Simple Version with obstacles rendered only from the bottom

Pong

  • Simple Pong Game with two programmed AI.
    • First AI: just moves up and down
    • Second AI: position of bar based on currentPositionOfBall + errorTerm
      • ErrorTerm = 0 or 1 based on randomness of srand

Guess

  1. Three Options are given, one will be right.
  2. If right answer selected, you move on.
  3. If wrong answer selected, you go into Monty Hall Mode (one wrong answer is removed giving you a second chance)

Etch A Sketch

  1. A Digital implementation of the traditional etch a sketch game.

PCB 3D View:

PCB 2D View:

gameconsole's People

Contributors

relientm96 avatar

Stargazers

Saharsha Karki avatar

Watchers

James Cloos avatar

gameconsole's Issues

How are you so smart?

Can you please explain to me how one man can build something so amazing in a single semester?

I have to admit, I am a bit suspicious... of how you are so smart AND beautiful at the same time!

Please teach me everything you know.

All the best,

M

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.