5.5 KiB
Talajnedvesség mérése - Raspberry Pi
Ebben a leckében egy kapacitív talajnedvesség-érzékelőt fogsz hozzáadni a Raspberry Pi-hez, és értékeket olvasol le róla.
Hardver
A Raspberry Pi-hez kapacitív talajnedvesség-érzékelőre van szükség.
Az érzékelő, amit használni fogsz, egy Kapacitív Talajnedvesség Érzékelő, amely a talaj kapacitását méri. Ez egy olyan tulajdonság, amely változik a talaj nedvességtartalmának függvényében. Ahogy a talaj nedvessége nő, a feszültség csökken.
Ez egy analóg érzékelő, amely analóg csatlakozót használ, és a Pi Grove Base Hat 10 bites ADC-je alakítja át a feszültséget digitális jellé 1-1,023 között. Ezután a GPIO csatlakozókon keresztül továbbítja az adatokat a Pi-nek.
Csatlakoztasd a talajnedvesség-érzékelőt
A Grove talajnedvesség-érzékelő csatlakoztatható a Raspberry Pi-hez.
Feladat - csatlakoztasd a talajnedvesség-érzékelőt
Csatlakoztasd a talajnedvesség-érzékelőt.
-
Dugj be egy Grove kábelt az érzékelő csatlakozójába. Csak egy irányban illeszkedik.
-
Kapcsold ki a Raspberry Pi-t, majd csatlakoztasd a Grove kábel másik végét a Grove Base Hat analóg csatlakozójába, amely A0 jelöléssel van ellátva. Ez a csatlakozó a GPIO csatlakozók melletti sorban, jobbról a második.
- Helyezd az érzékelőt a talajba. Az érzékelőn van egy "legmagasabb pozíció vonal" - egy fehér vonal. Helyezd az érzékelőt a vonalig, de ne azon túl.
Programozd a talajnedvesség-érzékelőt
Most már programozhatod a Raspberry Pi-t, hogy használja a csatlakoztatott talajnedvesség-érzékelőt.
Feladat - programozd a talajnedvesség-érzékelőt
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ény segítségével csatlakozva.
⚠️ Ha szükséges, hivatkozhatsz az éjszakai fény - 1. lecke VS Code beállítási és indítási útmutatójára.
-
A terminálból hozz létre egy új mappát a
pi
felhasználó otthoni könyvtárábansoil-moisture-sensor
néven. Hozz létre egy fájlt ebben a mappábanapp.py
néven. -
Nyisd meg ezt a mappát a VS Code-ban.
-
Add hozzá a következő kódot az
app.py
fájlhoz, hogy importáld a szükséges könyvtárakat:import time from grove.adc import ADC
Az
import time
utasítás importálja atime
modult, amelyet később fogsz használni ebben a feladatban.A
from grove.adc import ADC
utasítás importálja azADC
-t a Grove Python könyvtárakból. Ez a könyvtár tartalmazza a kódot, amely lehetővé teszi az analóg-digitális átalakítóval való kommunikációt a Pi Base Hat-on, és az analóg érzékelőkről érkező feszültségek olvasását. -
Add hozzá a következő kódot az alá, hogy létrehozz egy példányt az
ADC
osztályból:adc = ADC()
-
Adj hozzá egy végtelen ciklust, amely az A0 csatlakozón keresztül olvas az ADC-ről, és kiírja az eredményt a konzolra. Ez a ciklus 10 másodpercet várhat az olvasások között.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
Futtasd a Python alkalmazást. Látni fogod a talajnedvesség méréseket a konzolon. Adj vizet a talajhoz, vagy vedd ki az érzékelőt a talajból, és figyeld meg, hogyan változik az érték.
pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py Soil moisture: 615 Soil moisture: 612 Soil moisture: 498 Soil moisture: 493 Soil moisture: 490 Soil Moisture: 388
A fenti példakimenetben látható, hogy a feszültség csökken, ahogy vizet adsz hozzá.
💁 Ezt a kódot megtalálhatod a code/pi mappában.
😀 Sikeresen programoztad a talajnedvesség-érzékelőt!
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. Fontos 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.