For a "plant waterer circuit" I would like to add a safety feature that prevents watering for over ~3 minutes, and delays the next watering from occurring for ~12 hours.
Currently the circuit is constantly checking the water level to see if water should be added. Thus, it seems that if I could create a square wave that is high for ~12 hours (circuit "off" during this time) and low for ~3 minutes (circuit "on" during this time) then I could use some simple logic to achieve my goal, except I don't know how to create this wave.
Timing chips like the 555 would require unwieldy resistor and capacitor sizes, so it seems those by themselves are not suitable.
I am considering using counter chips, as I could achieve the period I need (~12 hours). However, these output a 50% duty cycle (or 33%, etc.) which I don't want. Rather, the square wave I described above has a duty cycle of about .0042.
Any suggestions? Thanks.
Best Answer
I am not going to answer your question, instead I'll answer a question that you didn't ask :)
You could implement a timer-based solution. However, it is actually going to be cheaper and more effective to use a microcontroller for your problem. The advantages of a microcontroller solution are:
Some solutions to think about in the microcontroller world:
Basically, Arduino is an easier-to-use AVR\$^*\$, and PICAXE is an easier-to-use PIC. Between Arduino<->PIXAXE, Arduiono wins in popularity hands down: Arduino is extremely popular and well-supported. Between the underlying platforms (PIC/AVR), it isn't clear: both are popular. There are also other microcontroller options(Cortex M, Propeller, and many others) but the options mentioned in the bullets above are the easiest to get started with, IMHO.
* This is only 99.9% true because a few Arduino's use non-AVR Atmel chips.
By the way, I am not suggesting the you ditch your existing circuits and use a microcontroller for everything (whether that's a good idea or not is not relevant to your question). You can use a microcontroller for the purpose that you don't flood your house or overwater your plans as stated in your design goals. Here's what your solution would look like in microcontroller pseudocode:
There are all sorts of sophistications you might add, such as sleep, implementing the wake 12 timer hit as an interrupt, etc.