7.7 KiB
Вимірювання вологості ґрунту - Raspberry Pi
У цій частині уроку ви додасте ємнісний датчик вологості ґрунту до вашого Raspberry Pi і зчитуватимете з нього значення.
Обладнання
Для Raspberry Pi потрібен ємнісний датчик вологості ґрунту.
Датчик, який ви будете використовувати, це Ємнісний датчик вологості ґрунту, який вимірює вологість ґрунту, визначаючи його ємність — властивість, що змінюється залежно від вологості ґрунту. Зі збільшенням вологості ґрунту напруга зменшується.
Це аналоговий датчик, тому він використовує аналоговий пін і 10-бітний АЦП у Grove Base Hat на Pi для перетворення напруги в цифровий сигнал у діапазоні від 1 до 1,023. Потім цей сигнал передається через I²C через GPIO-піни на Pi.
Підключення датчика вологості ґрунту
Датчик вологості ґрунту Grove можна підключити до Raspberry Pi.
Завдання - підключення датчика вологості ґрунту
Підключіть датчик вологості ґрунту.
-
Вставте один кінець кабелю Grove у роз'єм на датчику вологості ґрунту. Він вставляється лише в одному напрямку.
-
З вимкненим Raspberry Pi підключіть інший кінець кабелю Grove до аналогового роз'єму, позначеного A0, на Grove Base Hat, підключеному до Pi. Цей роз'єм є другим справа в ряду роз'ємів поруч із GPIO-пінами.
- Вставте датчик вологості ґрунту в ґрунт. На ньому є "лінія максимальної глибини" — біла лінія через датчик. Вставте датчик до цієї лінії, але не глибше.
Програмування датчика вологості ґрунту
Тепер Raspberry Pi можна запрограмувати для використання підключеного датчика вологості ґрунту.
Завдання - програмування датчика вологості ґрунту
Програмуйте пристрій.
-
Увімкніть Pi і зачекайте, поки він завантажиться.
-
Запустіть VS Code, або безпосередньо на Pi, або підключившись через розширення Remote SSH.
⚠️ Ви можете звернутися до інструкцій із налаштування та запуску VS Code у nightlight - урок 1, якщо це потрібно.
-
У терміналі створіть нову папку в домашньому каталозі користувача
pi
під назвоюsoil-moisture-sensor
. У цій папці створіть файл під назвоюapp.py
. -
Відкрийте цю папку у VS Code.
-
Додайте наступний код у файл
app.py
, щоб імпортувати необхідні бібліотеки:import time from grove.adc import ADC
Оператор
import time
імпортує модульtime
, який буде використаний пізніше в цьому завданні.Оператор
from grove.adc import ADC
імпортуєADC
із бібліотек Grove Python. Ця бібліотека містить код для взаємодії з аналогово-цифровим перетворювачем на Pi Base Hat і зчитування напруги з аналогових датчиків. -
Додайте наступний код нижче, щоб створити екземпляр класу
ADC
:adc = ADC()
-
Додайте нескінченний цикл, який зчитує дані з цього ADC на піні A0 і виводить результат у консоль. Цей цикл може робити паузу на 10 секунд між зчитуваннями.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
Запустіть Python-додаток. Ви побачите вимірювання вологості ґрунту, виведені в консоль. Додайте трохи води в ґрунт або витягніть датчик із ґрунту, і побачите, як змінюється значення.
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.
😀 Ваше програмування датчика вологості ґрунту було успішним!
Відмова від відповідальності:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.