SPRING '00 ENSC 151 LAB TEAMS:
Smart_Vacuum
For our final project, our team is hoping to design and construct a
robot capable of vacuuming a rectangular sector of a room on its own.
The robot will be programmed in such a way that given the dimensions of
the empty area to be vacuumed (user input), the robot will then vacuum
the area in a rectangular pattern, reducing the size of the rectangular
path each time around until it covers the whole area.
The robot-vacuum will consist of a small hand-held vacuum (preferably battery-powered) and the FPGA board, mounted on a modified remote control vehicle controlled by the FPGA. The robot will also be attached to a sound chip and an amplified speaker which will alert the user when the machine encounters an obstacle or if the battery is dead. An message explaining the problem will be displayed simultaneously to the LCD. The vacuum will also play music when the area has been successfully vacuumed and stop vacuuming.
Materials required
- sound chip with amplifier / speaker (approx. $15.00)
Team Gloria! Web site: http://www.Shakira2K.com/ensc151.html.
Chaos on Rails
We will plan to use the EVB to be an active opponent in a friendly
game of checkers. The intelligence of the EVB would be low,
only responding to the immediate move made by the user.
However, it will check for legal moves, i.e., jumping a checker,
double stacking the checkers etc. The EVB will communicate
to the user through the use of the LCD but we may expand this
to using a robotic arm to physically move the pieces.
Singing in the Rain
Our group is considering implementing a windshield clearing system for the exacting
driving conisseurs in the soggy climate of Vancouver. Our system will react
to varying degrees of precipitation on a windshield from barely sprinkled,
to fogged up, to mud, to maybe even ice or snow.
Sensors will gather this data to send to the EVB and in due course
an LED (or an array) will flash, followed by a warning message on the LCD.
The warning message could be followed by a menu from which the user would
select an appropriate windshield clearing option or combination
of options with the push buttons. These options could include
varying windshield wiper speeds to the release of a soap solution or antifreeze.
We could also exhibit a situation whereby if the user is not taking any
action (time constraint), the system would provide a scolding message
and manually deal with the precipitation. If we really wanted to go all out,
we could add sound to the system.
External Equipment: small motor, small sheet of glass, precipitation sensor(s), windshield wipers, antifreeze/soap solution spray mechanism.
Extras: an LED array, sound components (sound chip, amplifier, speaker etc.)
Budget...$50-$100
Team FIFA Web site: http://members.tripod.com/ENSC_151_FIFA.
Lean Mean Copy Machine
Were going to create two serial ports by creating two UARTs on the FPGA.
We will then connect a plotter (there is one in the engineering lab that we can use)
and a mouse to these serial ports. The board receives input from the mouse and sends
appropriate output to the plotter directing it to draw the mouse movements (the trace).
As the memory on the HC12 and other resources permit, we will try to include
the ability to apply different effects (reversing the path, drawing a smaller
or bigger picture proportional to the original path, etc.)
Drivers Wanted
We're looking at designing a game. Basically, it will be racing car
game, where you have to avoid obstacles, and hit certain objects to gain
points. The screen will be scrolling by with the edges of the race
track, while the car is fairly constant on the left side of the screen.
We also plan to attach a gravis game pad or joystick to the board, to
control the game. We haven't exactly figured out how to do it, but we're
only going to have a few basic commands from the game pad, i.e., up,
down, back, forward, and possibly one fire button.
Drivers Wanted Web page: http://www.sfu.ca/~dant/projects/ensc151/index.htm.
Team Infinitality
Our project is based on a car controlled by 3 motors.
First motor determines whether the car moves forward
or backward. Second motor determines whether the car
turns left or right, and the final motor shift the car up and down.
There will be an Input Control where the motors will be controlled by the user through noises. # of noises sounded will determine the right motor moving in the right direction.
We will also include a demo part where the car will moves by itself for around 2 minutes showing what the car can actually do.
Let's Disco!
Our group plans to build a musical game system. In this game the user
activates a certain button on the EVB when he or she hears a beat from a
tune sent from the EVB. In the intervals between the beats, the
user is expected to input various combinations through the buttons on
the EVB according to the instruction output on the LCD. The user will
also see a dancer dance based on the inputs. These inputs dictate the
various actions of the dancer. The image of a dancer dancing will be
formed by using a sequence of LED's arranged accordingly. In addition,
the complexity of the instructions for the inputs to make the dancer
move will increase when the user inputs the correct combination
previously. However, if the user inputs this combination incorrectly,
the EVB will keep track of the number of errors and will stop the game
when the user makes a certain number of errors. But, the user will see
the dancer dance according to his or her inputs even if it is incorrect.
The goal of the game will be to get to the highest level (most complex
dance moves) possible.
Specification for the external devices connected to the EVB: a series of LED's (probably less than 100 LED's) which will light up according to the outputs from the EVB.
Team Central Web page http://www.sfu.ca/~vksong/Main.html.
The Frog Game
Our project is probably going to be on the classic game of memory where
you will have to match up pairs of images.
We will use the LCD screen, using the characters from LCD character map.
3 buttons to scroll the along the screen and 1 to select the blank space.
Once selected the space will be uncovered and reveal the
character underneath, and you get to find its other pair to receive a point.
If all goes well we plan to make an intro, and main menu where you can select what type of game you want, easy, hard, etc.
We also might want to try an multi-player option if we have enough time and memory where 2 players take turns solving the game.
Team CompuGlobalHyperMeganet Website: http://www.geocities.com/frog_151/.
The Ultimate Digital Puzzler (UDP)
Our project is a puzzle game which uses the LCD screen as a scrambled
picture so attractive that the user cannot resist from putting
it back together. The screen is divided into 15 pieces of the
picture and a blank spot, each taking up a spot in the 8 X 2 LCD screen.
The user has abilities of choosing from different pictures, scrambling and unscrambling automatically, moving the cursor, and exchanging the positions between the chosen piece and the blank spot, provided that they are next to each other. The game also features a catchy theme song which will be programmed into the FPGA.
Team SHIN Website: http://www.geocities.com/shinmasters/.
Funky Piano
For our final project, we will create part of the piano on the LCD display,
and hook up a game-pad controller
and a speaker to the board to play the tones.
The LCD display will display exactly one scale of musical tones of a piano. Under the displayed piano, we will also display the corresponding tones, (e.g., C, D, E, F, ...) so the user knows what tone he is playing. A pre-programmed song with its correct keystrokes on the piano will show up on the LCD; then the user just simply plays the tones on the control pad. To indicate which tone is to be played, a small dot will show up inside the displayed keyboard.
We will also keep track of the user's score. The more correct tones and rhythms he plays, the higher the score he will receive.
X^3
We will be attempting to use an analog audio signal via a disc-man,
mini-disc, or walk-man to control the movement of 1+ mirrors,
such that 1+ lasers can be bounced off the mirrors to create
a graphical representation of sound waves.
We will be achieving this by converting the audio signal through a Analog to Digital Converter then feeding it through the FPGA in order to filter out a reasonable envelope. This envelope will contain the treble, midrange and bass signals. We will then decode this signal with the HC12 and use a DAC to control several motors.
We hope that the final product will be able to consist of three lasers, ranging from red, green and blue colors. Which correspond to the high, middle and low frequencies.
The hardware requirements that will be implemented are several motors, three lasers, and switches to control the power sources.
Team 3/4 Trooper Web site: http://www.sfu.ca/~stsanga.
The Traffic Cop
Purpose: To demonstrate a mini-traffic system analogous to the real world.
The traffic cop will consist of a traffic light model in which pressure sensors will be used to detect model vehicles. The signals will then be used to initiate the timing and operation of the traffic lights. The system will include with the traffic lights the operation of cross-walks and the use of an emergency button for the passage of emergency vehicles. Operation of the traffic lights will be done by the board, while the input of the pressure, crosswalk, and emergency signals will be done by the operator.
The Design of a Digital Versatile Sound-Sensitive Controller
We want to design a sound-control light which can be used in stair well.
First, we connect sound censor and a light bulb to the board.
When there is some sound, the light should be turned on, then it will
turn itself off after a few minutes. We can also use a switch to turn
on or off the light. When the light is turned on by the switch, it would not go off
until we press the off button. Another switch should be used to
disable/enable the sound censor. We could also display how
the light is turned on on the LCD (i.e., by sound or by switch) and if the censor
is enabled or disabled.
The other involves a game with a hang man.
1. There will be some words that will be stored in the memory and the program chooses
one at random.
2. The user enters a letter and if the user is right, a matching letter
will appear on the LCD else a counter (substitute for the stick-figure) will get incremented.
At the 4 or 5th wrong guess, the user loses. & When the user guesses all the letters correctly,
the user wins.
3. Also, we would like to make this a 2 player game if possible.
The first user, inputs a word of his/her choice, and the second player guesses.
Another choice of game could be classical poker, 5 card draw.
But this will be difficult since there are so many possible hands in poker,
and I don't think there isn't enough spaces on the LCD
to display all the necessary information.
The Pancers Web page: http://www.sfu.ca/~ypana/ensc151/pancers.htm.
The Game of Hangman
For our final project, we
plan to program a simple game of Hangman onto our EVB. Hangman is a word
game where the player must try to guess a mystery word by guessing random
letters. Our game of Hangman requires two players: one player will enter
the word, and the other player will try to guess it. The word must not
exceed 14 letters. The letters will be entered on the bottom line of the
LCD, while the mystery word will displayed on the top line.
Our EVB will be hooked up to speakers so that we can play music for different parts of the game: the opening of the game, after the word has been guessed correctly, and when the player has lost the game. We are unsure of the specifications at this moment, but we will include them as soon as possible. Also, we intend to include a graphical opening with music.
Entrapment
Our team plans to construct an alarm system optimizing several security features.
We plan to integrate a laser and light detector as the motion sensing
portion of our alarm system. We hope to take advantage of a sound detector
to further the impenatrability of our system. Both of these devices will sound
a blaring alarm to scare off any intruders as well as hopefully starting a camera
as to capture their identity (hareware availability permitting).
We will use the LCD as a menu to show the status of the alarm.
Buttons on the EVB will control the devices status, sensitivity, and options
(such as time delay until alarm sounds). The buttons will also be a
means of which one can disarm the alarm via entering the correct code.
RAD Digital Mixer: Rad, mad, totally bad mixer
The task of a dance music DJ is to provide a seamless flow of dance music
to the listener. This is accomplished by starting a new record before
an old one has finished. It also sounds good if two records are
playing simultaneously, giving a layered sound to the music. To sound good,
the records have to be properly mixed. This involves matching
the tempo measured in beats per minute (bpm), of each record.
The beats of each record also have to be sounding at the same time
so that the listener is not made aware of the fact that two records are playing.
One piece of equipment necessary for the dj is the mixer. The mixer is used to add the two signals. Sophisticated mixers may also provide a beats per minute readout for each turntable. The Rad, Mad, totally Bad mixer will mix two incoming signals, provide a fader to switch the output between the two turntables, and provide a readout of beats per minute of the two turntables. The mixer may also provide digital effects such as echo and reverb, time providing. The Rad, mad totally bad mixer will be a phat addition to any djs equipment.
AUTO-FED
Our system consists of a metal detector or magnetic detector which senses
the presence of the pet,
assuming the pet is wearing a metal or magnetic collar.
When the system sense the pet, the system will automatically drop
a reasonable amount of food into the bowl. The food container is located
on top of the bowl. The HC12-Autera board is responsible for the opening and closing
of the container at the appropriate instance, which is preprogrammed.
The opening and closing mechanism of the container can be a turning
disk with partial opening, so that the board controls the turning of the disk.
In addition, the system may also have a timer-oriented feeding option,
which can be set by the user to feed his/her pet at the desired time(s) of the day.
The settings can be displayed on the LCD.
If we have time to finish the system with the above description, we may add on other components to improve the system. For example, an electronic scale can be linked to the board so that the system can decide on the feeding of the pet depending on its weight (of course the system won't give it food if it is overweight!).
Note that this is only a preliminary proposal. There may be further changes to our project.
MATRIX Web page: http://bounce.to/matrixengineer.
Who Wants to be an Engineer?
We plan to develop a game that mimics the new abc gameshow
"Who wants to be a millionaire." We will have a series of increasingly
more difficult questions which, with the correct right answer,
will bring the player to a successively higher level until "Engineer"
status is obtained. As part of the project we hope to be able to hook
up a disc-man and headphones to the EVB so that the player can read and
listen to the question at the same time. We hope to find an appropriate
disc-man soon.
Finger Revolution
Our project will be a mini version of the "Dance Dance Revolution" game.
the user will press the four buttons, which represent up, down, left and
right respectively, as instructed on the LCD at the appropriate windows
of time. The characters displayed on the LCD will be arrows or double
arrows pointing up, down, left and right. When the arrows
(or double arrows) scroll to the the leftmost of the LCD, user has to
press the corresponding button once (or twice if it is a double arrow)
to score. We will let the game run for a certain amount of time or
certain amount of arrows before ending. The program will keep track
of the times the correct buttons that the user pressed and display the
score in the end. Music could be put in the program to add more fun.
Deep Blue Cheese
A chess program that with a king and rook will mate a king placed
anywhere on the board. The moves of the lone king will be entered by the
user while the king and rook will be controlled by the program.
This could allow us to constantly make improvements on the interface if
we finish the project before planned.
Team Shah Mat's Web site: http://www.sfu.ca/~gmillar/chess.
Superior Multifunction Alarm ClocK (SMACK)
Our project is an alarm clock, Smackdown style. It has all the
features of your everyday alarm clock: time set, alarm set,
time display, snooze...but it also has a lot more. Instead of the
convential audio alarm, the SMACK employs more sophisicated
and annoying means by which to disturb one's sleep. The most
prominent of these pesky sleep depriving methods is an
infrared output that allows the SMACK to activate all types of loud
and distracting machinery: TVs, stereos, etc. If time permits, an
infrared input will also be added, allowing the SMACK to learn
infrared commands and thereby control any IR device. With the
SMACK at your bedside, sleeping in will become a thing of the past.
Das Lasererscheinenprojekt
For the final project Team 22 is planning on developing a laser light show.
We plan on using the EVB to control three separate DC motors that revolve
mirrors at different speeds creating different laser patterns on the wall.
The EVB will be programmed to display a sequence of patterns by adjusting the
voltage to each motor. These patterns will change in time with a music
track. We also may use the EVB to control the frequency at which the laser
pulses, which will give us more control and precision over the patterns.
In addition, the LCD will display a short introduction and then the instructions for operating the laser display, such as which buttons to press. For example, one button will start the laser show and the music, a another will stop the laser show and the music, a third will just stop the music (and if pressed again will restart the music), and the last button will advance the laser show to the next pattern. When the music is stopped the laser patterns will not change, unless the fourth button is pressed.
We have talked to Lucky about what we plan to do and have showed him the small electric motors, and he thinks that it will work and is possible to do.
The Totally Out of Control Alarm 2000
Our project is on an alarm system that employ laser.
We are planning to use several mirrors, a laser pointer,
and optical sensor to create an alarm system.
We are also planning to include several alarming options ranging
from a squirt gun to calling the police via modem.
The options has not been finalized yet.
Team TOC Web site www.angelfire.com/electronic/Toca2000.
Greenhouse Climate Control System
Our project will be an enviromental control system for a greenhouse.
It will consist of a model greenhouse with an enviromental control
system which will test the internal temperature and have the
ability to either cool or heat, thereby, maintaining the preset
temperature range. The cooling and heating processes will consist
of an activated mechanical systems; mechanically opened roof vents,
a two stage fan and a heating element.
Team Tri-state Web site www.sfu.ca/~bfraser/ensc151.
Apatosaurus
We are going to design a plotter which is able to draw lines.
Also, it is capable of receiving some sort of analog signals
(e.g. sound) to produce a random picture.
We will implement our four switches as
the directional keys for the plotter (so we can have: up, down,
left and right for our plotter). Also
we are thinking using two keys simultaneously to have special
functions such as opening a menu, displaying the coordinate of the pen, etc.
We will also need special hardware such as motor with a rail, because
the pen must able to move left and right, up and down.
I hope you can tell us the person we should
talk to in order to get those hardware.
Team Iota Web site: http://www.sfu.ca/~dkpoon.
Card Sharks
We plan on writing a blackjack program for the EVB board.
This would include using a random
number generator to choose cards, and the user would play against
the dealer using the button s on the board. We hope to attach the board
to a coin counter/dispenser, so that the user can enter one or more
quarters prior to beginning the game, and the board will either keep the
quarters if the user loses, or pay double if the user wins.
We would also like to include sounds and graphics to go with the introduction,
winning, and losing.
Button Mania
Our game will contain a background music and a falling bars.
When the bars reach the bottom of the LCD,
the user hits the button which makes
harmonious sound to the background music.
In the LCD, there are a score and a rating
of the performance.
Team Pentium VII Web site http://www.sfu.ca/~wkang.
The Alan Parsons Project
Our project objective is to interface a professional racing
remote-control car to the EVB, and utilize the EVB's features
to control the vehicle. Our program will provide the essential
functions to navigate the vehicle on a pre-programmed route.
Moreover, we will have a feature that uses the buttons on
the EVB so a user can simply customize the route for the vehicle.
There will also be a "reverse-track" button that will essentially
flip the pre-programmed track the vehicle can navigate back to
the origin without the user programming in the track again.
To allow the EVB to control the RC car, we will be building an interface board that connects the EVB to the RC car's radio transmitter. We are currently researching these components for the interface: (1) For acceleration, we will need to use variable resistors. (2) For steering, we will need to implement potentiometers and digital to analog converters. (3) Finally, to control various other things like power on/off, we will need to implement relays, double-throw and double-pole switches.
The B@MOBILE
The first phase in out plan involves taking input from
an external joystick to control a pre-existing remote
control car. To accomplish this, we plan to use the
existing signal generation unit in the handset and
connect it to our EVB to take commands from our HC12.
We hope that in this phase, analog control of the car
(both steering and acceleration) can be realized
using A2D converters. After the first phase is
complete, we can then move onto stage 2: World
domination...no wait...that's not right...Stage 2 is
the addition of all the bells and whistles we can
possibly pack into the system by the end of the
semester. One idea that we will definitely be
developing is the ability to record and playback all
input from the joystick for a finite amount of time,
resulting in a sort of "instant replay" function. This
will be our first task, but we are constantly coming
up with new ideas as to what we want to do after.
JEOPARDY!
We are proposing to build a buzzer system similar to the ones used for
Jeopardy. We will have three
buzzers connected to our board (somehow), and program the board so
that it can identify which buzzer is activated first.
We will then display a message in the
LCD display, and preferably signal an audio output with distinct
frequencies for each buzzer.
Team VHEL Web site: http://www.vhel.cjb.net.
Harmonizer
For our project we are going to construct a guitar effects pedal of some
sort. We are leaning towards a Harmonizer pedal where we can input an
audio signal, change the pitch, and output the new signal along with the
old.
We will have to hook up some hardware to the board in order to input and output the signal. The HC12 ATD will work well for the input, but for output we will use an external DAT instead of the headphone jack.
To modify the signal, we plan to work with 1/30 of a second audio blocks (sampling 8-bits at 22 kHz), and modify the waveforms to either speed them up or slow them down. If we take small enough samples, it shouldn't sound too crude, but we have to make them long enough to capture the lower frequencies as well.
Enigma
Enigma is a game, which a player guesses the secret combination that
is chosen randomly when the program runs.
The player can use four buttons to select among three characters,
scroll right to set the cursor position when selecting the characters,
enter in the combination of characters created to match it with
the secret combination, and clear the screen to start the game over.
Some clues are shown on the LCD, which gives the player ideas
how to create next combination. It shows the number of characters
that could be used to make the combination, shown as RC,
and the number of characters on the right place, shown as RP.
These clues come from the last set of combination that the player created
and used to make the next set of combinations.
When the player guesses with in 10 tries the player get the message you go it,
and if he/she looses all the chances, then message game over.
Press yellow will appear on the LCD.
And the game can be started again. This game is based on a game
called Enigma invented by a company name called Freeverse Software where
you can download the trial version of the game on the web.
Team Gizmo Wordl Web site: http://www.agigizmo.homestead.com.