Hi,
I am starting with arduino, but have experience with electronics and programming in Fortan (yes, I am old...).
I have one water tank and a booster pump that are located 60m from my house.
The pump sends the water to another reservoir that is located 30m of the house in another direction.
I intend to monitor the level in the two reservoirs using HC-SR04 ultrasonic sensors and read the level in an lcd display located inside the house where the Arduino Uno board will be located.
So here is the question:
Is it possible to send the sensor signals along non shielded data cables (the are already buried) to the arduino board?
Any problems of noise pickup or data loss expected in this situation?
Any design recommendation or suggestion?
Both he Arduino Uno and the sensor work with TTL signals. If your pumps require lots of Amperes and your data cables and the power cables are close to each other, you might see some 50/60 Hz crosstalk on your data lines.
It is quite simple to lower the impedance of your sensor´s trigger input. Just connect a 330 ohms resistor between ground and the trigger input (side of sensor). The Arduino can deliver up to 20mA per output pin.
It is not documented how many mA the echo pin of your sensor can deliver. So you should do some experiments when it comes to the second resistor.
The second resistor should be on the side of the Arduino connecting ground and the line that comes from the echo output of your sensor. 2k2 should be OK. This lowers the input impedance of your Arduino a lot.
Do not use any capacitors on your data lines. This will change your digital pulses.
However, a 10µF capacitor in parallel with a ceramics 100nf capacitor between ground and your 5V input on your sensors side will always improve things.
You should start without any extra electronics (apart from the 10µF and 100nf capacitors). A few milliVolts of crosstalk usually have litte influence on TTL level signals.
Always keep it as simple as possible!
If you have a multimeter that can do AC measurements in milliVolts or an oscilloscope it is easy to see how many unwanted signals you have on your lines.
First do NOT connect anything on the sensors side (open cable ends). Use ground as a reference for all measurements (ground to trigger line / ground to echo line).
OK ... your code should NOT send trigger signals while doing AC measurements on the trigger line.
If you are lucky, your cable lenght will not be a problem.
By the way, the sensor you are using will only work reliably in a range of 3cm thru 300cm. While testing I found out that above 200cm other reflections will influence your readings. Make sure your sensor will only see the surface of the water and not parts of your tank.
If you have WiFi available, I would look at using an ESP8266 module and use wifi for communication.
That way you could use it as a remote sensor and have access to the data from a web browser on any device literally from anywhere in the world.
If you google around there are many tutorials on how to do this kind of stuff.
From one old guy to another:
Line drivers. The drivers for Ethernet work well. I like the old Bill Gates line: If it moves, wi-fi it. If it does not, cable it. The airwaves have only so much bandwidth! Quality cable ( if it was not made by Belden, it may not be), can do wonders to push data farther than the spec. If YOU have access to your sensor via wi-fi, some one else may. I like cables.