First Arduino project--backyard water feature

Hello there, first time posting.

I'm installing a new backyard/pool, and I wanted to build a decorative feature to go with the theme.

I have an adafruit fx board, external speakers, sprinkler valves, and the blower motor from an old jacuzzi tub.

I wanted to make a "geyser" from some fake rocks that would light up, make some noise, and fire a few seconds of water into the air--maybe once an hour so.

I figured arduino would be a good place to control these things. I've never worked with it though I've done a bit of electrical project works in my spare time.

I'm looking for some ground level guidance with regard to the arduino materials I'd most likely need.

The components I have laid out.

  1. water line from sprinklers, tapped off to be used to fill a reservoir.
  2. DC sprinkler zone valve
  3. reservoir with a float switch (to tell the sprinkler valve when to open/fill/close)
  4. water reservoir
  5. some exterior speakers / adafruit audio fx board / fake boulders (haven't made them yet)
  6. jacuzzi blower motor
  7. AC powered LED lights for effect

Order of steps:

  1. once powered the unit has a time that counts down about 30 minutes for the first firing and then about 60 for each time after.
  2. once the timer hits, the speakers and lights turn on.
  3. blower turns on to fire the water up and out
  4. as the tank water lowers, the float switch trips to open the valve
  5. the tank begins to refill.
  6. when the FX are done (just about 10 seconds or so) the blower/sound/lights shut off in revers order.
  7. once the tank fills, the float switch will trigger the valve to close and stop filling.
  8. wait for new timer to trigger the events.

I'd love for anyone to offer some guidance or input.

Thanks for being patient and taking a look.

TW

Your post was MOVED to it's current location as it is more suitable.

Could you also take a few moments to Learn How To Use The Forum.

Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.

You can use the delay() function for timing, but delay() blocks all other things from happening (sensing the float switch, etc.) so using millis() for timing is better.
Non-blocking timing tutorials:
Several things at a time.
Beginner's guide to millis().
Blink without delay().

A switch, like your float switch, is better wired to ground and an input with its pinMode() set to INPUT_PULLUP.

An Arduino cannot drive a valve directly. You will need a driver like a transistor (BJT or MOSFET) or a relay to drive it. Here is a MOSFET driver.

You will need to know how much current that the solenoid pulls to be able to choose the right MOSFET.

The IDE comes with many examples. And there are thousands of tutorials on the net that cover just about anything that you want to do. Just do a search for "arduino xxxxxx tutorial".

And we are always here to help if you get stuck.

First thing is to check with your local inspector, authority or whatever is relevant. You mentioned AC near water, most municipalities have strict regulations you have to adhere to. Ask them first, that is the most cost effective in the long run.

This stuff is much easier if you don't try to do the whole thing in one go. I would wire up some LEDs to represent your parts and build your initial code as a simulation.

Also, for testing, work in seconds, rather than minutes.

It would be powered off a panel at the mains box and run in conduit according to code, but I appreciate the attention to it.

1 Like

Oh of course, LEDs would be easy.

I need to get a good primer on which board to use and how to set them up.

i was thinking a relay would be successful. maybe not the best, but it would be something i'm a bit more familiar with.

Still need a transistor to drive the relay. It may be on a relay module but it is still there. A relay will have to have current to it all the time that it is on (closed), a MOSFET only draws a small current when it is first turned on to charge the gate capacitance. Might be a good time to become familiar with MOSFETs.