# Вимірювання вологості ґрунту - 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). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.