This will probably be apparent shortly, but I am a total newcomer to arduino - and physical computing, microcontrollers, etc. in general.
I’d like to build a controller to automate a fish tank. Specifically, the following sorts of things:
- turn different lighting units on and off at certain times of the day
- use PWM to dim the lights such that they turn on, ramp up over a few hours, ramp back down over a few hours, then turn off
- use PWM to slowly ramp DC motors up and down, to create wave-like water movement
- monitor float switches and activate a pump when water level falls below a certain point, to replace evaporation
- monitor temp, and turn heater(s) on and off at certain set points (with some hysterisis, so it doesn’t just flutter on and off at the set point)
- similarly, monitor pH and do different things in response
I have been reading this forum and other resources on the 'net and I have the feeling that all this is possible, but I’m having trouble visualizing the entire system. First of all, a gut check that all these things are possible?
Secondly, it seems like all of the examplesand tutorials I’m finding are of simple systems - hardware and code to do ONE of the above things at a time. I’m probably using the wrong terminology here, but what is the controller’s capability to multitask? Can it ramp multiple PWM outputs up and down at the same time, all while waiting for a float switch to trigger, and then respond to that, while continuing to ramp the PWM?
Again, I’ve seen examples of code where a loop easily generates the oscillating PWM signal, but can an arduino do that in the background while doing other things?
Thanks in advance for any help or direction!