5.4 KiB
Pomiar wilgotności gleby - Raspberry Pi
W tej części lekcji dodasz pojemnościowy czujnik wilgotności gleby do swojego Raspberry Pi i odczytasz z niego wartości.
Sprzęt
Do Raspberry Pi potrzebny jest pojemnościowy czujnik wilgotności gleby.
Czujnik, którego użyjesz, to Pojemnościowy Czujnik Wilgotności Gleby, który mierzy wilgotność gleby poprzez wykrywanie jej pojemności, właściwości zmieniającej się wraz ze zmianą wilgotności gleby. Wraz ze wzrostem wilgotności gleby napięcie maleje.
Jest to czujnik analogowy, który korzysta z analogowego pinu oraz 10-bitowego przetwornika ADC w Grove Base Hat na Raspberry Pi, aby przekształcić napięcie na sygnał cyfrowy w zakresie od 1 do 1 023. Następnie sygnał ten jest przesyłany przez I²C za pomocą pinów GPIO na Raspberry Pi.
Podłączanie czujnika wilgotności gleby
Czujnik wilgotności gleby Grove można podłączyć do Raspberry Pi.
Zadanie - podłącz czujnik wilgotności gleby
Podłącz czujnik wilgotności gleby.
-
Włóż jeden koniec kabla Grove do gniazda na czujniku wilgotności gleby. Kabel można włożyć tylko w jeden sposób.
-
Przy wyłączonym Raspberry Pi podłącz drugi koniec kabla Grove do gniazda analogowego oznaczonego A0 na Grove Base Hat przymocowanym do Raspberry Pi. To gniazdo znajduje się drugie od prawej strony w rzędzie gniazd obok pinów GPIO.
- Włóż czujnik wilgotności gleby do gleby. Na czujniku znajduje się linia oznaczająca "najwyższy poziom" - biała linia przecinająca czujnik. Włóż czujnik do gleby do tej linii, ale nie głębiej.
Programowanie czujnika wilgotności gleby
Teraz Raspberry Pi można zaprogramować do obsługi podłączonego czujnika wilgotności gleby.
Zadanie - zaprogramuj czujnik wilgotności gleby
Zaprogramuj urządzenie.
-
Włącz Raspberry Pi i poczekaj, aż się uruchomi.
-
Uruchom VS Code, bezpośrednio na Raspberry Pi lub za pomocą rozszerzenia Remote SSH.
⚠️ Możesz odwołać się do instrukcji dotyczących konfiguracji i uruchamiania VS Code w lekcji 1 - nightlight, jeśli to konieczne.
-
W terminalu utwórz nowy folder w katalogu domowym użytkownika
pi
o nazwiesoil-moisture-sensor
. W tym folderze utwórz plik o nazwieapp.py
. -
Otwórz ten folder w VS Code.
-
Dodaj poniższy kod do pliku
app.py
, aby zaimportować wymagane biblioteki:import time from grove.adc import ADC
Instrukcja
import time
importuje modułtime
, który będzie używany później w tym zadaniu.Instrukcja
from grove.adc import ADC
importujeADC
z bibliotek Python Grove. Ta biblioteka zawiera kod do obsługi przetwornika analogowo-cyfrowego na Grove Base Hat i odczytu napięć z czujników analogowych. -
Dodaj poniższy kod, aby utworzyć instancję klasy
ADC
:adc = ADC()
-
Dodaj nieskończoną pętlę, która odczytuje dane z ADC na pinie A0 i zapisuje wynik w konsoli. Pętla ta może następnie usypiać na 10 sekund między odczytami.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
Uruchom aplikację w Pythonie. Zobaczysz pomiary wilgotności gleby wyświetlane w konsoli. Dodaj wodę do gleby lub wyjmij czujnik z gleby i obserwuj zmieniające się wartości.
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
W powyższym przykładzie wyjścia widać, jak napięcie spada po dodaniu wody.
💁 Kod ten znajdziesz w folderze code/pi.
😀 Twój program do obsługi czujnika wilgotności gleby działa poprawnie!
Zastrzeżenie:
Ten dokument został przetłumaczony za pomocą usługi tłumaczeniowej AI Co-op Translator. Chociaż dokładamy wszelkich starań, aby zapewnić poprawność tłumaczenia, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za autorytatywne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.