CS 153: Lab 11

Title image Fall 2018

Lab Exercise 11:

The final project is your chance to bring together all the things you've learned this semester. You can choose from a number of different possible projects: a game, an enhanced rover, or an interactive sculpture. Whatever you choose to build, it needs to incorporate sensing, motion, and visual or audio output.



  1. Pick a general topic for your project. The following are some suggestions; you can select topics not on the list.
    • Kinematic Sculpture: create something that responds to its environment in an artistic/interesting way.
    • Advanced Rover: add more sensors/capabilities to your rover. These might include more distance sensors for avoiding obstacles, an H-bridge chip so your motors can move either direction, or more types of sensors.
    • Musical Instrument: create a musical instrument that makes use of at least two sensors.
    • Game: create a game of your choice.
  2. Once you have picked a general topic, develop a more specific idea. Keep it simple. You can always add things once you have a basic project working.
  3. Identify what board parts you will need for your project. We may be able to provide/order some additional parts, if necessary.
  4. Identify what C++ classes you will need to create for the project. Each sensor/output/motor should have its own class (which may be the child class of something like Sensor).
  5. Sketch out the overall design of your program. If it requires a state machine to manage the actions, write out the state machine diagram, noting the event that causes each state change along the appropriate edge.
  6. Sketch out the order in which you will develop your project. Focus on building out the pieces in such a way that you can test them as you go.
  7. Go over your design ideas with the professor. Then get started.

When you are done with the lab exercises, you may start on the rest of the project.