Often when trying to solve a problem, the place where you get stuck is where to start. The first move is often the most difficult. We pause for hours (or days, or weeks) with excuses for making the first move, or getting going. I’ve found that the way to get unlocked here is to have a method for solving problems that can help the ‘stuck when getting started’ problem.
Recently, the open source movement has spread to the open hardware movement and to the artistic community with hardware and software platforms (Ardunio & Processing). While enjoying learning about these technologies, I often get stuck and am inefficient in solving problems. So, in a meta-analytical way, there is a possibility to step above the process of problem solving and create some more general methods. Below is application of the PPSP to work on the Arduino and Processing:
Software: Processing and Arduino
1. Describe the problem & document
2. Be able to recreate the state if we shut down (write down initial conditions)
3. Research solutions on Safari – ORielly’s book library online
4. Research physical books
5. Research hosted website (main homes)
6. Search other hubs
7. Search history/favorites
8. Review any printed handouts in file folders or three ring binders
9. Search google
10. Ask friends/associates
This list if helpful because often I jump to 9 and spend way too much time there. It is a fool’s paradise. The better strategy is to start with 1. and move down the list. The sequence is important.
Real World Example Problem
Processing does not appear to properly capture serial port data sent by arduino board. Load the programs that monitor button presses and verify that we can see a button pushed.
Processing: sketch_sept18_SimpleRead, Arduino sketch_SimpleRead_sep18. This works perfectly. Now when I try the Digital Thermometer program, it does not work properly.
Processing: sketch_sep19b, Arduino sketch_sep19a
Now displaying properly in window on processing the hex value of temperature and updating once a second. Need to convert to degrees F!
BTW, sketch_sept19c in Processing is the analog port 2 measurement of the LM335.
What I also discovered in debugging this problem is that two simple mistakes compounded the problem, and they were both ‘typos’.
Used hex character, when I should have used byte, and I used println when I should have used print. Now the serial port properly reads the tempreture.
Update Sept 22, 2010
Processing: sketch_sep19x, Arduino sketch_sep19a