5.1 KiB
Měření vlhkosti půdy - Raspberry Pi
V této části lekce přidáte kapacitní senzor vlhkosti půdy k Raspberry Pi a budete z něj číst hodnoty.
Hardware
Raspberry Pi potřebuje kapacitní senzor vlhkosti půdy.
Senzor, který budete používat, je Kapacitní senzor vlhkosti půdy, který měří vlhkost půdy detekcí kapacity půdy, což je vlastnost, která se mění s vlhkostí půdy. Jak se vlhkost půdy zvyšuje, napětí klesá.
Jedná se o analogový senzor, který používá analogový pin a 10bitový ADC v Grove Base Hat na Raspberry Pi k převodu napětí na digitální signál v rozsahu 1-1 023. Tento signál je poté odeslán přes I2C pomocí GPIO pinů na Raspberry Pi.
Připojení senzoru vlhkosti půdy
Senzor vlhkosti půdy Grove lze připojit k Raspberry Pi.
Úkol - připojení senzoru vlhkosti půdy
Připojte senzor vlhkosti půdy.
-
Zasuňte jeden konec kabelu Grove do konektoru na senzoru vlhkosti půdy. Kabel lze zasunout pouze jedním směrem.
-
S vypnutým Raspberry Pi připojte druhý konec kabelu Grove do analogového konektoru označeného A0 na Grove Base Hat připojeném k Raspberry Pi. Tento konektor je druhý zprava v řadě konektorů vedle GPIO pinů.
- Zasuňte senzor vlhkosti půdy do půdy. Senzor má "nejvyšší poziční čáru" - bílou čáru přes senzor. Zasuňte senzor až k této čáře, ale ne dál.
Programování senzoru vlhkosti půdy
Raspberry Pi nyní může být naprogramováno pro použití připojeného senzoru vlhkosti půdy.
Úkol - programování senzoru vlhkosti půdy
Naprogramujte zařízení.
-
Zapněte Raspberry Pi a počkejte, až se spustí.
-
Spusťte VS Code, buď přímo na Raspberry Pi, nebo se připojte pomocí rozšíření Remote SSH.
⚠️ Můžete se podívat na instrukce pro nastavení a spuštění VS Code v nightlight - lekce 1, pokud je to potřeba.
-
Z terminálu vytvořte novou složku v domovském adresáři uživatele
pi
s názvemsoil-moisture-sensor
. V této složce vytvořte soubor s názvemapp.py
. -
Otevřete tuto složku ve VS Code.
-
Přidejte následující kód do souboru
app.py
pro import potřebných knihoven:import time from grove.adc import ADC
Příkaz
import time
importuje modultime
, který bude použit později v tomto úkolu.Příkaz
from grove.adc import ADC
importujeADC
z knihoven Grove Python. Tato knihovna obsahuje kód pro interakci s analogově-digitálním převodníkem na Pi Base Hat a čtení napětí z analogových senzorů. -
Přidejte následující kód pod tento pro vytvoření instance třídy
ADC
:adc = ADC()
-
Přidejte nekonečnou smyčku, která čte z tohoto ADC na pinu A0 a zapisuje výsledek do konzole. Tato smyčka může poté mezi čteními spát po dobu 10 sekund.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
Spusťte Python aplikaci. Uvidíte měření vlhkosti půdy zapsaná do konzole. Přidejte vodu do půdy nebo vyjměte senzor z půdy a sledujte, jak se hodnota mění.
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 příkladu výstupu výše můžete vidět, jak napětí klesá, když se přidá voda.
💁 Tento kód najdete ve složce code/pi.
😀 Program senzoru vlhkosti půdy byl úspěšný!
Prohlášení:
Tento dokument byl přeložen pomocí služby pro automatický překlad Co-op Translator. I když se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro kritické informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.