Arduino: i pin PWM

      Nessun commento su Arduino: i pin PWM

Fino  a questo momento abbiamo utilizzato l’istruzione digitalWrite per far in modo che un determinato pin sia acceso o spento ,oggi vi spiegherò come poter utilizzare anche dei valori intermedi (questo è molto utile se si vuole “comandare” la luminosità di un led o la velocità di un motore).

Arduino di per se non è in grado di attribuire valori intermedi ,ma è  capace di captare la velocità d’esecuzione , questa tecnica è chiamata PWM (modulazione  della larghezza dell’impulso).

Con questa tecnica il pin passa dallo stato High allo stato LOW molto velocemente .Il rapporto  tra il tempo passato tra lo stato High e lo stato LOW identifica il valore medio del segnale trasmesso:possiamo così approssimare un segnale analogico .

Quindi useremo l’ istruzione analogWrite() questo comando richiede 2 parametri il primo è il pin( Solo i pin contrassegnati con la tilde cioè  ~  hanno possono eseguire la tecnica PWM ed essi sono  3,5,6,9,10 e 11) il secondo parametro invece può assumere  valori tra 0 e 255

LOW=0

HIGH=255

ESEMPIO

Creiamo un circuito con un led e compilare il seguente codice:

[code lang=”obj-c”]

int pin=9;//pin del led
void setup(){
}
void loop(){

for (int i=0;i<=255;i+=5){

analogWrite(pin,i);
delay(50);
}

for (int i=255;i>=0;i-=5){

analogWrite(pin,i);
delay(50);
}

}

[/code]

Questo semplice programmino non fa altro che accende e spegnere un led con la peculiarità che non si accenderà e spegnerà  con intermittenza ma lo farà in modo graduale ora resta a voi e alla vostra fantasia utilizzare questa tecnica come meglio potete