Following Operahoue , DamonHD and many many others far more knowledgeable than I , AND For those interested in these sort of things.
I've decided to stay with the UNO while I get my feet wet.
This first post does ramble on,,, BUT it's also a place keeper for my thoughts.
Below is my starting program , some thoughts on what and why and hopefuls.
I know it's crude, but it does seem to work, it's hard to watch a LED on for two hours then off a hour, but I didn't see any errors when I ran the code.
I will begin testing the code further by testing the timer intervals. I need a millisecond conversion that get to 2 hours, waits 1 hour runs the fan(s) 2 hours waits again 1 hour then runs the fan(s) 2 hours then waits 16 hours , then repeats. IF I it takes too long OR the code gets too deep, I can merely let the timers run the fans for 2 hours , certainly won't hurt the plants :-).
The peppers do not need bees to pollinate, they are open pollinated and the fans do this perfectly, along with keeping humidity levels in check.
I've also read that it is very possible to have more than one timer and relay stuff going on at the same time I.E. the Lights on for 8 hours then off 16 , and the Fan(s) running at the intervals I wrote about above.
So,,, I'll be working with getting that to work too,,, hopefully.
Fan(s) will be FET controlled with power being supplied by the smallish NiCAD battery pack I've selected for this project.
Knowing that 12Vdc fans can run nicely on 9Vdc, I'll be making use of that or a cute little circuit program that allows me to control the rate of fan speed too.
int led = 13;
unsigned long timer; // the timer
unsigned long INTERVAL = 1000; // the repeat interval 120000 (120mins (2hours))
void setup() {
pinMode(led, OUTPUT); // initialize LED output
timer = millis(); // start timer }
void loop() {
if ((millis()-timer) > INTERVAL) {
// timed out
timer += INTERVAL;// reset timer by moving it along to the next interval of 60000
// toggle led
if (digitalRead(led)) { digitalWrite(led, LOW); // turn the LED off by making the voltage LOW }
else {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) } } }