Arduino & Processing
Recognizing that different students have different skill levels and interests in software engineering, you will have a choice of projects for this assignment. You may help each other in these projects, but you are responsible for doing the work yourself and submitting your own project.
There are three choices, explained below:
- Arduino Tutorials/Projects
- Enhanced Digital Thermometer
- Thermometer Visualization
You may also create a custom assignment, if you have a specific idea you would like to explore, but get approval first.
This choice is only for software novices (you declared yourself as such in the expertise survey).
Because there is such limited time for this assignment, if you have little to no prior experience in programming in a high level language, I realize that tackling a project that requires significant learning of programming may be unrealistic and frustrating. In that case, you may follow and build a number of tutorial or example Arduino projects that are available.
Choose a few that are challenging enough for you to learn and practice creating physical prototypes with Arduino hardware and software. You must actually wire up the circuits and make the code run. Even though you aren’t designing the circuit and writing the code yourself, there is value in executing these tasks with your own hands and brain.
There are many sources of tutorial and example projects to be found online and in the large collection of published books. You should prepare to spend at least 10 hours in these activities. Let me know of your choice, and if you need help in finding something appropriate.
Enhanced Digital Thermometer
For this choice, you are to enhance the basic Arduino thermometer that we used in the exercise with added functionality. Imagine that this is the prototype for a component of a home automation system that is designed to control the heating system, like the Nest Thermostat. Think about what other capabilities you might like to see in such a device, and develop a prototype to test those design ideas.
Some accessible options you can explore, with just the materials in the basic Arduino kit are buttons to control output (Fahrenheit or Centigrade), reset tracking data (like temperature maxima and minima), or change modes of operation. You can also use a potentiometer (variable resistor that can be used to implement a rotary knob) to adjust analog parameters of the system (like range of temperatures that are scaled to the LED array).
Choose a few scenarios, design the circuit for the sensors or actuators that you need, and develop the software that wil implement that functionality.
For this choice, you are to create a beautiful digital thermometer, using Processing, that visualizes temperature data received from an Arduino in real-time on screen. This assignment will allow you to exercise your design skills and practice “sketching in code.” You can use the version that we looked at in class as a basis and an example, but create your own graphics.
You could also use a different sensor, such as the light sensor in the basic Arduino kit, and create a visualization of that data.
For whichever choice you make, submit evidence of the work you did. This certainly includes bringing the physical prototype (Arduino, breadboard, etc.) to class for critique. You must also submit your process blog entry, separately as a PDF in Canvas, as a reflection of what you learned from the assignment. Include photos, videos, sketches, schematics, and other documentation.