Ёмкостный датчик уровня жидкости: подключение, примеры работы
Бесконтактный датчик уровня жидкости XKC-Y25-V зафиксирует наличие водного раствора сквозь преграды и стены.
Датчик не будет работать с металлическими препятствиями.
Примеры работы
Для теста сенсора воспользуйтесь стаканом или кружкой. Наполните ёмкость наполовину водой и перемещайте сенсор в области ватерлинии. Для питания и обработки результатов понадобится контроллер.
Пример для Arduino
Подключите датчик уровня воды к Arduino Uno через Troyka Shield к 4
цифровому пину.
Схема устройства
Код программы
- liquidLevelState.ino
// пин бесконтакного датчика уровня жидкости #define LIQIID_SENSOR_PIN 4 void setup() { // открываем монитор Serial-порта Serial.begin(9600); // настраиваем пин в режим входа pinMode(LIQIID_SENSOR_PIN, INPUT); } void loop() { // считываем состояние пина int motionState = digitalRead(LIQIID_SENSOR_PIN); // выводим данные в Serial-порт Serial.println(motionState); delay(100); }
После прошивки платы, откройте монитор Serial порта. Если уровень жидкости будет выше сенсора — вы увидите бегущие единицы, а как уровень воды снизится ниже датчика — единицы сменятся на нули.
Пример для Iskra JS
Скоммутируем датчик к Iskra JS через Troyka Shield к 4
цифровому пину.
Схема устройства
Код программы
Зафиксируем изменение уровня жидкости с помощью Espruino и языка JavaScript.
- liquidLevelState.js
// наблюдаем за датчиком уровня жидкости setWatch(function() { // если сработало изменение на пине датчика // считываем состояние сенсора var state = digitalRead(P7); // выводим в консоль текущие состояние if (state) { print("Water is Yes"); } else { print("Water is Not"); } }, P7, { // функция вызывается многократно repeat: true, // фиксация восходящего фронта edge: "both" });
В результате вы увидите сообщение в консоле, при изменении уровня воды вблизи видимости датчика.
Пример для Raspberry Pi
Произведите мониторинг уровня воды микрокомпьютером Raspberry Pi. Подключите сенсор движения к 4
пину малины. Чтобы обойтись без макеток и проводов, используйте плату расширения Troyka HAT.
Схема устройства
Код программы
- liquidLevelState.py
# библиотека для работы с методами языка Wiring (Arduino) import wiringpi as wp # инициализация WiringPi wp.wiringPiSetup() # пин 4 в режим входа wp.pinMode(4, 0) while (True): # считываем состояние с датчика уровня воды motionState = wp.digitalRead(4) # печатаем результат в консоль print(motionState); # ждём 100 мс wp.delay(100)
После запуска скрипта вы увидите текущие показатели сенсора. Пока уровень воды находится выше датчика — в консоле выводятся единицы, при опускании уровня ниже сенсора — нули.
Элементы платы
Световой индикатор
Информационный светодиод о детектировании жидкости: при наличии воды в зоне поиска сенсора — светодиод горит, при отсутствии — не горит. Светодиод дублирует выходной сигнал сенсора.
Регулировка чувствительности
Откройте заднюю крышку сенсора.
Под защитным колпачком находится многооборотный потенциометр регулировки чувствительности сенсора. При вращении винта по часовой стрелке чувствительность датчика уменьшается, а против часовой — увеличивается.
Для регулировки используйте маленькую плоскую отвёртку, которую можно найти в «Наборе отвёрток».
Разъём подключения
Сенсор подключается к управляющей плате через встроенный кабель. На конце провода расположен разъём в формфакторе Troyka-контактов:
- Жёлтый (S) — цифровой выход сенсора. Используется для передачи текущего состояния модуля. При детектировании воды на датчике высокий уровень сигнала, при отсутствии — низкий. Подключите к цифровому пину микроконтроллера.
- Чёрный/Коричневый (V) — соедините с рабочим напряжением микроконтроллера.
- Синий (G) — соедините с землёй микроконтроллера.
Характеристики
- Модуль датчика: XKC-Y25-V
- Интерфейс: бинарный цифровой сигнал
- Диапазон толщины/чувствительность индукции: 0–20 мм
- Напряжение питания: 3,3–5 В
- Потребляемый ток: до 5 мА
- Время отклика: 500 мс
- Класс защиты: IP67
- Длина кабеля: 50 см
- Габариты: 28×28 мм