You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/uk/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md

108 lines
7.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "9d4d00a47d5d0f3e6ce42c0d1020064a",
"translation_date": "2025-08-28T17:40:31+00:00",
"source_file": "2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md",
"language_code": "uk"
}
-->
# Вимірювання вологості ґрунту - Raspberry Pi
У цій частині уроку ви додасте ємнісний датчик вологості ґрунту до вашого Raspberry Pi і зчитуватимете з нього значення.
## Обладнання
Для Raspberry Pi потрібен ємнісний датчик вологості ґрунту.
Датчик, який ви будете використовувати, це [Ємнісний датчик вологості ґрунту](https://www.seeedstudio.com/Grove-Capacitive-Moisture-Sensor-Corrosion-Resistant.html), який вимірює вологість ґрунту, визначаючи його ємність — властивість, що змінюється залежно від вологості ґрунту. Зі збільшенням вологості ґрунту напруга зменшується.
Це аналоговий датчик, тому він використовує аналоговий пін і 10-бітний АЦП у Grove Base Hat на Pi для перетворення напруги в цифровий сигнал у діапазоні від 1 до 1,023. Потім цей сигнал передається через I²C через GPIO-піни на Pi.
### Підключення датчика вологості ґрунту
Датчик вологості ґрунту Grove можна підключити до Raspberry Pi.
#### Завдання - підключення датчика вологості ґрунту
Підключіть датчик вологості ґрунту.
![Датчик вологості ґрунту Grove](../../../../../translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.uk.png)
1. Вставте один кінець кабелю Grove у роз'єм на датчику вологості ґрунту. Він вставляється лише в одному напрямку.
1. З вимкненим Raspberry Pi підключіть інший кінець кабелю Grove до аналогового роз'єму, позначеного **A0**, на Grove Base Hat, підключеному до Pi. Цей роз'єм є другим справа в ряду роз'ємів поруч із GPIO-пінами.
![Датчик вологості ґрунту Grove, підключений до роз'єму A0](../../../../../translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.uk.png)
1. Вставте датчик вологості ґрунту в ґрунт. На ньому є "лінія максимальної глибини" — біла лінія через датчик. Вставте датчик до цієї лінії, але не глибше.
![Датчик вологості ґрунту Grove у ґрунті](../../../../../translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.uk.png)
## Програмування датчика вологості ґрунту
Тепер Raspberry Pi можна запрограмувати для використання підключеного датчика вологості ґрунту.
### Завдання - програмування датчика вологості ґрунту
Програмуйте пристрій.
1. Увімкніть Pi і зачекайте, поки він завантажиться.
1. Запустіть VS Code, або безпосередньо на Pi, або підключившись через розширення Remote SSH.
> ⚠️ Ви можете звернутися до [інструкцій із налаштування та запуску VS Code у nightlight - урок 1, якщо це потрібно](../../../1-getting-started/lessons/1-introduction-to-iot/pi.md).
1. У терміналі створіть нову папку в домашньому каталозі користувача `pi` під назвою `soil-moisture-sensor`. У цій папці створіть файл під назвою `app.py`.
1. Відкрийте цю папку у VS Code.
1. Додайте наступний код у файл `app.py`, щоб імпортувати необхідні бібліотеки:
```python
import time
from grove.adc import ADC
```
Оператор `import time` імпортує модуль `time`, який буде використаний пізніше в цьому завданні.
Оператор `from grove.adc import ADC` імпортує `ADC` із бібліотек Grove Python. Ця бібліотека містить код для взаємодії з аналогово-цифровим перетворювачем на Pi Base Hat і зчитування напруги з аналогових датчиків.
1. Додайте наступний код нижче, щоб створити екземпляр класу `ADC`:
```python
adc = ADC()
```
1. Додайте нескінченний цикл, який зчитує дані з цього ADC на піні A0 і виводить результат у консоль. Цей цикл може робити паузу на 10 секунд між зчитуваннями.
```python
while True:
soil_moisture = adc.read(0)
print("Soil moisture:", soil_moisture)
time.sleep(10)
```
1. Запустіть Python-додаток. Ви побачите вимірювання вологості ґрунту, виведені в консоль. Додайте трохи води в ґрунт або витягніть датчик із ґрунту, і побачите, як змінюється значення.
```output
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
```
У наведеному прикладі вихідних даних ви можете побачити, як напруга знижується при додаванні води.
> 💁 Ви можете знайти цей код у папці [code/pi](../../../../../2-farm/lessons/2-detect-soil-moisture/code/pi).
😀 Ваше програмування датчика вологості ґрунту було успішним!
---
**Відмова від відповідальності**:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.