Blog

I pin di Arduino: digitali vs analogici, spiegati semplici

Alessandro Panait·

Un Arduino parla col mondo attraverso i suoi pin. Azzeccare il tipo di pin e' la prima cosa che frega i principianti.

Pin digitali: acceso o spento

Un pin digitale ha due stati: HIGH (di solito 5V) o LOW (0V). Usali per tutto cio' che e' binario:

  • Lettura: un pulsante premuto o no, un finecorsa, un sensore di linea che dice nero o bianco.
  • Scrittura: accendere e spegnere un LED o un relay.
pinMode(2, INPUT);
int pressed = digitalRead(2);   // 0 o 1
digitalWrite(13, HIGH);         // LED acceso

Pin analogici: un intervallo di valori

I pin di ingresso analogici (A0, A1, ...) leggono una tensione tra 0 e 5V e la trasformano in un numero da 0 a 1023. Usali per sensori che danno un valore continuo:

  • un sensore di luce, un potenziometro, molti sensori di distanza.
int value = analogRead(A0);     // 0..1023

PWM: uscita analogica finta

Arduino non puo' dare una vera tensione intermedia, ma i pin col simbolo ~ la simulano con il PWM (impulsi rapidi acceso/spento). E' cosi' che regoli la luminosita' di un LED o la velocita' di un motore. Ne parliamo nella lezione sul PWM.

L'errore da evitare

Leggere un pulsante con analogRead o un sensore di luce con digitalRead e' il bug classico del principiante. Abbina il tipo di pin al segnale: binario va digitale, continuo va analogico.

Commenti (0)