SPRING '99 ENSC 151 LAB TEAMS:
SKI GAME
We, the Dukes feel that our original Tamagochie (Virtual Frosh) idea is not
completely original. While experimenting with the board, we have developed
an algorithm which enables us to scroll a character smoothly from one line
of the LCD to another. This allows for smoother animation effects. To
fully demonstrate this, we have decided to create a ski racing program
which simulates a skier going through a slalom course passed gates. The
leftmost part of the screen will be the top of the hill, and the opposite
end the bottom. The skier character will scroll smoothly back and forth on
the short axis, and the trees/gates/rocks will scroll towards the top of
the screen. We are still developing an algorithm to smooth the characters
smoothly along the long axis.
MIROSOT
The Micro Robot Soccer Tournament (MIROSOT) is an international robotics
competition in which teams of robotic soccer players compete against one
another. One of the aims of the competition is to promote developments in
autonomous robots and intelligence systems that can cooperate as a team to
achieve mutual goal. < http://www.ensc.sfu.ca/research/mirosot/>. The SFU
MIROSOT team'99 is attempting to redesign the current existing robots to
equip them with partial intelligence on board. This will be done through
the addition of hardware and software for the purposes of collision
avoidance and improved path following characteristics.
One of the problems of the SFU's MIROSOT team is that the robots can't move in a desired straight path. In order for a robot to move in a straight path, ideally the frequencies of both wheels should be the same. Due to the mechanical limitation of the motors and the wheels, practically we see that the wheels don't rotate at the same frequency. Therefore, deviations are observed in the path. The aim of our project is to overcome this problem by providing appropriate software, using Motorola 68HC12 microprocessor, Altera chip, and the LCD. Our strategy was to get a feedback pulse from the wheels, comparing it with the desired frequency from the CPU, and adjusting the frequency of the wheels.
TAMAGOCHI: THE GAME OF LIFE
I am with the group Wonder Women. For our final project, we plan to make
a game called The Game of Life. The object of this game will be to raise
a child. The user will be presented with a variety of decisions they
will have to make regarding how they will raise their child. These
questions will be generated randomly from a list of question we will have
made. The user will use the push buttons to answer the questions, and
based on the choices they make, they will be awarded a certain amount of
points. The clock will run out when the child turns 18, and the user will
be presented with a final comment regarding what their child has grown up
to become. This final comment will be based on the number of points the
user has accumulated. The game will incorporate a lot of graphics on the
LCD and some sound. We may also modify the game so that the user will
have the choice of making decisions for a child or an adult.
THE CREATIVE DIGITAL COMPOSER
The Creative Digital Composer is a music composition program for use with
the Motorola 68HC12 Evaluation Board, in conjunction with the Altera Max
7000 series FPGA. The program uses the LCD to convey information to the
user, with a menu system directing all user input. The composition mode of
the program allows the user to enter in note values and length of play
through a sheet music simulation. The LCD displays one line of sheet music,
which the user can navigate through and enter notes or rests as desired.
The playback mode allows the user to play either his/her custom composition
or one of a number of pre-loaded musical pieces. The notes of the piece,
displayed in sheet music form, are scrolled across the LCD as the music
plays through attached headphones. Certain playback characteristics, like
speed, can be controlled by the user in real time.
STRATEGY GAME
Our project group is "The Slackers", and we have agreed to make a
strategy type "game" for the EVB. The user will have to operate and
maintain a nuclear reactor to maximize efficiency. He or she will have a
set of controls that will determine what happens within and around the
reactor. In the late stages of the project we may decide to implement this
program into something larger, like a vessel or a city. We still have yet
to work out the details of this project and learn more about what we are
going to actually be doing. With this project idea we can go at many
levels of complexity which will allow us to maximize the power of the EVB.
BLACKJACK 12
For our final project, we, the musketeers plan to create the classic card
game blackjack. The user will play against the HC 12. The purpose of the
game is to get as close to 21 without going over. The winner is the one
who is closest to 21. The game will randomly deal two cards to the user,
which will appear on screen and will deal two to its self, which will be
in memory. The user can then push one of the buttons to get another card
and another button to signal that the user will hold. We will program the
HC 12 to get cards for itself and to hold.
THE ORGANIZER
A personal organizer will be designed and implemented using the EVB.
The organizer will consist of a daily planner and a phone book.
Characters will be displayed onto the LCD. Two buttons will be programmed to shift the screen left and right in order for a user to select characters. A third button will be programmed to perform an "ENTER" instruction that saves a character selected by the user. As a result, the user can select different characters and save entries such as "12:30_ensc151" into the daily planner or "1234567" into the phone book. When it is time for an event to occur, the board, connected to a sound device, will play a music or note to notify the user. In addition, each phone number will correspond to a specific frequency. The entries in the phone book can then be dialed using a speaker connected to the board.
For our final ENSC151 project we are considering two possibilities.
ANIMATRONIC EYES
Our idea is to use the microprocessor to control a mechanical set
of animatronic (robotic) eyes. In order to achieve this, we will need to
read in analogue values from a set of trim pots using the on-chip A/D
converters. These values will specify the position of the various axes
(horizontal, left, and right) for the eyes. We will use standard R/C servos
to physically move the eyes, this entails outputting a very specific pulse
width modulated (PWM) signal to the servos. As input the servos expect a
PWM signal with a 50Hz duty and a pulse width varying between 0.5ms and
2.5ms. The PWM signal could be implemented on the HC12 but it will probably
be done on the Altera FPGA. This is because the Altera supposedly has a
25MHz clock, which will allow a full 8 bits of resolution over the small
2ms time slot (256 steps over the range of the servo's motion). Although
this could be coded on the HC12, the 8MHz clock makes for very timing
critical operation, and would leave less processor power and memory for
anything else. The on-chip PWM outputs could also be used, but this would
only allow around 25 steps over the servo's range of motion. This would
result in very jerky and unrealistic motion of the eyes. With the leftover
processor power, we can display information on the LCD such as position
values, system status, etc.
PLANT HYDRATION SYSTEM
The HomeGrown group proposes to develop an indoor plant hydration system.
The incentive for developing such a system is to keep plants alive when
the plant owner is not available to water the plant on a continuous basis.
A target user would be a frequent vacationer. The M68HC12 microcontroller
will compare the soil humidity to threshold humidity and deliver water
to the soil if the input humidity is less than the said threshold humidity.
The hydration system will support various threshold humidities, corresponding to the various soil humidity requirements of plants. The user will select the desired threshold humidity, depending on the type of plant the system will be responsible for. At regular time intervals, the microcontroller will measure the humidity of the soil. If the input humidity is less than the threshold humidity, then the microcontroller will enable controlled water flow (i.e. the microcontroller will water the plant). The watering frequency will depend on the selected threshold humidity. A cactus, for example, will be watered less often than an orchid. We have not yet decided if the amount of water given to a plant will be the same for every threshold humidity setting.
Our first task will be to research and select a method and a device for measuring the soils humidity. The input humidity measurement will be an analog signal, which we will need to translate to digital. The analog signal will be compared with the selected threshold humidity. If the input signal is greater than the threshold, the signal will be set to low and the plant will not be watered. If the input signal is less than threshold (i.e. the soil is drier than the threshold humidity), the signal will be set to high and the microcontroller will control water flow to the plant.
Water flow can be controlled with a valve or with a pump. If we use a valve, we will need to design a sealed opening and closing mechanism and integrate the mechanical component to the system. A pump can be integrated with greater ease than a valve mechanism: it requires only an electric current to turn the pump on. Thus, we will likely use a pump in our hydration system.
MUSIC MACHINE
We are planning on doing our project on a music machine.
This is supposed to generate tones based on standard frequencies.
This ideally will able to produce a sequence of beeps that
have musical inclination. Even though producing sound output is something we
are looking into, we are mainly concerned about the algorithms involved in
efficiently producing harmonious beeps. The LCD will be used to display the
key being played and will also be used to output information needed by the
user to make selection.
Even though this is our main plan we have a backup plan that involves an alarm system. I will not describe this in this report but if we change our mind before the second report is due we will include the preliminary discussion along with the update
THE GREAT ALARM SYSTEM
We will create an Alarm System for home use!
MUSICAL CHALLENGE
For our final project we would like to make a memory game. There will be
four sounds that will will correspond to the four buttons. Music notes will
also correspond to the sounds and they will be displayed on the LCD. The
object of the game is to repeat the sound pattern in order. Each time the
user is successful an additional note will be added.
PK Boy
Our group has decided to make a karoke music box for our final group
project. This music box will be programmed with music, that can be
played from the headphone jack. Also we will have the lyrics to the
song scrolling across the screen, this could require creating user
defined characters. The final aspect of the music box involves some
hardware implementation, we are planning to have the chip control some
motors that will in effect enable a figure to move and "dance" about.
We have yet to work out the details of the project but this is our
initial plan. We will keep you updated on the status of our project.
Thank you for your attention.
YET UNTITLED GAME
Our project will be a yet untitled game, which uses the interrupt buttons to
maneuver through a mine shaft or underground tunnel, in the search for the
hidden treasure. The buttons would move the character left and right, as
well as quit or pause the game. The challenge for the player will be to
escape falling rocks from the ceiling of the cave, and maybe rolling
boulders. Possible additions are sound, and levels.
OLYMPIC HURDLE RACING GAME
We have decided to do an Olympic hurdle racing game. This will be a side
scrolling game. We will break up each line of the LCD display into two lines, thus
having a total of four lines. This will allow us to have a man running and jumping
hurdles on each line of the LCD display. We intend to have two buttons for the game,
a running button which must be pressed repeatedly to increase and maintain the
runner's speed, and a jumping button which when pressed will result in the runner
jumping. If a runner crashes into a hurdle, it will slow down his current running
speed. Once the runner has crossed a finish line, the hurdle game ends.
We have selected this preliminary design because it will lend itself quite nicely to an interactive two player game that may actually be fun because of the competition between players. Also, previous game projects completed in this course were not two player games.
We hope to be able to scroll the two parts of the display at different speeds and have several different hurdle tracks (that is, the hurdles set apart at different intervals). Possibilities also include a 'short' jump and a 'long' jump so that a two short jumps (or a short and a long jump) would be required to jump two hurdles separated only by a single unit of space. A long jump would be required for two hurdles adjacent to each other.
The Team Formerly Known As No Name WWW page.
PERFECT PITCH
Interval testing is one of the many test items in aural exam for
pianists. Our goal of the final project is to perform such interval
testing. In such test, two notes are played at the same time. the
student must then identify the interval (the distance) between the two
notes. For our final project, we would pick two notes at random and use
the audio output to play that two tones. The user is then asked to input
the interval and the LCD would display to the user whether the input
interval is correct. The user would use a connected keypad to make such
input.
http://members.xoom.com/KatyaN/lyratecs.html
STROBE LIGHT
We will try to input audio signal to our EVB, then process it and
hopefully be able to output corresponding analog signal in the form of
resistance, to drive the strobe-light. The result should be a strobe light
whose flashing frequency follows the frequency of the audio signal.
HEAT 2000
After further research and consultation with older engineering students we
decided to go with the following project description:
We will use our HC12 EVB together with external circuit as a temperature measuring unit. External hardware would measure temperature in Kelvins and send according voltage to our a/d converter. We will then use this signal information together with a software package and interface through a PC as a temperature measuring and logging unit with an option of time recording. The unit will also consist of LED status component.
We have already worked out some very important details. We have finalized our external circuit set-up and found that all of the parts required are easily accessible through regular electronics store (Active) plus we had some electronics parts from the previous electronics courses (two of our team members have taken two years of electronics in high school). We have also worked out pseudo code for our software package and are now in a stage of completing individual parts of code and putting it all together.
We believe that this project idea will contain necessary components to demonstrate our knowledge of the course material and yet be simple enough for us to complete in the time slot provided.
ANNIHILATOR
For this project, we'll implement an arcade-style combat game for 2 players
(Human vs. Human). Game action will all be displayed on the LCD. Each player
will have 2 control - Hit or Block (All 4 buttons will be used).
The first player to win 2 rounds wins the game. Players cannot move.
They can only block or hit (We do not feel there exists enough resources
for us to successfully implement more). Also, there will be no computer vs.
human game mode provided.
Most of the code will be done in HC12, while the Altera chip will provide counter functionality, priority & logic functions to HC12 to determine players action and game results. Debouncing of the buttons will likely be done using the Altera chip. We will implement sound effects if time permits.
NHL '94
Our project will consist of a Morse-code decoder. This machine will
allow the translation from the dots and dashes of Morse code to plain
English. The Morse code will be entered through the buttons the program
will decode the messages in real time. If possible we will also have a
way of encoding plain English into Morse code. This is the perfect
project for the RED ARMY to undertake.