Ho provato ad aggiungere a un semplice sketch il fade manuale ma non funziona mi potrete aiutare, questo è il codice, grazie anticipatamente.
// includiamo prima di tutto la libreria IRremote
#include "IRremote.h"
// definiamo i valori che vengono passati dai pulsanti del nostro telecomando
#define power 0X80C // ACCENDI
#define prog_su 0X820
#define prog_giu 0X821
// Il pin del nostro ricevitore IR
int RECV_PIN = 11;
int led_green = 10;
int led_red = 8;
int pwr_state= 0;
int led_blue = 9; // the pin that the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
//definiamo l'oggetto riceviore e i risultati
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Iniziamo la ricezione dati
pinMode(led_green, OUTPUT);
pinMode(led_red, OUTPUT);
pinMode(led_blue, OUTPUT);
digitalWrite(led_red, HIGH);
}
void loop() {
// Se riceviamo input, allora avremo dei valori esadecimali (che abbiamo definito all'inizio del codice avendo la lettura)
if (irrecv.decode(&results)) {
if(results.value == power && pwr_state == 0){
Serial.print("Dispositivo ACCESO \n");
digitalWrite(led_green, HIGH);
digitalWrite(led_red, LOW);
pwr_state = 1;
}
else if (results.value == prog_su && pwr_state == 1 && brightness < 256){
Serial.print("Luminosita' LED = ");
Serial.println(brightness);
digitalWrite(led_blue, brightness);
brightness = brightness + fadeAmount;
}
else if (results.value == prog_giu && pwr_state == 1 && brightness > -1){
Serial.print("Luminosita' LED = ");
Serial.println(brightness);
digitalWrite(led_blue, brightness);
brightness = brightness - fadeAmount;
}
else if(results.value == power && pwr_state == 1){
Serial.print("Dispositivo SPENTO \n");
digitalWrite(led_green, LOW);
digitalWrite(led_red, HIGH);
pwr_state = 0;
}
delay(250);
irrecv.resume(); // Riceviamo il prossimo valore
}
}