Обзор емкостного датчика почвы v2.0
Сегодня расскажу как подключить емкостный датчик влажности почвы к плате Arduino UNO с отправкой показаний на сериал порт. Так-же приведу пример калибровки, для вывода показаний в процентах %.
Сегодня расскажу как подключить емкостный датчик влажности почвы к плате Arduino UNO с отправкой показаний на сериал порт. Так-же приведу пример калибровки, для вывода показаний в процентах %.
Технические параметры
► Напряжение питания: 3.3 — 5.5 В;
► Рабочий ток: 5mA
► Габариты: 99 х 16 х 10 мм;
► Выходное напряжение: 0 — 3.0 В
► Вес: 1 г
Общие сведения
Данный датчик, измеряет уровень влажности почвы посредством емкостного измерения, а не резистивного, как другие датчики. Это позволило увеличить срок службы датчика, так как он не подвержен коррозии. Так же, модуль включает в себя встроенный стабилизатор напряжения, с помощью которого обеспечивается диапазон работы от 3.3 В до 5.5 В, что позволяет подключить его к Arduino UNO, а так же к NodeMCU.
Выходное напряжение ёмкостного датчика почвы составляет от 1.2 В до 3.0 В. Принципиальную схему датчика можно посмотреть на рисунке ниже.
Назначение контактов модуля NEO-6M:
Емкостного датчика почвы v.2 имеет один разъем (PH2.0-3P) для подключения.
► GND — заземляющий вывод питания;
► VCC — вывод питания 3.3 В — 5 В.
► AUOT — аналоговый выход до 3В.
Подключение емкостного датчика почвы v.2 к Arduino UNO
Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Емкостной датчик почвы v.2 x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
В данном примере подключим емкостной датчика почвы v.2 к Arduino UNO и отобразим аналоговое значение и значение влажности почвы в процентах.
Подключение:
Теперь приступим к подключению емкостной датчик почвы к Arduino UNO, схема для этого очень проста. Подключим вывод VCC к 3.3 В (Arduino UNO, а GND к GND (Arduino UNO). Точно так же подключаем вывод аналогового выхода к A0 (Arduino UNO).
Программа:
Скопируйте приведенный ниже скетч и загрузите его на свою плату Arduino.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
/* Тестировалось на Arduino IDE 1.8.5 Дата тестирования 21.11.2020г. */ int soilMoistureValue = 0; // Создаем переменную soilMoistureValue void setup() { Serial.begin(9600); // Открываем последовательную связь на скорости 9600 pinMode(soilMoistureValue, INPUT); // Устанавливаем вывод как вход. } void loop() { soilMoistureValue = analogRead(A0); // Считываем данные с порта A0 и записываем их в переменную Serial.println(soilMoistureValue); // Передаем данные последовательную порт delay(250); // Пауза } |
После загрузки скетча, открываем «Мониторинг порта» и смотрим изменений значений влажности почвы, при сухом датчике (630) и погруженном в воду (260).
Калибровка емкостного датчика почвы v.2
Теперь давайте попробуем вывести значение в процентах (%), для этого необходимо получить показания сухого и когда датчик находится в воде, в моем случаи вышло 630 и 266. Далее необходимо поправить скетч, измените переменную AirValue и WaterValue и загрузите скетч в плату Arduino.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
/* Тестировалось на Arduino IDE 1.8.5 Дата тестирования 21.11.2020г. */ const int AirValue = 630; // Максимальное значение сухого датчика const int WaterValue = 266; // Минимальное значение погруженного датчика int soilMoistureValue = 0; // Создаем переменную soilMoistureValue int soilmoisturepercent = 0; // Создаем переменную soilmoisturepercent void setup() { Serial.begin(9600); // Открываем последовательную связь на скорости 9600 pinMode(soilMoistureValue, INPUT); // Устанавливаем вывод как вход. } void loop() { soilMoistureValue = analogRead(A0); // Считываем данные с порта A0 и записываем их в переменную soilmoisturepercent = map(soilMoistureValue, AirValue, WaterValue, 0, 100); Serial.print(soilmoisturepercent); // Передача показаний с датчика Serial.println("%"); // Передача символа % delay(250); // Пауза } |
После загрузки скетча, открываем «Мониторинг порта» и смотрим показания влажности в %.
Будут вопросы пишите.
Купить на Aliexpress
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
Провода DuPont, 2,54 мм, 20 см
Емкостный датчик влажности почвы
Прошу меня простить. Я в этих делах новенький. Но… зачем одной переменной и вход обозначать, и её же использовать как переменную влажности?
Это походу ошибка, вход должен быть А0
с одним датчиком есть понимание. а если мне нужно двадцать штук подключить, — каждый на отдельный вход подключается, или есть варианты?
Сергей, здравствуйте.
Только подключать каждому выводу, отдельно.
можно использовать АЦП и в таком случае можно подкидывает по i2c несколько датчиков, у меня 4 штуки. все зависит от АЦП