| Ваш IP: 54.224.247.42 | Online(25) - гости: 16, боты: 9 | Загрузка сервера: 1.82 ::::::::::::

DHT11 (Arduino)

На данной странице будет рассмотрено подключение и вывод информации в монитор порта модуля цифрового датчика температуры и влажности DHT11. Датчик DHT11 смонтирован на плате где установлен подтягивающий резистор и светодиод (индикатор питания). Напряжение питания датчика может быть в диапазоне от 3,5 до 5 В, измерение температуры проводится в интервале от 0 до 50 ºС, а влажности от 20 до 95 %. Погрешность при измерении температуры может достигать 2 ºС, а влажности до 5 %.

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

Подключение модуля с датчиком  DHT11 достаточно простое, VCC +5 В, GND и вывод данных DATA подключаем к цифровому входу Arduino.

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

Индекс жары — температура, ощущаемая человеком в зависимости от влажности окружающего воздуха.

#include <DHT.h> 
DHT dht(2, DHT11); // выход DAT подключен к цыфровому входу 2
 
void setup() { 
  dht.begin(); 
  Serial.begin(9600);
}
 
void loop() {
  // считываем температуру (t), влажность (h) и индекс жары
  byte h = dht.readHumidity();// влажность
  byte t = dht.readTemperature();// температура
  float hic = dht.computeHeatIndex(t, h, false);// индекс жары в гр.Цельсия
  // выводим данные на монитор порта
 
  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %  ");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" C  ");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.println(" C ");
 
  delay(1000);
}

Для вывода показаний температуры, влажности и индекса жары на LCD 1602 можно использовать следующий скетч:

#include <DHT.h> 
#include <LiquidCrystal.h>
DHT dht(2, DHT11); // выход DAT подключен к цыфровому входу 2
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);// RS,E,D4,D5,D6,D7
 
void setup() { 
  dht.begin(); lcd.begin(16,2);// LCD 16X2
  Serial.begin(9600);
}
 
int x;
 
void loop() {
  // считываем температуру (t), влажность (h) и индекс жары
  byte h = dht.readHumidity();// влажность
  byte t = dht.readTemperature();// температура
  float hic = dht.computeHeatIndex(t, h, false);// индекс жары в гр.Цельсия
  // выводим данные на LCD
 lcd.setCursor(0,0);
 lcd.print("Temp   ");lcd.print(t);lcd.print(char(223));lcd.print("C  ");
 lcd.setCursor(0,1);
 if(x>=3 && x<10){ // выводить индекс жары каждые 3 секунды из 10
 lcd.print("Hum    ");lcd.print(h);lcd.print(" %         ");}
 else{lcd.print("Index  ");lcd.print(hic,1);lcd.print(char(223));lcd.print("C  ");}
 if(x==10){x=0;}
 delay(1000);
 x++;
}

Если добавить в схему цифровой датчик температуры 18b20 то получится простая погодная станция, датчик 18b20 выносится на улицу, а датчик DHT11 остается в комнате, на индикаторе 1602 отображаются температуры на улице и дома. Выход датчика 18b20 подключается к аналоговому входу А0, а выход датчика DHT11 к цифровому входу 2.

#include <DHT.h> 
#include <LiquidCrystal.h>
#include <OneWire.h>
#include <DallasTemperature.h>
DHT dht(2, DHT11); // выход DAT подключен к цыфровому входу 2
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);// RS,E,D4,D5,D6,D7
OneWire oneWire(A0);// вход для датчиков 18b20
DallasTemperature temp(&oneWire);
 
void setup() { 
  dht.begin();
  lcd.begin(16,2);// LCD 16X2
  temp.begin(); 
  temp.setResolution(10); // 10 бит 18b20
}
 
int x;
 
void loop() {
  // считываем температуру (t и temp), влажность (h) и индекс жары
  byte h = dht.readHumidity();// влажность
  byte t = dht.readTemperature();// температура
  temp.requestTemperatures();// опрос датчика 18b20
  float hic = dht.computeHeatIndex(t, h, false);// индекс жары в гр.Цельсия
  // выводим данные на LCD
 lcd.setCursor(0,0);
 lcd.print("Temp ");lcd.print(t);lcd.print(char(223));lcd.print("C  ");// термометр DHT11
 lcd.print(temp.getTempCByIndex(0),0);lcd.print(char(223));lcd.print("C ");// термометр 18b20
 
 lcd.setCursor(0,1);
 if(x>=3 && x<10){ // выводить индекс жары каждые 3 секунды из 10
 lcd.print("Hum    ");lcd.print(h);lcd.print(" %         ");} // влажность
 else{lcd.print("Index  ");lcd.print(hic,1);lcd.print(char(223));lcd.print("C  ");} // индекс жары
 
 if(x==10){x=0;}
 delay(1000);
 x++;
}

DHT.h

DallasTemperature.h

OneWire.h

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

Случайные статьи

  • Выключатель вентилятора принудительного охлаждения

    Когда температура поднимается выше вечернего температурного порога уст-во выключает нагрузку(вентилятор), а когда температура падает до нижнего температурного порога уст-во включает нагрузку. Вентилятор в данном уст-ве управляется с помощью температурного ключа VT1 VT2. Среднее температурное значение устанавливается резистором R4, это сопротивление изменяет напряжение на прямом входе компаратора. Напряжение на инверсном входе …Подробнее...
  • Стабилизаторы напряжения на основе ОУ

    Стабилизаторы напряжения на основе ОУ

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

    Эту схему удобно применять только в тех случаях когда необходима цифровая индикация со средней степенью точности, например в БП от 1 до 10 или 1…99В без десятичного разряда. В основе схемы лежит принцип сравнения величины измеряемого сигнала с линейно нарастающим напряжением и измерения времени нарастания этого напряжения до момента совпадения …Подробнее...
  • Трехканальный усилитель для автомобильной аудиосистемы

    Параметры усилителя: Суммарный диапазон воспроизводимых частот 12…20000Гц Максимальная выходная мощность СЧ-ВЧ каналов(Rн=2,7Ом, Uп=14В) 2*12Вт Максимальная выходная мощность НЧ канала(Rн=4Ом, Uп=14В) 24Вт Номинальная мощность СЧ-ВЧ каналов при КНИ 0,2% 2*8Вт Номинальная мощность НЧ канала при КНИ 0,2% 14Вт Максимальный ток потребления 8 А В данной схеме А1 — ВЧ-СЧ усилитель, а …Подробнее...
  • Чувствительный металлоискатель

    Большинство металлоискателей построены по схеме нулевых биений, это когда имеется 2-а генератора с постоянной и поисковой частотой, при этом частота поискового генератора зависит от индуктивности поисковой катушки. Повысить чувствительность металлоискателя построенного по такому методу можно если поднять опорную частоту примерно в 10 раз больше частоты поискового генератора. Используя такой метод …Подробнее...