Menu
CoddyTech

Мониторинг растений: влажность

Часть раздела Проекты путешествия по Arduino на Coddy. Урок 17 из 24.

Этот проект следит за комнатным растением: насколько влажная у него почва, цветной индикатор для сухой, нормальной или влажной почвы, сигнал тревоги, если почва долго остаётся сухой, и отчёт на экране.

В настоящей сборке датчик влажности почвы вставляют в горшок. Он выдаёт напряжение, которое меняется в зависимости от влажности почвы; его считывают с помощью analogRead(). В симуляторе почвы нет, поэтому вместо датчика на A0 подключён потенциометр (регулятор): поверни его вниз, чтобы имитировать сухую почву, и вверх — чтобы имитировать влажную. В обоих случаях скетч одинаковый.

Процент удобнее читать, чем значение от 0 до 1023: 0% — почва совершенно сухая, 100% — полностью пропитана водой. map() преобразует один диапазон в другой:

int reading = analogRead(A0);
int moisture = map(reading, 0, 1023, 0, 100);

Почва высыхает часами, поэтому достаточно считывать показания раз в секунду.

challenge icon

Задание

Легко

Измерь влажность почвы:

  • напиши readMoisture(): считай значение с A0 и верни влажность в процентах с помощью map()
  • в loop() выведи значение в формате Moisture: 42%, затем подожди 1000 мс

Нажми Запустить, поверни ручку, затем нажми Проверить.

Попробуйте сами

// Ручка заменяет датчик влажности почвы
const int sensorPin = A0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  // считать показания датчика, перевести их в проценты, вывести результат, подождать секунду

}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Проекты

Потренируйтесь самостоятельно: Песочница Arduino