#15 – Arduino e i sensori

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.

Kit di sensori per Arduino

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:

Esempio di collegamento di sensori con Arduino

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.

Convertitore di livello 5V – 3V

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.