Меню

Arduino подключение датчика температуры dht11

Урок 9 — Подключаем датчик температуры и влажности DHT11 к Arduino

Датчик температуры и влажности DHT11 очень распространен в Ардуино проектах. Например в умных домах. Даже не смотря на характеристики:

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

Как видим датчик DHT11 не очень точный. Но он достаточна дешевый. И для измерение в бытовых помещениях подходит.

Датчик может быть в виде модуля и у него всего 3 ноги для подключения. Как в моем случае.

Так и самостоятельный датчик. С 4 ногами. Схема подключения для него будет вот такая.

Мы рассмотрим подключения модуля. Подключение отличается не очень сильно.

Схема подключения DHT11 к Arduino NANO

Схема подключения DHT11 к Arduino UNO

Программа для обоих вариантов будет одинаковая.

Для подключения датчика DHT11 к Arduino потребуется библиотека DHT. Скачать можно здесь.

Для работы нежно установить еще и Adafruit_Sensor.

После установки библиотек выбираем пример в Arduino IDE для этого преходим (Файл -> Примеры -> DHT sensor -> DHTtester).

Или копируйте вот этот код. Это то же пример из библиотеки.

После загрузки кода в плату откроем монитор порта.

Данные температуры и влажности выводятся в виде строки с интервалом 2 сек.

Также выводится температура в Фаренгейтах и тепловой индекс.

Больше фото урока Подключаем датчик температуры и влажности DHT11 к Arduino. Смотрите тут.

Подписывайтесь на мой канал на Youtube и вступайте в группы в Вконтакте и Facebook.

Спасибо за внимание!

Понравилась статья? Поделитесь ею с друзьями:

Источник

Как использовать модуль DHT11 с Ардуино

В этом уроке мы с вами научимся использовать модуль температуры и влажности DHT11 вместе с микроконтроллером Arduino Uno.

Вы когда-нибудь хотели знать температуру и влажность вокруг себя? Если да, этот проект будет очень полезным для вас. Если нет, все равно это поможет вам глубже окунуться в микроконтроллеры и Ардуино. Но самое интересно в то, что вы сможете использовать эти знания во всем: от домашних автоматических систем до умных часов, домов и т.п.

Комплектующие

Детали, используемые в этом проекте ниже.

Аппаратные компоненты

  • Arduino Uno & Genuino Uno × 1
  • Датчик температуры и влажности DHT11 (3 контакта) × 1
  • Датчик температуры и влажности DHT11 (4 контакта) × 1
  • Датчик температуры DHT22 (вы можете использовать DHT11 с тремя контактами, DHT11 с 4 контактами или DHT22) × 1
  • Макет (на выбор) × 1
  • Провода перемычки (на выбор) × 1

Программное обеспечение

Arduino IDE или веб-редактор Arduino, который вы найдете на официальном сайте arduino.cc.

Что такое влажность?

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

Если это 100%, то это означает, что датчик неисправен, датчик сломан или поврежден, Arduino разбился, Arduino не может получить никакого сигнала, в коде есть ошибка или вы находитесь под водой. Если это 0%, это означает все причины, перечисленные ранее, за исключением последнего, вы находитесь в космосе или находитесь в центре пустыни.

Схема соединения

Датчик DHT11 имеет 3 контакта, и он устанавливается на плату. Если у вас 4 контакта, вам необходимо эту схему соединения с датчиком:

Если ваш датчик такой же, как у нас, то просто проигнорируйте резистор.

Код проекта

Вы должны следовать этим шагам, чтобы заставить всё работать:

  1. Вам нужно добавить библиотеку модуля влажности и температуры в среду разработки Arduino.
  2. Загрузить код.
  3. Когда код загружен, открыть последовательный монитор и установить скорость передачи в бодах до 9600.
  4. Увидеть влажность и температуру.

Сначала по инструкции скачиваем и устанавливаем библиотеку для модуля, которую мы можем скачать с GitHub (подробнее о библиотеке DHT смотрите на нашем сайте здесь), после чего мы подключаем её в самом начале скетча.

Читайте также:  После замены датчика лямбда зонд горит чек

На этом наш урок в котором мы подключили модуль влажности и температуры DHT11 к Ардуино Уно завершен. Далее вы можете усложнять свои проекты, основываясь на полученных знаниях.

Источник

Выводим температуру и влажность помещения на LCD I2C дисплей. Подключение датчика DHT11 к Arduino UNO

Я продолжаю свое увлечение электроникой. Буквально вчера пришла посылка с моим набором для изучения Arduino UNO — конечно же сразу захотелось что-нибудь собрать.

Немного поигравшись с мигающими светодиодами, я решил протестировать остальное содержимое набора. Выбор пал на ЖК-дисплей и датчик температуры и влажности DHT11.

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

Хочу отметить, что я не писал весь код с нуля — часть взята из тестовых файлов входящих в состав библиотек, часть — из найденных статей, что-то переделал я сам. В общем, это некая компиляция, приведенная к работающему состоянию.

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

Ниже я подробно расскажу как повторить данную конструкцию (если кому-то захочется) и приведу текст скетча для Arduino IDE.

На картинке приведен вид спереди и сзади. Как можно увидеть, мой экземпляр снабжен интерфейсом I2C (маленькая платка на задней стороне). Данный интерфейс очень упрощает подключение дисплея к Arduino — нужно использовать всего 4 контакта:

GRD — минус питания («земля»)
VCC — питание +5V
SDA — линия данных
SLC — линия синхронизации

Без I2C подключение LCD дисплея осуществляется несколько сложнее.

Датчик DH11 так же имеет 4 контакта, при этом один из них вообще не используется. Мой дачик уже расположен на платке, на которой сразу установлен дополнительный резистор (который требуется для нормальной работы датчика) и выведено 3 ножки:

Левая подписана как S — с нее поступает сигнал, правая — «-», ну а средняя получается «+» на нее подается питание.

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

  • S на A0
  • + на +5V
  • — на GND
  • SDA на A4
  • SLC на A5
  • VCC на +5V (на Arduino UNO такой pin всего один и там уже обосновался провод питания идущий от датчика, поэтому лучше соединить VCC дисплея с «+» датчика (например джампером) или использовать для одного из устройств внешнее питание)
  • GND на GND Arduino («земли» на UNO как раз две, так что тут никаких проблем)

Сборка на этом закончена, осталось прошить микроконтроллер.
Вот код скетча:

В данном коде используются библиотеки DHT и LiquidCrystal_I2C, которые не входят в стандартный пакет Arduino IDE. В сети множество разных библиотек с такими же названиями. И несмотря на их схожесть, не со всеми версиями данный код работает. Чтобы вам не тратить свое время и нервы на поиск рабочего варианта, я прикладываю к данной статье архив, в котором содержатся данные библиотеки и сам скетч для Arduino IDE. Библиотеки надо разархивировать и поместить в папку C:\Program Files (x86)\Arduino\libraries после чего перезапустить программу Arduino IDE.

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

Читайте также:  Датчик кислорода ваз 2110 8 клапанов где находится инжектор

Быстрые результаты в любом деле это не цель, а всего лишь мотивация, которая должна подталкивать вас копать глубже. Помните об этом! =)

Источник

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

Ардуино датчик влажности и температуры DHT11 является одним из самых популярных для проектов мониторинга погоды.

О датчике

DHT11 – датчик влажности и температуры, который генерирует откалиброванный цифровой выход и может быть интерфейсом для любого микроконтроллера, такого как Arduino и Raspberry Pi, и получать мгновенные результаты.

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

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

Виды датчиков

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

Рассмотрим основные виды приборов, построенных на рассматриваемой платформе:

  1. Вращательный: в основном, резистор, подключенный к потенциометру и трехконтактному разъему, который позволяет подключать аналоговый выход и подавать его VCC и GND. Часто используется для определения положения двигателя, как сервомотора, так и шагового, постоянного тока и других. По-другому можно назвать – Ардуино датчик тока или Аrduino датчик движения.
  2. Звуковой: оснащен микрофоном, операционным усилителем LM386 и потенциометром, позволяющим захватывать любой звук вокруг него и превращать его в аналоговый сигнал с 0V до VCC, который может быть преобразован в сигнал Аrduino от 0 до 1024 в резолюции ADC. Существуют различные приложения для такого типа, которые относятся к аудиозахвату. Также существует ультразвуковой датчик Ардуино.
  3. Обнаружитель дыма: используется в системах обнаружения пожара, является прибором, который выявляет дым и газ, может быть откалиброван с помощью потенциометра, а выходной сигнал подключается к аналоговому входному модулю. Эти Ардуино-датчики имеют, помимо прочего, варианты MQ-2, MQ-3, MQ4 и дифференцируются по типу обнаруженного вещества, метана, спирта, пропана и другие.
  4. Детонация: предназначен для обнаружения сбоев или известен, как перкуссионный. Передает цифровой сигнал, когда обнаруживает изменение. Может быть подключен к цифровому входу на плате разработки Arduino и обнаруживать сигнал, который генерируется при наличии какого-либо удара.
  5. Ардуино-датчик температуры: предназначается для измерения состояния окружающей среды. К таким можно отнести Аrduino dsl8b20.

Распиновка и принципиальная схема подключения

Распиновка у датчиков данного типа довольно простая. Независимо от того сколько выводов у вашего сенсора — рабочих выводов всего 3:

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

Устройство датчиков и схема подключения к Ардуино

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

DHT11 состоит из 3 основных компонентов. Датчик влажности резистивного типа, термистор NTC и 8-разрядный микроконтроллер, который преобразует аналоговые сигналы и отправляет одиночный цифровой сигнал.

Схема подключения DHT11 к Ардуино

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

DHT11 состоит из 4 контактов: VCC, Data Out, Not Connected (NC) и GND. Диапазон напряжения для вывода VCC составляет от 3,5 до 5,5 В. Питание 5 В будет достаточно. Данные на выводе Data Out являются последовательными цифровыми данными.

DHT11 может измерять значение влажности в диапазоне 20-90 % относительной влажности (RH) и температуру в диапазоне 0-50 0 С. Период выборки составляет 1 секунду.

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

Кроме того, длина кабеля может достигать 20 метров. Данные состоят из целочисленных и десятичных частей, как для относительной влажности (RH), так и для температуры.

Читайте также:  Датчики охлаждающей жидкости двигатель приора

Данные от DHT11 и Ардуино датчиков движения состоят из 40 бит, и формат выглядит следующим образом:

8 бит данных для интегрального значения RH, 8 бит данных для десятичного значения RH, 8 бит данных для интегральных значений, 8 бит данных для интегрального значения температуры и 8 бит данных для контрольной суммы.

Скетч для работы с датчиком

Давайте посмотрим теперь на код благодаря которому сенсор будет взаимодействовать с нашей платой (схема подключения выше):

Код получился таким небольшим, т.к. мы в самом начале задействовали библиотеку для сенсора. Скачать библиотеку можно по ссылке или на этой странице в разделе «Библиотеки».

Arduino DHT11 – относительно дешевый прибор для измерения температуры и влажности. DHT22 похож на DHT11 и имеет большую точность. Однако эта библиотека не подходит для DHT21 или DHT22, поскольку они имеют другой формат данных.

Проверьте DHTlib на поддержку этих датчиков. Эта библиотека протестирована на MEGA2560 и подтверждена работой на Arduino 2009. Niesteszeck создал библиотеку DHT11, управляемую прерываниями. Энди Дальтон сделал модифицированную версию. Разница в том, что DATAPIN определен в конструкторе, в результате чего полагается один выделенный объект на приспособление.

С помощью одножильного приспособления DS18B20 мы можем измерять температуру от -55 ℃ до 125 ℃ с точностью ± 5.

В итоге мы должны на выходе увидеть вот такие данные:

Получение данных

Рассмотрим данные, полученные от DHT11.

00100101 00000000 00011001 00000000 00111110.

Эти данные можно разделить на основе указанной выше структуры следующим образом:

Чтобы проверить правильность полученных данных, нам нужно выполнить небольшой расчет. Добавьте все значения интегральных и десятичных значений RH и температуры и проверьте, равна ли сумма величине контрольной суммы, т. е. последним 8-битным данным:

00100101 + 00000000 + 00011001 + 00000000 = 00111110

Это значение совпадает с контрольной суммой и, следовательно, полученные данные действительны. Теперь, чтобы получить значения RH и температуры, просто преобразуйте двоичные данные в десятичные данные:

  • RH = Десятичное значение 00100101 = 37%
  • Температура = Десятичное значение 00011001 = 25 0 C

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

Дополнительные сенсоры

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

  1. Датчик температуры + влажности. Вы можете использовать этот совместимый с Arduino гаджет для контроля температуры окружающей среды или влажности. В качестве основного проекта вы можете подключить ЖК-дисплей к Arduino и отображать температуру в помещении/влажность.
  2. Датчик инфракрасного излучения, также называемый «инфракрасным излучающим диодом». Он работает с 38KHz модулирующим сигналом. Можно использовать для отправки кода в другой Arduino или для управления телевизором.
  3. Фоторезистор. Сопротивление компонента будет варьироваться в зависимости от интенсивности света, которому он подвергается. Является резистором, сопротивление которого падает, когда свет попадает на него.
  4. Ультразвуковой прибор расстояния автоматически отправляет аудиосигнал 40 кГц и определяет, есть ли импульсный сигнал назад. Он посылает сигнал, и если он получает обратно, то вычисляет пройденное расстояние, таким образом, расстояние от приспособления до объекта перед ним. Он может ощущать объект в диапазоне: 2 см

500 см.

  • Датчик детонации. Проще говоря, это переключатель, который включается, когда он обнаруживает стук. Существует светодиод, который также дает визуальный сигнал состояния, высокий или низкий.
  • Звуковой будет обнаруживать окружающий звук. Это лучше всего использовать для таких проектов, как голосовые чейнджеры.
  • Обнаружение напряжения (выше/ниже). Определяет уровень напряжения любого поставщика постоянного тока, до 25 вольт. Критические точки перенапряжения/пониженного напряжения могут быть отрегулированы.
  • Определитель влажности и температуры. Arduino датчик влажности почвы помогает определить условия для комфортного существования комнатных и тепличных растений.
  • В целом, для каждого радиолюбителя есть огромный выбор для создания устройств разного назначения. О многих мы писали ранее, но о многих нам еще предстоит поговорить.

    Источник

    Adblock
    detector