Leggiamo i valori di un sensore digitale connesso alla dev-board

Dopo aver imparato ad inviare un segnale digitale per accendere e spegnere un LED [LINK], vediamo come leggere il segnale inviatoci da un sensore digitale che collegheremo alla nostra ESP32. Potete scaricare il codice di questo esempio da questo LINK.

Collegamenti

I collegamenti alla scheda sono molto semplici. Per collegare un sensore digitale, sarà sufficiente scegliere uno dei pin digitali disponibili e collegare l’alimentazione del sensore ai 3,3V ed il ground al pin GND. Nel nostro esempio, stiamo adoperando il sensore digitale KY-032, collegandolo al pin digitale 16.

digitale

Possiamo anche collegare allo stesso modo un pulsante, inserendo un resistore da 10k Ω. Anche il questo esempio adopereremo il pin 16.

digitale

Codice

Come quando abbiamo imparato ad accendere e spegnere il LED, inseriamo le librerie machine e time, la prima per la gestione del PIN, mentre la seconda per la gestione dei timer bloccanti, stavolta espressi in millisecondi.


from machine import Pin
from time import sleep_ms

Andiamo a definire l’oggetto button, impostandone la direzione e dichiarando il pin a cui è connesso. Con PIN.In indichiamo che la direzione del segnale sarà in Input, quindi la dev-board si predisporrà a ricevere un segnale digitale.


button = Pin(16, Pin.IN)

Apriamo un ciclo while con true, che ripeterà le istruzioni all’infinito. Impostiamo una variabile che chiamiamo valore, la quale servirà a memorizzare il segnale ricevuto dal sensore. Ogni volta che riceviamo un segnale, andiamo a stampare la variabile valore. Infine abbiamo impostato un timer bloccante di 50 millisecondi.


while True:

valore = button.value()
print(valore)
sleep_ms(50)

Andiamo a caricare il nostro codice e leggeremo i valori riportati dal sensore o dal pulsante collegati alla Lolin32 Lite direttamente dalla Shell di Thonny.

digitale