Step #1: OverviewPrevNext
- The Dryer Messenger consists of 3 main components: a current sensor, the Arduino Pro Mini, and a Wi-Fi module. The current sensor is clipped around a power wire on the back of the dryer where, by electromagnetic induction, it outputs a low current that’s a small fraction of the current from the dryer. A burden resistor is needed across the terminals of the sensor to obtain a voltage that can be sampled by the Arduino; the sensor I used has this burden resistor built in.
- Since the dryer runs on AC, current flows in both directions, causing the voltage to swing positive and negative. The Arduino can only sample positive voltages, so I used a voltage divider to bias the sensor’s output. The volt- age divider uses two 10K resistors (R1 and R2) to obtain 1.65V from the 3.3V supply.
- The current sensor has a fairly linear output up to 1V at 30A, which means the Arduino will read 0.65V or 2.65V when the sensor sees 30A. Capacitor C1 goes between the sensor and the Arduino to filter out noise.
- The Arduino monitors the dryer’s current consumption and sends notification messages when it has determined the dryer has finished a cycle.
- Since the Arduino Pro Mini has only one hardware serial port for both programming and debugging at 115,200 baud, I connected the Wi-Fi module to the Arduino digital pins and used the SoftwareSerial and WiFlySerial libraries to emulate a serial port and talk to the WiFly at 9,600 baud.
- The Wi-Fi module connects to the local wireless network and sends notifications as tweets using NeoCat’s Twitter Library for Arduino. The dryer has a Twitter account both my wife and I follow, and by activating mobile notifications for the dryer’s tweets we can receive its updates as text messages on our phones.
Step #2: Build the circuit.PrevNext
- Solder the circuit shown in the schematic diagram on a protoboard. LED1 is green, LED2 is red. My board had a copper pour on the back that I was able to use as a ground plane.
- Since the Wi-Fi module has 2mm headers,
it can’t be directly mounted on the protoboard. Use the breakout board to adapt it to the protoboard’s 0.1" grid. The image shows how I arranged the components on my protoboard.
- Plug the Wi-Fi module into the breakout board, and then mount the protoboard in your enclosure.
Step #3: Attach the transformer to the dryer.PrevNext
- Unplug the dryer from the wall and remove the back panel to access the terminal block where the power cord is connected. The first image shows the terminal block on my dryer.
- The current sensor needs to measure motor current. Use trial and error to determine which leg of the terminal block connections powers the motor.
- Clip the current sensor around the appropriate wire, and run its output cable out the back of the dryer. Replace the panel and plug the dryer back into the wall.
Step #4: Get your dryer on Twitter.PrevNext
- Create a new Twitter account for your dryer. Adjust the privacy settings to keep it out of public view, if you prefer. Visit http://arduino-tweet. appspot.com and follow the instructions to set up your device to send tweets. You will be redirected to Twitter to authorize the Twitter Library’s use of the dryer’s account. Make sure you’re granting access to the right account. Save the token you’re given to paste into your Arduino sketch, as explained below.
- Now, follow the dryer from your personal Twitter account. Turn on mobile notifications for the dryer’s updates, and you should be able to receive text messages on your phone when it tweets.
Step #5: Install and tweak the software.PrevNext
- Download the 3 libraries and the Arduino sketch DryerMessenger.ino from http://cdn.makezine.com/make/34/dryer-messenger-code.zip. Move the libraries to your Arduino libraries folder. Leave the .h and .cpp files in the same folder as DryerMessenger.ino.
- Open DryerMessenger.ino in the Arduino editor, click the Credentials.h tab, and set the following parameters at the top of the file:
- » Change ssid and passphrase to your network SSID and passphrase.
- » Paste the token into twitter_token.
Adjust the following parameters at the top of the Arduino sketch to suit your application:
- » The CURRENT_THRESHOLD parameter is set to 1 amp by default, which should be low enough to detect when the dryer motor is running. You can adjust this value based on your particular dryer.
- » WAITONTIME is how long the CURRENT_
THRESHOLD value must be exceeded before the Arduino moves to the dryer RUNNING state.
- » WAITOFFTIME is how long the dryer must be off before sending the notification. A longer time here allows for momentary interruption of the dryer cycle to insert more clothes or fabric softener (which I always forget).
- » The messages array can be edited for more personalized texts, if you prefer.
- After you’ve set the parameters as you like, upload the code to your Arduino using the FTDI module. Make sure it's set to 3.3V mode.
Step #6: Use your Dryer Messenger.PrevNext
- Plug the current transformer’s stereo plug into the Dryer Messenger’s 3.5mm jack, and plug the AC adapter into the wall. Both LEDs should turn on. After successful start-up and connection to the wireless network, the red LED will turn off and the green one will stay lit.
- If you leave the FTDI cable plugged in, debug information (such as the software state and the current measured by the sensor) will be displayed.
- From now on, when your dryer finishes the cycle, you’ll be notified via SMS. No more forgotten, wrinkled clothes!
Step #7: Modify It!PrevNext
With the Arduino’s digital and analog inputs, it can monitor and send a notification when triggered by any detectable event. Since the software is a simple state machine, it could be easily adapted to monitor a digital line or a different analog voltage source. A temperature probe might be attached to monitor the temperature of a room or walk-in freezer. A momentary switch on a mailbox could alert you to the mail delivery, or a magnetic switch on a door could let you know when it’s been opened. The possibilities are endless!