I pin di Arduino: digitali vs analogici, spiegati semplici
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 accesoPin 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..1023PWM: 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.