#include <Arduino.h>
class Led1 {
private:
int pin;
int luminosita;
public:
Led(int p) {
pin = p;
pinMode(pin, OUTPUT);
luminosita = 0;
}
void accendi() {
analogWrite(pin, luminosita);
}
void fadein() {
for (int i = 0; i <= 255; ++i) {
luminosita = i;
accendi();
delay(12); // 3000ms / 255 steps ≈ 11.76, rounded up to 12
}
}
};
class Led {
private:
int pin;
int luminosita;
public:
Led(int p) {
pin = p;
pinMode(pin, OUTPUT);
luminosita = 0;
}
void accendi() {
if (luminosita > 0) {
digitalWrite(pin, HIGH);
} else {
digitalWrite(pin, LOW);
}
}
void fadein() {
const int fadeSteps = 255;
const int fadeDuration = 10000;
const int delayBetweenSteps = fadeDuration / fadeSteps;
for (int i = 0; i <= fadeSteps; ++i) {
luminosita = i;
accendi();
delay(delayBetweenSteps);
}
}
};
Led1 mioLed(4); // Sostituisci con il tuo pin LED
void setup() {
// Nessuna inizializzazione necessaria per questo esempio
}
void loop() {
mioLed.fadein();
delay(3000); // Aggiungi una pausa di 1 secondo tra i fade-in
}