La scheda Arduino è diventata famosa per l’innumerevole quantità di sensori che può facilmente gestire.
Abbiamo sensori che misurano la temperatura, l’umidità, l’accelerazione, la forza elastica, il livello dell’acqua, …
Sono tutti però molto semplici nell’uso: si alimentano a 5V, e si interfacciano con Arduino tramite segnali analogici, digitali, o veri e propri protocolli.
Nelle schede più semplici, troviamo infatti 4 pin:
- VCC, ovvero il polo positivo dell’alimentazione. Quasi sempre si tratta di 5V
- GND, ovvero il polo negativo dell’alimentazione.
- Analog, ovvero una uscita analogica, la cui tensione varia tra 0V e la tensione di alimentazione del sensore, e che può essere letta con un ingresso analogico di Arduino.
- Digital, che commuta tra 0V e la tensione di alimentazione del sensore, a seconda di un valore di soglia regolabile direttamente sulla scheda, tramite un potenziometro multigiro.
In genere è conveniente comprare questi sensori in kit.
Ogni kit di sensori di solito ha con sé anche una piccola guida, con il codice necessario per utilizzarli. Poiché in genere ogni kit è differente, non caricherò tutorial specifici.
Quando faremo riferimento a dei sensori, tratteremo quelli del kit Elegoo della figura. Sarà compito del lettore adattare il codice per il suo kit.
Su questo sito è disponibile una guida dettagliata per ogni sensore del kit in questione, a questo indirizzo.
Questi sensori in particolare, sono molto semplici da interfacciare:
Se abbiamo necessità di collegare sensori che lavorano a tensioni differenti, utilizziamo un regolatore di tensione per l’alimentazione, e un convertitore di livello per i segnali.
I convertitori di livello utilizzano infatti transistor per convertire segnali a tensioni differenti, senza dover dissipare tutta l’energia in calore.
Sono necessari, ad esempio, per comunicare con una scheda Raspberry Pi (che ha i pin GPIO a 3.3V).
È sempre fondamentale, quando si lavora con i segnali, che tutti i GND del circuito siano collegati insieme. Questo garantisce che le differenze di potenziale tra i componenti dei circuito complessivo siano sempre ben definite in ogni punto (avendo come riferimento il GND comune).
Prima di affrontare altre modalità di comunicazione che possono tornare utili lavorando con i sensori, andiamo a vedere come controllare servo-motori.