http://wearcam.org/lecturelab9/index.htm
counts twice as much: measure of intense effort.
start now (a common problem is that when people are given more time,
they consume more time).
grading:
- half individual, half group (half the grades are based on individual
questions about the project, and have are based on the group's
project as a whole).
lab9, ideas for final projects
here are just some of the possible ideas that could be pursued for lab9,
the final project.
Note that there is a lot more freedom here than in previous labs, so the
grading will be less structured. Also, the grading will reflect the
degree of difficulty of the project you create or choose. For example,
a difficult project that sort of works somewhat, will be as good as
an easy project that works really really well. The idea is to impress
your teaching assistants with the vast array of knowledge and experience
you've gained in the course.
Also, feel free to mix art and science, because that's what the "ArtSci"
faculty is all about.
Choose your own final project, or choose something from the list below:
- Device driver for LED sign: write a kernelspace driver,
for operating a serial port LED sign. (Scrolling LED sign
like the one in seatsale).
- Make an encoder to measure how fast a gerbil wheel is turning,
making sure it can know which way the wheel is turning.
Hint: use separate real and imaginary signals, e.g. you could
use these (front and back) coding wheels and read them with photocells.
You could also have a higher frequency coding wheel:
.
You could also put the real and imaginary together by simply using
slanted slots:
.
or you might try making a 3 phase coding wheel:
.
- Enrunner: a gerbil wheel that makes important top management executive
business decisions in your computer network.
Device drivers, etc., are installed or removed
in response to turning the wheel.
- (ac)counter (ac)counting: Count the number of revolutions and direction
of travel in a gerbil wheel, and keep an account of the number of
revolutions. Give your programs to another group who can
Enrun them (see above).
- Jerbils of Justice: a justice server that accepts input from 12 gerbil
wheels, and delivers a verdict, guilty or not guilty, based on the
inputs from the 12 gerbil wheels. (Verdict of Vermin.)
- Interface a three phase generator to a microprocessor. May be used by
another group to Jenerate Justice (as indicated in above projects).
- Build a small generator from a magnet and 3 coils of wire:
http://www.windpower.dk/tour/wtrb/syncgen.htm
and connect it to your breadboard to read out the voltage values
and plot the three voltages.
- Child's Play: interface a children's toy to your computer so that when
the child moves portions of the toy, the state of the toy can be read by
your computer.
- Turnstyle: Interface a turnstile so that it can operate in various modes:
1=one-way; 2=two-way; 3=free (turns freely); 0=no-way=detention
(waits for a person to enter, and then locks the person inside the
turnstile by locking the rotor when the person is at the right stage
in passing through).
- Directed Swipe: Devise a way for a credit card reader to know which way
the credit card is going. This requires reading both tracks, of either
a known card, or one written. To use a known card, the reader will know
direction of travel by way of the relative information on two tracks,
or the known information on one track. Perhaps you can even correlate
to whether or not the data "makes sense". Alternatively, write
complex-valued data to the two tracks (real on one track, imaginary on the
other), using an appropriate record head.
- Swipe Scratch, Scratch and Win:
Put a directable motor into an old record player.
Use Directed Swipe (above) so that running the credit card back and forth
in the slot moves us through the music or other data on the record.
Moving the credit card forward turns the record forward, and moving the
card backwards turns the record backwards.
- Voice of Vermin: Interface the above record player to a gerbil wheel,
in a like manner, so it can move forward or backwards in unison with
the gerbil wheel.
- Write a device driver for the MINI SSC serial port servo controller.
This serial port servo controller is used in
ECE431 lab2,
so you can get the programs from the
ECE431 www site. Your project would involve taking the userspace
program mini_ssc.c and converting it to a device driver that can take
two inputs, /dev/pwm0 and /dev/pwm1 to control the position of two servos
for a serial port telepointer.
We've done most of the work for you; take a look at our
quick hack
that works just like a device driver. Take a look at our
servoserialdriver.c program and convert this pseudo device driver
into a real device driver.
Here are some code fragments from the servoserialdriver.c program.
- Build a
device to drive two VGA video displays from one VGA source
(e.g. to connect two VGA displays to one computer).
- Microprocessor based
automatic sensor operated handwash faucet.
This is LAB4 in the ECE431 labs.
- a briefcase with keyless locks operated by
fingerprint scanning so that anyone except the owner can open it.
-
a container for your papers (identification cards, passport, etc.)
that prevents you from showing your papers to strangers. Keeps your papers
in order and keeps your papers from being seen by strangers.
- there are available some fingerprint scanners so students could also do
other projects with fingerprint scanners.
- instant on microprocessor based fingerprint scanning: getting the computer
to boot instantly for fingerprint scanning.
- There is available
an ISA based portable battery operated radar, so students could do a
project with the radar.
This is
lab3 of ECE431
(Digital Signal Processing);
the whole dataset and Octave scripts are
available in a gzipped tarfile
from the ECE431 site.
The lab uses the Octave program, the GNU freesource
matrix manipulation program. If you're going to do this project you
should be familiar with the Octave program.
THOSE WORKING WITH THE ISA ANALOG TO DIGITAL CONVERTER SHOULD
BECOME FAMILIAR WITH THE comedi GNU LINUX DEVICE DRIVERS
AND WITH THE libcomedi, prior to coming to lab.
- one group proposed an ECG measuring instrument; one of the group
members works at a hospital and has access to electrodes and amplifier;
they will bring in this equipment and will be provided with an analog
to digital converter, etc..
THOSE WORKING WITH THE ISA ANALOG TO DIGITAL CONVERTER SHOULD
BECOME FAMILIAR WITH THE comedi GNU LINUX DEVICE DRIVERS
AND WITH THE libcomedi, prior to coming to lab.
- uniform sampling using comedi supported analog to digital converter in
one isa slot, and an 8254 timer in another isa slot.
- there is available a PCI based videocapture system, using the BT848
device, so this would be another possibility.
- bt848 flash sync: modify the bt848 device driver to flicker on a light
at the exact instant the camera is taking a picture.
- flashlamp sequencer: modify the bt848 device driver to flicker on one of
the eight lights (e.g. /dev/ibus0 or /dev/ibus1)
at the exact instant the camera is taking a picture, and sequence through
to the next light each time a picture is taken.
-
make your own ISA analog to digital converter
(in case of problems with this link, there is a
local mirror of the
text portion).
- pic programmer, cpld programmer
- radar scope, e.g. calibrated plotz, or an xwindows scope plotter,
e.g. implementation of a microprocessor based oscilloscope,
live gnuplot in xwindows, etc..
-
card reader documentation is available.
- if you have other ideas for final projects,, feel free to mention them
in friday's class.
- e.g. one group wanted to do wireless communications and so they will
be provided with the use of two terminal node controllers.
ALL MEMBERS OF THE LAB GROUPS MUST COME TO THE LAB9 LAB SESSIONS WELL
PREPARED. MAKE SURE YOU HAVE RESEARCHED YOUR CHOSEN TOPIC THOROUGHLY,
AND THAT YOU HAVE READ ANY AND ALL FAQs, HOWTOs, or any other documentation
that is available for your chosen topic.
for labs so far, don't forget to send in your code for the hall of fame,
and claim your bonus points!
Many of these projects could also be extended into cs 494, cs 495, or cs
Masters theses. These interested in pursuing these projects further
should indicate interest at the end of any class period.
At the end of Friday's class, students are also welcome to come and
visit the Humanistic Intelligence Lab.
ece385 lab9 hall of fame (cool lab9 projects)