6.3 KiB
Hőmérséklet mérése - Raspberry Pi
A lecke ezen részében egy hőmérséklet-érzékelőt fogsz hozzáadni a Raspberry Pi-hoz.
Hardver
Az érzékelő, amit használni fogsz, egy DHT11 páratartalom- és hőmérséklet-érzékelő, amely két érzékelőt kombinál egy csomagban. Ez egy meglehetősen népszerű érzékelő, és számos kereskedelmi forgalomban kapható változata létezik, amelyek hőmérsékletet, páratartalmat és néha légnyomást is mérnek. A hőmérséklet-érzékelő komponens egy negatív hőmérsékleti együtthatójú (NTC) termisztor, amelynek ellenállása csökken, ahogy a hőmérséklet növekszik.
Ez egy digitális érzékelő, így rendelkezik egy beépített ADC-vel, amely digitális jelet hoz létre a hőmérséklet- és páratartalom-adatokkal, amelyeket a mikrokontroller olvasni tud.
Csatlakoztasd a hőmérséklet-érzékelőt
A Grove hőmérséklet-érzékelő csatlakoztatható a Raspberry Pi-hoz.
Feladat
Csatlakoztasd a hőmérséklet-érzékelőt.
-
Illeszd be a Grove kábel egyik végét a páratartalom- és hőmérséklet-érzékelő aljzatába. Csak egyféleképpen illeszkedik.
-
Kapcsold ki a Raspberry Pi-t, majd csatlakoztasd a Grove kábel másik végét a Grove Base hat-on található D5 jelzésű digitális aljzathoz, amely a Pi-hoz van csatlakoztatva. Ez az aljzat a második balról, a GPIO tüskék melletti aljzatsoron.
Programozd a hőmérséklet-érzékelőt
Most már programozhatod az eszközt, hogy használja a csatlakoztatott hőmérséklet-érzékelőt.
Feladat
Programozd az eszközt.
-
Kapcsold be a Pi-t, és várd meg, amíg elindul.
-
Indítsd el a VS Code-ot, akár közvetlenül a Pi-n, akár a Remote SSH bővítményen keresztül csatlakozva.
⚠️ Ha szükséges, hivatkozhatsz az 1. leckében található beállítási és indítási útmutatóra.
-
A terminálból hozz létre egy új mappát a
pi
felhasználó otthoni könyvtárábantemperature-sensor
néven. Hozz létre egy fájlt ebben a mappábanapp.py
néven:mkdir temperature-sensor cd temperature-sensor touch app.py
-
Nyisd meg ezt a mappát a VS Code-ban.
-
A hőmérséklet- és páratartalom-érzékelő használatához egy további Pip csomagot kell telepíteni. A VS Code termináljából futtasd az alábbi parancsot, hogy telepítsd ezt a Pip csomagot a Pi-ra:
pip3 install seeed-python-dht
-
Add hozzá a következő kódot az
app.py
fájlhoz a szükséges könyvtárak importálásához:import time from seeed_dht import DHT
A
from seeed_dht import DHT
utasítás importálja aDHT
érzékelő osztályt, amely lehetővé teszi a Grove hőmérséklet-érzékelővel való interakciót aseeed_dht
modulból. -
Add hozzá a következő kódot az előző kód után, hogy létrehozz egy példányt az érzékelőt kezelő osztályból:
sensor = DHT("11", 5)
Ez létrehoz egy példányt a
DHT
osztályból, amely a Digitális Humidity és Temperature érzékelőt kezeli. Az első paraméter megadja, hogy a használt érzékelő a DHT11 típusú - a használt könyvtár más változatokat is támogat. A második paraméter megadja, hogy az érzékelő a Grove base hatD5
digitális portjához van csatlakoztatva.✅ Ne feledd, minden aljzatnak egyedi tűszáma van. A 0, 2, 4 és 6 tűk analóg tűk, az 5, 16, 18, 22, 24 és 26 tűk digitális tűk.
-
Adj hozzá egy végtelen ciklust az előző kód után, hogy lekérdezd a hőmérséklet-érzékelő értékét, és kiírd a konzolra:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
A
sensor.read()
hívás egy páratartalom- és hőmérsékletértékeket tartalmazó tuple-t ad vissza. Csak a hőmérsékletértékre van szükséged, így a páratartalom figyelmen kívül marad. A hőmérsékletérték ezután kiírásra kerül a konzolra. -
Adj hozzá egy rövid, tíz másodperces várakozást a ciklus végén, mivel a hőmérsékleti szinteket nem szükséges folyamatosan ellenőrizni. A várakozás csökkenti az eszköz energiafogyasztását.
time.sleep(10)
-
A VS Code termináljából futtasd az alábbi parancsot a Python alkalmazásod futtatásához:
python3 app.py
A konzolon hőmérsékleti értékeket kell látnod. Használj valamit az érzékelő felmelegítésére, például nyomd rá az ujjad, vagy használj egy ventilátort, hogy lásd az értékek változását:
pi@raspberrypi:~/temperature-sensor $ python3 app.py Temperature 26°C Temperature 26°C Temperature 28°C Temperature 30°C Temperature 32°C
💁 Ezt a kódot megtalálod a code-temperature/pi mappában.
😀 A hőmérséklet-érzékelő programod sikeresen működik!
Felelősség kizárása:
Ez a dokumentum az AI fordítási szolgáltatás, a Co-op Translator segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt professzionális, emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet.