Automatic Fan Control: advice needed

This is my first post here, so please be gentle. :slight_smile:

So I'm building a solar furnace up on my roof to help heat my house in the winter. Basically, one of these:

Except not made of pop cans, and running the full 60 foot length of my roof's ridge line. Whatever.

Here is a high-level block diagram of what I'm thinking:

The idea is pretty obvious: I want Arduino to monitor the indoor house temperature and the temperature inside the solar box, so it can turn the fan on automatically when it makes sense to do so. Basically, turn on when there's enough of a temperature difference for it to be worth running the system.

In the end I want to mount all this permanently. I'll fashion a housing to mount the display, control buttons, and Arduino board behind a nice wall panel. I am BRAND NEW to the whole world of Arduino (last time I dabbled in hardware, everybody was still building their own HC11 boards, and that level of electronics was beyond me), so don't assume that I know anything. Here are my issues and questions. Any and all advice is very much appreciated.

  1. What should my approach to power be? Since it's going to be mounted inside the wall, obviously I want to run the whole thing off of house current. Does an Arduino kit come with an appropriate wall wart or something else I can hack to permanently join it to my house current? (I told you I'm brand new at this.) Can I power the fan through the Arduino somehow, or will I need to supply the fan with its own 12V supply that the Arduino merely switches on and off?

  2. Sensors. The indoor temperature should be easy, right? It seems like there are plenty of samples and tutorials for temperature measurement using Arduino, all of which have the sensor itself positioned very close to the board, and that's the same situation for me. Measuring the temperature inside the solar box, however, is another matter. That's up on the roof, and the way this thing is going to be mounted in practice, the ideal location for measuring the box temperature (that is, at the output end), is roughly 70 feet (20+ meters) away from the Arduino. Will the normal methods of hooking up a thermistor to an Arduino work at that kind of distance, or will the cumulative resistance of the sensor wire itself become a problem? Less optimally, but likely still acceptable, I could measure the temperature at the closer end of the solar box, which would only be about 10 feet (3 meters) away from the Arduino. So, is there a way I can get reliable temperature readings from 70 feet away, or should I give up and measure at the near end of the box?

  3. Control buttons. Is there anything weird I need to know or plan for about hooking up buttons (momentary contact switches)? Do we de-bounce buttons in hardware or software these days?

  4. Status display. It seems that the Arduino crowd is pretty fond of the HD44780 style character displays, which is just fine for my purposes. Besides the display itself, what other parts will I need to hook it up?

  5. What Arduino should I use? It seems there are quite a number of models out there; what models are going to have enough inputs to deal with two buttons and two sensors, and outputs to control the display and the fan? Or is this a non-issue?

  6. What else should I have asked about? Since I'm brand new to all of this, there's probably something all you experienced folks know I should be worrying about, but I'm still too clueless to ask. Help a brother out, yeah?

Thanks in advance!

Keystone Light? Blech! Just had to get that out of the way...

  1. What should my approach to power be?

I suggest you make this decision after you've obtained and tested the fans. You may want / need two power supplies; one for the fans and one for the electronics.

Does an Arduino kit come with an appropriate wall wart or something else I can hack to permanently join it to my house current?

Not normally. You may be able to find a "Getting Started" kit that includes a wall-wart. Power supply details are available for each board...

Can I power the fan through the Arduino somehow

No.

or will I need to supply the fan with its own 12V supply that the Arduino merely switches on and off?

Yes. There are "shields" available to help you control high-power / high-voltage devices like a fan. This may help if you plan to build the electronics yourself...
http://www.thebox.myzen.co.uk/Workshop/Motors_1.html

  1. Control buttons. Is there anything weird I need to know or plan for about hooking up buttons (momentary contact switches)?

Floating-inputs are bad.

Do we de-bounce buttons in hardware or software these days?

I do it in software. Others use hardware. Whichever is comfortable for you is the one you should use. This may help...

  1. What Arduino should I use?

Start with one that is based on the ATmega328 processor. That way, when you damage the processor $6 will get you back in business.

Do you plan to vary the fan speed?

Thank you. That helps.

I do not plan on varying the fan speed. No PWM, just on/off. I know I'll be using a standard 120mm PC case fan or CPU fan (whatever I can find that's QUIET and inexpensive), something that moves about 70 CFM, and while most of those support variable speed use these days I don't see why I'd really need that. Worst case, that'll be a version 2.0 improvement I can make.

Looks like SparkFun makes an "Ardumoto motor driver shield" that is what I need to switch the fan on/off while powering it separately. Here's a new block diagram:

Anybody have any ideas about the LONG sensor leads issue?

I'd use line voltage fans and X10. It's dead simple with Arduino, you'll save money and it'll be UL-approved.