CSE 466 Midterm (Lab 6) Project

Introduction

For the Midterm, each of you will build and program a project with a specific design and goal. This project must be individual work, not done with a partner.

You can re-use some previously developed code from the labs, like display and motion sensor code.

Try to work systematically, outlining and planning program flow and user activity in advance. You may need to do some research into methods.

You will be graded on how well your project works, its ease of use, and the clarity of documentation and code comments.

Bonus Points: We will take complexity and originality into account for bonus points. Wonderful failures are better than boring successes, but your project should actually work.

Objective

In this lab, you will build something to demonstrate what you have learned so far in this course.

Available Resources

You should pick one of the following projects:

  1. Image display program— using SD card reader on LCD board. Display a minimum of six images in succession, and cross-fade between images, 2 sec. fade, 2 sec. display.
    See PlayScale.ino for information on sharing the SPI bus, and use of the SD reader. It also plays a chromatic scale through the A14 DAC output.
    You also need parrot.bmp and purple.bmp copied to a formatted SD card. I formatted with SdFormatter.ino, using the "F" command.
    The pushbutton should be used to toggle between dissolve mode and wipe mode, using at least three different wipes http://en.wikipedia.org/wiki/Wipe_(transition)

  2. Color picker— change the color of a filled circle on the LCD screen and the tri-color LED with the motion sensor.
    Use HSV color space for control, and transform that data to RGB for screen and LED.
    http://courses.cs.washington.edu/courses/cse466/14au/pdfs/lectures/04c-colorspaces.pdf

  3. Video Game— using LCD and motion sensor. Pong? Tilt-table? Etch-a-Sketch? Be creative…Make it simple.
    Option: add audio sound effects through the DAC or PWM using a small speaker or piezo transducer.
    See PlayScale.ino for information on sharing the SPI bus, and use of the SD reader. It also plays a chromatic scale through the A14 DAC output.
    There are several small speakers in the cabinet that work when connected to A14 and ground.

  4. Respiration Monitor— a device that sits on your chest and measures and logs respiration in breaths per minute as you lie on your back.
    Store the data as an ASCII text file on the SD card.
    Uses battery pack, and needs low-power considerations in programming.
    Android example: https://play.google.com/store/apps/details?id=com.sciencewithandroid.crmonitorfree&hl=en

  5. Activity Logger— use the motion sensor to detect activity, (such as walking, jogging, sitting, going up or down stairs) and log it as ASCII to the SD card.
    Think FitBit, or any of the other myriad fitness trackers.
    Uses battery pack, and needs low-power considerations in programming.

Deliverables

  1. Short (1-3 pages) project report, with the following:
  2. Fully-annotated and clearly commented sketch, with each code block explained

  3. files with example logging data (if applicable)

  4. Demo of your working hardware sometime on Wednesday Nov. 12 afternoon, in the lab. I'll be there until 4 pm. Late demos at the start of Thursday's lab or email me for a time.

1, 2, and 3 should be turned in to your Catalyst drop box in the Lab 6 drop bin by Wednesday, Nov. 12 at 11:45 pm.