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.
water line from sprinklers, tapped off to be used to fill a reservoir.
DC sprinkler zone valve
reservoir with a float switch (to tell the sprinkler valve when to open/fill/close)
some exterior speakers / adafruit audio fx board / fake boulders (haven't made them yet)
jacuzzi blower motor
AC powered LED lights for effect
Order of steps:
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.
once the timer hits, the speakers and lights turn on.
blower turns on to fire the water up and out
as the tank water lowers, the float switch trips to open the valve
the tank begins to refill.
when the FX are done (just about 10 seconds or so) the blower/sound/lights shut off in revers order.
once the tank fills, the float switch will trigger the valve to close and stop filling.
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.
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.
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.
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.
September 17, 2021, 9:32pm
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.