Категория: Arduino - проекты | Комментарии: 0
17 января 2016

Датчики температуры LM335 и DHT-11. Личные доводы и ничего более [Обзор]

 LM335 и DHT-11


В этом посту не будет программ, а будет краткая характеристика датчиков температуры LM335 и DHT-11 (Аналоговый и цифровой).
Пока писался заголовок, было написано пару демонстрационных программ для работы с датчиками. И нелепый вывод по их работе.
Добро пожаловать ниже
Первым в руки попадает датчик DHT-11. Цифровой 16 разрядный датчик. В каждых 8ми битах содержится число для температуры и для влажности.
Сам датчик очень стабильный, качественно исполнен. И стоимость датчика всего 30 гривен ~ $1.20. Существуют версии датчиков DHT-22 и DHT-21.

Если Вам интересны внутренности датчика, так вот они на рисунке ниже.

dht11 подключение



Углубляться в физический принцип измерения не будем. Сразу к датчику.
В моем случае был приобретен датчик температуры и влажности DHT-11 без обвеса который тянет на целый $1 доллар сверху стоимости.

Для быстрого подключения датчика температуры и влажности к Ардуино необходимо припаять к второму пину датчика, а именно линии данных "DATA" резистор 10кОм - 5кОм, если есть под рукой то резистор в исполнении SMD отлично подойдет. В моем случае его не было, на работу это не повлияет.

Датчик DHT11 подключение ардуино



Некоторые данные: В режиме измерения датчик DHT-11 потребляет 35 миллиампер, а в режиме покоя 1 миллиампер.
У датчика DHT -цифровой сигнал.
Если есть желание подключать датчик на расстоянии 15 и более метров используйте резистор номиналом 5кОм.

На счет вывода №3 на датчике скажу следующее - не спешите его отламывать. Он используется для установки датчика в режим считывания данных или покоя. По дурости я согнул ногу, а когда понадобилось разогнуть - она отвалилась. Если планируете создавать энергоэффективные проекты то задумайтесь.

Ниже приведен рабочий код программы для считывания данных. Просто пробежавшись глазами все становится понятно. Если не понятно, то можно задать вопрос с комментариях.

Совсем забыл о том что для датчика DHT-11 необходимо 2 файла библиотеки.
Скачать библиотеку для DHT1-11
В архиве находятся 2 файла которые необходимо поместить в папку с кодом програмы для DHT-11

  1. /*
  2. * Создано специально для сайта 1injener.ru
  3. * Только проверенные программы
  4. * Проверялось на MEGA2560
  5. * Библиотеки должны лежать в папке с *.ino файлом!!! Важно!
  6. */
  7. #include "dht11.h" // Добавляем библиотеку DHT11
  8. dht11 DHT; // Объявление переменной класса dht11
  9. #define DHT11_PIN 4 // Определеяем куда подключим датчик DHT11
  10. void setup()
  11. {
  12. //Инициализация Serial
  13. Serial.begin(9600);
  14. }
  15. void loop(){
  16. int chk;
  17. chk = DHT.read(DHT11_PIN); //Считывание данных с датчика
  18. String Hum = String(DHT.humidity,DEC); //Определение части для Влажности
  19. String Temp = String(DHT.temperature,DEC); //Определение части для Температуры
  20. Serial.println("Temperatura: "+Temp+" tC | Vlaga: "+Hum); //Вывод на екран
  21. delay(4000); //Опрос датчика каждые 4 секунды
  22. }

И собственно результат программы для опроса датчика температуры в терминале ниже на рисунке.

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


Слава Богу дома тепло. Пока не пришли морозы..

Далее следует аналоговый датчик температуры LM335.
Ранее на сайте я рассматривал его кое как, но все же можно изъять полезную информацию о датчике в статье: Датчик температуры своими руками

Датчик температуры Lm335 датчик имеет аналоговый сигнал на выходе.
Выход датчика изменяется по закону 1 градус Кельвин = 10 миливольт на выходе.
Для работы с датчиком ему нужен вспомогательный резистор по питанию датчика.

lm335 схема подключения датчика



Я производил подключение lm335 по упрощенной схеме. Так же есть схема подключения с дополнительным подстроечным резистором что даст возможность точнее проводить измерения откалибровав датчик.

Данный датчик может продаваться еще в железном корпусе.
Ниже код Ардуино mega для датчика температуры и влажности LM335
  1. /*
  2. * Создано специально для сайта 1injener.ru
  3. * Только проверенные программы
  4. * Проверялось на MEGA2560
  5. */
  6. int lm335=7;
  7. void setup()
  8. {
  9. Serial.begin(9600); //Инициализация Serial
  10. }
  11. void loop()
  12. {
  13. double val = analogRead(lm335); //Считывание данных с аналогового входа
  14. Serial.print("Analog LM335: ");
  15. double voltage = val*5.0/1024; //Преобразование полученных данных в Вольты
  16. double temp = voltage*100 - 273.15; //Преобразование в температуру Цельсий
  17. Serial.println(temp); //Вывод данных в терминал
  18. delay(2000);
  19. }

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

Калибровка Lm335 достигается при высчитанном усредненном значении на выходе в 298 милиВольт при температуре 25 градусов.

датчик температуры LM335 результат



Итог близится к тому что различные автоматизированные системы требуют данных определенного вида для своей работы. Это логично. Или аналоговые данные или цифровые.
DHT-11 хорош своей стабильностью и комбинацией с температурой влажности. А аналоговый датчик температуры LM335 хорош тем что может выдать значения до сотых. Что немало важно для точных систем.

Программы работают. Можно изменить как угодно под свои нужды. Все вопросы в комментарииup
Другие статьи по разделу:

anchore ЖКИ дисплей WH0802 подключение к Ардуино [Много проводов]


anchore Управление шаговым биполярным двигателем A4988ET [Рабочий код ino]




Новые изобретения инженеров и техников, дизайнеров и обычных людей, все то что может изменить наш мир к лучшему. Новая техника и оружие, спасателей и спецназа. Гаджеты и девайсы, устройства для отдыха и работы. Советы для экономии семейного состояния. Все гениальные изобретения в простом формате! Ведь "Все - Просто!"
Copyright © 2013–2017
Автоматизация и проектирование - 1injener.ru