Hallelujah! Today I finally finished adding washer monitoring functionality to the tweeting dryer setup I built earlier (see: Getting started with Arduino). Say hello to Gus!
My implementation was built up from the excellent work by Thomas Taylor for his article in Make, The Dryer Messenger. It provided a great starting point for this project but I wanted a bit more… I wanted to have my washer tweet and I wanted the washer/dryer quotes to be pulled from the web. Should be simple enough, right? I was thinking that after I added an additional connection to the hardware configuration that it should be as easy as duplicating the dryer code and renaming some functions. However, nothing is never that easy. My optimistic guess was that I’d add 100 lines of code and in the end it was more like 300. It was a fantastic learning experience.
A quick overview of my upgrades:
- Added code to automatically pick a baseline for the current draw of each device.
The original example required you to play with the values a bit to define the “off” value for the dryer. I added a loop to take the state of both washer and dryer at startup and set the baseline values automatically.
- Made it so both devices would pull a random string from a MySQL database.
By moving the strings of the Arduino and onto the interwebs I made it so I can go to the web any time I feel like adding a new pithy quote. Before, if you wanted to add a new string you needed to change the code in a couple places, recompile and re-upload to the hardware.
- Various changes to make the code ready to monitor two devices.
There were some minor changes I needed to make to the main loop (move the status LEDs into washer or dryer specific functions) and fix the “takeCurrentMeasurement” function (it had the dryer pin hardcoded as A0).
I’ll share out my code, an updated circuit design as well as a quick write up on how I’m pulling random strings from the web. Right now, however, I need to go do a load of laundry.