Precedentemente abbiamo imparato a far lampeggiare (Blink) un LED mediante l’Arduino. In quel semplice esempio la velocità di lampeggiamento veniva impostata nel codice e, quindi, non era possibile farla variare (a meno di andare a cambiare il valore impostato nel codice).

Adesso vedremo come modificare il codice ed il circuito per permetterci di regolare il Blinking con un potenziometro.

Fare ciò vuol dire aggiungere un potenziometro al nostro sistema, collegarlo ad un ingresso analogico ed usare il valore letto da tale ingresso per stabilire la velocità del lampeggiamento.

Vediamo subito come fare il circuito:

analoginputoutput_bb

Nell’immagine ho usato il pin 3 (che supporta il PWM) solo perchè l’avevo già fatta per un altro esempio. Ovviamente potete usare anche una porta digitale senza PWM in quanto non è necessario per il blinking.

Adesso passiamo al codice:

int ledPin = 3;
int potPin= 0;
int pausa = 0;

void setup()
{
  pinMode(ledPin, OUTPUT);
  pinMode(potPin, INPUT);
}

void loop()
{
  pausa = analogRead(potPin);
  digitalWrite(ledPin, HIGH);
  delay(pausa);
  digitalWrite(ledPin, LOW);
  delay(pausa);
}

Come al solito nella prima parte del codice dichiariamo le variabili che ci serviranno nella seconda parte del codice.
Nel void loop abbiamo salvato il valore della lettura analogica del potenziometro all’interno della variabile pausa. Tale variabile è stata usata per impostare il tempo di lampeggiamento di un led.