Датчик уровня воды
Эти датчики (рисунок 7) предназначены для определения уровня воды в различных емкостях, где недоступен визуальный контроль, с целью предупреждения перенаполнения ёмкости водой через критическую отметку.
Рисунок 7 – Датчик влажности почвы
Данный датчик является погружным. Чем больше погружение датчика в воду, тем меньше сопротивление между двумя соседними контактами.
Датчик имеет три контакта для подключения к контроллеру.
– + /VCC – питание датчика;
– - / GND – земля;
– S / OUT – аналоговое значение.
На вывод S подается аналоговое значение, которое можно передавать в контроллер для дальнейшей обработки, анализа и принятия решений.
В листинге 3 представлен код для измерения уровня с помощью датчика, представленного на рисунке 8. Результат работы кода представлен на рисунке 9.
Листинг 3 – Код для съёма данных об уровне воды ESP32 |
// Используем GPIO 14 const int waterSensorPin = 14; void setup() { Serial.begin(115200); pinMode(waterSensorPin, INPUT); }
void loop() { // У ESP32 значение будет от 0 до 4095 int sensorValue = analogRead(waterSensorPin);
Serial.print("Water Level Raw: "); Serial.println(sensorValue);
delay(500); } |
Рисунок 8 – Подключенный датчик уровня на основе платы ESP32
Рисунок 9 – Изменение считывания уровня датчика при
его накренивании
Датчик горючих газов и дымаx (заменённый датчиком влажности схожей распиновки)
Датчик газа (рисунок 10) позволяет улавливать примеси в воздухе. Его можно использовать в проектах умных домов, чтобы улавливать оставленную включенной газовую плиту, протечку газа или возникновение пожара и задымления.
Датчик MQ-2 чувствителен к дыму и нижеследующим воспламеняющимся газам:
– Сжиженному природному газу;
– Бутану;
– Пропану;
– Метану;
– Спирту;
– Водороду.
Рисунок 10 – Датчик газа
Сопротивление датчика MQ-2 меняется в зависимости от типа газа. Принцип работы датчика газа представлен на рисунке 11.
Чувствительность датчика настраивается при помощи встроенного потенциометра.
Напряжение, выдаваемое датчиком, меняется в зависимости от уровня дыма/газа в окружающей атмосфере:
– Чем выше концентрация газа, тем выше выходное напряжение.
– Чем ниже концентрация газа, тем ниже выходное напряжение.
Рисунок 11 – Принцип работы датчика газа
Датчик имеет 3 вывода для подключения:
– OUT – подключается к аналоговому выводу на плате Arduino;
– VCC – питание;
– GND – земля.
Выходной сигнал датчика изменяется в диапазоне от 0 В до 5В.
При работе датчика газоанализатор нагревается с помощью нагревательного элемента для осуществления химической реакции, поэтому нужно соблюдать осторожность при работе с данным датчиком. Также перед первым использованием рекомендуется прогреть датчик на протяжение 24 часов для получения стабильного результата. Кроме этого, показания датчика зависят от температуры и влажности воздуха в помещении.
В листинге 4 представлен код для имитации измерения данных о газе с помощью датчика, представленного на рисунке 12. Результат работы кода представлен на рисунке 13.
Листинг 4 – Код для имтиации съёма данных о газе ESP32 |
const int gasSensorPin = 14;
void setup() { // Скорость 115200 Serial.begin(115200); pinMode(gasSensorPin, INPUT);
Serial.println("Прогрев датчика газа (нужно около 20-60 сек)..."); }
void loop() { // Считываем значение (от 0 до 4095) int gasValue = analogRead(gasSensorPin);
Serial.print("Уровень газа/дыма: "); Serial.println(gasValue);
// Порог срабатывания (должен подбираться опытном путём) if (gasValue > 2500) { Serial.println("!!! ВНИМАНИЕ: ОБНАРУЖЕН ГАЗ ИЛИ ДЫМ !!!"); }
delay(1000); } |
Рисунок 12 – Подключенный датчик имитации измерения газа с помощью датчика влажности на основе платы ESP32
Рисунок 13 – Считывание газа (влажность 100%) в помещении
