Как работают датчики температуры и влажности dht11 и dht22, и их взаимодействие с arduino

Исходный код программы

В начале программы подключим библиотеки, необходимые для работы с датчиком DHT11 и ЖК дисплеем.

Когда вы скачаете эту библиотеку, добавьте ее в вашу Arduino IDE с помощью инструкции вида (или с помощью аналогичного пункта меню в Arduino IDE):

Затем определим контакты к которым подключен ЖК дисплей и датчик DHT и инициализируем их все в секции setup программы (скетча). Затем в секции loop мы с помощью функции dht считываем данные с датчика DHT и затем используем ряд dht функций чтобы извлечь из этих данных температуру и влажность и отобразить их на ЖК дисплее.

Символ градуса на экране ЖК дисплея будет формироваться, используя известное отображение его в виде символа.

Далее приведен полный текст программы.

Arduino

#include<dht.h> // подключаем библиотеку для использования dht функций
#include<LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); // номера контактов, к которым подключен ЖК дисплей
#define dht_dpin 12
dht DHT;
byte degree =
{
0b00011,
0b00011,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
void setup()
{
lcd.begin(16, 2);
lcd.createChar(1, degree);
lcd.clear();
lcd.print(» Humidity «);
lcd.setCursor(0,1);
lcd.print(» Measurement «);
delay(2000);
lcd.clear();
lcd.print(«Circuit Digest «);
delay(2000);
}
void loop()
{
DHT.read11(dht_dpin); //считываем данные с контакта, к которому подключен датчик DHT11
lcd.setCursor(0,0);
lcd.print(«Humidity: «);
lcd.print(DHT.humidity); // отображаем значение влажности на экране ЖК дисплея
lcd.print(» %»);
lcd.setCursor(0,1);
lcd.print(«Temperature:»);
lcd.print(DHT.temperature); // отображаем значение температуры на экране ЖК дисплея
lcd.write(1);
lcd.print(«C»);
delay(500);
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

#include<dht.h>      // подключаем библиотеку для использования dht функций
#include<LiquidCrystal.h>

LiquidCrystallcd(2,3,4,5,6,7);// номера контактов, к которым подключен ЖК дисплей

#define dht_dpin 12

dhtDHT;

bytedegree8=

{

0b00011,

0b00011,

0b00000,

0b00000,

0b00000,

0b00000,

0b00000,

0b00000

};

voidsetup()

{

lcd.begin(16,2);

lcd.createChar(1,degree);

lcd.clear();

lcd.print(»   Humidity   «);

lcd.setCursor(,1);

lcd.print(»  Measurement «);

delay(2000);

lcd.clear();

lcd.print(«Circuit Digest «);

delay(2000);

}

voidloop()

{

DHT.read11(dht_dpin);//считываем данные с контакта, к которому подключен датчик DHT11

lcd.setCursor(,);

lcd.print(«Humidity: «);

lcd.print(DHT.humidity);// отображаем значение влажности на экране ЖК дисплея

lcd.print(» %»);

lcd.setCursor(,1);

lcd.print(«Temperature:»);

lcd.print(DHT.temperature);// отображаем значение температуры на экране ЖК дисплея

lcd.write(1);

lcd.print(«C»);

delay(500);

}

Схема подключения двух и более датчиков температуры DS18B20 к одной плате Ардуино

Хорошая новость заключается в том, что к шине 1-wire можно подключать несколько датчиков, не обязательно одних и тех же. В этом случае шина должна быть подтянута одним резистором.

Датчик температуры в Arduino – один из самых распространенных видов сенсоров. Разработчику проектов с термометрами на Arduino доступно множество разных вариантов, отличающихся по принципу действия, точности, конструктивному исполнению. Цифровой датчик DS18B20 является одним из наиболее популярных температурных датчиков, часто он используется в водонепроницаемом корпусе для измерения температуры воды или других жидкостей. В этой статье вы найдете описание датчика ds18b20 на русском, мы вместе рассмотрим особенности подключения к ардуино, принцип работы датчика, описание библиотек и скетчей.

Подключение датчика DS 18B20 к Arduino Processing LCD

Чтобы правильно произвести подключение датчика к системе «Ардуино», необходимо действовать в соответствии со следующим алгоритмом:

  • Черный контакт температурного датчика нужно подключить к GND-системе «Ардуино».
  • Красный контакт температурного датчика нужно подключить к +5V системы «Ардуино».
  • Красный контакт температурного датчика может быть подключен к любому свободному цифровому пину в системе «Ардуино».
  • Подключить к внешней обвязке системы специальный резистор на 4,7 килоома.

Полная схема подключения датчика температуры DS 18B20 к системе Arduino Processing LCD показана на изображении ниже.

Схема подключения датчиков температуры DS 18B20 к системе Arduino

Необходимые компоненты

Arduino

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

Датчик температуры LM35

Номер контакта Функция Обозначение
1 Питающее напряжение; 5V (+35V to -2V) Vcc
2 Выходное напряжение (+6V to -1V) Output
3 Земля (0V) Ground

Питание

Плата Arduino уже имеет встроенный модуль подачи питания, поэтому здесь нам необходимо только подсоединить адаптер на 9 или 12 вольт к плате, или можно запитать ее от USB-порта компьютера или ноутбука.

DHT11 на Ардуино Уно

Помимо самой платы и датчика, чтобы подключить к Ардуино DHT11 в версии без обвязки, требуется предварительно подготовить следующие комплектующие:

  • макетную плату;
  • резистор — подойдет номиналом в десять кОм;
  • светодиоды.

Нумерация контактов происходит справа, если само устройство располагается «ножками» вниз:

  1. Питание (VCC).
  2. Вывод (DATA).
  3. Контакт, который не используется (NC).
  4. Заземление (GND).

Чтобы на Arduino датчик влажности корректно работал, резистор впаивается между первым и вторым контактом.

Когда речь идет о уже готовом модуле для Ардуино, подключается  он значительно проще:

  • VCC присоединяется к +5 В. Рекомендуется использовать питание именно в 5 В, так как в этом случае датчик можно расположить на расстоянии в двадцать метров от источника. Если питание минимально — то есть равно 3.3 В, длина кабеля не может превышать метра или же измерения окажутся некорректными;
  • отмеченный GND — к земле;
  • третий присоединяется к свободному пину, имеющемуся на плате, а номер пина указывается в скетче. Он необходим для обеспечения связи с микроконтроллером.

Важным моментом при подключении датчика является строгое соблюдение полярности. Если этим аспектом пренебречь, то устройство выйдет из строя, а пластиковый корпус может даже оплавиться от перегрева.

Предпочтительным вариантом подключения одиннадцатой версии или DHT22 к Arduino является второй пин — в этом случае программирование будет осуществляться по приведенному скетчу. Изменение пина требует внесения определенных правок в код.

Датчики температуры и влажности DHT11 и DHT22 и Arduino

В статье рассмотрены основы работы с недорогими датчиками температуры и влажности серии DHT.

Эти сенсоры простые и медленные, но при этом отлично подходят для хобби-проектов на Arduino. Датчики DHT состоят из двух основных частей: ёмкостный датчик влажности и термистор. Также в корпусе установлен простенький чип для преобразования аналогового сигнала в цифровой. Считывать цифровой сигнал на выходе достаточно просто, можно использовать любой контроллер, не обязательно Arduino.

Технические характеристики DHT11 и DHT22

Существуют две версии сенсоров DHT. Выглядят они почти одинаково. Распиновка тоже одинаковая. Основные отличия – в технических характеристиках:

DHT11:

  • Очень дешевый.
  • Питание от 3 до 5В.
  • Максимально потребляемый ток – 2.5мА при преобразовании (при запросе данных).
  • Рассчитан на измерение уровня влажности в диапазоне от 20% до 80%. При этом точность измерений находится в диапазоне 5%.
  • Измеряет температуру в диапазоне от 0 до 50 градусов с точностью плюс-минус 2%.
  • Частота измерений не более 1 Гц (одно измерение в секунду).
  • Размер корпуса: 15.5 мм x 12 мм x 5.5 мм.
  • 4 коннектора. Расстояние между соседними – 0.1″.

DHT22:

  • Дешевый.
  • Питание от 3 до 5В.
  • Максимально потребляемый ток – 2.5мА при преобразовании (при запросе данных).
  • Рассчитан на измерение уровня влажности в диапазоне от 0% до 100%. При этом точность измерений находится в диапазоне 2%-5%.
  • Измеряет температуру в диапазоне от -40 до 125 градусов с точностью плюс-минус 0.5 градусов по Цельсию.
  • Частота измерений до 0.5 Гц (одно измерение за 2 секунды).
  • Размер корпуса: 15.1 мм x 25 мм x 7.7 мм.
  • 4 коннектора. Расстояние между соседними – 0.1″.

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

Подключение датчиков DHT к Arduino

Ссылки для заказа электронного оборудования, которое использовалось в примере ниже из Китая

Подключаются датчики легко. Так как у них достаточно длинные коннекторы 0.1″, можно устанавливать их непосредственно на макетную или монтажную плату (смотрите на рисунке ниже).

Непосредственное подключение к Arduino тоже простое. На сенсоре 4 коннектора:

  • Питание (VCC) – от 3 до 5 В.
  • Вывод данных.
  • Не подключается.
  • Земля.

Коннектор 3 просто игнорируйте, он не подключается. Желательно подключить подтягивающий резистор на 10 кОм между питанием и сигналом. На Arduino есть встроенные резисторы, но их номинал 100кОм нам не подойдет.

На рисунке ниже приведена схема подключения DHT11 к Arduino. Подключите сигнал с датчика к пину 2, чтобы схема соответствовала примеру скетча, который приведен ниже. Этот пин можно изменить с соответствующими правками в коде.

Считывание данных с датчиков DHTxx

Для проверки скетча мы используем Arduino. Можно использовать любой другой микроконтроллер, который поддерживает тайминг в микросекундах.

Для начала скачайте библиотеку для работы с DHT датчиками здесь: Github. Для загрузки нажмите кнопку DOWNLOADS в верхнем правом углу.

Переименуйте папку DHT и убедитесь, что в ней есть файл dht.cpp и другие. После этого переместите папку DHT в папку arduinosketchfolder/libraries/ . Возможно вам придется создать подпапку для библиотек, если вы впервые интегрируете библиотеку. Перезагрузите Arduino IDE.

Теперь загрузите скетч: Examples->DHT->DHTtester. Выглядит программа примерно так:

//#define DHTTYPE DHT22 // DHT 22 (AM2302)

И уберите комментарий со строки:

#define DHTTYPE DHT11 // DHT 11

Эти настройки помогают снимать правильные значения именно с вашей модели датчика. В окне серийного монитора этобудет выглядеть примерно так:

Вы должны увидеть показания температуры и влажности. Подышав на датчик, можно отследить изменения показаний. В этом случае уровень влажности должен увеличиться.

Если Вам необходимы даташиты на датчики, просмотреть и скачать их можно по ссылкам:

Datasheet DHT11

Datasheet DHT22

Характеристики и подключение датчиков DHT11 и DHT22

Датчик состоит из двух частей – емкостного датчика температуры и гигрометра. Первый используется для измерения температуры, второй – для влажности воздуха. Находящийся внутри чип может выполнять аналого-цифровые преобразования и выдавать цифровой сигнал, который считывается посредством микроконтроллера.

В большинстве случаев DHT11 или DHT22 доступен в двух вариантах: как отдельный датчик в виде пластикового корпуса с металлическими контактами или как готовый модуль с датчиком и припаянными элементами обвязки. Второй вариант гораздо проще использовать в реальных проектах и крайне рекомендуется для начинающих.

Датчик DHT11

  • Потребляемый ток – 2,5 мА (максимальное значение при преобразовании данных);
  • Измеряет влажность в диапазоне от 20% до 80%. Погрешность может составлять до 5%;
  • Применяется при измерении температуры в интервале от 0 до 50 градусов (точность – 2%)
  • Габаритные размеры: 15,5 мм длина; 12 мм широта; 5,5 мм высота;
  • Питание – от 3 до 5 Вольт;
  • Одно измерение в единицу времени (секунду). То есть, частота составляет 1 Гц;
  • 4 коннектора. Между соседними расстояние в 0,1 ”.

Датчик DHT22

  • Питание – от 3 до 5 Вольт;
  • Максимальный ток при преобразовании – 2,5 мА;
  • Способен измерять влажность в интервале от 0% до 100%. Точность измерений колеблется от 2% до 5%;
  • Минимальная измеряемая температура – минус 40, максимальная – 125 градусов по Цельсию (точность измерений – 0,5);
  • Устройство способно совершать одно измерение за 2 секунд. Частота – до 0,5 ГЦ;
  • Габаритные размеры: 15,1 мм длина; 25 мм широта; 5,5 мм высота;
  • Присутствует 4 коннектора. Расстояние между соседними – 0,1 ‘;

Очевидно, что при использовании в ардуино датчика температуры и влажности DHT11 устройство выдаст менее точные значения, чем DHT22. У аналога больший диапазон измеряемых значений, но и цена соответствующая. Датчик температуры и влажности DHT22, как и его аналог, имеет один цифровой выход, соответственно снимать показания можно не чаще, чем один раз в 1-2 секунды.

Какой тип питания выбрать

Все датчики температуры типа DS 18B20 для Arduino Processing LCD могут работать в обычном или так называемом «паразитном» режиме. При этом если обычный режим подключения предусматривает нормальное функционирование всех 3 коннекторов, то «паразитический» — только 2. Что бы получать правильную и точную информацию со всех датчиков, нужно выбрать правильный режим питания в скетче:

  • чтобы воспользоваться «паразитным» режимом, необходимо ввести dswrite (0x44,1) в 65-й строке;
  • обычным режимом — ввести dswrite (0x44) в 65-й строке.

Подключение термодатчика DS18b20 к программе Arduino

Описание датчика DS18B20 для Arduino

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

Микросхема имеет три выхода, из которых для данных используется только один, два остальных – это земля и питание. Число проводов можно сократить до двух, если использовать схему с паразитным питанием и соединить Vdd с землей. К одному проводу с данными можно подключить сразу несколько датчиков DS18B20 и в плате Ардуино будет задействован всего один пин.

Где купить датчик

Влагозащищенный датчик температуры DS18B20 с длиной провода 1 м от надежного магазина Комплект из 10 микросхем DS18B20 TO92 Модуль DS18B20 для удобного подключения к Ардуино от Keyestudio
Беспроводной модуль DS18B20 на ESP8266 ESP-01 ESP-01S для проектов умного дома Шилд датчика DS18B20 для платы D1 MINI – беспроводная передача данных Датчик DS18B20 с модулем для подключения к Ардуино

Особенности цифрового датчика DS18B20

Погрешность измерения не больше 0,5 С (для температур от -10С до +85С), что позволяет точно определить значение температуры. Не требуется дополнительная калибровка.
Температурный диапазон измерений лежит в пределах от -55 С до +125 С.
Датчик питается напряжением от 3,3В до 5В.
Можно программно задать максимальную разрешающую способность до 0,0625С, наибольшее разрешение 12 бит.
Присутствует функция тревожного сигнала.
Каждое устройство обладает своим уникальным серийным кодом.
Не требуются дополнительные внешние элементы.
Можно подключить сразу до 127 датчиков к одной линии связи.
Информация передается по протоколу 1-Wire.
Для присоединения к микроконтроллеру нужны только 3 провода.
Существует так называемый режим паразитного питания – в нем происходит питание напрямую от линии связи. Для подключения в этом случае нужны только 2 провода

Важно, что в этом режиме не гарантируется корректная работа при температурах выше 100С. Режим паразитного питания удобно обычно применяется для приложений с удаленным температурным датчиком.

Память датчика состоит из двух видов: оперативной и энергонезависимой – SRAM и EEPROM. В последнюю записываются регистры конфигурации и регистры TH, TL, которые могут использоваться как регистры общего назначения, если не используются для указания диапазона допустимых значений температуры.

Основной задачей DS18B20 является определение температуры и преобразование полученного результата в цифровой вид. Мы можем самостоятельно задать необходимое разрешение, установив количество бит точности – 9, 10, 11 и 12. В этих случаях разрешающие способности будут соответственно равны 0,5С, 0,25С, 0,125С и 0,0625С.

Во время включения питания датчик находится в состоянии покоя. Для начала измерения контроллер Ардуино выполняет команду «преобразование температуры». Полученный результат сохранится в 2 байтах регистра температуры, после чего датчик вернется в первоначальное состояние покоя. Если схема подключена в режиме внешнего питания, микроконтроллер регулирует состояние конвертации. Во время выполнения команды линия находится в низком состоянии, после окончания программы линия переходит в высокое состояние. Такой метод не допустим при питании от паразитной емкости, так как на шине постоянно должен сохраняться высокий уровень сигнала.

Полученные температурные измерения сохраняются в SRAM датчика. 1 и 2 байты сохраняют полученное значение температуры, 3 и 4 сохраняют пределы измерения, 5 и 6 зарезервированы, 7 и 8 используются для высокоточного определения температуры, последний 9 байт хранит устойчивый к помехам CRC код.

Общие принципы работы датчика температуры DS18B20

DS18B20 представляет собой однопроводный цифровой датчик температуры от компании Maxim IC. Выдает значение температуры в градусах Цельсия, способен измерять температуру с 9-12 битной точностью в диапазоне от -55 до 125 градусов Цельсия с точностью +/-0.5 градуса. Каждый датчик DS18B20 имеет 64-битный уникальный номер (Serial number), вытравленный на корпусе датчика, что позволяет подключать огромное число подобных датчиков к одной шине данных. С помощью данного датчика можно измерять температуру воздуха, жидкостей и земли. В некоторых магазинах датчик продается в комплекте с резистором сопротивлением 4,7 кОм.

Особенности датчика DS18B20:

  • однопроводный интерфейс (1-Wire interface), что позволяет использовать для подключения датчика только один контакт микроконтроллера (в нашем случае платы Arduino Uno);
  • каждый датчик имеет 64-битный уникальный последовательный код (номер), хранящийся в ПЗУ (ROM) датчика;
  • способность подключения к одной шине множества датчиков позволяет создавать на его основе приложения для распределенного (в пространстве) измерения температуры;
  • не требует никаких внешних компонентов;
  • может быть запитан от линии данных;
  • поддерживает напряжение питания от 3.0V до 5.5V;
  • способен измерять температуру в диапазоне от –55°C до +125°C (–67°F до +257°F) с точностью ±0.5°C (в диапазоне от –10°C до +85°C);
  • можно выбрать разрешающую способность (разрешение) датчика: от 9 до 12 бит;
  • преобразует значение температуры в 12-битное цифровое слово длительностью 750 мс (max.);
  • можно настраивать энергонезависимую (nonvolatile, NV) сигнализацию (сигнал тревоги);
  • опции сигнала тревоги позволяют идентифицировать и определить адрес датчика, чья температура не соответствует запрограммированным границам;
  • может применяться в устройствах термоконтроля, промышленных системах, потребительских продуктах, термометрах и в любых других системах, где требуется измерение температуры.

Более подробную информацию о принципах работы датчика DS18B20 вы можете посмотреть в следующей статье на нашем сайте.

Замена датчика

Чтобы начать ремонт датчика охлаждающей жидкости, нужно определить его расположение. Чаще всего он установлен возле термостата или радиатора, в некоторых случаях бортовой компьютер использует показания с обоих датчиков или одного из них, в зависимости от марки авто и его модели. Например, так датчик расположен в Рено, Шевроле, Ситроен, Шкода, Чери, КИА, Субару Импреза.

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

Фото — датчик температуры на приборной панели

Зависимо от года выпуска машины, а также её марки, многие автолюбители отмечают возрастание затрат топлива у двигателя. Но при этом нужно понимать, что дизель так не определишь (УАЗ, ПАЗ и прочие). Если у Вас механика, а не компьютерная система управления, то вот сигналы того, что нужно купить новый датчик температуры охлаждающей жидкости:

  1. Автомобиль стал потреблять топлива больше, чем обычно;
  2. Когда машина заводится, и двигатель достигает своей максимальной температуры, он глохнет;
  3. Появились проблемы с запуском;
  4. Из трубы глушителя выходит черный дым.

Рассмотрим, как осуществляется замена датчика температуры охлаждающей жидкости типа G62 на автомобиле Kia Sportage с двигателем объемом 2 литра. Аналогичная инструкция также пригодится при ремонте Acura, BMW, Buick, Chevrolet, Ford, Toyota, Volkswagen, Ваз 2110/2112 инжектор, Рено Гранд Сценик и прочих.

  1. Чтобы добраться к датчику, Вам нужно снять воздуховод, который охлаждает корпус воздушного фильтра и присоединяется к радиатору при помощи двух болтовых соединений и шланга подачи воздуха. Открутите болты и снимите хомут, аккуратно достаньте всю систему. Отключите от датчика электрические провода, чтобы корректно провести замеры сопротивления. Установите мультиметр на режим омметра и задайте значение в 1000 Ом. Подключите контакты устройства к положительному и отрицательному контактам. Нормальное сопротивление должно быть в пределах 2700 Ом при выключенном моторе. Для проверки датчика при включенном движке, нужно убрать тестер подальше от вращающихся частей авто;

    Фото — проверка датчика мультиметром

  2. Убедившись, что датчику температуры необходим ремонт, нужно отсоединить его от двигателя. Чтобы продолжить снятие, Вы должны предварительно слить антифризную жидкость из радиатора при помощи сливного клапана. После проверить еще раз радиатор и контакты датчика и открутить регулирующий болт как на фото;

    Фото — снятие датчика

  3. Сборка производится в обратной форме. Нужно помнить, что практически основная характеристика датчика температуры охлаждающей жидкости – это материал шайбы. Если шайба медная, то резьбу сигнализатора не нужно обрабатывать герметиком, в противном случае обязательно смажьте устройство.

    Фото — медный температурный датчик

Совет от автолюбителей на форумах: если по какой-то причине Вы не можете сразу при поломке понять датчик температуры охлаждающей жидкости, то вместо него можно подключить дополнительный (такое подключение может по показателям температуры немного отличаться от основного).

Проверка датчика температуры является несложной процедурой, с которой может справиться даже начинающий автолюбитель. Датчик температуры охлаждающей жидкости (сокращенно — ДТОЖ) представляет собой термистор, то есть, резистор, изменяющий значение своего внутреннего сопротивления в соответствии с температурой, куда помещен его исполнительный элемент. Чаще всего для этого используют мультиметр (другое название — тестер, «цэшка»), который в состоянии измерять значение электрического сопротивления в цепи.

Выводы

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

За дополнительные возможности приходится платить относительной сложностью работы с датчиком. Для подключения DS18B20 нам обязательно понадобится резистор с номиналом около 5К. Для работы с датчиком в скетчах ардуино нужно установить дополнительную библиотеку и получить определенные навыки для работы с ней – там все не совсем тривиально. Впрочем, можно купить уже готовый модуль, а для скетча в большинстве случаев хватит простых примеров, приведенных в этой статье.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector