Water irrigation system - control three valves from one pin, how?

bperrybap:
And I did see that, but I was talking about solutions that didn’t need another microcontroller on the other end.

— bill

How would you use modbus to control a valve without some controller to receive the modbus signal and physically switch the valve?

Delta_G: How would you use modbus to control a valve without some controller to receive the modbus signal and physically switch the valve?

You can't, I guess I was a bit unclear. I actually meant having to use another Arduino type micro-controller requiring programming on the receiver end since I was assuming using an off the shelf modbus relay/pump/device which has a microcontroller built into the device - which is why they are so expensive.

--- bill

bperrybap:
You can’t, I guess I was a bit unclear.
I actually meant having to use another Arduino type micro-controller requiring programming on the receiver end since I was assuming using an off the shelf modbus relay/pump/device which has a microcontroller built into the device - which is why they are so expensive.

— bill

Right. That’s what I said. You’d have to have a controller on the other end to control the valves. Or some seriously genius circuitry.

Once you involve the second controller this becomes a trivial matter of choosing a communication protocol.

Digitidope: Hmm but would still need valves to direct the water to different places as I want control over the exact amount going into each plant box (overenthusiastic gardener).

Regular pumps give more exact control than valves (the flow of which is highly dependent of how much water there happens to be in your reservoir).

If you want really tight control look into peristaltic pumps. They're slow but very accurate.

Instead of relays, you can also switch your pumps with a MOSFET transistor. Smaller and more efficient than a relay. The IRLZ44N is a popular one to use with Arduinos.

She cost of an Arduino is so cheap that normally we would not consider that you can easily control 10 valves on one pin.

If you have even seen a LED bar display that shows power level, like on a graphic equalizer, you know what I mean. one LED or a different one, or a different one.....going up and down....

In any Arduino, the analog output pin can send out different levels of voltage.

You can create a circuit (wish I had my Forrest Mimms book handy) that uses op-amps/comparators, transistors, resistors and LED's on an analog signal to have one LED light at a time as the voltage changes.

power level circuit this shows how you can have each light come on at a voltage, but stay on. so two or three would be lit at at time. you need a duplicate one that turns off as the voltage increases. a window comparator circuit.

Most of us would user either an I2C port expander a Shift Register, or get a larger pin count Arduino board.

So, the answer is definitely YES. Since you are asking, the ability for you to make the circuit is a bit of a steep learning curve, but not more than an advanced beginner level.

The cost will be much higher than buying a new Arduino.

The time to make one is much longer than to get a second UNO, or a MEGA and just use individual pins.

Since you can get a 16 pin port expander and run it on I2C from 2 pins, there is a simple solution. but if your goal is to learn about electronic circuits and you don't mind making circuit boards, you can get to your goal that way too.

dave-in-nj: In any Arduino, the analog output pin can send out different levels of voltage.

If only it had analog output pins... It only has a number of digital pins that can do PWM (using indeed the aptly named AnalogWrite() command).