Lampeggio Led con Potenziometro

Ciao a tutti! Vorrei far lampeggiare un led utilizzando un potenziometro (o anche due, meglio se multigiro) e con esso modificare sia il tempo in cui il led è acceso sia quello in cui è spento. Qualche idea per uno sketch?

Grazie in anticipo.

ciao Rick_Findus,

fai un analogRead() del/dei pin dove colleghi il/i potenziometri e poi usi il risultato (0-1023) per rimappare un tempo che usi con millis() per il passaggio da ON ad OFF...puoi usare un secondo potenziometro o per decidere la pausa...quindi pot1 tempo ON pot2 tempo OFF oppure il pot2 come scaler del pot1

io avevo utilizzato questo codice inserendo in analogRead i due pin centrali del potenziometro (A0-A1), purtroppo non ci sono riuscito

int Ledpin = 9; 

void setup() { 
pinMode(Ledpin, OUTPUT); 
} 

void loop() { 
digitalWrite(Ledpin, HIGH);  
delay(analogRead(0)); 
digitalWrite(Ledpin, LOW); 
delay(analogRead(1)); 
}

... considera che il delay() vuole il tempo in msec ... quindi, anche con il potenziomentro al minimo, il massimo dell'intervallo che puoi avere è circa 1023 msec (1 sec. circa).

Ti consiglio di studiarti lla funzione map() e rapportare i valori che una analogread() ti può dare (0..1023) a un numero di msec apprezzabile (es. 0 .. 10000 che sarebbe 0 .. 10 secondi).

Ah ... metti uno schemino di come hai collegato i due potenziomenti che ...
... non vorrei tu avessi sbagliato i collegamenti ... ::slight_smile:

Guglielmo

Lo schema che ho utilizzato è questo:

Rick_Findus:
Lo schema che ho utilizzato è questo:

Ok, bene, non ti resta che applicare la funzione map() per avere il ritardo che desideri. In fase di debug, puoi anche aggiungere la stampa sul monitor seriale dei valori che leggi dalle analogRead(), così hai anche un riscontro ... :wink:

Guglielmo