Archive

Monthly Archives: October 2013

I’ve been involved in a lot of C programming lately. This project uses the Teensy 2.0 Micro-Controller Unit (MCU) and a Nokia 5110 (the old brick phone) LCD screen connected on breadboard.  The entire program only used standard C/AVR libraries, with all graphical interfacing, logic flow, collision detection and initialisation being programmed by myself.

The picture below shows the setup on breadboard.

Photo 28-10-13 8 59 14 AM

The board also has two simple push buttons for user interaction and a potentiometer to control ball speed.  The Teensy uses the I2C/TWI protocol to communicate with the LCD screen, Analogue to Digital Converter (ADC) to detect the change in potentiometer and a CTC timer to generate general timing interrupts.  Initially I used a USB serial connection to windows hyperterminal for debugging but removed the functionality because its usefulness was devoid after completion.

Below is a video of the games running.  I didn’t show the potentiometer changing ball speed, but it’s fairly basic, and hard difficulty, which just makes the blocks move down a pixel at a time every 2 seconds.  Note that pressing both buttons in Breakout will cheat to level up, which is normally triggered by destroying all the balls.

Normally I’d upload the source code, but the unit (ENB244) that I did this project for has a lot of people plagiarising the assignment and the tutors asked that we don’t upload the code.