Arduino:Примеры/Гайд по использованию датчика влажности YL-69 или HL-69 с Arduino
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Гайд по использованию датчика влажности YL-69 или HL-69 с Arduino[1]
Датчик влажности почвы (или гигрометр) используется, как правило, для определения влажности почвы. Он пригодится для проектирования автоматической системы полива или отслеживания влаги в почве, где растут ваши растения.
Датчик влажности почвы состоит из двух частей: электронной платы (на картинке ниже расположена справа) и измерительной части с двумя пластинами, которая определяет наличие воды (на картинке расположена слева).
Чувствительность датчика влажности почвы настраивается встроенным потенциометром. Кроме того, датчик оснащен двумя светодиодами: первый загорается, когда на плату подается питание, а второй – при выводе цифровых данных. Подробнее смотрите на рисунке ниже.
Как это работает
Выходное напряжение датчика варьируется в зависимости от количества воды, содержащейся в почве.
- Если почва влажна – выходное напряжение уменьшается
- Если почва суха – выходное напряжение увеличивается
На выходе будет цифровой сигнал (D0) – LOW или HIGH, в зависимости от содержания воды в почве. То есть, если влажность почвы превысит определенное пороговое значение, модуль вернет значение LOW, а если нет – HIGH. Пороговое значение для цифрового сигнала настраивается при помощи потенциометра.
На выходе может быть и аналоговый сигнал, что позволяет измерять влажность значениями в диапазоне от «0» до «1023».
Скетч: Использование датчика влажности почвы с Arduino
Это скетч-пример, демонстрирующий, как использовать датчик влажности почвы в проектах с Arduino.
В этом скетче мы, используя Arduino, прочтем с датчика аналоговые данные, а затем покажем эти данные в мониторе порта IDE Arduino.
Необходимые компоненты
Для этого проекта нам понадобятся следующие компоненты:
- Один датчик влажности YL-69 (см. на eBay)
- Одна плата Arduino (см. на eBay)
- Одна макетная плата
- Два резистора на 220 Ом
- Один красный светодиод
- Один зеленый светодиод
- Провода-перемычки
Подключение контактов
В подключении датчика и Arduino друг к другу нет ничего сложного:
- Контакт A0 на датчике – к аналоговому контакту на Arduino
- Контакт D0 – к цифровому контакту
- Контакт GND – к контакту GND
- Контакт VCC – к контакту 5V
Схема
Ниже – схематическое изображение проекта:
Код
Загрузите скетч, показанный ниже, в плату Arduino.
/*
Более подробно о проекте на:
http://randomnerdtutorials.com/
*/
int rainPin = A0;
int greenLED = 6;
int redLED = 7;
// пороговое значение указывается тут:
int thresholdValue = 800;
void setup(){
pinMode(rainPin, INPUT);
pinMode(greenLED, OUTPUT);
pinMode(redLED, OUTPUT);
digitalWrite(greenLED, LOW);
digitalWrite(redLED, LOW);
Serial.begin(9600);
}
void loop() {
// считываем входные данные с аналогового контакта 0:
int sensorValue = analogRead(rainPin);
Serial.print(sensorValue);
if(sensorValue < thresholdValue){
Serial.println(" - Doesn't need watering");
// " – Полив не нужен"
digitalWrite(redLED, LOW);
digitalWrite(greenLED, HIGH);
}
else {
Serial.println(" - Time to water your plant");
// " – Пора поливать!"
digitalWrite(redLED, HIGH);
digitalWrite(greenLED, LOW);
}
delay(500);
}
Откройте монитор порта IDE Arduino, а потом опробуйте датчик на влажной и сухой почве. В мониторе порта должны появиться данные, соответствующие тому или иному состоянию почвы.
Если аналоговое значение превысит заданный порог, включится красный светодиод (это будет значить, что растения пора поливать), а если оно будет ниже порогового значения, должен включиться зеленый светодиод (это будет значить, что с влажностью почвы все в порядке).
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino