Cerca nel forum:
Acquaportal - Forum e Community

  





Benvenuti sul Forum di AcquaPortal, la più grande community italiana di acquariofilia!
Sul Forum di AcquaPortal puoi discutere con altri appassionati di acquariofilia, tenere un tuo Blog personale, inserire foto e video, chattare, ed aiutarci a creare un grande database con schede di pesci, invertebrati e prodotti di acquariofilia.


Per entrar a far parte della comunità occorre registrarsi.
Per farlo premi su

Registrazione


Al momento della registrazione ti verrà richiesto di accettare il Regolamento che ti consigliamo di leggere attentamente.
Ti consigliamo inoltre di leggere le FAQ per apprendere le funzionalità principali del forum.
Se invece sei un utente registrato e hai dimenticato i tuoi dati di accesso devi effettuare il Recupero dati.




Fai da te marino Per parlare delle tecniche di costruzione artigianale, per presentare le vostre realizzazioni, e per avere informazioni su dove reperire materiale ed attrezzatura risparmiando tempo e denaro.

 
Condividi Opzioni Visualizzazione
 
Prev Messaggio precedente   Prossimo messaggio Next
Vecchio 12-11-2011, 21:17   #11
Carletto73
Guppy
 
L'avatar di Carletto73
 
Registrato: Feb 2010
Città: Bologna
Acquariofilo: Marino
N° Acquari: 1
Età : 50
Messaggi: 126
Foto: 9 Albums: 2
Post "Grazie" / "Mi Piace"
Grazie (Dati): 1
Grazie (Ricev.): 0
Mi piace (Dati): 1
Mi piace (Ricev.): 0
Mentioned: 0 Post(s)
Feedback 1/100%

Annunci Mercatino: 0
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 ....
__________________
Il mio nanoreef
Carletto73 non è in linea   Rispondi quotando
 

Tag
alba or tramonto , arduino , codice , display , eccolo

Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è attivo
Le smile sono attive
Il codice IMG è attivo
il codice HTML è disattivato

Vai a



















Tutti gli orari sono GMT +2. Attualmente sono le 06:18. Powered by vBulletin versione 3.8.9
Copyright ©: 2000 - 2024, Jelsoft Enterprises Ltd.
Traduzione italiana Team: AcquaPortal Feedback Buttons provided by Advanced Post Thanks / Like v3.5.0 (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
User Alert System provided by Advanced User Tagging v3.2.5 Patch Level 2 (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Copyright Zero Pixel Srl
Page generated in 0,67125 seconds with 16 queries