“Simon Says” Game

CeladonPost1Image1The 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.

8-Bit Music Player

MalachitePost1Image1This final project was an 8 ­bit music player using the Atmel A3BU Xplained board. A small piezo buzzer played one of four different songs; this project was more heavily tilted toward software than hardware. If you want to learn interrupts, this is the project for you! Interrupts were used to respond to buttons for selecting, playing, and pausing songs. Pulse Width Modulation was used to control the pitch. This project demonstrates good programming practices by creating functions for common tasks. A playNote() function was created which played a note based on given octave and length. The delay_ms() function was used to set the note length. The octave notes of each song were stored in an array, then passed on to the playNote() function, leading to a very compact file. When a song is played, the song title, number, and song status is displayed on the LCD screen.

Smart Nightlight

NightLightThe goal of this project was to create a nightlight-like circuit using the Atmel A3BU microcontroller and light sensor on the A3BUXplained board. The project was a success. The light dims whenever the ambient light from the lights in the room or the sun outside, brightens, and the lights brighten whenever the surrounding light dims or disappears.