5.1 KiB
Meranie vlhkosti pôdy - Raspberry Pi
V tejto časti lekcie pridáte kapacitný senzor vlhkosti pôdy k vášmu Raspberry Pi a prečítate z neho hodnoty.
Hardvér
Raspberry Pi potrebuje kapacitný senzor vlhkosti pôdy.
Senzor, ktorý budete používať, je Kapacitný senzor vlhkosti pôdy, ktorý meria vlhkosť pôdy detekovaním kapacity pôdy, čo je vlastnosť, ktorá sa mení v závislosti od vlhkosti pôdy. Ako sa vlhkosť pôdy zvyšuje, napätie klesá.
Toto je analógový senzor, takže používa analógový pin a 10-bitový ADC v Grove Base Hat na Pi na prevod napätia na digitálny signál v rozsahu od 1 do 1 023. Tento signál sa potom posiela cez I²C cez GPIO piny na Pi.
Pripojenie senzora vlhkosti pôdy
Grove senzor vlhkosti pôdy je možné pripojiť k Raspberry Pi.
Úloha - pripojenie senzora vlhkosti pôdy
Pripojte senzor vlhkosti pôdy.
-
Zasuňte jeden koniec Grove kábla do konektora na senzore vlhkosti pôdy. Kábel sa dá zasunúť iba jedným spôsobom.
-
Pri vypnutom Raspberry Pi pripojte druhý koniec Grove kábla do analógového konektora označeného A0 na Grove Base Hat pripojenom k Pi. Tento konektor je druhý sprava v rade konektorov vedľa GPIO pinov.
- Zasuňte senzor vlhkosti pôdy do pôdy. Na senzore je biela čiara označujúca „najvyššiu polohu“. Zasuňte senzor až po túto čiaru, ale nie hlbšie.
Naprogramovanie senzora vlhkosti pôdy
Raspberry Pi teraz môžete naprogramovať na používanie pripojeného senzora vlhkosti pôdy.
Úloha - naprogramovanie senzora vlhkosti pôdy
Naprogramujte zariadenie.
-
Zapnite Pi a počkajte, kým sa nespustí.
-
Spustite VS Code, buď priamo na Pi, alebo sa pripojte cez rozšírenie Remote SSH.
⚠️ Môžete sa odvolať na pokyny na nastavenie a spustenie VS Code v nightlight - lekcia 1, ak je to potrebné.
-
V termináli vytvorte nový priečinok v domovskom adresári používateľa
pi
s názvomsoil-moisture-sensor
. V tomto priečinku vytvorte súbor s názvomapp.py
. -
Otvorte tento priečinok vo VS Code.
-
Pridajte nasledujúci kód do súboru
app.py
, aby ste importovali potrebné knižnice:import time from grove.adc import ADC
Príkaz
import time
importuje modultime
, ktorý sa bude používať neskôr v tejto úlohe.Príkaz
from grove.adc import ADC
importujeADC
z knižníc Grove pre Python. Táto knižnica obsahuje kód na interakciu s analógovo-digitálnym prevodníkom na základnej doske Pi a na čítanie napätí z analógových senzorov. -
Pridajte nasledujúci kód pod tento, aby ste vytvorili inštanciu triedy
ADC
:adc = ADC()
-
Pridajte nekonečnú slučku, ktorá číta hodnoty z ADC na pine A0 a zapisuje výsledok do konzoly. Táto slučka potom môže spať 10 sekúnd medzi jednotlivými čítaniami.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
Spustite Python aplikáciu. Uvidíte, ako sa hodnoty vlhkosti pôdy zapisujú do konzoly. Pridajte vodu do pôdy alebo vyberte senzor z pôdy a sledujte, ako sa hodnota mení.
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
V príklade výstupu vyššie môžete vidieť, ako napätie klesá, keď sa pridáva voda.
💁 Tento kód nájdete v priečinku code/pi.
😀 Program senzora vlhkosti pôdy bol úspešný!
Upozornenie:
Tento dokument bol preložený pomocou služby AI prekladu Co-op Translator. Aj keď sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho rodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.