6.1 KiB
Misurare la temperatura - Raspberry Pi
In questa parte della lezione, aggiungerai un sensore di temperatura al tuo Raspberry Pi.
Hardware
Il sensore che utilizzerai è un sensore di umidità e temperatura DHT11, che combina 2 sensori in un unico dispositivo. Questo sensore è abbastanza popolare e molti sensori disponibili in commercio combinano temperatura, umidità e talvolta pressione atmosferica. Il componente del sensore di temperatura è un termistore a coefficiente di temperatura negativo (NTC), un termistore in cui la resistenza diminuisce con l'aumentare della temperatura.
Si tratta di un sensore digitale, quindi dispone di un ADC integrato per creare un segnale digitale contenente i dati di temperatura e umidità che il microcontrollore può leggere.
Collegare il sensore di temperatura
Il sensore di temperatura Grove può essere collegato al Raspberry Pi.
Attività
Collega il sensore di temperatura
-
Inserisci un'estremità di un cavo Grove nella presa del sensore di umidità e temperatura. Il cavo può essere inserito solo in un verso.
-
Con il Raspberry Pi spento, collega l'altra estremità del cavo Grove alla presa digitale contrassegnata D5 sul Grove Base Hat collegato al Pi. Questa presa è la seconda da sinistra, nella fila di prese accanto ai pin GPIO.
Programmare il sensore di temperatura
Ora il dispositivo può essere programmato per utilizzare il sensore di temperatura collegato.
Attività
Programma il dispositivo.
-
Accendi il Pi e attendi che si avvii.
-
Avvia VS Code, direttamente sul Pi o connettendoti tramite l'estensione Remote SSH.
⚠️ Puoi fare riferimento alle istruzioni per configurare e avviare VS Code nella lezione 1, se necessario.
-
Dal terminale, crea una nuova cartella nella directory home dell'utente
pi
chiamatatemperature-sensor
. Crea un file in questa cartella chiamatoapp.py
:mkdir temperature-sensor cd temperature-sensor touch app.py
-
Apri questa cartella in VS Code.
-
Per utilizzare il sensore di temperatura e umidità, è necessario installare un pacchetto Pip aggiuntivo. Dal terminale in VS Code, esegui il seguente comando per installare questo pacchetto Pip sul Pi:
pip3 install seeed-python-dht
-
Aggiungi il seguente codice al file
app.py
per importare le librerie necessarie:import time from seeed_dht import DHT
L'istruzione
from seeed_dht import DHT
importa la classeDHT
per interagire con un sensore di temperatura Grove dal moduloseeed_dht
. -
Aggiungi il seguente codice dopo il codice sopra per creare un'istanza della classe che gestisce il sensore di temperatura:
sensor = DHT("11", 5)
Questo dichiara un'istanza della classe
DHT
che gestisce il sensore digitale di umidità e temperatura (Digital Humidity and Temperature sensor). Il primo parametro indica al codice che il sensore utilizzato è il sensore DHT11 - la libreria che stai utilizzando supporta altre varianti di questo sensore. Il secondo parametro indica al codice che il sensore è collegato alla porta digitaleD5
sul Grove Base Hat.✅ Ricorda, tutte le prese hanno numeri di pin univoci. I pin 0, 2, 4 e 6 sono pin analogici, mentre i pin 5, 16, 18, 22, 24 e 26 sono pin digitali.
-
Aggiungi un ciclo infinito dopo il codice sopra per interrogare il valore del sensore di temperatura e stamparlo sulla console:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
La chiamata a
sensor.read()
restituisce una tupla contenente umidità e temperatura. Hai bisogno solo del valore della temperatura, quindi l'umidità viene ignorata. Il valore della temperatura viene poi stampato sulla console. -
Aggiungi una breve pausa di dieci secondi alla fine del
loop
, poiché i livelli di temperatura non devono essere controllati continuamente. Una pausa riduce il consumo energetico del dispositivo.time.sleep(10)
-
Dal terminale di VS Code, esegui il seguente comando per avviare la tua app Python:
python3 app.py
Dovresti vedere i valori di temperatura stampati sulla console. Usa qualcosa per riscaldare il sensore, come premere il pollice su di esso o utilizzare un ventilatore per vedere i valori cambiare:
pi@raspberrypi:~/temperature-sensor $ python3 app.py Temperature 26°C Temperature 26°C Temperature 28°C Temperature 30°C Temperature 32°C
💁 Puoi trovare questo codice nella cartella code-temperature/pi.
😀 Il tuo programma per il sensore di temperatura è stato un successo!
Disclaimer (Avvertenza):
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica Co-op Translator. Sebbene ci impegniamo per garantire l'accuratezza, si prega di tenere presente che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un traduttore umano. Non siamo responsabili per eventuali incomprensioni o interpretazioni errate derivanti dall'uso di questa traduzione.