Статьи » Разработки
Добавить статью

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

2015-10-13 в 21:47 (последнее изменение 2021-04-19 в 22:55)

Здравствуйте! Мы снова с Вами.
Сегодня вечером мы будет подключать к Arduino датчик DHT-11 который способен показать текущую температуру и уровень влажности в процентах.
Сложного ничего нет, пока мы не выводим показания на веб сервер. Показания будут выводиться в монитор порта программы Arduino,
Сам датчик DHT11 имеет 3 вывода. На схеме изображен он же, только без платы на которой установлен резистор 10 кОм. Данные о температуре и влажности поступают в цифровом виде.

arduino dht11

Сам код выглядит так. Рекомендую, как и многие другие не просто копировать и вставлять код, а самому вручную прописывать.

Библиотека DHT11 - скачать.

Код
#include "dht11.h"       // Добавляем библиотеку DHT11
dht11 DHT;               // Объявление переменной класса dht11
#define DHT11_PIN 4      // Датчик DHT11 подключен к цифровому пину номер 4

void setup(){
  Serial.begin(9600);   // Скорость работы порта
  Serial.println("DHT TEST PROGRAM Tehnopage.ru"); // Выводим текст
  Serial.print("LIBRARY VERSION: ");               // Выводим версию библиотеки
  Serial.println(DHT11LIB_VERSION);                // Значение версии библиотеки
  Serial.println();                                // Пустая строка
}
void loop(){
  int chk;
  // Мониторинг ошибок
  chk = DHT.read(DHT11_PIN);         // Чтение данных
  switch (chk){
  case DHTLIB_OK:  
    break;
  case DHTLIB_ERROR_CHECKSUM:
    Serial.println("Checksum error, \t");
    break;
  case DHTLIB_ERROR_TIMEOUT:
    Serial.println("Time out error, \t");
    break;
  default:
    Serial.println("Unknown error, \t");
    break;
  }
  // Выводим показания влажности и температуры
  Serial.print("Humidity = ");
  Serial.print(DHT.humidity, 1);
  Serial.print("%, Temp = ");
  Serial.print(DHT.temperature,1);
  Serial.println(" C");              // Можете попробовать вставить перед С знак °, и посмотрите что получится
  delay(1000);                       //Обновляем данные каждую секунду
}

После загрузки кода в Ардуино, открываем монитор последовательного порта (Ctrl+Shift+M) увидим такую информацию.

dht 11 чтение данных

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

dht 11 ошибка


Не пропустите обновления! Подписывайтесь на нашу группу Вконтакте.
Так же у нас есть Telegram канал.
Вам понравился наш материал? Поделитесь с коллегами!

Просмотров: 15022. Оценка статьи: 3.7 из 5. Уже оценило 7 читателей

Об авторе - Администратор

More by Администратор

Всего комментариев: 2
vass-09
vass-09 2020-08-29 00:31
Спасибо! Именно так и сделал, предварительно разархивировав. Всё получилось...

vass-09
vass-09 2020-08-27 13:53
Доброго времени суток! Воспользовался скетчем. При компиляции выскочила ошибка: "fatal error: dht11.h: No such file or directory #include <dht11.h>". Попытка установки библиотеки скаченной с сайта - "не корректный файл". Установка библиотек из менеджера программы arduino-1.8.13 проблему не решила. Как выйти из данной ситуации?

Ответ Автора: Попробовать установить ее руками закинув в папку с библиотеками.
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]