Bit about my self Im a plumbing and heating engineer with a concept idea, Ive looked at the individual components of this project and an Arduino board can handle all of them individually but I just wanted to see if one of the boards could run what I need it to, with the result I'm after.
Must be able to read water flow with a half effect sensor
Must be able to read two separate temperatures
Must be able to read two separate sources of current (non invasively) and convert it to wattage
Must be able to store some data long term (hopefully on a sd card)
Must be able to perform calculations with the real time and long term data
Ideally have an lcd screen to be able to read the data instantly with a button to scroll through the data.
Eventually be able to send the data via the internet? Or to a web server.
I have the start and finish points in my project but if it possible I would like to start on it, I know it will take time and probably best to start with the individual projects like creating to the water flow logger.
Any help would be greatly appreciated and I'm sorry if the post is too vague but I'll will try and answer any questions.
All of those are possible with just about any Arduino. However, you will have to put together a number of different components, and each has its challenges.
If you have no experience with Arduino and/or C/C++ programming, this is a large and very challenging project. Start with the simple examples that come with the IDE and learn the special features of the Arduino programming environment.
Then start with a simple part of the project, like learning to read a temperature sensor or flow meter, and display the result on an LCD screen. When that works, add to it.
It’s not vague and, apart from the current, and the “long- term data calculations”, is the pretty much the same as what I am working on.
You will need a Mega for this, at least. Uno and the like don’t have enough memory, so don’t bother getting one.
Your approach is reasonable. I started with temperature, using DS18B20, which I submit are ideal for this. I use flow code adapted from the Jaycar/Freetronics water flow example. Displaying flow rate at at one second intervals, as they do, is a disaster, but I think it is just a silly idea because the daily flow quantity is very accurate. I guess the live rate just needs to be smoothed out over ten seconds, but I’m not interested in displaying it.
The thing you have forgotten is the RTC. Get a DS3231. I don’t think the more popular DS1307 is really that bad for the real purpose, but the 3231 is only a dollar or so more and a lot more accurate.
As a heat meter, my setup is not very accurate. There is nothing wrong with the temperature or the flow. The problem is how I put it together as a heat meter, and I imagine it can be fixed. There is faint a possibility that the Mega is not fast enough, and a Due is needed, or perhaps even a Pro Mini in parallel. There are a number of options here - including a stringent review of what is really needed.
I am using a commercial heat meter and water meter to check Arduino. I also have a dedicated kWh meter which I read manually, but it has an output pulse which could easily be read by Arduino. I just haven’t got round to it, as it is not really part of the game.
I don’t see the point of a web server, but I have used the Internet of Things. That was fine but it is now getting expensive and out of the realm of tinkers like me, and I think I can now do without it.
- Must be able to read water flow with a half effect sensor - easy if you have the pins to the sensor ready to be connected to your device.
- Must be able to read two separate temperatures - what sensors? Are they already installed somewhere or do you provide these sensors? Very vague but quite doable once specified.
- Must be able to read two separate sources of current (non invasively) and convert it to wattage - currents can't be converted into power. Are you assuming an AC source of some fixed voltage, say 120V 220V? There are current sensors for this. Not hard.
- Must be able to store some data long term (hopefully on a sd card) - not hard. There are libraries for that
- Must be able to perform calculations with the real time and long term data - easy enough
- Ideally have an lcd screen to be able to read the data instantly with a button to scroll through the data. - this depends on how much data you want to show and how pretty you want the interface to be. You could sink all your time polishing this part of the project. My word of advice: decouple this from the rest of your project. This is only for output so don't mix its code with the code that does the measurement and logging.
- Eventually be able to send the data via the internet? Or to a web server. - data don't get sent. They need certain physical network layers to be carried. You don't say what network you have available, wifi, cellular, ethernet etc. These are all possible. Simple web solution can be sparkfun's data server. It's free.
This is a very aggressive project although each component is not too hard. You need tons of time and/or some money, and you need to be very cautious not to fail after spending a lot of your resources. Find yourself some decent consultants to tackle parts of the problem if you expect to see money return from this project with the end result being some products you can sell.
I've done this type of projects many times over, for different people. Altogether it's not cheap since you want EVERYTHING and will keep adding more requirements to it as you go (guaranteed)!