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/virtual-device-soil-moistur...

123 lines
8.6 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": "2bf65f162bcebd35fbcba5fd245afac4",
"translation_date": "2025-08-28T17:45:19+00:00",
"source_file": "2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md",
"language_code": "uk"
}
-->
# Вимірювання вологості ґрунту - Віртуальне IoT обладнання
У цій частині уроку ви додасте ємнісний датчик вологості ґрунту до вашого віртуального IoT-пристрою та зчитуватимете з нього дані.
## Віртуальне обладнання
Віртуальний IoT-пристрій використовуватиме симульований ємнісний датчик вологості ґрунту Grove. Це дозволяє зберегти лабораторну роботу аналогічною до використання Raspberry Pi з фізичним ємнісним датчиком вологості ґрунту Grove.
У фізичному IoT-пристрої датчик вологості ґрунту є ємнісним датчиком, який вимірює вологість ґрунту, визначаючи його ємність — властивість, що змінюється залежно від вологості ґрунту. Зі збільшенням вологості ґрунту напруга зменшується.
Це аналоговий датчик, тому він використовує симульований 10-бітний АЦП для передачі значення в діапазоні від 1 до 1,023.
### Додайте датчик вологості ґрунту до CounterFit
Щоб використовувати віртуальний датчик вологості ґрунту, потрібно додати його до програми CounterFit.
#### Завдання - Додайте датчик вологості ґрунту до CounterFit
Додайте датчик вологості ґрунту до програми CounterFit.
1. Створіть новий Python-додаток на вашому комп'ютері в папці `soil-moisture-sensor` з одним файлом `app.py`, створіть віртуальне середовище Python і додайте пакети CounterFit через pip.
> ⚠️ Ви можете звернутися до [інструкцій зі створення та налаштування Python-проєкту CounterFit у уроці 1, якщо це необхідно](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md).
1. Переконайтеся, що веб-додаток CounterFit запущений.
1. Створіть датчик вологості ґрунту:
1. У полі *Create sensor* на панелі *Sensors* розкрийте список *Sensor type* і виберіть *Soil Moisture*.
1. Залиште *Units* встановленими на *NoUnits*.
1. Переконайтеся, що *Pin* встановлено на *0*.
1. Натисніть кнопку **Add**, щоб створити датчик *Soil Moisture* на контакті 0.
![Налаштування датчика вологості ґрунту](../../../../../translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.uk.png)
Датчик вологості ґрунту буде створено і він з’явиться у списку датчиків.
![Створений датчик вологості ґрунту](../../../../../translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.uk.png)
## Програмування додатка для датчика вологості ґрунту
Тепер можна запрограмувати додаток для датчика вологості ґрунту, використовуючи датчики CounterFit.
### Завдання - Програмування додатка для датчика вологості ґрунту
Запрограмуйте додаток для датчика вологості ґрунту.
1. Переконайтеся, що додаток `soil-moisture-sensor` відкрито у VS Code.
1. Відкрийте файл `app.py`.
1. Додайте наступний код на початок файлу `app.py`, щоб підключити додаток до CounterFit:
```python
from counterfit_connection import CounterFitConnection
CounterFitConnection.init('127.0.0.1', 5000)
```
1. Додайте наступний код до файлу `app.py`, щоб імпортувати необхідні бібліотеки:
```python
import time
from counterfit_shims_grove.adc import ADC
```
Оператор `import time` імпортує модуль `time`, який буде використано пізніше в цьому завданні.
Оператор `from counterfit_shims_grove.adc import ADC` імпортує клас `ADC` для взаємодії з віртуальним аналогово-цифровим перетворювачем, який може підключатися до датчика CounterFit.
1. Додайте наступний код нижче, щоб створити екземпляр класу `ADC`:
```python
adc = ADC()
```
1. Додайте нескінченний цикл, який зчитуватиме дані з цього АЦП на контакті 0 і виводитиме результат у консоль. Цей цикл може робити паузу на 10 секунд між зчитуваннями.
```python
while True:
soil_moisture = adc.read(0)
print("Soil moisture:", soil_moisture)
time.sleep(10)
```
1. У програмі CounterFit змініть значення датчика вологості ґрунту, яке буде зчитуватися додатком. Ви можете зробити це двома способами:
* Введіть число в поле *Value* для датчика вологості ґрунту, а потім натисніть кнопку **Set**. Число, яке ви введете, буде значенням, що повертається датчиком.
* Поставте прапорець *Random* і введіть значення *Min* і *Max*, а потім натисніть кнопку **Set**. Кожного разу, коли датчик зчитуватиме значення, воно буде випадковим числом у діапазоні між *Min* і *Max*.
1. Запустіть Python-додаток. Ви побачите вимірювання вологості ґрунту, виведені в консоль. Змініть *Value* або налаштування *Random*, щоб побачити зміну значення.
```output
(.venv) ➜ soil-moisture-sensor $ python app.py
Soil moisture: 615
Soil moisture: 612
Soil moisture: 498
Soil moisture: 493
Soil moisture: 490
Soil Moisture: 388
```
> 💁 Ви можете знайти цей код у папці [code/virtual-device](../../../../../2-farm/lessons/2-detect-soil-moisture/code/virtual-device).
😀 Ваш додаток для датчика вологості ґрунту успішно працює!
---
**Відмова від відповідальності**:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.