5.5 KiB
Relé vezérlése - Raspberry Pi
A lecke ezen részében egy relét fogsz hozzáadni a Raspberry Pi-hez a talajnedvesség-érzékelő mellett, és a talajnedvesség szintje alapján vezérelni azt.
Hardver
A Raspberry Pi-hez szükség van egy relére.
Az általad használt relé egy Grove relé, egy normálisan nyitott relé (ami azt jelenti, hogy a kimeneti áramkör nyitott, vagyis nincs összekapcsolva, amikor nincs jel küldve a relének), amely akár 250V és 10A kimeneti áramköröket is képes kezelni.
Ez egy digitális működtető, tehát a Grove Base Hat digitális csatlakozójához kell csatlakoztatni.
Csatlakoztasd a relét
A Grove relé csatlakoztatható a Raspberry Pi-hez.
Feladat
Csatlakoztasd a relét.
-
Dugj be egy Grove kábelt a relé 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 D5 jelzésű digitális aljzathoz a Pi-hez csatlakoztatott Grove Base Hat-on. Ez az aljzat a második balról, a GPIO csatlakozók melletti aljzatsoron. Hagyd a talajnedvesség-érzékelőt az A0 aljzathoz csatlakoztatva.
- Helyezd a talajnedvesség-érzékelőt a talajba, ha az előző leckéből még nem tetted meg.
Programozd a relét
Most már programozhatod a Raspberry Pi-t, hogy használja a csatlakoztatott relét.
Feladat
Programozd az eszközt.
-
Kapcsold be a Pi-t, és várd meg, amíg elindul.
-
Nyisd meg a
soil-moisture-sensor
projektet az előző leckéből a VS Code-ban, ha még nincs megnyitva. Ehhez a projekthez fogsz hozzáadni. -
Add hozzá a következő kódot az
app.py
fájlhoz a meglévő importok alá:from grove.grove_relay import GroveRelay
Ez az utasítás importálja a
GroveRelay
-t a Grove Python könyvtárakból, hogy kapcsolatba léphess a Grove relével. -
Add hozzá a következő kódot az
ADC
osztály deklarációja alá, hogy létrehozz egyGroveRelay
példányt:relay = GroveRelay(5)
Ez létrehoz egy relét a D5 csatlakozón, amelyhez a relét csatlakoztattad.
-
Hogy teszteld, működik-e a relé, add hozzá a következőt a
while True:
ciklushoz:relay.on() time.sleep(.5) relay.off()
A kód bekapcsolja a relét, vár 0,5 másodpercet, majd kikapcsolja a relét.
-
Futtasd a Python alkalmazást. A relé 10 másodpercenként be- és kikapcsol, fél másodperces késleltetéssel a bekapcsolás és kikapcsolás között. Hallani fogod, ahogy a relé bekapcsol, majd kikapcsol. A Grove panelen egy LED világít, amikor a relé be van kapcsolva, majd kialszik, amikor kikapcsol.
A relé vezérlése a talajnedvesség alapján
Most, hogy a relé működik, vezérelheted a talajnedvesség-érzékelő olvasásai alapján.
Feladat
Vezéreld a relét.
-
Töröld a relé tesztelésére hozzáadott 3 sor kódot. Helyettesítsd őket a következő kóddal:
if soil_moisture > 450: print("Soil Moisture is too low, turning relay on.") relay.on() else: print("Soil Moisture is ok, turning relay off.") relay.off()
Ez a kód ellenőrzi a talajnedvesség-érzékelő által mért talajnedvesség szintjét. Ha az érték 450 fölött van, bekapcsolja a relét, és kikapcsolja, amikor az 450 alá csökken.
💁 Ne feledd, hogy a kapacitív talajnedvesség-érzékelő olvasásai szerint minél alacsonyabb a talajnedvesség szintje, annál nedvesebb a talaj, és fordítva.
-
Futtasd a Python alkalmazást. Látni fogod, hogy a relé be- vagy kikapcsol a talajnedvesség szintjétől függően. Próbáld ki száraz talajban, majd adj hozzá vizet.
Soil Moisture: 638 Soil Moisture is too low, turning relay on. Soil Moisture: 452 Soil Moisture is too low, turning relay on. Soil Moisture: 347 Soil Moisture is ok, turning relay off.
💁 Ezt a kódot megtalálod a code-relay/pi mappában.
😀 Sikeresen elkészítetted a talajnedvesség-érzékelőt vezérlő relé programot!
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.