Sunday, August 5, 2012

An Introduction to Converting Master: an embedded control game

             Sorry it has been a long time since my last post but the Olympics have taken over my life. Have you been keeping up with all the excitement?  Hopefully over the next couple of posts I will explain my first project using C programming to work with a microcontroller. Enjoy!
This project was an introduction to creating hardware and software to interface with a microcontroller, the C8051. This interaction between hardware and software allowed for the development of the interactive game, Converting Master. A random number was generated in hexadecimal form. The player needed to convert this number into binary form by pushing the corresponding pushbutton switches before time ran out. These pushbutton switches lit up the corresponding LED before the time went off, and this timer is controlled by a 5k potentiometer. The primary approach was to ensure each component was working individually before hooking them up to each other. In the software, I would comment out everything but the specific component, and then alter this component until it functioned. Even though this may seem to be the longer, more tedious, process, it guarantees everything works. 
The main objectives of this project is to construct a circuit on a protoboard with 4 correctly configured LEDs which turn on/off according to 4 pushbuttons which read the V8051 EVB Port Connector's digital input, and configure the potentiometer to provide variable voltage input to the Analog-to-Digital input port of the C8051which would provide manual control over the game. In addition to these hardware objectives, the software objectives were to create a reusable C program which will enable the C8051 to obtain the digital input from the switch which are connected to its input ports, to light the four LEDs, and to turn on the buzzer connected to its output ports based on the digital input, with an end result looking like this:
 My next post will be an in-depth look into the hardware assembly in creating Converting Master.