Monday, July 2, 2012

Digital Temperature Sensor!

A quick update: I've just gotten my new digital temperature sensor working! It's supposed to be better at transmitting over distances. It looks exactly the same as the analog one.

Sunday, July 1, 2012

It verks!!

I'm super excited to report that I did everything I set out to do!! I implemented multiple settings and also a new power supply so the arduino can finally function without the computer attached!! I'm totally psyched because it's actually useful!!


I'm totally living in the future!!

Getting the sink controller to be useful

In my last post, I had created a setup with a single switch that only had full-blast warm or full off. This doesn't encompass the full range of use for my bathroom sink, so I'd like to flesh that out a little more. I also found what I thought was the perfect power supply, but for some reason everything behaved very erratically, possibly due to de-coupling. This means that I may need to put capacitors between my power supply and my servos and/or arduino. However, this isn't a critical issue at the moment, as I can always just use the power setup I had previously. What's important at the moment is getting the apparatus to be useful.

If I can make it easier to get the right temperature using the device than it is manually, I will consider the project successful. I think that by having several of the most common settings rigged to buttons, I'll be able to achieve this.

I bought a breadboard and a bunch of clicky buttons. Each button will be one setting. After talking with Kerry, my first iteration of this idea will have the following settings:

  • Full cold - filling water bottles, rinsing a glass
  • Medium cold - putting a small amount of water in a glass
  • Low cold - wetting a toothbrush
  • Medium warm (full-blast hot to make it heat up quickly, then reduce)
  • Off

I'll need 5 pins as inputs, and I'll need to make a "state" that changes when each pin is activated. I had the issue before where pins that weren't getting an input would return random values, but I've just read about enabling the Arduino's internal pull-up for digital pins! This means I don't need to waste time adding pull-up resistors to all my pins. Thank goodness. Here I go!

Monday, June 18, 2012

It's different, but it works!

Instead of doing temperature control, I focused on mounting it on my sink and having something that turned the water on and off. Success!! Right now it only does off or full blast warm, but it works great. Check out my mounting hardware that I salvaged from that broken paper shredder I mentioned a few posts ago!

Monday, June 11, 2012

Mounting, refining, and pivoting?!

My Set Temperature switch is much more sturdy, and it is now detachable! I would still like a switch that just plugs into the Arduino's headers, so I ordered this one off Adafruit, along with some more wires, headers, and other connectors. My next steps are to figure out how to mount the servo on the sink knob, and to further waterproof the sensor and also mount it on the sink. This way I don't have to hold either of them during testing, and I can hold my computer instead.

I still have to deal with the issue of extending the temperature sensor. The further it gets from the Arduino, the more screwy the readings are. Apparently you have to add a resistor, but even that wasn't giving me great results. My wiring was pretty crappy too though, so I'm hoping that was the main issue. Perhaps CAT5 would help... it's designed to keep the signals as fresh as possible during their travels. I also just ordered a digital temperature sensor and also a pre-waterproofed thermistor temperature sensor. If I can't get the one I have to work, I'm sure one of those two would work great.

I also have an idea that will make use of what I already have going: pivot (slightly)! This is startup language for "change the direction of the product to accomodate current trends". I'm thinking that since I already have one servo mounted on my bathroom sink, I could just mount the other one and then bind them together, which would mount them in place! Then I could turn the project into a sink controller, and have presets for "cold", "hot", and "warm" and maybe a couple others. When someone wants to wash their hands, they can just hit "warm" and take a piss or something while the unit calibrates the water temperature, and then it will beep when it's ready! I can continue later with controlling the shower. Yay!

Thursday, June 7, 2012

Parts!

I took apart a broken paper shredder and got a bunch of great parts. In particular, I got some awesome plugs that made attaching things to the arduino easier. I've redone the set temp switch using these, and it's much more sturdy.

Here are a bunch of the parts, including a powerful AC motor. Unfortunately it's AC, but it also just runs off wall current. I got a lot of N4007 diodes, which are great for preventing accidental reverse polarization, one of the fastest ways to destroy electronic components.

Tuesday, June 5, 2012

Just slow down

My friend Kyle came over last night, and I showed him my project. One idea we had was to just make adjustments more slowly. Implementing that actually made the device work exactly right, except that it took forever to happen. Setting the delay to 2 seconds allowed the sensor to catch up with the water temperature and stop adjusting when it reached the desired temperature. So that's great, except it takes like 15-20 seconds to adjust, and by that time you'd just be angrily doing it yourself.

A possible solution would be to guess how much to adjust it. When the temperature changes by 5 degrees, it'll rotate X amount and then wait a few seconds to see if it was correct.