Arduino dht22 народный мониторинг

DHT22 подключение к Arduino

Пошаговая инструкция по подключению датчик температуры и влажности DHT22 к Arduino и получению данных с этого датчика.

Для начала ознакомимся с параметрами датчика:

На датчике есть 3 вывода для подключения его к внешним устройствам.

Подключение DHT22 к Arduino

Если у вас датчик без переходной платы, то выводы маркируются так:

В результате должно получиться что-то подобное:

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

dht.rar (2,9 KiB, 9 889 hits)

Скачайте архив и распакуйте его содержимое в \arduino-1.xx\libraries\

Проверочный скетч для работы с DHT22

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

#define DHTPIN 2
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() <
Serial.begin(9600);
Serial.println(«DHTxx test!»);

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 см) с белыми, отражающими свет перфорированными или жалюзийными стенками, а также солнцеводозащитным козырьком (крышка будки должна быть герметичной и иметь наклон для стекания осадков с будки).

Похожие записи

Комментариев: 31

нужно контролировать температуру и влажность в двух местах с помощью одной Mega2560

ну и выложи скетч и объясни как..

Здравствуйте! Вкраце плата мега 2560 датчик DHT11 и резистор 10 КоМ показывает влажность 1770 температура 742, скетч ваш. Подскажите куда копать или это датчик бракованный.

Возможно, что датчик все-таки вышел из строя. Я когда свой перепаивал, то спалил. Уж очень они боятся перегрева.

Датчик не паял, он с переходной платой с 3 выводами, пишет humidity 1770.00 %, делал все через монтажную плату.

DHT11 выдаёт только целые значения влажности и температуры. Вариант 17,70 отпадает. Обратите внимание что объявить надо DHT11 а не DHT22.

Не удержался.
Получил посылку из Китая с датчиками DHT11. Встала задача быстро проверить. В наличие есть Arduino Mega2560. Задал поисковый запрос Яндексу. Попал на ваш сайт. Прочитал статью.
Извините за прямоту, но очередная дебильная статья. Не потому, что неправильная, а потому, что недоделанная! Увы, таких авторов большинство. Вы для кого пишите? Новичков или профи?
Если для новичков, то здорово, что есть фотки. НО!
1)Ардуин есть куча. Ваша статья только для Mega2560 или для других тоже подходит?
2)»необходимо установить дополнительную библиотеку DHT.» Вы думаете новички понимают вашу умную терминологию? Я написал бы так: Что бы «рассказать» Ардуино как общаться с датчиком DHT11 надо установить «объяснялку» (называется «библиотека»). И далее как у вас.
3)Ну почему надо везде лепить слово «скетч»? Где Вы даете определение этого понятия?
4)»Теперь загрузим тестовый скетч». Загрузим КУДА? В блокнот, ворд? Я написал бы: Скопируем приведенную ниже текст программы для Ардуино (скетч) в предварительно запущенную на компьютере специальную программу для работы с Ардуино (Arduino IDE).
5) Где вы указываете на необходимость компиляции?
6) Где вы указываете на необходимость заливки в Ардуино?
7)А где должен отобразиться результат работы программы вообще не указываете! Я предполагаю, что у вас картинка гипертерминала?
8)А почему используется вывод 2 Ардуино? А не 3,4,5.
9)Почему +5вольт, а не +3.3? Теперь в интернете много «граматеев», которые пишут просто бред. Стрёмно подавать повышеное питание, когда есть рядом пониженное.
10)Если мои предположения верны, что на картинке гипертерминал виндовс, то его надо настраивать! Где настройки?
11)Почему COM36?
Коль беретесь писать для новичков, так потрудитесь подавайть информацию полностью! Это добавит всего-то пяток «лишних» предложений, а «картина» будет понятной!

Собирал когда-то на двух датчиках давления и высоты. Только не помню это последний скеч и ли нет, но должен работать может кому понадобится. Сильно не критикуйте это первые шаги.

#include «DHT.h»
#include
#include
#include

#define DHTPIN 2 //пин для датчика DNT22
#define DHTTYPE DHT22

BMP085 dps = BMP085();
LiquidCrystal lcd(11, 10, 9, 8, 7, 6);//распиновка экрана
long Temperature = 0, Pressure = 0;
DHT dht(DHTPIN, DHTTYPE);
float h;
float t;

Читайте также:  Как обезболить боль в суставах народными средствами

void setup() <
Serial.begin(9600);
Serial.println(«DHT22 test!»);
dht.begin();
lcd.begin(16, 2);
lcd.clear();
Wire.begin();
dps.init(MODE_STANDARD, 0, true);
//dps.init();
delay(1000);
>
void pr () <
lcd.setCursor(0, 0);
lcd.print(Pressure/133.3);
lcd.print(«mm»);
lcd.setCursor(10, 0);
lcd.print(Temperature*0.1);
lcd.print(«C «);

lcd.setCursor(0, 1);
lcd.print(h);
lcd.print(«%»);
lcd.setCursor(10, 1);
lcd.print(t);
lcd.print(«C «);
>

h = dht.readHumidity(); // Назначаем переменную для датчика DNT22
t = dht.readTemperature();// Назначаем переменную для датчика DNT22

// if (isnan(t) || isnan(h)) <
// Serial.println(«Failed to read from DHT»);
// >
// else <

Да и для систем слежения за температурой не пойдет, только как метеостанция. При ошибке опроса датчика, температура зависает, нужно перезагрузка. Конечно можно дописать но у меня нет датчиков для проверки.

Очень грубо, дорогой. Статья норм. Да, не всё пояснено.
Но ты неправ 123ksn. Ардуино это не конструктор для детей. Не понял? Сиди, ищи, разбирайся, изучай. А не гони на других.

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

Источник

Обзор датчика температуры и влажности DHT22

Автор: Сергей · Опубликовано 27.12.2016 · Обновлено 13.04.2020

DHT-22 (также называемый AM2302) представляет собой датчик влажности и температуры с цифровым выходом, для измерения используется емкостной датчик влажности и термистор, все показания передаются по цифровой информационной шине.

Технические параметры

Общие сведения

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

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

Для подключения, снизу выведены четыре контакты, шагом 2.54 мм, третий не используется, назначение каждого контакт можно посмотреть на рисунке ниже

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

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Провод DuPont x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
► Датчика температуры и влажности DHT22 x 1 шт.
► Резистор 10 кОм x 1 шт.
► Макетная плата MB-102 (Breadboard) x 1 шт.

Подключение:
В примере все подключение буду осуществлять через макетную плату и провода DuPont, собираем все по схеме

Источник

Метеостанция на Arduino от А до Я. Часть 1

«Так, давайте сразу договоримся: вы не собираетесь снимать кино для Голливуда. Даже в Стране чудес утверждается не более пяти процентов от всех сценариев, и только один процент идет затем в производство… Таким образом, вместо всего этого вы собираетесь создать свой собственный Голливуд.»
Эд Гаскель «Снимаем цифровое кино, или Голливуд на дому»

Предисловие

Что, ещё одна погодная станция на Arduino?! Да, ещё одна и, что-то мне подсказывает, не последняя в интернете вещей.

Точно также, как каждый программист обязан написать программу «Hello World!», так и каждый ардуинщик обязан иметь за плечами опыт построения простой или не очень метеостанции.
Уже созданных проектов метеостанций в интернете описано немалое количество, читатель может выбрать любой из них для реализации. Не скрою, я внимательно изучил около десятка подобных проектов и ещё кучу смежных. Поэтому нельзя сказать, что я создал всё с нуля, конечно же я «стоял на плечах гигантов».

Сразу скажу, что в мои планы не входило использование сторонних сервисов для хранения и отображения данных. Хотелось лично пощупать и понять как всё это работает изнутри от начала до конца, от А до Я.

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

Автор проведет вас по запутанным лабиринтам современных технологий интернета вещей. Причём глазами новичка, так как сам им является.

Этот проект был реализован в далеком уже 2016 году, но надеюсь еще актуален.

Набор технологий

Мы изучим и будем работать с простыми и сложными вещами :

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

Читайте также:  Веселые ножки русская народная мелодия ноты

Но начнем мы с самого начала правильно. А именно с описания и проектирования будущего устройства «на бумаге», чтобы в конце концов каждый кирпичик лёг на своё место.

Прототипирование

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

Но это в промышленности, где работники заняты полный рабочий день.

Каждый, кто клепает по вечерам свои поделки pet-project для «internet of things», должен отдавать себе отчёт в том, что он создаёт именно прототип, полуфабрикат. До уровня нормального промышленного изделия ему очень далеко. Поэтому не следует поручать нашим любительским поделкам какие-либо ответственные участки жизнеобеспечения и надеяться, что они нас не подведут.

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

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

Конечно, электронщикам тяжко придется на этапе программирования, а программистам придется попотеть над схемотехникой, но автор постарается изложить всё максимально доступно и ясно описать, почему были использованы те или иные решения.

Требования

Обычно этот этап пропускают. Решая сделать что-нибудь эдакое прямо сейчас, а потом выясняются мелкие детали, которые ставят весь проект в тупик или вовсе делают его неподъемным. Все наши хотелки необходимо записывать, я использую для этого гугл диск, он доступен с ПК и с мобильного устройства.

Итак, наша метеостанция должна:

Датчики используются самые простые и дешевые. Например, забегая наперед скажу, что температуру DHT22 измеряет достаточно точно, а вот с влажностью немного неточен. Но, опять таки повторюсь, это не имеет значения, поскольку перед нами — прототип, и разброс в 5% влажности ни на что важное в нашей жизни не повлияет.

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

Железо. Выбор компонентов

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

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

Замкнутый круг? Но замкнутые круги для того и существуют, чтобы их разрывать.

Выход есть. Можно просто взять и повторить чей-то проект. Я же изучил уже существующие проекты метеостанций и надеюсь сделал шаг вперед.

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

Сразу стало ясно, что в составе метеостанции будет удаленый, заоконный датчик и центральный модуль.

Центральный, основной блок будет расположен внутри помещения. Это важно определить на начальном этапе, от этого «пляшут» такие важные характеристики как температурный режим работы и питание.

Удаленный датчик (или датчики) будет без «мозгов», его задача — периодически проводить измерения и передавать данные на центральный домашний блок. Центральный блок принимает данные от всех датчиков, показывает их на экране и отправляет их же в интернет в базу данных. Ну, а там уже много проще, как только данные оказываются в базе с ними можно делать всё что захочешь, даже графики рисовать.

Для сношений с внешним миром интернет был однозначно выбран WiFi модуль ESP8266 практически без альтернативы (прим. возможно сейчас такие альтернативы появились). К Arduino выпускаются Ethernet платы расширения, но совсем не хотелось привязываться к кабелю.

Интересный вопрос состоял в том, чем обеспечивать связь между заоконным датчиком (или датчиками, про требование расширяемости системы помним?) и центром. Радиомаячки на 433 Мгц однозначно не подходят (они не подходят ни для чего вообще).

Минусы такого решения:

необходим устойчивый WiFi за пределами дома

дальность связи не будет большой

пострадает надежность, при пропадании интернета мы не увидим свои удаленные датчики

при передаче 120—170 mA

при приеме 50—56 mA

в режиме Deep Sleep 10 µA (мкА)

Читайте также:  Коррозия шейки матки лечение народными средствами

в выключенном состоянии 5 µA (мкА).

В конце концов для связи удаленных датчиков с основным домашним блоком был выбран чип nRF24L01+ с 2,4 Ггц передатчиком и приемником в одном флаконе, с дополнительной внешней антенной, чтоб уж наверняка «пробить» стены.

Энергопотребление nRF24L01+ 2,4 GHz :

Ядро системы вырисовалось. Переходим к самим датчикам.

На улице, как известно, температура может достигать отрицательных значений, поэтому датчик DHT11 не подходит, а вот DHT22 в самый раз.

Характеристики DHT22 / AM2302 :

Внутри дома, я надеюсь, отрицательных температур не будет, поэтому можно использовать DHT11, тем более, что он у меня уже был.

Теперь возвращаемся опять к Arduino. Какую плату выбрать?

Я тестировал отдельные части системы на Arduino UNO. Т.е. подключал к уно ESP модуль и изучал его, отключал, затем подключал nRF24 и т.д. Для финальной реализации заоконного датчика выбрал Arduino Pro Mini как наиболее близкую к Uno из миниатюрных.

По энергопотреблению Arduino Pro Mini также выглядит неплохо:

Для продвинутого сбережения энергии планировалось:

Из библиотек выбрал Low Power Library, она проста и содержит только то, что нужно.

Для центрального блока, поскольку к нему планировалось подключить многочисленную периферию, была выбрана плата Arduino Mega. К тому же она полностью совместима с UNO и имеет больше памяти. Забегая наперед скажу, что этот выбор полностью оправдался.

Питание и энергопотребление

Теперь про питание и энергопотребление.

Arduino Pro Mini бывают двух видов:

Поскольку радио-модуль nRF24L01+ требует для питания 3,3 В, а быстродействие здесь не важно, то покупайте Arduino Pro Mini на 8MHz и 3,3В.

При этом диапазон питающего напряжения Arduino Pro Mini составляет:

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

Поэтому Arduino Pro Mini и радиомодуль nRF24 будут запитываться от связки 4-х Ni-Mh аккумуляторов.

И помните, максимальная емкость современного аккумулятора примерно 2500—2700mAh, всё что больше это либо маркетинговые уловки (Ansmann 2850) либо обман (UltraFire 3500).

Li-Ion аккумуляторы я не использую по нескольким причинам:

Для прототипа вполне можно обойтись качественными Ni-MH AA или AAA аккумуляторами. Тем более, что нам не нужны большие токи. Единственный минус Ni-MH аккумуляторов — это их долгая зарядка.

Общая схема метеостанции

Подведем итоги. Вот общая схема как всё работает.

Ой, у вас баннер убежал!

Читают сейчас

Редакторский дайджест

Присылаем лучшие статьи раз в месяц

Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.

Похожие публикации

Снова о автономной Arduino-метеостанции на батарейках

Цифровой бармен. Arduino проект для совершеннолетних начинающих электронщиков. Часть 1

Стопроцентная Handmade электроника для начинающих

Курсы

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Минуточку внимания

Комментарии 33

Как-нибудь решали проблему того, что датчики DHT-** со временем довольно быстро покрываются пылью и начинают передавать неверные показания?

>Arduino Pro Mini бывают двух видов:
>
> на напряжение питания 5В и частоту 15МГц
> на напряжение питания 3,3В и частоту 8МГц.

На напряжение питания 5В и частоту 16МГц

Есть т.н. ардуино wifi. По сути, esp распаянная под ардуину.
А вот зачем на улице целую ардуино нано. Мне кажется, проще взять ту же attiny 85, подключить датчик и

А вот зачем на улице целую ардуино нано. Мне кажется, проще взять ту же attiny 85, подключить датчик и

Это да. резонный довод.
Когда я делал свой первый вариант метеостанции на ардуине, то остановился именно на таком варианте — attiny+NRF24. Только с DHT-22 как-то не срослось, работал через раз. В результате использовал другой — SHT30.
Правда дальше экспериментов дело не зашло.
Для начала в горсти NRF24, которыми я разжился (два или три варианта), было большое количество плохих модулей, от откровенно нерабочих до просто глючащих. Пока перебрал все и не выбрал два стабильно работающих, намучился.
А потом попался в руки внешний датчик от метеостанции Oregon Scientific и описание, как его использовать при помощи простого радиоприемника на 433 МГц, что прекратило все эксперименты с самопальным внешним датчиком.

При этом диапазон питающего напряжения Arduino Pro Mini составляет:

•3,35-12 В для модели 3,3 В
•5-12 В для модели 5 В.

Мой велосипед откатал уже больше года — полёт нормальный, сам блок с ESP просто лежит на подоконнике на балконе даже без корпуса, на улице только датчики на проводе…

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

Единственный минус Ni-MH аккумуляторов — это их долгая зарядка.

Слова «ньюанс» не существует. Про 15МГц уже написали.

Источник

Поделиться с друзьями
Расскажем обо всем понемногу
Adblock
detector