This is very interesting project of mine. This is made in respones to a design statement for a competition in an event in our tecnical festival at NIT Durgapur. The design statement goes like making a optimised snake game. The hardware is designed out of the experience I gathered in designing different robotic circuits like motor drivers and automatic switches. I used a decoder and 51 microcontorller to make it. Yes that's all only two chips did the magic. I connected one end of LEDS to source via resistos and the other end to active low decoder outputs.
The software uses event driven mechanism. 64 LEDs are refreshed in continuously in a loop by selecting one by one and making it glow for a while. If the refreshing frequency is sufficiently high, then it gives an effect that all are glowing at the same time. This is how the game screen is displayed. in this. All the switches and events are interrupt driven. Whenever an interrupt comes, it writes the particular code at a memory location. In the loop of refreshing it checks the address and if anything is happened (like key press) whilein the previous refresh, it completes teh task and goes again for refreshing. Key debounce is also handled by software with the help of delay with timers. Snake is modelled with a array.
So a single at89c52 controller with 12 MHz clock controlled 64 LED without latches, LCD, kep presses eliminating deboune and algo for snake game.
1) LCD is there to display choices and scores.
Game complexity levels are there which can be chosen at the starting of
the game or by playing well you can automatically go to higher stages.
3)After every five food points, user get a bonus food.
4) Snake can reappear from the other side. It won't collide with walls and die.
When snake grows considerably, one can observe a sight slow down of thigns. After tuning, I achieved that for the maximum size of snake which is only 64 units long, there will be satisfactory performance of the game. The Program and Videos can be provided on demand
The following are the Demos of project. Our presentation skills are bad :)
Mail Id: email@example.com