LAB #1

Due Wednesday, October 9


Before doing this project, familiarize yourself with the CCRMA computers and the AVRminiV3 protoboard.  In particular, look through the avr-demo examples!

Design and implement a reaction-time tester using only the AVRminiV3 board plus the LCD.  Instructions and results are to be on the LCD; the stimulus must be using the LEDs and the response must be using the SWs on the V3.

The main goal is to gain familiarity with the Atmel AVR mega163 and the AVRminiV3 proto board.  We start with simple "BUTTONS" as opposed to continuous "HANDLES".  In the process, you should develop some familiarity with what a millisecond is and how fast and accurately you can press buttons.

Do one or more of the following:

1. CHOICE REACTION TIME when a light comes on, press a switch to turn it off.
    a) one light, one switch.
    b) two lights (50:50), two switches
    c) four lights (25:25:25:25), four switches.
2. COUNT DOWN: flash sequence LED0(t=0sec), LED1(t=1), LED2(t=2), then tap SW3  for LED3 (at t=3).
3. RYTHM: flash four times (t=0,1,2,3sec.) then tap four times (t=0,1,2,3sec.).
4. SPEED: tap as fast as you can 2-times, 5-times, ...

5. do 2 or 3 or 4 with .01, .05 or .25 sec delay between tap and flash.
6. any or all of the above with an external switch, key or contact.

Display rt in msec - after every response and/or average 10 trials.

Bill's example code fourbutton0.c

Answer these questions in an e-mail and attach your *.c and *.hex files.

1. Describe your program(s) and the decisions you made.  For example, did you randomize the time between warning and stimulus?  Did you allow "negative" reaction times?

2. What were your (or someone else's) best and average reaction times?  How did the reaction times depend on the conditions?  Did you calculate standard deviations?  For example, COUNT DOWN and RYTHM, the average time between target and actual might be very close to zero, but the variation large or small.

3. How might you improve the precision of your performance?  What improvements in the display, switch or program?  How would the an auditory or haptic display change your results.

4. Where might reaction time relevant?  What other simple button-like tasks do these tasks suggest?  How do musicians deal with the uncertainty of when to play?

Extra credit:  Calibrate your measurements with the real-time-clock or an external clock.  Create a simple randomizer for human experiments like this.