Опубликовано

Датчик уровня жидкости

По материалам руководства к набору “Умный дом на базе Arduino. Большой набор + КНИГА

Датчик уровня жидкости предназначен для определения уровня жидкости в различных емкостях. На датчике расположен резисторы, транзистор и чередующиеся оголенные проводящие контакты (рис. S6.1). Чем глубже датчик погружен в воду (большая часть длины контактов находится в воде), тем меньше сопротивление между проводящими контактами.

Внешний вид, назначение контактов

S6-1-уровень воды

Рис. S6.1. Датчик уровня воды (глубины)

Основные характеристики

Наименование Значение
Зона обнаружения, мм 16 ÷ 40
Напряжение питания, В 3,3 ÷ 5
Ток потребления, мА 20
Размеры, мм 62×20×8
Рабочая температура, °С 10 ÷ 30

Схема подключения

S6-2-уровень воды

Рис. S6.2. Схема подключения датчика уровня жидкости

Программный код

Листинг S6.1. Измерения уровня жидкости

#define aPin A0 // пин для подключения аналогового выхода датчика

int avalue=0; //переменная

int levels[3]={600,500,400}; // значение уровней

void setup(){

pinMode(aPin, INPUT); // настройка аналогового пина на вход

Serial.begin(9600); // инициализация последовательного порта

}

void loop(){

// получение значения с аналогового вывода датчика

avalue=analogRead(aPin);

// вывод значения в монитор последовательного порта Arduino

Serial.print("avalue=");

Serial.print(avalue);

if (avalue>=levels[0]) Serial.println("->MAX");

if ((avalue>levels[2])&&(avalue<levels[0])) Serial.println("->NORM");

if (avalue<=levels[2]) Serial.println("->MIN");

// пауза перед следующим получением значения 1000 мс

delay(1000);

}

Результаты измерений

Значение аналоговых сигналов на аналоговом входе Arduino вы можете определить экспериментальным путем. Они могут оказаться такими, как показано на рис. S6.3.

2-06-3-уровень воды

Рис. S6.3. Экспериментальные значения аналоговых сигналов для разных уровней погружения

Добавить комментарий