Long time browser/first time poster.
Project background: I am building a monitoring system/controller for my ground-source heatpump and domestic water system. This is a "home built" unit which is a "pump and dump" system that pumps water from a deep well and dumps it into a pond for maximum efficiency (required a permit to do so). This topic isn't about that though so I'll get into what I'm monitoring.
I am also using the system to monitor some of my domestic water features such as pressure and (ideally) flow in a couple of areas.
All in all thus far I have 6 stainless temperature probes (all communicating on the same input channel), a "room temperature"/humidity probe, 2 pressure transducers and 2 voltage monitors which monitor the state of a valve which supplies water to the unit. This is done so every ~2 seconds and I'd like to keep this frequency as I hope to eventually use this Arduino to control a water supply valve to my unit (to limit the amount of water to the unit in an effort to conserve water - basically it opens the valve up as heat exchanger coils approach the freezing point to increase the flow and keep it from actually freezing)
I have the above throwing values into a MySQL database via a PHP script by way of an Ethernet shield. I am using an Arduino Duemilanove which I picked up quite some time ago to tie it all together.
My issue is as follows: While I am easily able to get the flow sensors working/reading as per the well known tutorial (http://forum.arduino.cc/index.php?PHPSESSID=spqs36mmetm3fjfaiusfs3k9b6&/topic,8548.0.html) I am having issues using them at the same time as any of the networking functionality.
During my investigations it would appear that this is because the network shield uses the limited number of interrupts available on my Arduino device. I fought with this for a few evenings and gave up momentarily after coming to this conclusion. In speaking with my father last night (who has more electronics experience than I) he suggested that I build some form of a tachometer circuit which outputs a voltage.
In doing a bit more reading today I ran across the following: http://playground.arduino.cc/Main/PinChangeInt and: http://playground.arduino.cc/Main/PCF8574Class thanks to this thread: http://forum.arduino.cc/index.php?PHPSESSID=cr3tqjm7qlrvgnh3i26pdr5v86&topic=204596.0
While I've not looked into either of these options greatly I figured, since I am sitting in the office for the day, I would write up this post asking for advice/insights.
Outstanding questions: Are the issues I am seeing indeed because the network shield uses the interrupts?
My understanding of the interrupts is vague; can I even get an accurate reading from my flow meters over a 2 second interval? or does the attaching to the interrupt allow changes/events monitored via the interrupt to happen independently of the main loop of an Arduino program?
Might I be best to pick up another Arduino device to monitor the flow meters (Ideally I would like to eventually have 4 or 5) and link it to my existing Arduino device?
It looks to me like the PCF8574 chip utilizes the same interrupt pins as well, while I can see it potentially allowing me to monitor more inputs can I utilize this with the network shield?
Should I say "forget it" about trying to monitor interrupts entirely and come up with some form of tachometer circuitry which allows my flow meters to output a 0-5 voltage range and then read that?