Snake Game
A joystick controlled snake on a display using a Arduino Uno R3 board
Author: Plai George Alexandru
GitHub Project Link: link_to_github
Description
A way to play the famous game "Snake".The game is displayed on a MAX7219 display and controlled using a josytick all of it being connected to a ARDUINO UNO R3.
Motivation
The idea came from a trip to my grandma's where her old phone had the famous game called snake. Playing it again after such a long while made me relieve my childhood memories and thus decided to choose this game for the project.
Architecture
The Arduino Uno R3 is the board chosen for this project acting as the main component to which every other peripheral is connected Breadboard handles some of the peripherals ports such as VCC and GND MAX7219 Display and the Joystick are connected to bot the breadboard and the Arduino Uno R3 based on the needed port.
Log
Week 5 - 11 May
Ordering parts & research
Week 12 - 18 May
Assembly
Week 19 - 25 May
Testing
Hardware
Arduino Uno R3 MAX7219 8x8 Display Joystick Green LED Breadboard Port to Socket wire Socket to Socket wire
Schematics
Bill of Materials
Software
Library | Description | Usage |
---|---|---|
Arduino-Hal | HAL (hardware abstraction layer) for Arduino boards | Used for analog to digital conversion,taking control of peripherals |
Max7219 | Drivers for the MAX7219 Display | Used to control the Display,send pixel data to the physical display,setting brightness |
MAX7219_canvas | Provides a higher level of abstraction for drawing onto the display | Used for representing different elements(snake,fruits),updating the displaycanvas with canvaslayer information. |
rand | library for random number generation | Used for generating numbers that act as place for the fruits to be placed at |
const_random | generates random values at compile time | Used for generating a seed so each game start randomly from the last one |