КОМП’ЮТЕРНА СИСТЕМА ДЛЯ ОБРОБКИ СИГНАЛІВ ІЗ СЕНСОРІВ ТЕМПЕРАТУРИ ТА ВОЛОГОСТІ
06.06.2022 19:23
[1. Information systems and technologies]
Author: Баловсяк Сергій Васильович, доктор технічних наук, доцент, Чернівецький національний університет імені Юрія Федьковича, м. Чернівці; Олександров Іван Юліанович, студент, Чернівецький національний університет імені Юрія Федьковича, м. Чернівці
Аналіз значень температури та вологості є важливим для багатьох прикладних задач, наприклад, для контролю мікроклімату в житлових і виробничих приміщеннях. Проте, для подібних комп’ютерних систем контролю важливо мінімізувати їх розміри і масу, що технічно складно зробити при використанні окремих сенсорів температури і вологості. Тому в даній роботі значення температури і вологості зчитуються з одного сенсора DHT22 [1] за допомогою мікрокомп’ютера Raspberry Pi3. Це дозволило створити компактну систему з низькою споживаною потужністю.
Програмне забезпечення комп’ютерної системи для зчитування та обробки сигналів із сенсорів розроблено на мові Python. Програму для зчитування сигналів із сенсорів розроблено в середовищі Thonny, а програму для аналізу отриманих сигналів розроблено на хмарній платформі Google Colab. Завдяки цьому програму для аналізу отриманих сигналів можливо виконувати як за допомогою мікрокомп’ютера Raspberry Pi 3, так і на хмарній платформі Google Colab. В програмі зчитування сигналів імпортується бібліотека Adafruit_DHT для роботи з сенсором DHT22, зчитування сигналу виконується через пін GPIO4 (DHT_PIN = 4) (рис. 1). Програма дозволяє встановити початковий час зчитування Time_Min (с), інтервал дискретизації Delta_t (с), максимальну допустиму температуру Limit_TM та кількість зчитаних значень QP. Значення температури (temperature) записуються в масив mTR, значення вологості (humidity) записуються в масив mTH, а час кожного зчитування записується в масив mtcR.
Рис. 1. Сенсор температури та вологості DHT22:
а) схема з’єднання сенсора та Raspberry Pi 3 Model B+;
б) фото сенсора та Raspberry Pi
Значення вологості та температури (рис. 2) зчитуються з сенсора командою:
humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN).
Рис. 2. Приклад графіків залежності значень температури TR та вологості TH від часу
Отримані масиви значень (mtcR, mTR, mTH) записуються в текстові файли. Аналіз сигналів із сенсорів полягає у перевірці допустимості їх значень, а також у кластеризації отриманих значень температури та вологості методом k-середніх (kmeans) [2] (рис. 3). Після встановлення кількості кластерів k кластеризація виконується функцією kmeans.fit.
Рис. 3. Кластеризація значень вимірів (рис. 2) у просторі ознак температура (TR) та вологість (TH)
Завдяки вищеописаній обробці сигналів із сенсорів можливо виділяти як кластери характерні комбінації температури та вологості, що є важливим для контролю мікроклімату в приміщеннях.
Література
1. DHT22 Raspberry Pi Humidity Temperature Sensor Tutorial. URL: https://www.youtube.com/watch?v=IHTnU1T8ETk.
2. Черняк О.І. Інтелектуальний аналіз даних: Підручник / О.І. Черняк, П.В. Захарченко. – Київський національний університет ім. Т. Шевченка. – К. : Знання, 2014. – 599 с.