codice:
#include <ReefAngel_Features.h>
#include <ReefAngel_Globals.h>
#include <ReefAngel_Wifi.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <ReefAngel_EEPROM.h>
#include <ReefAngel_NokiaLCD.h>
#include <ReefAngel_ATO.h>
#include <ReefAngel_Joystick.h>
#include <ReefAngel_LED.h>
#include <ReefAngel_TempSensor.h>
#include <ReefAngel_Relay.h>
#include <ReefAngel_PWM.h>
#include <ReefAngel_Timer.h>
#include <ReefAngel_Memory.h>
#include <ReefAngel.h>
void RitardoSkimmer(byte SKPort, byte SKDelay)
{
unsigned long d = SKDelay;
d *= SECS_PER_MIN;
if (now()-RAStart > d) ReefAngel.Relay.On(SKPort);
}
void setup()
{
ReefAngel.Init(); //Initialize controller
ReefAngel.SetTemperatureUnit(1); // set to Celsius Temperature
ReefAngel.FeedingModePorts = B11111001;
ReefAngel.WaterChangePorts = B00000000;
ReefAngel.OverheatShutoffPorts = B00000000;
ReefAngel.LightsOnPorts = B00000000;
// Ports that are always on
ReefAngel.Relay.On(Port1);
// ReefAngel.Relay.On(Port8);
if ( RAStart == 0 ) RAStart = now();
}
void loop()
{
ReefAngel.ShowInterface();
// accensione pompa dx
if (((NumMins(hour(),minute()) >= NumMins(0,00)) && (NumMins(hour(),minute()) <= NumMins(6,13))) || (NumMins(hour(),minute()) >= NumMins(12,00)) && (NumMins(hour(),minute()) <= NumMins(18,13))) ReefAngel.Relay.On(Port2);
else ReefAngel.Relay.Off(Port2);
// accensione pompa sx
if (((NumMins(hour(),minute()) >= NumMins(6,00)) && (NumMins(hour(),minute()) <= NumMins(12,13))) || (NumMins(hour(),minute()) >= NumMins(18,00)) && (NumMins(hour(),minute()) <= NumMins(23,59))) ReefAngel.Relay.On(Port3);
else ReefAngel.Relay.Off(Port3);
// Specific functions
ReefAngel.DosingPumpRepeat1(Port4);
ReefAngel.DosingPumpRepeat2(Port5);
ReefAngel.StandardFan(Port6);
ReefAngel.StandardHeater(Port7);
RitardoSkimmer(Port8, 1); // 2 minute delayed on
}