Avalanche
Class: Digital Logic Design (ECE 150)
Year: Fall 2015
Goal: Create a novel system (a game, calculator, etc) with given specification on number of breadboard that can be used, chips to use, etc
FEATURES
-
Separate controller for the player with push buttons, away from the wiring and electronics
-
buzzer to notify player when the player failed to dodge the falling avalanche
-
variable speed for different levels; the game gets faster as the player scores more points
-
compact and organized- fits all on only 4 breadboards, which is half of the maximum number of breadboards allowed
-
individually soldered LEDs, ensuring that even if one LED is broken, the whole system is still functional
VIDEO
Technical Details
The project had to be finished out-of-state, and thus a lot of the design choices had to be modified to ensure that the project is functional, given the limitations in resources. For example, instead of having a LED screen for the scores, a buzzer system was implemented to notify the user when they fail to dodge the falling avalanche. The circuit had to be debugged with an LED, resistor, and a battery pack, and due to the lack of grouped ribbon wires, the wiring from the gameboard to the electronic circuitry was messy.
​
Despite these limitations, the game is perfectly functional, with two push buttons on a controller gameboard away from the breadboard and other chips. The controls are looped around at the end of the LEDs, so that the left and right end of the gameboard are connected (there is no "wall"). The player could move around both in left and right directions, which was done so with a diode.
A psuedorandom number generator was created for the starting points of the falling avalanche. A very fast timer with a ripple counter was used to implement this, as the counter will choose seemingly random 3 bit addresses. The avalanche "falling" location was then carried down the game =board using a series of flip flops (FF). 3:8 demulitipliers (DEMUX) were used to ensure that only one LED is chosen as the falling avalanche at a time, and a variable resistor with a clock was used to generate different levels, or speeds, for the falling avalanche. A 2 bit counter was used with a counter connected to four different resistors, which allowed for the different speeds of the game
A buzzer with a timer was implemented to notify the player whenever they fail to dodge the falling avalanche, and this was determined with a comparator and some logic gates.