# Керування реле - Raspberry Pi У цій частині уроку ви додасте реле до вашого Raspberry Pi, крім датчика вологості ґрунту, і будете керувати ним на основі рівня вологості ґрунту. ## Апаратне забезпечення Raspberry Pi потребує реле. Реле, яке ви будете використовувати, — це [Grove реле](https://www.seeedstudio.com/Grove-Relay.html), реле з нормально відкритим контактом (тобто вихідна схема відкрита або відключена, коли сигнал не надходить до реле), яке може обробляти вихідні схеми до 250В і 10А. Це цифровий виконавчий пристрій, тому він підключається до цифрового контакту на Grove Base Hat. ### Підключення реле Реле Grove можна підключити до Raspberry Pi. #### Завдання Підключіть реле. ![Реле Grove](../../../../../translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.uk.png) 1. Вставте один кінець кабелю Grove у роз'єм на реле. Він вставляється лише в одному напрямку. 1. З вимкненим Raspberry Pi підключіть інший кінець кабелю Grove до цифрового роз'єму, позначеного **D5**, на Grove Base Hat, прикріпленому до Pi. Цей роз'єм є другим зліва в ряду роз'ємів поруч із GPIO-контактами. Залиште датчик вологості ґрунту підключеним до роз'єму **A0**. ![Реле Grove підключене до роз'єму D5, а датчик вологості ґрунту підключений до роз'єму A0](../../../../../translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.uk.png) 1. Вставте датчик вологості ґрунту в ґрунт, якщо він ще не вставлений з попереднього уроку. ## Програмування реле Тепер Raspberry Pi можна запрограмувати для використання підключеного реле. ### Завдання Програмуйте пристрій. 1. Увімкніть Pi і зачекайте, поки він завантажиться. 1. Відкрийте проект `soil-moisture-sensor` з попереднього уроку у VS Code, якщо він ще не відкритий. Ви будете додавати до цього проекту. 1. Додайте наступний код до файлу `app.py` під існуючими імпортами: ```python from grove.grove_relay import GroveRelay ``` Цей оператор імпортує `GroveRelay` з бібліотек Grove Python для взаємодії з реле Grove. 1. Додайте наступний код під оголошенням класу `ADC`, щоб створити екземпляр `GroveRelay`: ```python relay = GroveRelay(5) ``` Це створює реле, використовуючи контакт **D5**, цифровий контакт, до якого ви підключили реле. 1. Щоб перевірити, чи реле працює, додайте наступне до циклу `while True:`: ```python relay.on() time.sleep(.5) relay.off() ``` Код вмикає реле, чекає 0,5 секунди, а потім вимикає реле. 1. Запустіть Python-додаток. Реле буде вмикатися і вимикатися кожні 10 секунд із затримкою в пів секунди між увімкненням і вимкненням. Ви почуєте клацання реле при увімкненні та вимкненні. Світлодіод на платі Grove загориться, коли реле увімкнене, і згасне, коли реле вимкнене. ![Реле вмикається і вимикається](../../../../../images/relay-turn-on-off.gif) ## Керування реле на основі вологості ґрунту Тепер, коли реле працює, ним можна керувати у відповідь на показники вологості ґрунту. ### Завдання Керуйте реле. 1. Видаліть 3 рядки коду, які ви додали для тестування реле. Замініть їх наступним кодом: ```python if soil_moisture > 450: print("Soil Moisture is too low, turning relay on.") relay.on() else: print("Soil Moisture is ok, turning relay off.") relay.off() ``` Цей код перевіряє рівень вологості ґрунту за допомогою датчика вологості ґрунту. Якщо він перевищує 450, реле вмикається, а якщо опускається нижче 450, реле вимикається. > 💁 Пам'ятайте, що ємнісний датчик вологості ґрунту працює так: чим нижчий рівень вологості ґрунту, тим більше вологи в ґрунті, і навпаки. 1. Запустіть Python-додаток. Ви побачите, як реле вмикається або вимикається залежно від рівня вологості ґрунту. Спробуйте в сухому ґрунті, а потім додайте воду. ```output Soil Moisture: 638 Soil Moisture is too low, turning relay on. Soil Moisture: 452 Soil Moisture is too low, turning relay on. Soil Moisture: 347 Soil Moisture is ok, turning relay off. ``` > 💁 Ви можете знайти цей код у папці [code-relay/pi](../../../../../2-farm/lessons/3-automated-plant-watering/code-relay/pi). 😀 Ваш проект з датчиком вологості ґрунту, який керує реле, був успішним! --- **Відмова від відповідальності**: Цей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, зверніть увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ мовою оригіналу слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.