| Ваш IP: 54.80.208.105 | Online(31) - гости: 19, боты: 12 | Загрузка сервера: 1.83 ::::::::::::

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

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

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

  • Металлоискатель для строительных работ

    Металлоискатель, описание котopoгo здесь приводится, обнаруживает водопроводную трубу под слоем стены толщиной до 150 мм,  канализационную трубу  до 250-300 мм, современную пятирублевую монету на глубине до 40 мм, электрический провод на глубине до 30 мм, В большинстве случаев, при проведении ремонтно-строительных работ такой чувствительности достаточно. Принципиальная схема металлоискателя показана на …Подробнее...
  • Полевой транзистор

    В полевом транзисторе управление рабочим током осуществляется не током во входной цепи, как в биполярном транзисторе, а воздействием на носители тока электрического поля. От суда и название транзистора «полевой» . Основой полевого транзистора с p-n переходом служит пластина кремния с электропроводностью типа р. Пластину прибора называют затвором. А область типа …Подробнее...
  • Усилитель мощности на TA8246H

    Усилитель мощности на TA8246H

    Микросхема предназначена для использования в качестве усилителя мощности в ТВ приемниках и в другой бытовой аудио аппаратуре. Микросхема имеет встроенную функцию MUTE, а так же защиту от перенапряжения и перегрева, микросхема обладает фиксированных коэффициентом усиления (34дБ) Усилитель мощности звуковой частоты на базе микросхемы TA8246H имеет следующие технические характеристики: Напряжение питания …Подробнее...
  • Стерео усилитель на TDA7268

    Стерео усилитель на TDA7268

    Усилитель звуковой частоты с фиксированным усилением на TDA7268 применяют в ТВ или радиоприемниках. Микросхема имеет тепловую защиту и защиту от КЗ выхода по переменному току. Усилитель на базе TDA7268 имеет следующие технические характеристики: Номинальное напряжение питания 12В Напряжение питания 4,5-18В Ток покоя 40мА Выходная мощность 2Вт при КНИ=10% Входное сопротивление …Подробнее...
  • Часы — реле времени

    Часы — реле времени

    Часы — реле времени позволяют включать и выключать реле в заданное время. Часы — реле времени выполнены на микроконтроллере PIC16F877A и индикаторе LCD WH1602D. Схема содержит минимальное кол-во элементов, в настройке не нуждается. Индикатор WH1602D состоит из двух рядов по 16 знаков в каждом, в первом ряду индикатора отображается текущее …Подробнее...