Suggestions for final projects. This will be enlarged at some point to help deal with unusually large class.
If you don't like mine then you are encouraged to come up
with one of your own.
Each project has a number after it. That is the number of
simultaneous people who can do the project due to hardware
constraints.
Each project also has a letter after it. That specifies the project's difficulty
on a scale from A (similar to about 2 labs of work with little independent
thinking) to E (a seriously difficult project involving a lot more work and
significant independence of thought). The level of difficulty will be taken
into account when assigning grades. You will have to do an outstanding job
of an A project to get a perfect grade while a serious effort that does not even work suffice for an E project. A good job on an A project will yield
about 80% of a perfect grade.
- There are the nice new wheeled robots to play with.
Getting one to work so that it could follow a prescribed path that could
be easily changed by altering entries in a table ind recompiling the program
would be an A project. A B project would allow you to talk to the robot
in some way to control its operations. This could involve a plug-in serial
link or (better) an infra-red link. A C project would result in a robot
capable of some form of independent navigation using sensors to deal with
bumping into things and taking part in 2-way communication with a PC. An
E project would have intelligent navigation, intelligent control of the
on-board power so that the robot would automatically return to recharge
when its power became low, and several forms of sensor to interpret the
environment.
- Scrolling LCD Display—I have a number of 2-line, 40 character LCD
displays. The project would be to take one and make it display a long message
that scrolled across the display. (7) (A but could range to C if you make
the message easy to control from the PC)
- Write your name or initials on an oscilloscope. Using the x-y mode of
an oscilloscope you can control the position of the dot using a pair of
digital-to-analog converters. Project would be to display a multi character
message on the screen. (any number) (A-E depending on the complexity of
the display. A pair of initials would be a B, a wire-frame 3-D cube rotating
in real time would be an E)
- I have a number of serial interface computer keyboards. Project would
be to interface one to the 9S08 and make what was typed on the keyboard
appear on the PC using hyperterminal. (8) (A-B depending on whether you
handled all the shift keys and function keys or C if you add an LCD.)
- I have a number of parallel interface keyboards. Project would
be to interface one to the 9S08 and use if for some kind of input. (8) (A-B depending on which kind of keyboard and the sophistication of the program to C if you add an LCD.)
- Build a stepper motor driver with control from some switches. A stepper
motor is a kind of motor used in a lot of precision positioning applications.
Project would be to control one from switches that would allow you to take
one step forward or backward or to run forward or backward while a switch
was held down. (at least 5) (A-C depending on degree of control.)
- Build a DC motor speed controller using an optical encoder for speed
feedback. (2) (B-C depending on degree of control.)
- Build a sonar rangefinder. I have some ultra-sonic transmitters and receivers
that can be controlled by a computer to send a pulse of sound and measure
the time it takes the echo to return. (about 4) (A-B depending on accuracy
and model.)
- Interface a 9S08 to the robot arm. (1) (C-E depending on what the arm
does.)
- Implement an infra-red data link between the 9S08 and the PC. (2-4) (A-B)
- A sound wave is merely a set of suitable frequencies played through a
speaker. Make your computer play a tune. (any number) (A-C depending on
the flexibility. A short multi-note sound with square wave tones is an A,
a real tune with a controlled wave-shape is a C).
- Build a metronome. It should have a pair of switches (or more) to set
the beat rate and some kind of display to show the rate and, of course,
it should tick. (any number) (A-C Simple ticking with rate set from PC is
an A, a full featured, stand-alone device is a C.)