Skip Course Information

Course Information

Instructor Info:Charles Malloch
TA Info:Micah Savitzky
Charlie Romer
Ayliffe Brown
Term: 2014S
Meeting Info: Thursday
12:30 PM - 03:20 PM Lemelson Center for Design SHOP
Description:

This course will familiarize the student with the basic principles and techniques of programming and using Arduino microcontroller boards and integrating them with sensor and actuator circuits. Emphasis on general problem-solving skills and creativity in developing programs and circuits. This will be a project-based course; the majority of class time will be spent experimenting and building. Prior engineering experience not required, but the student should be comfortable with basic analytical thought and a beginning familiarity with simple electronics. All students will be using their own laptop and a provided USB cable to communicate with the Arduinos.

Course Objectives:

The course objective is to provide the student with the tools necessary to enhance projects with the capabilities inherent in the Arduino microcontroller. Those tools fall generally into two categories: software and hardware.

In terms of software, we will cover the fundamentals of c++ programming, discussing program syntax and structures, looping, decision-making, input and output. We will venture into the basics of object-oriented programming and the construction of includable libraries.

In terms of hardware, we will explore the basic electronics of connecting input devices like light sensors and temperature sensors and output devices like LED's and motors. We will discuss the I2C and SPI busses, which help us connect to more complex devices like shift registers and accelerometers.

Evaluation Criteria:

You are expected to come to class on time, do all the assignments as they are given and keep up with the work. If you are having trouble with an assignment, please ask for help right away. 

In order to get an evaluation for this class, you must attend class regularly and complete all assignments. If you are ill and miss a class, you are responsible for making up the work.

You must complete and document two larger projects, each demonstrating your mastery of the course material.

Here is the general outline of how the projects will work:

Week 0: Proposal submitted on Moodle

Include a description of the project, and tell me what parts of it will challenge you. Since each of you has different experience and expertise, I want you to help me see what you're learning and how you approach problem-solving.

Week 1: Work begins.

You should have a mock-up by the end of class. This should be a physical model and/or a fairly complete sketch of your code structure.

Week 2: Proof of concept.

The proof of concept demonstrates that you will be able to surmount the crux move, the most challenging part of your project. You may not have yet solved that puzzle, but the proof of concept includes at least a solid method for the solution that shows it's tractable.

You should have all the parts you need by now.

Week 3: Prototype and Preliminary Documentation

The prototype doesn't have to be pretty, but it does have to mostly work. The remaining work beyond this point should mostly be finishing touches.

A word about documentation. I'd like to see what you're learning. Whenever you dust off your hands and say to yourself "I did it!", that should be a signal to take a picture or write something down. Show me how cool your work is!

If there's any complexity to the circuitry or mechanisms, I want to see diagrams or sketches. And if there's any chance that the project might fail to work on project day, it would be really a good thing if you had a little video of it working to prove that it once did!

Finally, don't forget that you will need to write a retrospective report on your work as you prepare for divisional exams. Having a good repository of project documentation will be a great help in that activity.

Week 4: Working product demonstration in class, and documentation submitted via Moodle by the end of the class.

I will be grading your projects upon completion, but will make comments on your interim submissions so that you have my feedback as you go.Please note that if you finalize any of your submissions before you're done with the whole project, Moodle will cut you off -- it won't let you submit anything else or change anything. I don't know how to "un-finalize" your submissions.

Additional Info:

I suggest these books as good references:

  • Arduino Cookbook by Michael Margolis (O'Reilly). This is a great reference which I find very well written and which I consider the key non-Web reference. It is expensive ($45) and heavy, but it offers more comprehensive alternatives to my in-class explanations.
  • 30 Arduino Projects for the Evil Genius by Simon Monk (TAB). This book offers a great introduction to methods for connecting lots of sensors and actuators to give your Arduino links to the real world. You will find it a source of many good ideas.

Lab Fees

Your lab fees will cover several things. Some of these will be yours to keep:

  • A Teensy 3.1 Arduino clone which is somewhat faster and more powerful than the true Arduinos available now.
  • A USB cable that will power your Teensy, connect it to your laptop's USB port, and can also be used to charge some of your other electronics (although not at the same time, I think).

Other things will be course materials that you can use during the term for projects, but which have to be returned, such as motors, relays, speakers, and microphones. We hope to build up the library of such items from term to term.

The rest of the lab fees cover shop items, both in the electronics area (the parts wall with resistors, IC's, capacitors, LED's, etc.) and in the machine shop.

Shop Safety Training

You must complete the shop safety training provided by Glenn Armitage, since you will be using the shop space, which includes the electronics area and the classroom. Glenn provides the training during the first couple weeks of the term. I will announce the training schedule when it becomes available.

TA Sessions

The class will have two TA's, Charlie Romer and Ayliffe Brown. We will work out a schedule for TA sessions during which you can consult with them regarding your homework or project work.

Charlie's TA Hours: Wednesday 12:30-2:30 PM

Ayliffe's TA Hours: Tuesday 7:30-10PM

Micah's TA Hours: Tuesday 12:30-3:20PM