DHT 11



   

      DHT_11_sensor






   

Библиотека для чтения датчика DHT_11.

Датчик DHT 11 позволяет получать температуру окружающей среды как в положительную так и отрицательную, с точностью до десятых долей градуса. А так же измерять влажность окружающего воздуха, с точность до десятых долей %

Библиотека имеет всего один класс, один метод DHT_11_sensor(), который в качестве аргумента принимает номер цифрового пина, к которому подключен датчик. И три поля: температура temperature, влажность humidity и ошибки датчика errors_DHT_11. К которым можно обращаться после вызова метода класса.
 
    
     
   class DHT_11_sensor {
	public: 
	 	
   DHT_11_sensor(uint8_t);          //Прототип метода чтения датчика.
   float humidity;                  //Поле для хранения значения влажности.
   float temperature;               //Поле для хранения значения температуры.
   uint8_t errors_DHT_11;           //Поле для хранения ошибок датчика
                                    //биты ошибок
                                    //B00000001 нет данных от датчика
                                    //B00000010 ошибка контрольной суммы.
	                        
      }
    
  
  
   DHT_11_sensor::DHT_11_sensor(uint8_t Pin_DHT)  {

  errors_DHT_11=0;         //Сбрасываем счетчик ошибок.
  int16_t temp;            //Переменная для хранения временных данных.
  uint8_t data[5];         //Массив для записи значений из датчика.
  
 //Прижимаем линию DATA к земле на 1мс:                                              
  pinMode(Pin_DHT, OUTPUT); 
  digitalWrite(Pin_DHT, LOW); 
  delay(1);
  
//Переводим пин на прием данных.
  pinMode(Pin_DHT,INPUT);
  
//Прочитанные данные заносим в массив data     
//Отсчет начинаем с -1. Пропускаем стартовый импульс длинной 82  

    for(int8_t m=-1,n=0; m<40; m++)
           {n=pulseIn(Pin_DHT,HIGH,1000);
             if(n){data[m/8]<<=1; 
                data[m/8]+=n>50?1:0;}           
          else {errors_DHT_11=errors_DHT_11|0x01;}  
            };
       
      //Перерасчет температуры и влажности для занесения значений в поля класса. 
      temperature = data[2]>127 ? ((data[2]-128)*256)+data[3]*-0.1 : ((data[2]*256)+data[3])*0.1 ;     
      humidity=((data[0]*256)+data[1])*0.1 ;
   
   //Для подсчета контрольной суммы, суммируем 4 байта температуры и влажности в 2х байтную
   //переменную temp. После чего производим побитное сравнение "И"(&) с числом 255(0xff), 
   //в результате чего обнуляется старший байт переменной temp.
   
       temp=(data[0]+data[1]+data[2]+data[3])&0xff;
  
   //И только после этого сравниваем с битом контрольной суммы. Так как в исключительных случаях,
   //сумма первых четырех байт с данными может превысить размер 1 байта.
      if (temp!=data[4])
      {errors_DHT_11=errors_DHT_11|0x02;};  
 
}
  
   


Датчики DHT_11 в отличии от датчика DHT_22 обладают более высокой инетростью и выходят на значения дольше.
Например, влажность с 40% до 60% поднимается в течении 8-10мин. Дачик DHT_11 имеет более низкие колебания значений, что более предпочтительней при работе метеостанции или надобности считать среднюю температуру и влажность за период. Датчик желательно отколибровать с другими градусниками.




   Библиотека для чтения данных температуры и влажности из датчика DHT 11. Copyright (С) 4. 02. 2022г. Nord_Air.

  Эта программа является свободным ПО: вы можете распространять и/или модифицировать её согласно условиям Основной Общественной Лицензии GNU, опубликованной Организацией Свободного Программного Обеспечения, 3-ей версии Лицензии, либо любой последующей версией.




Скачать библиотеку DHT_11_sensor (zip)


   












       Функции


   1. Графические.

     Зависимость: UTFT

     Зависимость: UTFT

     Зависимость: UTFT

     Зависимость: UTFT

     Зависимость: UTFT

     Зависимость: UTFT, iarduino_RTC


  2. Отдельные графические элементы.

     Зависимость: UTFT

     Зависимость: UTFT

     Зависимость: UTFT

     Зависимость: UTFT

     Зависимость: UTFT

     Зависимость: UTFT

      Схемы подключения


   Счетчик 2-х разрядных чисел (4 х 7 px)
    Зависимость: UTFT

   Cчетчик, один разряд (10 x 15 px )
    Зависимость: UTFT

      Другие библиотеки и функции


    

      Проекты и программы


  Система жизнеобеспечения "Сорока"
    

      Статьи


  
    









   Изготовление рекламы Изготовление мебели  Общестроительные работы 3D моделирование       Статьи
  Благоустройство тер.
   Общее портфолио    Мебель для мастерской   Установка бордюров   Портфолио   Контакты
   Наружняя реклама       Фасадные работы   Модели   Образец договора
   Внутреняя реклама       Утепление гаража   Инфо
   Таблички, наклейки       Косметический ремонт   Фото г.Надым
  Бетонные работы   Фото пригороды г.Надым