5.1 KiB
Kontrollere et relé - Raspberry Pi
I denne delen av leksjonen skal du legge til et relé på din Raspberry Pi i tillegg til jordfuktighetssensoren, og styre det basert på jordfuktighetsnivået.
Maskinvare
Raspberry Pi trenger et relé.
Reléet du skal bruke er et Grove-relé, et normalt åpent relé (som betyr at utgangskretsen er åpen, eller frakoblet, når det ikke sendes signal til reléet) som kan håndtere utgangskretser opptil 250V og 10A.
Dette er en digital aktuator, så det kobles til en digital pinne på Grove Base Hat.
Koble til reléet
Grove-reléet kan kobles til Raspberry Pi.
Oppgave
Koble til reléet.
-
Sett den ene enden av en Grove-kabel inn i kontakten på reléet. Den vil kun gå inn på én måte.
-
Med Raspberry Pi slått av, koble den andre enden av Grove-kabelen til den digitale kontakten merket D5 på Grove Base Hat som er festet til Pi. Denne kontakten er den andre fra venstre, på raden av kontakter ved siden av GPIO-pinnene. La jordfuktighetssensoren være koblet til A0-kontakten.
- Sett jordfuktighetssensoren inn i jorden, hvis den ikke allerede er det fra forrige leksjon.
Programmer reléet
Raspberry Pi kan nå programmeres til å bruke det tilkoblede reléet.
Oppgave
Programmer enheten.
-
Slå på Pi og vent til den starter opp.
-
Åpne
soil-moisture-sensor
-prosjektet fra forrige leksjon i VS Code hvis det ikke allerede er åpent. Du skal legge til dette prosjektet. -
Legg til følgende kode i
app.py
-filen under de eksisterende importene:from grove.grove_relay import GroveRelay
Denne erklæringen importerer
GroveRelay
fra Grove Python-bibliotekene for å interagere med Grove-reléet. -
Legg til følgende kode under deklarasjonen av
ADC
-klassen for å opprette enGroveRelay
-instans:relay = GroveRelay(5)
Dette oppretter et relé ved bruk av pinne D5, den digitale pinnen du koblet reléet til.
-
For å teste at reléet fungerer, legg til følgende i
while True:
-løkka:relay.on() time.sleep(.5) relay.off()
Koden slår reléet på, venter 0,5 sekunder, og slår deretter reléet av.
-
Kjør Python-appen. Reléet vil slå seg av og på hvert 10. sekund, med en halv sekunds forsinkelse mellom av og på. Du vil høre reléet klikke på og deretter klikke av. En LED på Grove-kortet vil lyse når reléet er på, og slukke når reléet er av.
Kontrollere reléet basert på jordfuktighet
Nå som reléet fungerer, kan det styres basert på jordfuktighetsavlesninger.
Oppgave
Kontroller reléet.
-
Slett de 3 linjene med kode som du la til for å teste reléet. Erstatt dem med følgende kode:
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()
Denne koden sjekker jordfuktighetsnivået fra jordfuktighetssensoren. Hvis det er over 450, slår den på reléet, og slår det av når det går under 450.
💁 Husk at den kapasitive jordfuktighetssensoren leser slik at jo lavere jordfuktighetsnivået er, desto mer fuktighet er det i jorden, og vice versa.
-
Kjør Python-appen. Du vil se reléet slå seg av eller på avhengig av jordfuktighetsnivået. Prøv i tørr jord, og tilsett deretter vann.
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.
💁 Du finner denne koden i code-relay/pi-mappen.
😀 Programmet ditt for å kontrollere et relé basert på jordfuktighetssensoren var en suksess!
Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.