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.
12-11-2011, 21:17
#1
Guppy
Registrato: Feb 2010
Città: Bologna
Acquariofilo: Marino
N° Acquari: 1
Età : 52
Messaggi: 126
Post "Grazie" / "Mi Piace"
Mentioned: 0 Post(s)
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 ....
12-11-2011, 22:58
#2
Discus
Registrato: Aug 2007
Città: POZZUOLO DEL FRIULI
Acquariofilo: Dolce/Marino
N° Acquari: 2
Età : 65
Messaggi: 2.613
Post "Grazie" / "Mi Piace"
Mentioned: 11 Post(s)
Annunci Mercatino: 0
Originariamente inviata da Carletto73
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 ....
Scusa una domanda....vorrei anche io postare il mio codice ma come hai fatto a postare il codice nei riquadri con la barra di scorrimento?
13-11-2011, 00:06
#3
Discus
Registrato: Jul 2008
Città: Verrone
Acquariofilo: Dolce/Marino
N° Acquari: 2 (1 marrone e 1 verde)
Età : 46
Messaggi: 4.637
Post "Grazie" / "Mi Piace"
Mentioned: 0 Post(s)
Annunci Mercatino: 0
Originariamente inviata da Carletto73
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).
sticazz'!! :#O
billykid591 nel riquadro delle risposte, sotto al sibolino di youtube, c'è il "cancelletto" per inserire i codici...
Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi
il codice HTML è disattivato
-- English (US)
-- Italiano