Pages: 1 [2] 3   Go Down
Author Topic: Arduino Controlled Dishwasher  (Read 13266 times)
0 Members and 1 Guest are viewing this topic.
New River, Arizona
Offline Offline
God Member
*****
Karma: 19
Posts: 928
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I've had to replace the control unit twice on my dishwasher.  Both times because the darn thing got wet and rotted.  It was under warranty, but would have cost me a lot.  Needless to say, if it happens again I'll be copying your project  smiley-evil

I'll never be able to match the incredible job you did on the front panel (the nearest hacker space is 1.5 hours away), but I certainly could put in an arduino with XBee remoted to my overall house controller.

One thing though, my experience with hot glue has been less than satisfactory here in the Arizona heat.  It's great if the temps stay within reason, but ......  You may need to look at nylon standoffs, nylon screws and some of that epoxy putty to hold things on.  The epoxy putty for plumbing that you can get at the hardware store is really great stuff for hot and wet situations.  Sure, you will be sealing it as well as you can, but this stuff is cheap and easy.

Darn nice job, show it off to everyone that come in your house.
Logged

Trying to keep my house under control http://www.desert-home.com/

North Yorkshire, UK
Offline Offline
Faraday Member
**
Karma: 104
Posts: 5531
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hot glue can be iffy in something as warm as a dishwasher smiley-grin
Logged

Tacoma, WA
Offline Offline
Full Member
***
Karma: 4
Posts: 192
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yeah, that's true.. It can sit around 150f for an hour straight, that does seem like it'd make the glue start to soften up and come free. I think I have some "Plumbers Goop" glue, that stuff is pretty impressive.
On a different matter.. After adding the second button, the two LED's in the buttons, and the tilt sensor, I've only got one IO pin free. If I were to move the two LED's and the 6 relays off to a shift register, that'd free up 5 pins. But do I need to have more pins free? I seem to be ok with this many free. And it'll definitely have an impact in code legibility. Instead of digitalWrite(ventPin, HIGH); it'd be more like shiftOut(2,3,etc etc..)
I looked at the library that puts the LCD on a shift register, but it didn't seem like it was fully matured
Logged

Brian from Tacoma, WA
Arduino evangelist - since Dec, 2010.

Central MN, USA
Offline Offline
Tesla Member
***
Karma: 72
Posts: 7171
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

What pins are currently used for what purposes?

Say pin x to pin y 6 relays etc.
Have you used the 4 analog pins 0-3? They can be used as digital pins as well.

In case you go down the shift register for your relays, make sure you connect the master reset pin other wise the relays may fire at random at start up.

Plus, you can do:

ventout();

in place of the digitalWrite()

where
void ventout()
{
  bitSet(status_byte,vent_out_bit);
  update_595(status_byte);
}

This is more readable than digitalWrite.
Logged


New River, Arizona
Offline Offline
God Member
*****
Karma: 19
Posts: 928
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The other thing you can do is go to a serial LCD adapter.  I ran out of pins on my very first project with a display because it takes so darn many pins to run the display.  I went to a serial adapter and haven't had a problem since.  Something like the LCD117 from Modern Device will do the job with only one pin (you don't need input from an LCD), power and ground.

http://shop.moderndevice.com/products/lcd117-kit

I love these little things and there's a bunch of them out there to choose from.  I do not recommend the 5V ones from SparkFun, they take up too much real estate with the oversized board, they work good though.  A serial adapter for the LCD and NewSoftSerial so you don't have to worry about serial ports and away you go.
« Last Edit: May 30, 2011, 05:14:16 pm by draythomp » Logged

Trying to keep my house under control http://www.desert-home.com/

Tacoma, WA
Offline Offline
Full Member
***
Karma: 4
Posts: 192
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Turns out I have two pins free, digital 0 and 1.. As for the current pinout, it goes like this:

A0 - Temp Sensor
A1 - Go Button
A2 - Door tilt sensor
A3 - Cancel Button
A4 - Green LED
A5 - Red LED

D2 - Vent Relay
D3 - Soap Disp Relay
D4 - Water In Relay
D5 - Drain Relay
D6 - Main motor Relay
D7 - Heater Relay

D8-13 are the LCD
Logged

Brian from Tacoma, WA
Arduino evangelist - since Dec, 2010.

New River, Arizona
Offline Offline
God Member
*****
Karma: 19
Posts: 928
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Aren't 0 and 1 the serial port?  You may need these in the future for debugging something or monitoring some new feature you want.  Funny how we have so darn many pins and they're never enough.  One of my latest projects is on a mega 2560, bet I run out of pins.
Logged

Trying to keep my house under control http://www.desert-home.com/

Tacoma, WA
Offline Offline
Full Member
***
Karma: 4
Posts: 192
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yeah, and turns out I'll be using 0 and 1.. I can use the LCD for debugging.. I forgot that Analog 4 and 5 are the i2c bus that I'm using for the RTC. If I need more pins in the future, I'll move to a shift register like I mentioned, that'll free up 5 pins that could be inputs, or I can daisy chain another shift register and have plenty of outputs. For now, I think I JUST pulled this off. smiley-wink
Logged

Brian from Tacoma, WA
Arduino evangelist - since Dec, 2010.

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I love this project.   I saw it first on your website last week.   My wife, daughter and I were driving cross country last weekend.  The subject of broken appliances came up, so I took some time to tell the family about your project.    We all thought it was cleaver indeed. 
Logged

Tacoma, WA
Offline Offline
Full Member
***
Karma: 4
Posts: 192
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I just updated my page with the pictures of it all buttoned up with the new control panel installed. I still need to sit down and make the sketch more complicated, adding support for the tilt sensor and such, but at least it doesn't look like a science experiment anymore. smiley
Logged

Brian from Tacoma, WA
Arduino evangelist - since Dec, 2010.

Fresno, CA, USA
Offline Offline
Full Member
***
Karma: 1
Posts: 153
Arduino rocks (literally, with a WaveShield!)
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Took one look at the front panel and just wanted to yell "I LOVE YOU". xD Were you one of the lucky souls to have nabbed the shape PSD I posted before it got yanked? Judging from the post, I'm guessing you're probably one of the one that stumbled across the thread via Google only to go "awww...", but I hope you managed to find a good copy!

It looks freaking awesome! I love properly polished hardware mod projects... that logo I traced up was really made about 25% for my Arduino-regulated turntable project (I originally traced it in the panel design itself, then moved it to its own file), and 75% for posting back to the community to share, sadly the Arduino Gods didn't agree. It sure looks badass though, even if the insides are a bit ratty. smiley-grin

Awesome freakin' job on the control panel design! The one thing I couldn't understand though... where'd you put the control buttons? /scratches_head =P
« Last Edit: June 07, 2011, 04:17:54 am by FalconFour » Logged

Tacoma, WA
Offline Offline
Full Member
***
Karma: 4
Posts: 192
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That's a cool record player. And yes, I had fully intended to use your drawing, but the thread had just been cleaned out when I went to get it. I was kicking myself for not having downloaded it the day before. Luckily my friend with the laser machine knew how to turn any basic 2 color picture into a vector drawing with some automated program. It's not terribly pretty, there's a thousand points around the edges, but it got the job done. Had to do the same thing for the OpenHardware logo. I figured that so long as this was just to show my Arduino pride on my own project, and not being mass produced (DishWasher shield? heh), it's fine to use the logo for this.
The original control had 12 buttons. That was seriously overkill. They really only needed 4.. I felt I could do it with 2, so that's all I have. In the future, I'm going to add a menu system, so that when you press both buttons at the same time, it pulls up a menu and you can change settings before the wash cycle begins. Press both to pull it up, right button navigates down the menu, left navigates up. Both again to select an option, and then right/left to change the option, both again to save/back out of that menu option. Then either an exit button, or a timeout to leave the menu.    If you've ever played with the settings on an LCD monitor, you've probably used a similar system.. smiley
Logged

Brian from Tacoma, WA
Arduino evangelist - since Dec, 2010.

Fresno, CA, USA
Offline Offline
Full Member
***
Karma: 1
Posts: 153
Arduino rocks (literally, with a WaveShield!)
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Wait, you haven't seen phi_prompt? Haha... it's such a flexible interface, I just copy-and-paste a few structures into a program I want to use an LCD on, think of how I want to trigger the menus, and throw a select_list at it smiley-wink Might help 'ya out with the interface thing, and if you just need to choose from lists of options (no entering values, etc), you can probably get away with 2 buttons: each menu has a "back" option, and you just use one button for "move" (up) and one for "select" (b). That'd be pretty sweet...
Logged

Central MN, USA
Offline Offline
Tesla Member
***
Karma: 72
Posts: 7171
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Funny how we have so darn many pins and they're never enough.  One of my latest projects is on a mega 2560, bet I run out of pins.

That is exactly the reason I don't buy MEGA. You suddenly get too many pins and want to make huge projects and eventually again run out of pin the second time, the first time being on a Uno.  smiley-twist smiley-twist smiley-twist
Logged


Central MN, USA
Offline Offline
Tesla Member
***
Karma: 72
Posts: 7171
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Wait, you haven't seen phi_prompt? Haha... it's such a flexible interface, I just copy-and-paste a few structures into a program I want to use an LCD on, think of how I want to trigger the menus, and throw a select_list at it smiley-wink Might help 'ya out with the interface thing, and if you just need to choose from lists of options (no entering values, etc), you can probably get away with 2 buttons: each menu has a "back" option, and you just use one button for "move" (up) and one for "select" (b). That'd be pretty sweet...
smiley-wink
Logged


Pages: 1 [2] 3   Go Up
Jump to: