Статья: Сбор и хранение данных с датчиков температуры и влажности на базе Arduino

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Сбор и хранение данных с датчиков температуры и влажности

на базе Arduino

Силин Н.С., Суючев А.Р.

Тобольский педагогический институт им. Д.И. Менделеева (филиал) ТюмГУ

Тобольск, Россия

В электронной промышленности, агропромышленном комплексе и разных системах в быту огромную роль в производственном процессе занимает постоянный контроль уровня температуры и влажности воздуха. Эту функцию как раз и выполняют датчики влажности воздуха. Они помогают поддерживать микроклимат помещения при заданных параметрах, необходимых для стабильной бесперебойной работы различных приборов и электронных устройств.

Для измерения температуры и относительной влажности окружающего воздуха мы возьмем датчик DHT11 и электронный набор Arduino. Данные температуры и влажности поставляются по сигнальному проводу в виде цифрового сигнала. Это позволяет передавать данные на расстояние до 20 м. DHT11 общается с принимающей стороной, такой как Arduino по собственному протоколу. Коммуникация двунаправлена и в общих чертах выглядит так:

1. Микроконтроллер говорит о том, что хочет считать показания. Для этого он устанавливает сигнальную линию в 0 на некоторое время, а затем устанавливает её в 1;

2. Сенсор подтверждает готовность отдать данные. Для этого он аналогично сначала устанавливает сигнальную линию в 0, затем в 1;

3. После этого сенсор передаёт последовательность 0 и 1, последовательно формирующих 5 байт (40 бит). В первых двух байтах передаётся температура, в третьем-четвёртом -- влажность, в пятом -- контрольная сумма, чтобы микроконтроллер смог убедиться в отсутствии ошибок считывания.

Благодаря тому, что сенсор делает измерения только по запросу, достигается энергоэффективность: пока общения нет, датчик потребляет очень небольшой ток.

Характеристики датчика DHT11:

* Напряжение питания: 5 В

* Диапазон температур: 0-50 °С

* Погрешность температуры: ±2 °С

* Диапазон влажности: 20-90%

* Погрешность влажности: ±5%

Схема подключения датчика (DHT11) выглядит так (рис. 1):

Рис. 1.

Результат выглядит следующим образом (рис. 2):

Рис. 2.

Для работы с датчиком в среде Arduino необходимо установить дополнительную библиотеку DHT (2).

Установка библиотеки производиться прямо в среде разработки, нажав: Скетч>Подключить библиотеку>Добавить Zip. библиотеку, после чего будет необходимо указать путь к скачанному, не распакованному архиву. Далее перезапускаем среду разработки Arduino, для подключения библиотеки, нужно написать всего одну строку в начале скетча: "#include <файл.h>". датчик температура влажность arduino

Теперь нужно загрузить тестовый скетч (программу), который будет отображать влажность и температуру в окне Монитора порта.

#include "DHT.h"

#define DHTPIN 2 // номер пина, к которому подсоединен датчик

#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE); // инициируем датчик void setup() {

Serial.begin(9600);

Serial.println("DHTxx test!"); dht.begin();

}

void loop() {

float h = dht.readHumidity(); //считываем влажность float t = dht.readTemperature(); // считываем температуру if (isnan(t) || isnan(h)) { // проверка удачно прошло ли считывание.

Serial.println("Failed to read from DHT"); // не удалось считать показания

} else {

Serial.print("Humidity: ");

Serial.print(h);

Serial.print(" %\t");

Serial.print("Temperature: ");

Serial.print(t);

Serial.println(" *C");

}

}

Датчики температуры и влажности устанавливаются на высоте 2 м над землёй в метеобудке: это небольшой деревянный ящик (размером приблизительно 40*40*40 см) с белыми, отражающими свет перфорированными или жалюзийными стенками, а также солнцеводозащитным козырьком (крышка будки должна быть герметичной и иметь наклон для стекания осадков с будки).

Литература

1. Амперка. Официальный сайт. - URL: http://amperka.ru.

2. Библиотека для датчика DHT11. - URL:

https://geekelectronics.org/download/22/