I was inspired by the tagline of this particular hackathon, "Does your watch know what your coffee maker is up to?"
How it works
When you tap "Brew" on the client app, the following things happen:
- The app sends a request to the Electric Imp agent to start brewing.
- The agent relays (heh) the message to the Imp.
- The Imp sets the state of Imp pin 9 to high.
- The Arduino notices that Imp pin 9/Arduino pin 2 is high, and sets Arduino pin 7/relay shield control 1 to high.
- Relay shield relay 1 allows electricity to pass through the coffeemaker!
Challenges I ran into
- The coffeemaker I bought (Black & Decker DCM600B) uses a silly proprietary screwhead on the bottom, making it hard to access the wires on the inside.
- I couldn't determine what wire in the coffeemaker actually controls power (it's the blue one.)
- The Electric Imp's pins operate at 3.3 volts, while my relay operates at 5 volts.
Accomplishments that I'm proud of
- I managed to get the Imp talking to the relay through an Arduino.
- I hooked up the Imp's power pins to the Arduino, so only one power source is required.
- I made a (very rudimentary) PhoneGap/Cordova app to control the Imp agent.
- I did it all over the course of three days, and got it finally working in only a couple hours!
- And I uploaded the video 10 minutes before the deadline. :)
What's next for java
- Tidy up the app
- Get a relay that operates at 3.3v, so I don't need the Arduino
- Clean up the electronics, maybe put it all in a nice box.
- Add a level sensor to stop the coffeemaker when the coffee is done brewing (maybe switch to a coffeemaker with one built in)