Sperando che sia leggibile posto un mio programmino che gestisce 9 pwm per le luci (blu dx e sx, 10000K dx e sx, 20000K dx e sx e rgb).
io uso l'arduino mega per via dei display. come interfaccia utente ha solo il web per ora.
possiede un log per salvare sulla memory i dati della vasca secondo per secondo
codice:
// Include delle librerie usate
#include "EtherShield.h" // EtherShield_1.6.zip
#include <SD.h> // Inclusa
#include "Wire.h" // Inclusa
#include <EEPROM.h> // Inclusa
// Definizione pin utilizzati
#define SD_INT 2
#define PWM_BLU_SX 3
#define SD_CS 4
#define PWM_BLU_DX 5
#define PWM_10K_SX 6
#define PWM_10K_DX 7
#define PWM_20K_SX 8
#define PWM_20K_DX 9
#define PWM_RGB_RED 10
#define PWM_RGB_GREEN 11
#define PWM_RGB_BLUE 12
#define LED_ONBOARD 13
#define I2C_SDA 20
#define I2C_SCL 21
#define SPI_MISO 50
#define SPI_MOSI 51
#define SPI_SCK 52
#define ENC28J60_CONTROL_CS 53
// please modify the following two lines. mac and ip have to be unique
// in your local area network. You can not have the same numbers in
// two devices:
static uint8_t mymac[6] = {0x54,0x55,0x58,0x10,0x00,0x25};
static uint8_t myip[4] = {192,168,1,25};
static uint8_t buf[BUFFER_SIZE + 1];
static char strbuf[STR_BUFFER_SIZE];
static long msLogger;
static long msResetWeb;
static unsigned long msCurrent;
static long msLastUpdateBluDx;
static long msLastUpdateBluSx;
static long msLastUpdate10kDx;
static long msLastUpdate10kSx;
static long msLastUpdate20kDx;
static long msLastUpdate20kSx;
static long msLastUpdateRRGB;
static long msLastUpdateGRGB;
static long msLastUpdateBRGB;
static long msLastUpdateRTC;
static int sdError;
static int sdLogInCorso;
static File sdDataFile;
static String sdDataString;
static int rtcSecond;
static int rtcMinute;
static int rtcHour;
static int rtcWeekDay;
static int rtcMonthDay;
static int rtcMonth;
static int rtcYear;
static int luciOraAccensione;
static int luciMinutoAccensione;
static int luciMinutiDurataAlba;
static int luciOreAccensioneCompleta;
static int luciMinutiAccensioneCompleta;
static int luciMinutiDurataTramonto;
static int luciTargetBluSx;
static int luciTargetBluDx;
static int luciTarget10kSx;
static int luciTarget10kDx;
static int luciTarget20kSx;
static int luciTarget20kDx;
static int luciTargetRRGB;
static int luciTargetGRGB;
static int luciTargetBRGB;
static int luciTipoAlbaTramonto; // bit 0 (prima blu poi bianchi), bit 1 (effetto est/ovest)
static int luciTargetRRGBLunare;
static int luciTargetGRGBLunare;
static int luciTargetBRGBLunare;
static int luciCurrentBluDx;
static int luciCurrentBluSx;
static int luciCurrent10kDx;
static int luciCurrent10kSx;
static int luciCurrent20kDx;
static int luciCurrent20kSx;
static int luciCurrentRRGB;
static int luciCurrentGRGB;
static int luciCurrentBRGB;
//static int secondoCorrente;
//static int secondoAccensioneBluDx;
//static int secondoAccensioneBluSx;
//static int secondoAccensioneBiancoDx;
//static int secondoAccensioneBiancoSx;
//static int secondoSpegnimentoBluDx;
//static int secondoSpegnimentoBluSx;
//static int secondoSpegnimentoBiancoDx;
//static int secondoSpegnimentoBiancoSx;
//static int decimiSecondoIncrementoBluDx;
//static int decimiSecondoIncrementoBluSx;
//static int decimiSecondoIncremento10kDx;
//static int decimiSecondoIncremento10kSx;
//static int decimiSecondoIncremento20kDx;
//static int decimiSecondoIncremento20kSx;
//static int decimiSecondoIncrementoRRGB;
//static int decimiSecondoIncrementoGRGB;
//static int decimiSecondoIncrementoBRGB;
//static int decimiSecondoDecrementoBluDx;
//static int decimiSecondoDecrementoBluSx;
//static int decimiSecondoDecremento10kDx;
//static int decimiSecondoDecremento10kSx;
//static int decimiSecondoDecremento20kDx;
//static int decimiSecondoDecremento20kSx;
//static int decimiSecondoDecrementoRRGB;
//static int decimiSecondoDecrementoGRGB;
//static int decimiSecondoDecrementoBRGB;
//static int luceBluDxAccesa;
//static int luceBluSxAccesa;
//static int luceBiancaDxAccesa;
//static int luceBiancaSxAccesa;
//static int luceRGBDiurnaAccesa;
// Include dei files del programma
#include "luci.h"
#include "web.h"
#include "sd.h"
#include "rtc.h"
void setup()
{
msCurrent = 0;
// Serial.begin(9600);
// Serial.println("inizio");
inizializza_enc28j60();
inizializza_sd();
inizializza_rtc();
inizializza_luci();
}
void loop()
{
msCurrent = millis();
rtc_getDateTime();
gestione_luci();
logger_sd();
webserver();
// Serial.println("inizio ----------------------------");
// Serial.print("secondoCorrente: ");
// Serial.println(secondoCorrente);
// Serial.print("luceBluDxAccesa: ");
// Serial.println(luceBluDxAccesa);
// Serial.print("luceBluSxAccesa: ");
// Serial.println(luceBluSxAccesa);
// Serial.print("luceBiancaDxAccesa: ");
// Serial.println(luceBiancaDxAccesa);
// Serial.print("luceBiancaSxAccesa: ");
// Serial.println(luceBiancaSxAccesa);
// Serial.print("luceRGBDiurnaAccesa: ");
// Serial.println(luceRGBDiurnaAccesa);
//
// Serial.print("luciCurrentBluDx: ");
// Serial.println(luciCurrentBluDx);
// Serial.print("luciCurrentBluSx: ");
// Serial.println(luciCurrentBluSx);
// Serial.print("luciCurrent10kDx: ");
// Serial.println(luciCurrent10kDx);
// Serial.print("luciCurrent10kSx: ");
// Serial.println(luciCurrent10kSx);
// Serial.print("luciCurrent20kDx: ");
// Serial.println(luciCurrent20kDx);
// Serial.print("luciCurrent20kSx: ");
// Serial.println(luciCurrent20kSx);
// Serial.print("luciCurrentRRGB: ");
// Serial.println(luciCurrentRRGB);
// Serial.print("luciCurrentGRGB: ");
// Serial.println(luciCurrentGRGB);
// Serial.print("luciCurrentBRGB: ");
// Serial.println(luciCurrentBRGB);
}
luci.h
codice:
#define INDIRIZZOLUCIORAACCENSIONE 0
#define INDIRIZZOLUCIMINUTOACCENSIONE 1
#define INDIRIZZOLUCIMINUTIDURATAALBA 2
#define INDIRIZZOLUCIOREACCENSIONECOMPLETA 3
#define INDIRIZZOLUCIMINUTIACCENSIONECOMPLETA 4
#define INDIRIZZOLUCIMINUTIDURATATRAMANTO 5
#define INDIRIZZOLUCITARGETBLUSX 6
#define INDIRIZZOLUCITARGETBLUDX 7
#define INDIRIZZOLUCITARGET10KSX 8
#define INDIRIZZOLUCITARGET10KDX 9
#define INDIRIZZOLUCITARGET20KSX 10
#define INDIRIZZOLUCITARGET20KDX 11
#define INDIRIZZOLUCITARGETRRGB 12
#define INDIRIZZOLUCITARGETGRGB 13
#define INDIRIZZOLUCITARGETBRGB 14
#define INDIRIZZOLUCITIPOALBATRAMONTO 15
#define INDIRIZZOLUCITARGETRRGBLUNARE 16
#define INDIRIZZOLUCITARGETGRGBLUNARE 17
#define INDIRIZZOLUCITARGETBRGBLUNARE 18
void inizializza_luci()
{
luciOraAccensione = EEPROM.read(INDIRIZZOLUCIORAACCENSIONE);
luciMinutoAccensione = EEPROM.read(INDIRIZZOLUCIMINUTOACCENSIONE);
luciMinutiDurataAlba = EEPROM.read(INDIRIZZOLUCIMINUTIDURATAALBA);
luciOreAccensioneCompleta = EEPROM.read(INDIRIZZOLUCIOREACCENSIONECOMPLETA);
luciMinutiAccensioneCompleta = EEPROM.read(INDIRIZZOLUCIMINUTIACCENSIONECOMPLETA);
luciMinutiDurataTramonto = EEPROM.read(INDIRIZZOLUCIMINUTIDURATATRAMANTO);
luciTargetBluSx = EEPROM.read(INDIRIZZOLUCITARGETBLUSX);
luciTargetBluDx = EEPROM.read(INDIRIZZOLUCITARGETBLUDX);
luciTarget10kSx = EEPROM.read(INDIRIZZOLUCITARGET10KSX);
luciTarget10kDx = EEPROM.read(INDIRIZZOLUCITARGET10KDX);
luciTarget20kSx = EEPROM.read(INDIRIZZOLUCITARGET20KSX);
luciTarget20kDx = EEPROM.read(INDIRIZZOLUCITARGET20KDX);
luciTargetRRGB = EEPROM.read(INDIRIZZOLUCITARGETRRGB);
luciTargetGRGB = EEPROM.read(INDIRIZZOLUCITARGETGRGB);
luciTargetBRGB = EEPROM.read(INDIRIZZOLUCITARGETBRGB);
luciTipoAlbaTramonto = EEPROM.read(INDIRIZZOLUCITIPOALBATRAMONTO);
luciTargetRRGBLunare = EEPROM.read(INDIRIZZOLUCITARGETRRGBLUNARE);
luciTargetGRGBLunare = EEPROM.read(INDIRIZZOLUCITARGETGRGBLUNARE);
luciTargetBRGBLunare = EEPROM.read(INDIRIZZOLUCITARGETBRGBLUNARE);
luciCurrentBluDx = 0;
luciCurrentBluSx = 0;
luciCurrent10kDx = 0;
luciCurrent10kSx = 0;
luciCurrent20kDx = 0;
luciCurrent20kSx = 0;
luciCurrentRRGB = 0;
luciCurrentGRGB = 0;
luciCurrentBRGB = 0;
}
void gestione_luci()
{
int secondoCorrente;
int secondoAccensioneBluDx;
int secondoAccensioneBluSx;
int secondoAccensioneBiancoDx;
int secondoAccensioneBiancoSx;
int secondoSpegnimentoBluDx;
int secondoSpegnimentoBluSx;
int secondoSpegnimentoBiancoDx;
int secondoSpegnimentoBiancoSx;
int decimiSecondoIncrementoBluDx;
int decimiSecondoIncrementoBluSx;
int decimiSecondoIncremento10kDx;
int decimiSecondoIncremento10kSx;
int decimiSecondoIncremento20kDx;
int decimiSecondoIncremento20kSx;
int decimiSecondoIncrementoRRGB;
int decimiSecondoIncrementoGRGB;
int decimiSecondoIncrementoBRGB;
int decimiSecondoDecrementoBluDx;
int decimiSecondoDecrementoBluSx;
int decimiSecondoDecremento10kDx;
int decimiSecondoDecremento10kSx;
int decimiSecondoDecremento20kDx;
int decimiSecondoDecremento20kSx;
int decimiSecondoDecrementoRRGB;
int decimiSecondoDecrementoGRGB;
int decimiSecondoDecrementoBRGB;
int luceBluDxAccesa;
int luceBluSxAccesa;
int luceBiancaDxAccesa;
int luceBiancaSxAccesa;
int luceRGBDiurnaAccesa;
int obiettivoBluDx;
int obiettivoBluSx;
int obiettivo10kDx;
int obiettivo10kSx;
int obiettivo20kDx;
int obiettivo20kSx;
int obiettivoRRGB;
int obiettivoGRGB;
int obiettivoBRGB;
secondoCorrente = (rtcHour * 360) + (rtcMinute * 6) + (rtcSecond / 10);
secondoAccensioneBluDx = (luciOraAccensione * 360) + (luciMinutoAccensione * 6);
secondoSpegnimentoBiancoDx = secondoAccensioneBluDx + (luciMinutiDurataAlba * 6) + (luciOreAccensioneCompleta * 360) + (luciMinutiAccensioneCompleta * 6);
if (luciTipoAlbaTramonto == 0)
{
secondoAccensioneBluSx = secondoAccensioneBluDx;
secondoAccensioneBiancoDx = secondoAccensioneBluDx;
secondoAccensioneBiancoSx = secondoAccensioneBluDx;
secondoSpegnimentoBluDx = secondoSpegnimentoBiancoDx;
secondoSpegnimentoBluSx = secondoSpegnimentoBiancoDx;
secondoSpegnimentoBiancoSx = secondoSpegnimentoBiancoDx;
if (luciTargetBluDx == 0) {decimiSecondoIncrementoBluDx = luciMinutiDurataAlba * 600;}
else {decimiSecondoIncrementoBluDx = (luciMinutiDurataAlba * 600) / luciTargetBluDx;}
if (luciTargetBluSx == 0) {decimiSecondoIncrementoBluSx = luciMinutiDurataAlba * 600;}
else {decimiSecondoIncrementoBluSx = (luciMinutiDurataAlba * 600) / luciTargetBluSx;}
if (luciTarget10kDx == 0) {decimiSecondoIncremento10kDx = luciMinutiDurataAlba * 600;}
else {decimiSecondoIncremento10kDx = (luciMinutiDurataAlba * 600) / luciTarget10kDx;}
if (luciTarget10kSx == 0) {decimiSecondoIncremento10kSx = luciMinutiDurataAlba * 600;}
else {decimiSecondoIncremento10kSx = (luciMinutiDurataAlba * 600) / luciTarget10kSx;}
if (luciTarget20kDx == 0) {decimiSecondoIncremento20kDx = luciMinutiDurataAlba * 600;}
else {decimiSecondoIncremento20kDx = (luciMinutiDurataAlba * 600) / luciTarget20kDx;}
if (luciTarget20kSx == 0) {decimiSecondoIncremento20kSx = luciMinutiDurataAlba * 600;}
else {decimiSecondoIncremento20kSx = (luciMinutiDurataAlba * 600) / luciTarget20kSx;}
if (luciTargetRRGB > luciTargetRRGBLunare) {decimiSecondoIncrementoRRGB = (luciMinutiDurataAlba * 600) / (luciTargetRRGB - luciTargetRRGBLunare);}
else if (luciTargetRRGB < luciTargetRRGBLunare) {decimiSecondoIncrementoRRGB = (luciMinutiDurataAlba * 600) / (luciTargetRRGBLunare - luciTargetRRGB);}
else {decimiSecondoIncrementoRRGB = (luciMinutiDurataAlba * 600);}
if (luciTargetGRGB > luciTargetGRGBLunare) {decimiSecondoIncrementoGRGB = (luciMinutiDurataAlba * 600) / (luciTargetGRGB - luciTargetGRGBLunare);}
else if (luciTargetGRGB < luciTargetGRGBLunare) {decimiSecondoIncrementoGRGB = (luciMinutiDurataAlba * 600) / (luciTargetGRGBLunare - luciTargetGRGB);}
else {decimiSecondoIncrementoGRGB = (luciMinutiDurataAlba * 600);}
if (luciTargetBRGB > luciTargetBRGBLunare) {decimiSecondoIncrementoBRGB = (luciMinutiDurataAlba * 600) / (luciTargetBRGB - luciTargetBRGBLunare);}
else if (luciTargetBRGB < luciTargetBRGBLunare) {decimiSecondoIncrementoBRGB = (luciMinutiDurataAlba * 600) / (luciTargetBRGBLunare - luciTargetBRGB);}
else {decimiSecondoIncrementoBRGB = (luciMinutiDurataAlba * 600);}
if (luciTargetBluDx == 0) {decimiSecondoDecrementoBluDx = luciMinutiDurataTramonto * 600;}
else {decimiSecondoDecrementoBluDx = (luciMinutiDurataTramonto * 600) / luciTargetBluDx;}
if (luciTargetBluSx == 0) {decimiSecondoDecrementoBluSx = luciMinutiDurataTramonto * 600;}
else {decimiSecondoDecrementoBluSx = (luciMinutiDurataTramonto * 600) / luciTargetBluSx;}
if (luciTarget10kDx == 0) {decimiSecondoDecremento10kDx = luciMinutiDurataTramonto * 600;}
else {decimiSecondoDecremento10kDx = (luciMinutiDurataTramonto * 600) / luciTarget10kDx;}
if (luciTarget10kSx == 0) {decimiSecondoDecremento10kSx = luciMinutiDurataTramonto * 600;}
else {decimiSecondoDecremento10kSx = (luciMinutiDurataTramonto * 600) / luciTarget10kSx;}
if (luciTarget20kDx == 0) {decimiSecondoDecremento20kDx = luciMinutiDurataTramonto * 600;}
else {decimiSecondoDecremento20kDx = (luciMinutiDurataTramonto * 600) / luciTarget20kDx;}
if (luciTarget20kSx == 0) {decimiSecondoDecremento20kSx = luciMinutiDurataTramonto * 600;}
else {decimiSecondoDecremento20kSx = (luciMinutiDurataTramonto * 600) / luciTarget20kSx;}
if (luciTargetRRGB > luciTargetRRGBLunare) {decimiSecondoDecrementoRRGB = (luciMinutiDurataTramonto * 600) / (luciTargetRRGB - luciTargetRRGBLunare);}
else if (luciTargetRRGB < luciTargetRRGBLunare) {decimiSecondoDecrementoRRGB = (luciMinutiDurataTramonto * 600) / (luciTargetRRGBLunare - luciTargetRRGB);}
else {decimiSecondoDecrementoRRGB = (luciMinutiDurataTramonto * 600);}
if (luciTargetGRGB > luciTargetGRGBLunare) {decimiSecondoDecrementoGRGB = (luciMinutiDurataTramonto * 600) / (luciTargetGRGB - luciTargetGRGBLunare);}
else if (luciTargetGRGB < luciTargetGRGBLunare) {decimiSecondoDecrementoGRGB = (luciMinutiDurataTramonto * 600) / (luciTargetGRGBLunare - luciTargetGRGB);}
else {decimiSecondoDecrementoGRGB = (luciMinutiDurataTramonto * 600);}
if (luciTargetBRGB > luciTargetBRGBLunare) {decimiSecondoDecrementoBRGB = (luciMinutiDurataTramonto * 600) / (luciTargetBRGB - luciTargetBRGBLunare);}
else if (luciTargetBRGB < luciTargetBRGBLunare) {decimiSecondoDecrementoBRGB = (luciMinutiDurataTramonto * 600) / (luciTargetBRGBLunare - luciTargetBRGB);}
else {decimiSecondoDecrementoBRGB = (luciMinutiDurataTramonto * 600);}
}
else if (luciTipoAlbaTramonto == 1)
{
secondoAccensioneBluSx = secondoAccensioneBluDx;
secondoAccensioneBiancoDx = secondoAccensioneBluDx + ((luciMinutiDurataAlba * 6) / 2);
secondoAccensioneBiancoSx = secondoAccensioneBluDx + ((luciMinutiDurataAlba * 6) / 2);
secondoSpegnimentoBluDx = secondoSpegnimentoBiancoDx + ((luciMinutiDurataTramonto * 6) / 2);
secondoSpegnimentoBluSx = secondoSpegnimentoBiancoDx + ((luciMinutiDurataTramonto * 6) / 2);
secondoSpegnimentoBiancoSx = secondoSpegnimentoBiancoDx;
if (luciTargetBluDx == 0) {decimiSecondoIncrementoBluDx = luciMinutiDurataAlba * 300;}
else {decimiSecondoIncrementoBluDx = (luciMinutiDurataAlba * 300) / luciTargetBluDx;}
if (luciTargetBluSx == 0) {decimiSecondoIncrementoBluSx = luciMinutiDurataAlba * 300;}
else {decimiSecondoIncrementoBluSx = (luciMinutiDurataAlba * 300) / luciTargetBluSx;}
if (luciTarget10kDx == 0) {decimiSecondoIncremento10kDx = luciMinutiDurataAlba * 300;}
else {decimiSecondoIncremento10kDx = (luciMinutiDurataAlba * 300) / luciTarget10kDx;}
if (luciTarget10kSx == 0) {decimiSecondoIncremento10kSx = luciMinutiDurataAlba * 300;}
else {decimiSecondoIncremento10kSx = (luciMinutiDurataAlba * 300) / luciTarget10kSx;}
if (luciTarget20kDx == 0) {decimiSecondoIncremento20kDx = luciMinutiDurataAlba * 300;}
else {decimiSecondoIncremento20kDx = (luciMinutiDurataAlba * 300) / luciTarget20kDx;}
if (luciTarget20kSx == 0) {decimiSecondoIncremento20kSx = luciMinutiDurataAlba * 300;}
else {decimiSecondoIncremento20kSx = (luciMinutiDurataAlba * 300) / luciTarget20kSx;}
if (luciTargetRRGB > luciTargetRRGBLunare) {decimiSecondoIncrementoRRGB = (luciMinutiDurataAlba * 600) / (luciTargetRRGB - luciTargetRRGBLunare);}
else if (luciTargetRRGB < luciTargetRRGBLunare) {decimiSecondoIncrementoRRGB = (luciMinutiDurataAlba * 600) / (luciTargetRRGBLunare - luciTargetRRGB);}
else {decimiSecondoIncrementoRRGB = (luciMinutiDurataAlba * 600);}
if (luciTargetGRGB > luciTargetGRGBLunare) {decimiSecondoIncrementoGRGB = (luciMinutiDurataAlba * 600) / (luciTargetGRGB - luciTargetGRGBLunare);}
else if (luciTargetGRGB < luciTargetGRGBLunare) {decimiSecondoIncrementoGRGB = (luciMinutiDurataAlba * 600) / (luciTargetGRGBLunare - luciTargetGRGB);}
else {decimiSecondoIncrementoGRGB = (luciMinutiDurataAlba * 600);}
if (luciTargetBRGB > luciTargetBRGBLunare) {decimiSecondoIncrementoBRGB = (luciMinutiDurataAlba * 600) / (luciTargetBRGB - luciTargetBRGBLunare);}
else if (luciTargetBRGB < luciTargetBRGBLunare) {decimiSecondoIncrementoBRGB = (luciMinutiDurataAlba * 600) / (luciTargetBRGBLunare - luciTargetBRGB);}
else {decimiSecondoIncrementoBRGB = (luciMinutiDurataAlba * 600);}
if (luciTargetBluDx == 0) {decimiSecondoDecrementoBluDx = luciMinutiDurataTramonto * 300;}
else {decimiSecondoDecrementoBluDx = (luciMinutiDurataTramonto * 300) / luciTargetBluDx;}
if (luciTargetBluSx == 0) {decimiSecondoDecrementoBluSx = luciMinutiDurataTramonto * 300;}
else {decimiSecondoDecrementoBluSx = (luciMinutiDurataTramonto * 300) / luciTargetBluSx;}
if (luciTarget10kDx == 0) {decimiSecondoDecremento10kDx = luciMinutiDurataTramonto * 300;}
else {decimiSecondoDecremento10kDx = (luciMinutiDurataTramonto * 300) / luciTarget10kDx;}
if (luciTarget10kSx == 0) {decimiSecondoDecremento10kSx = luciMinutiDurataTramonto * 300;}
else {decimiSecondoDecremento10kSx = (luciMinutiDurataTramonto * 300) / luciTarget10kSx;}
if (luciTarget20kDx == 0) {decimiSecondoDecremento20kDx = luciMinutiDurataTramonto * 300;}
else {decimiSecondoDecremento20kDx = (luciMinutiDurataTramonto * 300) / luciTarget20kDx;}
if (luciTarget20kSx == 0) {decimiSecondoDecremento20kSx = luciMinutiDurataTramonto * 300;}
else {decimiSecondoDecremento20kSx = (luciMinutiDurataTramonto * 300) / luciTarget20kSx;}
if (luciTargetRRGB > luciTargetRRGBLunare) {decimiSecondoDecrementoRRGB = (luciMinutiDurataTramonto * 600) / (luciTargetRRGB - luciTargetRRGBLunare);}
else if (luciTargetRRGB < luciTargetRRGBLunare) {decimiSecondoDecrementoRRGB = (luciMinutiDurataTramonto * 600) / (luciTargetRRGBLunare - luciTargetRRGB);}
else {decimiSecondoDecrementoRRGB = (luciMinutiDurataTramonto * 600);}
if (luciTargetGRGB > luciTargetGRGBLunare) {decimiSecondoDecrementoGRGB = (luciMinutiDurataTramonto * 600) / (luciTargetGRGB - luciTargetGRGBLunare);}
else if (luciTargetGRGB < luciTargetGRGBLunare) {decimiSecondoDecrementoGRGB = (luciMinutiDurataTramonto * 600) / (luciTargetGRGBLunare - luciTargetGRGB);}
else {decimiSecondoDecrementoGRGB = (luciMinutiDurataTramonto * 600);}
if (luciTargetBRGB > luciTargetBRGBLunare) {decimiSecondoDecrementoBRGB = (luciMinutiDurataTramonto * 600) / (luciTargetBRGB - luciTargetBRGBLunare);}
else if (luciTargetBRGB < luciTargetBRGBLunare) {decimiSecondoDecrementoBRGB = (luciMinutiDurataTramonto * 600) / (luciTargetBRGBLunare - luciTargetBRGB);}
else {decimiSecondoDecrementoBRGB = (luciMinutiDurataTramonto * 600);}
}
else if (luciTipoAlbaTramonto == 2)
{
secondoAccensioneBluSx = secondoAccensioneBluDx + ((luciMinutiDurataAlba * 6) / 2);
secondoAccensioneBiancoDx = secondoAccensioneBluDx;
secondoAccensioneBiancoSx = secondoAccensioneBluDx + ((luciMinutiDurataAlba * 6) / 2);
secondoSpegnimentoBluDx = secondoSpegnimentoBiancoDx;
secondoSpegnimentoBluSx = secondoSpegnimentoBiancoDx + ((luciMinutiDurataTramonto * 6) / 2);
secondoSpegnimentoBiancoSx = secondoSpegnimentoBiancoDx + ((luciMinutiDurataTramonto * 6) / 2);
if (luciTargetBluDx == 0) {decimiSecondoIncrementoBluDx = luciMinutiDurataAlba * 300;}
else {decimiSecondoIncrementoBluDx = (luciMinutiDurataAlba * 300) / luciTargetBluDx;}
if (luciTargetBluSx == 0) {decimiSecondoIncrementoBluSx = luciMinutiDurataAlba * 300;}
else {decimiSecondoIncrementoBluSx = (luciMinutiDurataAlba * 300) / luciTargetBluSx;}
if (luciTarget10kDx == 0) {decimiSecondoIncremento10kDx = luciMinutiDurataAlba * 300;}
else {decimiSecondoIncremento10kDx = (luciMinutiDurataAlba * 300) / luciTarget10kDx;}
if (luciTarget10kSx == 0) {decimiSecondoIncremento10kSx = luciMinutiDurataAlba * 300;}
else {decimiSecondoIncremento10kSx = (luciMinutiDurataAlba * 300) / luciTarget10kSx;}
if (luciTarget20kDx == 0) {decimiSecondoIncremento20kDx = luciMinutiDurataAlba * 300;}
else {decimiSecondoIncremento20kDx = (luciMinutiDurataAlba * 300) / luciTarget20kDx;}
if (luciTarget20kSx == 0) {decimiSecondoIncremento20kSx = luciMinutiDurataAlba * 300;}
else {decimiSecondoIncremento20kSx = (luciMinutiDurataAlba * 300) / luciTarget20kSx;}
if (luciTargetRRGB > luciTargetRRGBLunare) {decimiSecondoIncrementoRRGB = (luciMinutiDurataAlba * 600) / (luciTargetRRGB - luciTargetRRGBLunare);}
else if (luciTargetRRGB < luciTargetRRGBLunare) {decimiSecondoIncrementoRRGB = (luciMinutiDurataAlba * 600) / (luciTargetRRGBLunare - luciTargetRRGB);}
else {decimiSecondoIncrementoRRGB = (luciMinutiDurataAlba * 600);}
if (luciTargetGRGB > luciTargetGRGBLunare) {decimiSecondoIncrementoGRGB = (luciMinutiDurataAlba * 600) / (luciTargetGRGB - luciTargetGRGBLunare);}
else if (luciTargetGRGB < luciTargetGRGBLunare) {decimiSecondoIncrementoGRGB = (luciMinutiDurataAlba * 600) / (luciTargetGRGBLunare - luciTargetGRGB);}
else {decimiSecondoIncrementoGRGB = (luciMinutiDurataAlba * 600);}
if (luciTargetBRGB > luciTargetBRGBLunare) {decimiSecondoIncrementoBRGB = (luciMinutiDurataAlba * 600) / (luciTargetBRGB - luciTargetBRGBLunare);}
else if (luciTargetBRGB < luciTargetBRGBLunare) {decimiSecondoIncrementoBRGB = (luciMinutiDurataAlba * 600) / (luciTargetBRGBLunare - luciTargetBRGB);}
else {decimiSecondoIncrementoBRGB = (luciMinutiDurataAlba * 600);}
if (luciTargetBluDx == 0) {decimiSecondoDecrementoBluDx = luciMinutiDurataTramonto * 300;}
else {decimiSecondoDecrementoBluDx = (luciMinutiDurataTramonto * 300) / luciTargetBluDx;}
if (luciTargetBluSx == 0) {decimiSecondoDecrementoBluSx = luciMinutiDurataTramonto * 300;}
else {decimiSecondoDecrementoBluSx = (luciMinutiDurataTramonto * 300) / luciTargetBluSx;}
if (luciTarget10kDx == 0) {decimiSecondoDecremento10kDx = luciMinutiDurataTramonto * 300;}
else {decimiSecondoDecremento10kDx = (luciMinutiDurataTramonto * 300) / luciTarget10kDx;}
if (luciTarget10kSx == 0) {decimiSecondoDecremento10kSx = luciMinutiDurataTramonto * 300;}
else {decimiSecondoDecremento10kSx = (luciMinutiDurataTramonto * 300) / luciTarget10kSx;}
if (luciTarget20kDx == 0) {decimiSecondoDecremento20kDx = luciMinutiDurataTramonto * 300;}
else {decimiSecondoDecremento20kDx = (luciMinutiDurataTramonto * 300) / luciTarget20kDx;}
if (luciTarget20kSx == 0) {decimiSecondoDecremento20kSx = luciMinutiDurataTramonto * 300;}
else {decimiSecondoDecremento20kSx = (luciMinutiDurataTramonto * 300) / luciTarget20kSx;}
if (luciTargetRRGB > luciTargetRRGBLunare) {decimiSecondoDecrementoRRGB = (luciMinutiDurataTramonto * 600) / (luciTargetRRGB - luciTargetRRGBLunare);}
else if (luciTargetRRGB < luciTargetRRGBLunare) {decimiSecondoDecrementoRRGB = (luciMinutiDurataTramonto * 600) / (luciTargetRRGBLunare - luciTargetRRGB);}
else {decimiSecondoDecrementoRRGB = (luciMinutiDurataTramonto * 600);}
if (luciTargetGRGB > luciTargetGRGBLunare) {decimiSecondoDecrementoGRGB = (luciMinutiDurataTramonto * 600) / (luciTargetGRGB - luciTargetGRGBLunare);}
else if (luciTargetGRGB < luciTargetGRGBLunare) {decimiSecondoDecrementoGRGB = (luciMinutiDurataTramonto * 600) / (luciTargetGRGBLunare - luciTargetGRGB);}
else {decimiSecondoDecrementoGRGB = (luciMinutiDurataTramonto * 600);}
if (luciTargetBRGB > luciTargetBRGBLunare) {decimiSecondoDecrementoBRGB = (luciMinutiDurataTramonto * 600) / (luciTargetBRGB - luciTargetBRGBLunare);}
else if (luciTargetBRGB < luciTargetBRGBLunare) {decimiSecondoDecrementoBRGB = (luciMinutiDurataTramonto * 600) / (luciTargetBRGBLunare - luciTargetBRGB);}
else {decimiSecondoDecrementoBRGB = (luciMinutiDurataTramonto * 600);}
}
else
{
secondoAccensioneBluSx = secondoAccensioneBluDx + ((luciMinutiDurataAlba * 6) / 4);
secondoAccensioneBiancoDx = secondoAccensioneBluDx + (((luciMinutiDurataAlba * 6) / 4) * 2);
secondoAccensioneBiancoSx = secondoAccensioneBluDx + (((luciMinutiDurataAlba * 6) / 4) * 3);
secondoSpegnimentoBluDx = secondoSpegnimentoBiancoDx + (((luciMinutiDurataTramonto * 6) / 4) * 2);
secondoSpegnimentoBluSx = secondoSpegnimentoBiancoDx + (((luciMinutiDurataTramonto * 6) / 4) * 3);
secondoSpegnimentoBiancoSx = secondoSpegnimentoBiancoDx + ((luciMinutiDurataTramonto * 6) / 4);
if (luciTargetBluDx == 0) {decimiSecondoIncrementoBluDx = luciMinutiDurataAlba * 150;}
else {decimiSecondoIncrementoBluDx = (luciMinutiDurataAlba * 150) / luciTargetBluDx;}
if (luciTargetBluSx == 0) {decimiSecondoIncrementoBluSx = luciMinutiDurataAlba * 150;}
else {decimiSecondoIncrementoBluSx = (luciMinutiDurataAlba * 150) / luciTargetBluSx;}
if (luciTarget10kDx == 0) {decimiSecondoIncremento10kDx = luciMinutiDurataAlba * 150;}
else {decimiSecondoIncremento10kDx = (luciMinutiDurataAlba * 150) / luciTarget10kDx;}
if (luciTarget10kSx == 0) {decimiSecondoIncremento10kSx = luciMinutiDurataAlba * 150;}
else {decimiSecondoIncremento10kSx = (luciMinutiDurataAlba * 150) / luciTarget10kSx;}
if (luciTarget20kDx == 0) {decimiSecondoIncremento20kDx = luciMinutiDurataAlba * 150;}
else {decimiSecondoIncremento20kDx = (luciMinutiDurataAlba * 150) / luciTarget20kDx;}
if (luciTarget20kSx == 0) {decimiSecondoIncremento20kSx = luciMinutiDurataAlba * 150;}
else {decimiSecondoIncremento20kSx = (luciMinutiDurataAlba * 150) / luciTarget20kSx;}
if (luciTargetRRGB > luciTargetRRGBLunare) {decimiSecondoIncrementoRRGB = (luciMinutiDurataAlba * 600) / (luciTargetRRGB - luciTargetRRGBLunare);}
else if (luciTargetRRGB < luciTargetRRGBLunare) {decimiSecondoIncrementoRRGB = (luciMinutiDurataAlba * 600) / (luciTargetRRGBLunare - luciTargetRRGB);}
else {decimiSecondoIncrementoRRGB = (luciMinutiDurataAlba * 600);}
if (luciTargetGRGB > luciTargetGRGBLunare) {decimiSecondoIncrementoGRGB = (luciMinutiDurataAlba * 600) / (luciTargetGRGB - luciTargetGRGBLunare);}
else if (luciTargetGRGB < luciTargetGRGBLunare) {decimiSecondoIncrementoGRGB = (luciMinutiDurataAlba * 600) / (luciTargetGRGBLunare - luciTargetGRGB);}
else {decimiSecondoIncrementoGRGB = (luciMinutiDurataAlba * 600);}
if (luciTargetBRGB > luciTargetBRGBLunare) {decimiSecondoIncrementoBRGB = (luciMinutiDurataAlba * 600) / (luciTargetBRGB - luciTargetBRGBLunare);}
else if (luciTargetBRGB < luciTargetBRGBLunare) {decimiSecondoIncrementoBRGB = (luciMinutiDurataAlba * 600) / (luciTargetBRGBLunare - luciTargetBRGB);}
else {decimiSecondoIncrementoBRGB = (luciMinutiDurataAlba * 600);}
if (luciTargetBluDx == 0) {decimiSecondoDecrementoBluDx = luciMinutiDurataTramonto * 150;}
else {decimiSecondoDecrementoBluDx = (luciMinutiDurataTramonto * 150) / luciTargetBluDx;}
if (luciTargetBluSx == 0) {decimiSecondoDecrementoBluSx = luciMinutiDurataTramonto * 150;}
else {decimiSecondoDecrementoBluSx = (luciMinutiDurataTramonto * 150) / luciTargetBluSx;}
if (luciTarget10kDx == 0) {decimiSecondoDecremento10kDx = luciMinutiDurataTramonto * 150;}
else {decimiSecondoDecremento10kDx = (luciMinutiDurataTramonto * 150) / luciTarget10kDx;}
if (luciTarget10kSx == 0) {decimiSecondoDecremento10kSx = luciMinutiDurataTramonto * 150;}
else {decimiSecondoDecremento10kSx = (luciMinutiDurataTramonto * 150) / luciTarget10kSx;}
if (luciTarget20kDx == 0) {decimiSecondoDecremento20kDx = luciMinutiDurataTramonto * 150;}
else {decimiSecondoDecremento20kDx = (luciMinutiDurataTramonto * 150) / luciTarget20kDx;}
if (luciTarget20kSx == 0) {decimiSecondoDecremento20kSx = luciMinutiDurataTramonto * 150;}
else {decimiSecondoDecremento20kSx = (luciMinutiDurataTramonto * 150) / luciTarget20kSx;}
if (luciTargetRRGB > luciTargetRRGBLunare) {decimiSecondoDecrementoRRGB = (luciMinutiDurataTramonto * 600) / (luciTargetRRGB - luciTargetRRGBLunare);}
else if (luciTargetRRGB < luciTargetRRGBLunare) {decimiSecondoDecrementoRRGB = (luciMinutiDurataTramonto * 600) / (luciTargetRRGBLunare - luciTargetRRGB);}
else {decimiSecondoDecrementoRRGB = (luciMinutiDurataTramonto * 600);}
if (luciTargetGRGB > luciTargetGRGBLunare) {decimiSecondoDecrementoGRGB = (luciMinutiDurataTramonto * 600) / (luciTargetGRGB - luciTargetGRGBLunare);}
else if (luciTargetGRGB < luciTargetGRGBLunare) {decimiSecondoDecrementoGRGB = (luciMinutiDurataTramonto * 600) / (luciTargetGRGBLunare - luciTargetGRGB);}
else {decimiSecondoDecrementoGRGB = (luciMinutiDurataTramonto * 600);}
if (luciTargetBRGB > luciTargetBRGBLunare) {decimiSecondoDecrementoBRGB = (luciMinutiDurataTramonto * 600) / (luciTargetBRGB - luciTargetBRGBLunare);}
else if (luciTargetBRGB < luciTargetBRGBLunare) {decimiSecondoDecrementoBRGB = (luciMinutiDurataTramonto * 600) / (luciTargetBRGBLunare - luciTargetBRGB);}
else {decimiSecondoDecrementoBRGB = (luciMinutiDurataTramonto * 600);}
}
if (secondoAccensioneBluSx > 8639) {secondoAccensioneBluSx = secondoAccensioneBluSx - 8640;}
if (secondoAccensioneBiancoDx > 8639) {secondoAccensioneBiancoDx = secondoAccensioneBiancoDx - 8640;}
if (secondoAccensioneBiancoSx > 8639) {secondoAccensioneBiancoSx = secondoAccensioneBiancoSx - 8640;}
if (secondoSpegnimentoBluDx > 8639) {secondoSpegnimentoBluDx = secondoSpegnimentoBluDx - 8640;}
if (secondoSpegnimentoBluSx > 8639) {secondoSpegnimentoBluSx = secondoSpegnimentoBluSx - 8640;}
if (secondoSpegnimentoBiancoDx > 8639) {secondoSpegnimentoBiancoDx = secondoSpegnimentoBiancoDx - 8640;}
if (secondoSpegnimentoBiancoSx > 8639) {secondoSpegnimentoBiancoSx = secondoSpegnimentoBiancoSx - 8640;}
luceBluDxAccesa = 0;
luceBluSxAccesa = 0;
luceBiancaDxAccesa = 0;
luceBiancaSxAccesa = 0;
luceRGBDiurnaAccesa = 0;
if (secondoAccensioneBluDx < secondoSpegnimentoBluDx) {if ((secondoCorrente >= secondoAccensioneBluDx) && (secondoCorrente < secondoSpegnimentoBluDx)) {luceBluDxAccesa = 1;}}
else {if ((secondoCorrente >= secondoAccensioneBluDx) || (secondoCorrente < secondoSpegnimentoBluDx)) {luceBluDxAccesa = 1;}}
if (secondoAccensioneBluSx < secondoSpegnimentoBluSx) {if ((secondoCorrente >= secondoAccensioneBluSx) && (secondoCorrente < secondoSpegnimentoBluSx)) {luceBluSxAccesa = 1;}}
else {if ((secondoCorrente >= secondoAccensioneBluSx) || (secondoCorrente < secondoSpegnimentoBluSx)) {luceBluSxAccesa = 1;}}
if (secondoAccensioneBiancoDx < secondoSpegnimentoBiancoDx) {if ((secondoCorrente >= secondoAccensioneBiancoDx) && (secondoCorrente < secondoSpegnimentoBiancoDx)) {luceBiancaDxAccesa = 1;}}
else {if ((secondoCorrente >= secondoAccensioneBiancoDx) || (secondoCorrente < secondoSpegnimentoBiancoDx)) {luceBiancaDxAccesa = 1;}}
if (secondoAccensioneBiancoSx < secondoSpegnimentoBiancoSx) {if ((secondoCorrente >= secondoAccensioneBiancoSx) && (secondoCorrente < secondoSpegnimentoBiancoSx)) {luceBiancaSxAccesa = 1;}}
else {if ((secondoCorrente >= secondoAccensioneBiancoSx) || (secondoCorrente < secondoSpegnimentoBiancoSx)) {luceBiancaSxAccesa = 1;}}
if (secondoAccensioneBluDx < secondoSpegnimentoBiancoDx) {if ((secondoCorrente >= secondoAccensioneBluDx) && (secondoCorrente < secondoSpegnimentoBiancoDx)) {luceRGBDiurnaAccesa = 1;}}
else {if ((secondoCorrente >= secondoAccensioneBluDx) || (secondoCorrente < secondoSpegnimentoBiancoDx)) {luceRGBDiurnaAccesa = 1;}}
if (luceBluDxAccesa) {obiettivoBluDx = luciTargetBluDx;}
else {obiettivoBluDx = 0;}
if (luceBluSxAccesa) {obiettivoBluSx = luciTargetBluSx;}
else {obiettivoBluSx = 0;}
if (luceBiancaDxAccesa) {obiettivo10kDx = luciTarget10kDx;}
else {obiettivo10kDx = 0;}
if (luceBiancaSxAccesa) {obiettivo10kSx = luciTarget10kSx;}
else {obiettivo10kSx = 0;}
if (luceBiancaDxAccesa) {obiettivo20kDx = luciTarget20kDx;}
else {obiettivo20kDx = 0;}
if (luceBiancaSxAccesa) {obiettivo20kSx = luciTarget20kSx;}
else {obiettivo20kSx = 0;}
if (luceRGBDiurnaAccesa) {obiettivoRRGB = luciTargetRRGB;}
else {obiettivoRRGB = luciTargetRRGBLunare;}
if (luceRGBDiurnaAccesa) {obiettivoGRGB = luciTargetGRGB;}
else {obiettivoGRGB = luciTargetGRGBLunare;}
if (luceRGBDiurnaAccesa) {obiettivoBRGB = luciTargetBRGB;}
else {obiettivoBRGB = luciTargetBRGBLunare;}
if (luciCurrentBluDx < obiettivoBluDx)
{
if ((msCurrent - msLastUpdateBluDx) > (decimiSecondoIncrementoBluDx * 100))
{
msLastUpdateBluDx = msCurrent;
luciCurrentBluDx++;
analogWrite(PWM_BLU_DX, luciCurrentBluDx);
return;
}
}
else if (luciCurrentBluDx > obiettivoBluDx)
{
if ((msCurrent - msLastUpdateBluDx) > (decimiSecondoDecrementoBluDx * 100))
{
msLastUpdateBluDx = msCurrent;
luciCurrentBluDx--;
analogWrite(PWM_BLU_DX, luciCurrentBluDx);
return;
}
}
if (luciCurrentBluSx < obiettivoBluSx)
{
if ((msCurrent - msLastUpdateBluSx) > (decimiSecondoIncrementoBluSx * 100))
{
msLastUpdateBluSx = msCurrent;
luciCurrentBluSx++;
analogWrite(PWM_BLU_SX, luciCurrentBluSx);
return;
}
}
else if (luciCurrentBluSx > obiettivoBluSx)
{
if ((msCurrent - msLastUpdateBluSx) > (decimiSecondoDecrementoBluSx * 100))
{
msLastUpdateBluSx = msCurrent;
luciCurrentBluSx--;
analogWrite(PWM_BLU_SX, luciCurrentBluSx);
return;
}
}
if (luciCurrent10kDx < obiettivo10kDx)
{
if ((msCurrent - msLastUpdate10kDx) > (decimiSecondoIncremento10kDx * 100))
{
msLastUpdate10kDx = msCurrent;
luciCurrent10kDx++;
analogWrite(PWM_10K_DX, luciCurrent10kDx);
return;
}
}
else if (luciCurrent10kDx > obiettivo10kDx)
{
if ((msCurrent - msLastUpdate10kDx) > (decimiSecondoDecremento10kDx * 100))
{
msLastUpdate10kDx = msCurrent;
luciCurrent10kDx--;
analogWrite(PWM_10K_DX, luciCurrent10kDx);
return;
}
}
if (luciCurrent10kSx < obiettivo10kSx)
{
if ((msCurrent - msLastUpdate10kSx) > (decimiSecondoIncremento10kSx * 100))
{
msLastUpdate10kSx = msCurrent;
luciCurrent10kSx++;
analogWrite(PWM_10K_SX, luciCurrent10kSx);
return;
}
}
else if (luciCurrent10kSx > obiettivo10kSx)
{
if ((msCurrent - msLastUpdate10kSx) > (decimiSecondoDecremento10kSx * 100))
{
msLastUpdate10kSx = msCurrent;
luciCurrent10kSx--;
analogWrite(PWM_10K_SX, luciCurrent10kSx);
return;
}
}
if (luciCurrent20kDx < obiettivo20kDx)
{
if ((msCurrent - msLastUpdate20kDx) > (decimiSecondoIncremento20kDx * 100))
{
msLastUpdate20kDx = msCurrent;
luciCurrent20kDx++;
analogWrite(PWM_20K_DX, luciCurrent20kDx);
return;
}
}
else if (luciCurrent20kDx > obiettivo20kDx)
{
if ((msCurrent - msLastUpdate20kDx) > (decimiSecondoDecremento20kDx * 100))
{
msLastUpdate20kDx = msCurrent;
luciCurrent20kDx--;
analogWrite(PWM_20K_DX, luciCurrent20kDx);
return;
}
}
if (luciCurrent20kSx < obiettivo20kSx)
{
if ((msCurrent - msLastUpdate20kSx) > (decimiSecondoIncremento20kSx * 100))
{
msLastUpdate20kSx = msCurrent;
luciCurrent20kSx++;
analogWrite(PWM_20K_SX, luciCurrent20kSx);
return;
}
}
else if (luciCurrent20kSx > obiettivo20kSx)
{
if ((msCurrent - msLastUpdate20kSx) > (decimiSecondoDecremento20kSx * 100))
{
msLastUpdate20kSx = msCurrent;
luciCurrent20kSx--;
analogWrite(PWM_20K_SX, luciCurrent20kSx);
return;
}
}
if (luciCurrentRRGB < obiettivoRRGB)
{
if ((msCurrent - msLastUpdateRRGB) > (decimiSecondoIncrementoRRGB * 100))
{
msLastUpdateRRGB = msCurrent;
luciCurrentRRGB++;
analogWrite(PWM_RGB_RED, luciCurrentRRGB);
return;
}
}
else if (luciCurrentRRGB > obiettivoRRGB)
{
if ((msCurrent - msLastUpdateRRGB) > (decimiSecondoDecrementoRRGB * 100))
{
msLastUpdateRRGB = msCurrent;
luciCurrentRRGB--;
analogWrite(PWM_RGB_RED, luciCurrentRRGB);
return;
}
}
if (luciCurrentGRGB < obiettivoGRGB)
{
if ((msCurrent - msLastUpdateGRGB) > (decimiSecondoIncrementoGRGB * 100))
{
msLastUpdateGRGB = msCurrent;
luciCurrentGRGB++;
analogWrite(PWM_RGB_GREEN, luciCurrentGRGB);
return;
}
}
else if (luciCurrentGRGB > obiettivoGRGB)
{
if ((msCurrent - msLastUpdateGRGB) > (decimiSecondoDecrementoGRGB * 100))
{
msLastUpdateGRGB = msCurrent;
luciCurrentGRGB--;
analogWrite(PWM_RGB_GREEN, luciCurrentGRGB);
return;
}
}
if (luciCurrentBRGB < obiettivoBRGB)
{
if ((msCurrent - msLastUpdateBRGB) > (decimiSecondoIncrementoBRGB * 100))
{
msLastUpdateBRGB = msCurrent;
luciCurrentBRGB++;
analogWrite(PWM_RGB_BLUE, luciCurrentBRGB);
return;
}
}
else if (luciCurrentBRGB > obiettivoBRGB)
{
if ((msCurrent - msLastUpdateBRGB) > (decimiSecondoDecrementoBRGB * 100))
{
msLastUpdateBRGB = msCurrent;
luciCurrentBRGB--;
analogWrite(PWM_RGB_BLUE, luciCurrentBRGB);
return;
}
}
}
segue ....