(Sherri Davidoff - project: "Autonomous Autobahn")

6.111
Introductory Digital Systems Laboratory


Some Final Projects from Spring 2002 Term


Photos 6.111 Final Project Title Project Partners
Photo 1 Pacman Joseph Stark and Levente Jakab
Photo 2    
Photo 1 The Guitar Scribe Danny Talavera and Brian Pharris
Photo 2    
Photo 3    
Photo Xtreme Arkanoid John Kogel, Michael Jura, Keith Battocchi
Photo The New and Improved Shadow Catcher Sha Ma and Samantha Livingston
Photo Pokemon Punchout! Margaret Chong, Jason Loy, Eric Tak
Photo 1 Casual Spring 2002: David Alexander and Colin Weltin-Wu
Photo 2 A Digital Turntable and Effects Processor  
Photo Digital Breakout Brandon King, Raymond Morales, Regina Sam
Photo Digital Pre-Frosh Helper Nitzan Gadish, Reuben Sterling, and Jonathan Wolk
Photo 1 The Automatic Autobahn Sherri Davidoff, Nathan Mahn, Michael Whitson
Photo 2    
Photo Master Mind Against the Machine Jason Levine and Jared Showalter
Photo MPEG-1 Layer III Digital Audio Decoder Chris Voekler and Dean Lentz
Photo Music Capturing, Editing and Playback Unit Chi-Bong Chan, Jia Fu Cen, Dibo Ntuba
Photo A MIDI Synthesizer Justin Paluska and Cristina Roussel
Photo 1 Lobo LOGO Turtle Michelle Duvall and Chris Leger
Photo 2    
Photo Digital Voice Mail Tehyih Wan, Brad Kaanta, Dave Simmons
Photo The A-Mazing Robot (Starring Hank the Tank) Katie Butler and Danielle Schumaker
Photo A Simple 3-D Display System Chris Keleshian, Ruimin He and Patrick Griffin
Photo Digital Chess Lance Anderson, Lee Tang, Wayland Ni

   



Project Title: Pacman
Project Partners: Joseph Stark and Levente Jakab

As an exercise in digital design, the classic video arcade game "Pacman" was implemented entirely in hardware as a fully functional computer. The system includes the Gamma, a fully functional 16-bit central processing unit based on the Digital Alpha, including ALU and full instruction set, as well as various human-interaction modules: a joystick input, and video and sound output. The system is fully 1985 compatible, and features a quirky mix of technologically backwards equipment and completely bizarre design strategies, including a one-of-a-kind programming language designed specifically for the Gamma processor. Consequently, while the implementation is unfeasible in a modern context, it does demonstrate an unusually wide range of digital design techniques and innovations.




Project Title: The Guitar Scribe
Project Partners: Danny Talavera and Brian Pharris

The Guitar Scribe is a digital system for the recording and display of standard guitar tablature. Analog signal processing was discarded due to insufficient signal processing components; a specially-wired "Robo Guitar" was therefore adopted to allow the system to function. RoboGuitar generates the inputs to the system based on an array of contacts between strings and frets. The corresponding guitar tablature is displayed on a video monitor. Concurrent playback of a previously recorded tablature and display of what is currently being played demonstrates the full capability of the system.




Project Title: Xtreme Arkanoid
Project Partners: John Kogel, Michael Jura, Keith Battocchi

We implemented the game Arkanoid. The game consists of three walls (left, right, upper), a paddle, a ball, and 48 blocks. The ball bounces off the walls or paddle; if it bounces off a block, it destroys the block in the process. The player controls the movement of the paddle, and the object is to destroy all the blocks by bouncing the ball off of them. If the ball moves down below the paddle, where there is no wall, the player loses a life. In our implementation, if the player destroys all the blocks, he/she advances to the next level, where the ball will move faster. When the player loses all 3 lives, the game resets to its beginning state. The game also makes sounds when the player advances a level, destroys a block, or loses a life.
The player has three input devices: a paddle, a reset button, and a start button. The paddle will have a design on it which a video camera will translate into a position in the game. The reset button resets the game to the starting level and initial configuration. The start button allows the game to start at the beginning of the game or after a life has been lost.




Project Title: The New and Improved Shadow Catcher
Project Partners: Sha Ma and Samantha Livingston

This report discusses the design and implementation of a typical shadow catcher exhibit with an Andy Warhol stylistic twist. The shadow catcher is capable of freezing shadows of the user on a video output monitor as he moves around. The frozen shadows then cycle through a sequence of colors before fading into the background. the shadow catcher operates in regular and inverse mode. The main components of the shadow catcher include: video-input, conversion unit, sync separator, video input fsm, processing unit, and video out display unit. The design theory is discussed for each component, as well as the procedure of building, testing, and debugging the system. The results were fun and successful, but there is still room for improvements.




Project Title: Pokemon Punchout!
Project Partners: Margaret Chong, Jason Loy, Eric Tak

This paper outlines the design and implementation of Pokemon Punchout, an interactive game where the player can have a real boxing match with Pikachu! Pokemon Punchout uses a camera to detect the player's punches and dodges, a game engine and scorekeeper to simulate real boxing gameplay, computer animation for all actions, and sound effects. Pika pika!




Project Title: Casual Spring 2002: A Digital Turntable and Effects Processor
Project Partners: David Alexander and Colin Weltin-Wu

Theoretically, analog devices offer many advantages in terms of accuracy and flexibility over our current digital devices. Unfortunately, computations with and manipulation of analog data is extremely difficult in comparison to digital data. Therefore we often make digital approximations to analog devices. CD players are a good example of this. Our 6.111 project, "A Digital Turntable" is no exception. We hope to offer the best of both worlds, the convenience of CDs combined with the power of a turntable.




Project Title: Digital Breakout
Project Partners: Brandon King, Raymond Morales, Regina Sam

We present the design and implementation of the video game Breakout using digital logic. The system implementation was broken into 4 main modules: a game control unit (GCU), a video unit (VU, a paddle control unit (PCU), and a sound unit (SU). Due to various challenges, the entire system could not be made to work. Outline in this report are the details of the design, the implementation of the system, and the approaches used to tackle various challenges that came up during the debugging process.




Project Title: Digital Pre-Frosh Helper
Project Partners: Nitzan Gadish, Reuben Sterling, and Jonathan Wolk

MIT is a large campus, and to someone who has just arrived, navigating its extensive corridors is a daunting task. We decided that an interactive system to address this problem. A lost soul stumbling upon our system would find a map of MIT displayed on a monitor, a keyboard, and an LCD text screen. The user could enter two building names or numbers (his keystrokes would appear on the text screen), and the monitor would display a route from the first building to the second.




Project Title: The Automatic Autobahn
Project Partners: Sherri Davidoff, Nathan Mahn, Michael Whitson
We designed an autonomous car that self-navigates by means of a line-following feedback system. Collision avoidance and system safety are achieved with sonar ranging modules for object detection. This system is implemented on an RC car using pulse code modulation signals generated in hardware for control.




Project Title: Master Mind Against the Machine
Project Partners: Jason Levine and Jared Showalter

This report describes the design and implementation of a version of the game of Mastermind against an AI opponent. Mastermind is a game in which one tries to guess the opponent's color sequence based on hints given according to a fixed algorithm. In this version of the game, two such games proceed side-by-side on a color monitor. In one, the human player tries to guess a secret provided by the human player. One wins by guessing the secret in fewer moves than the other player. Two levels of difficulty are provided.




Project Title: MPEG-1 Layer III Digital Audio Decoder
Project Partners: Chris Voekler and Dean Lentz

The MPEG-1 Layer III (MP3) audio encoding format provides significant compression of audio data through psycho-acoustic modeling and several loss-less encoding algorithms. This project decodes MP3-encoded audio clips into an uncompressed analog format and provides for user control of the output. A microprocessor controls the other components of the system: a display unit which provides the user interface, a memory unit from which MP3 data is retrieved, a decoding chip (the STA013 from ST Microelectronics), and an amplification unit that converts the decoded digital audio data into the appropriate analog output.




Project Title: Music Capturing, Editing and Playback Unit
Project Partners: Chi-Bong Chan, Jia Fu Cen, Dibo Ntuba

The Music Capturing, Editing, and Playback Unit is a digital system that can capture music from an analog source, such as a keyboard. Capturing music involves detecting signal frequencies and hence, notes. The captured music can then be edited and stored in separate tracks and can be combined to create a chorded or symphonic effect. Aural output is done through speakers while visual output through a TV monitor.




Project Title: A MIDI Synthesizer
Project Partners: Justin Paluska and Cristina Roussel

The General MIDI Standard GS was created in order to allow instruments from many manufacturers to interface with each other. It defines a set of control sequences that any MIDI device can interpret. Typically, one MIDI device will be an electronic keyboard and the other will be a computer. MIDI allows a musician to play on the keyboard and the computer to transcribe what was played to actual musical notation. Additionally, MIDI allows a computer music program to control an electronic keyboard like a player piano.

Our system implements a MIDI controller and synthesizer. The system will attempt to meet the GS as closely as possible, though some modifications to the standard were needed in order to work with the given components of the kit and frame of time we had for the project. The basic functionality of our system is to allow MIDI data to be input at one end and have music come out of a speaker.

The first kit, the system controller, is responsible for decoding the MIDI stream. The controller converts the MIDI data into a set of simple, stateless instructions for the synthesizer. The synthesizer takes the control sequences from the controller and generates the corresponding digital signals that are then converted to an analog signal that drives a speaker.




Project Title: Lobo LOGO Turtle
Project Partners: Michelle Duvall and Chris Leger

Our final project is to create a physical robotic vehicle that acts out user-supplied input commands for two-dimensional motion. The project is split into the user-interface kit and the robot-interface kit. The user interface kit is responsible for communicating with the serially connected computer to read the user input in the form of key presses. The keystrokes are then converted into a simplistic machine language. The machine code is then interpreted, and a discrete action is supplied to the robot-interface kit. The robot-interface kit then makes the robot act out the command and requests the next command.




Project Title: Digital Voice Mai
Project Partners: Tehyih Wan, Brad Kaanta, Dave Simmons

In most large corporations, voice mail systems have become a vital part of company communications and work functions. As compared to old answering machines, voice messaging systems provide a plethora of options and menus for both the user and the caller. The goal of this final project is to create a simple voice messaging system that allows the caller to leave messages and edit messages before ``sending'' them to the callee's voice mailbox; and to create a system that allows the user to change outgoing greeting messages, use an extended absence greeting, listen to voice messages, and delete voice messages, all through a touch-tone phone interface. The voice mail system should provide voice prompts to guide the user through the system.




Project Title: The A-Mazing Robot (Starring Hank the Tank)
Project Partners: Katie Butler and Danielle Schumaker

Our final project is a remote controlled robot that will enter a maze and successfully navigate the maze using its IR sensors. The robot will find the optimal path through the maze, and when placed at the entrance point of the maze again, will be able to complete it without using any of its sensors and making no wrong turns. The robot will also talk while making each one of its turns, by saying the words "forward," "right" or "left."




Project Title: A Simple 3-d Display System
Project Partners: Chris Keleshian, Ruimin He and Patrick Griffin

This paper presents the design of a 3D graphics system. The project presents the user with a simple flight-sim type game, involving flying a helicopter through a path full of hoops. Flying through a hoop earns points, as does speed. The game world is rendered in full 3D, to either one or two video outputs. With one video output, a standard 3D rendering is presented; with two video outputs, the system renders stereoscopic views by shifting the eye positions for the two views into slightly different spots.




Project Title: Digital Chess
Project Partners: Lance Anderson, Lee Tang, Wayland Ni

For our final project, we built a two-player digital chess video game. Each player is able to move his or her chess pieces on a video screen using a standard Playstation gamepad. Only valid moves will be allowed. Special cases, such as check, checkmate, stalemate, castling, and en passant are accounted for in the game's logic. This project is divided up into these main sections: input, engine, video, and sound.

INPUT: Two standard Playstation gamepads are used to control chess pieces on the video screen (one controller for each player). Players can move to a piece, pick it up, and place it into a destination square. By interpreting the signals from the controller, the input unit computes chessboard coordinates and passes them to the game engine.

ENGINE: A RAM is used to maintain current positions of pieces. Moves received from the input are run through an algorithm on an FPGA to determine whether or not a move is legal. If it is, then the position of the piece will be updated. If not, the position will not change. The engine also determines whether a player is in check, checkmate, or stalemate. Additionally, the engine allows special moves such as castling and en passant.

VIDEO: Bitmaps are used for each chess piece as well as the chessboard and text displayed on the bottom of the screen. A RAM is read from continuously to address the screen. Bitmaps in this RAM are changed as the engine updates the locations of pieces.

SOUND: There are two different sound units - one for background music and one for sound effects. The background music loops continuously and the sound effects are triggered on game events by the game engine.




next up previous
Next: About this document ...
Francis Doughty 2002-10-28