plafoniera: alimentazione e cavi di controllo

questa è la funzione che controlla i led...
la plafoniera, ovviamente, funziona... ma mi chiedevo se si potesse far nulla per migliorare il "segnale"!

void chkPlafo(){


  DateTime now = RTC.now();

  if (plafoStatus == 0){

    switch(now.hour()){
    case 11:
      fadeValue = 50;
      break;
    case 12:
      fadeValue = 90;
      break;
    case 13:
      fadeValue = 130;
      break;
    case 14:
      fadeValue = 170;
      break;
    case 15:
      fadeValue = 210;
      break;
    case 16:
      fadeValue = 255;
      break;
    case 17:
      fadeValue = 235;
      break;
    case 18:
      fadeValue = 175;
      break;
    case 19:
      fadeValue = 115;
      lcd.setCursor(10,0);
      lcd.print(19);
      break;
    case 20:
      fadeValue = 55;
      lcd.setCursor(10,0);
      lcd.print(20);
      break;

    default:
      fadeValue = 0;
    }   


    if(now.hour() >= 11 && now.hour() <= 15){
      if(now.minute() >= 10 && now.minute() < 15)
        fadeValue += 10;
      else if(now.minute() >= 15 && now.minute() < 30)
        fadeValue += 20;
      else if(now.minute() >= 30 && now.minute() < 45)
        fadeValue += 30;
      else if(now.minute() >= 45 && now.minute() < 60)
        fadeValue += 40;
    }

    if(now.hour() >= 17 && now.hour() <= 20){
      if(now.minute() >= 10 && now.minute() < 15)
        fadeValue -= 10;
      else if(now.minute() >= 15 && now.minute() < 30)
        fadeValue -= 20;
      else if(now.minute() >= 30 && now.minute() < 45)
        fadeValue -= 30;
      else if(now.minute() >= 45 && now.minute() < 60)
        fadeValue -= 40;
    }

  }

  else if (plafoStatus == 1)
    fadeValue = 255;

  else if (plafoStatus == 2)
    fadeValue = 0;

  analogWrite(ledPin, fadeValue); 

}

void stampaPWM(int x, int y){

  lcd.setCursor(x,y);
  lcd.print("PWM:");

  if(plafoStatus == 2)
    lcd.print("off  ");

  else if (plafoStatus == 1)
    lcd.print("on   ");

  else if(plafoStatus == 0){  

    float val = fadeValue*100/255;

    lcd.setCursor(x + 4, y);
    lcd.print(val,0);
    lcd.print("%");

  }
}

il driver è questo:
http://www.bizetashop.it/shop/20000-alimentazioneeaccessori/24000-driverled/24200-inputdc/driver-lineare-cc-1000ma-drv-uldo-1000ma
è valido? o è meglio quello switching?

grazie :slight_smile: