See the Simon game being played. Not only do the lights function as controls and indicators, but you will see the team put Simon in “Display High Score” mode by a button press sequence. There’s the ICE-3 debugger sticking out of the base.
Here’s the circuit schematics for the Simon game’s input/output. We put four LEDs as output, and each LED was wired as an input as illustrated above. Transistors were used here for two reasons: we might have all four LEDs on at once, and transistors can handle all that current while the A3BU might not. Also, the LEDs from Adafruit ran on 12V, and the A3BU’s 3.3V would not light them. (We discovered that these LEDs have an integrated resistor, that’s why 12V doesn’t blow them up). The transistor can be connected to the ground side, and will switch fully on at 3.3V, completing the circuit through the LED to ground.
The project code is available at our github project repository.
The goal of this project was to combine transistors, interrupts, and LEDs with the Atmel A3BU microcontroller. It’s a simple push-button Simon Says game. The user watches a developing LED sequence, and then has to repeat it correctly to move onto a more difficult sequence that’s faster with more steps! The project combines the knowledge of embedded systems with circuit and programming skills we have learned throughout the semester. The code determines the sequence of lamps to light, and reads the user input, deciding what to do next. Events are interrupt-driven: user inputs trigger an interrupt handler that makes the next move. The hardware side of the project consists of interfacing the a3bu board with arcade-style push-button lights. The output portion of the circuit must raise the voltage level for the lamps, and the input circuit must provide voltage to the board input when a button is pressed. Ultimately, a working Simon game must have both the hardware and software components working perfectly.