датчик температуры ардуино код
Arduino и термометр DS18B20
Описание
DS18B20 – высокоточный цифровой датчик температуры. Основные характеристики:
В наборе идёт датчик в герметичном исполнении со стандартным гнездом (шаг 2.54 мм) для подключения
Подключение
Датчик имеет следующие назначения пинов:
Датчик подключается к любому цифровому пину Arduino, но пин должен быть подтянут к питанию резистором 4.7 кОм. На один пин можно подключить несколько датчиков DS18B20.
В рамках набора GyverKIT резистор на 4.7 кОм можно заменить двумя резисторами на 10 кОм (есть в комплекте), подключенными параллельно:
Библиотеки
Для этого датчика есть несколько библиотек:
В примерах на этом сайте мы будем использовать microDS18B20, так как она в несколько раз легче и проще в использовании, чем официальная. Библиотека идёт в архиве к набору GyverKIT, а свежую версию всегда можно установить/обновить из встроенного менеджера библиотек Arduino по названию microDS18B20. Краткая документация находится по ссылке выше, базовые примеры есть в самой библиотеке.
Примеры
Библиотека позволяет работать по схеме “один датчик – один пин”, в которой адрес датчика получать не нужно. Достаточно подключить и использовать:
Каждый датчик имеет свой уникальный адрес. Его можно прочитать следующим образом:
Данный код выводит в порт адрес текущего подключенного датчика.
Зная адреса датчиков, можно подключить несколько штук на один пин и обращаться к ним в коде следующим образом:
В предыдущем уроке мы рассмотрели подключения датчика температуры и влажности DHT11 к Arduino. И выяснили что данный датчик не очень точный. Чем же его можно заменить? Одним из распространенных датчиков для измерения температуры являться DS18B20. Рассмотрим в данном уроке варианты подключения датчика, пару примеров программного решения.
Характеристики датчика DS18B20:
Датчик выпускается в открытом корпусе в виде транзистора для измерения температуры воздуха.
Можно купить датчик в виде модуля DS18B20. Распаренный на плате.
Также датчик DS18B20 продеться в закрытом корпусе для измерения температуры жидкости.
Для урока нам понадобиться:
Подключаем датчик DS18B20 к Arduino NANO вот по такой схеме.
Подключение датчика DS18B20 к Arduino UNO будет вот таким.
Для написания программы нам понадобиться библиотека OneWire.
Данную библиотеку можно установить из менеджера библиотек или скачать отсюда.
Код ниже будет выводить показание температуры в монитор порта каждую секунду.
Но данный пример достаточно сложный для понимания. Для упрощения работы с датчиком лучше использовать библиотеку DallasTemperature. Данная библиотека ставиться поверх OneWire. Т.е. для ее роботы должна быть установлена библиотека OneWire.
С библиотекой DallasTemperature устанавливаются примеры. Вы можете воспользоваться любым из них.
Мы рассмотрим более простотой пример.
В данном примере температура выводиться 1 раз в секунду. И при этом выводится температура в Цельсиях и фарингитах.
Как видите данный пример намного меньше и более понятен для новичка.
На одну шину можно подключить до 127 датчиков вот по такой схеме.
С библиотекой DallasTemperature идут примеры которые позволяют получать данные с датчиков при током подключении.
Подписывайтесь на мой канал на Youtube и вступайте в группы в Вконтакте и Facebook.
Спасибо за внимание!
Понравилась статья? Поделитесь ею с друзьями:
Датчики температуры Arduino
В этой статье мы рассмотрим популярные датчики температуры для Arduino ds18b20, dht11, dht22, lm35, tmp36. Как правило, именно эти датчики становятся основой для инженерных проектов начального уровня для Arduino. Мы рассмотрим также основные способы измерения температуры, классификацию датчиков температуры и приведем сравнение различных датчиков в одной таблице.
Описание датчиков температуры
Температурные датчики предназначены для измерения температуры объекта или вещества с помощью свойств и характеристик измеряемой среды. Все датчики работают по-разному. По принципу измерения эти устройства можно разделить на несколько групп:
По области применения можно выделить датчики температуры воздуха, жидкости и другие. Они могут быть как наружные, так и внутренние.
Любой температурный датчик можно описать набором характеристик и параметров, которые позволяют сравнивать их между собой и выбирать подходящий под конкретную задачу вариант. Основными характеристиками являются:
Датчики температуры по типу
Выбор датчика в первую очередь определяется температурным диапазоном измерения. Важно учитывать и точность измерения – для обучения вполне сойдет датчик с малой точностью, а для научных работ и опытов требуется высокая надежность измерения.
Датчики температуры для работы с Ардуино
При работе с микроконтроллером Ардуино наиболее часто используются следующие датчики температуры: DS18B20, DHT11, DHT22, LM35, TMP36.
Датчик температуры DS18B20
DS18B20 – цифровой 12-разрядный температурный датчик. Устройство доступно в 3 вариантах корпусов – 8-Pin SO (150 mils), 8-Pin µSOP, и 3-Pin TO-92, чаще всего используется именно последний. Он же изготавливается во влагозащитном корпусе с тремя выходами. Датчик прост и удобен в использовании, к плате Ардуино можно подключать сразу несколько таких приборов. А так как каждое устройство обладает своим уникальным серийным номером, они не перепутаются в результате измерения. Важной особенностью датчика является возможность сохранять данные при выключении прибора. Также DS18B20 может работать в режиме паразитного питания, то есть без внешнего питания через подтягивающий резистор. Подробная статья о ds18b20.
Датчики температуры DHT
Датчик температуры LM35
Схема подключения к микроконтроллеру Ардуино достаточно проста. Желательно датчик прижимать к контролируемой поверхности, чтобы увеличить точность измерения.
TMP36 – аналоговый термодатчик
Подключение датчика температуры DS18B20 к Arduino Uno
Цифровой датчик DS18B20 обеспечивает измерение температуры в градусах Цельсия с 9…12-разрядным разрешением и имеет сигнальную функцию с энергонезависимыми программируемыми пользователем верхним и нижним пределами триггера. DS18B20 подключается к шине 1-Wire, которая по определению требует только одной линии данных для связи с микроконтроллером. Диапазон измеряемой температуры – от — 55°C до +125°C с точностью ±0.5°C в интервале от — 10°C до +85°C. Кроме того, DS18B20 может получать питание непосредственно от линии данных («паразитное питание»), устраняя потребность во внешнем источнике питании.
Каждый DS18B20 имеет уникальный 64-битный серийный номер, который позволяет множеству датчиков DS18B20 работать на одной однопроводной шине OneWire. Таким образом, одним контроллером можно управлять многими DS18B20, распределенными на большой площади. DS18B20 могут быть полезными в системах экологического контроля, системах контроля температуры внутри зданий, оборудования или машин и проектах домашних метеостанций.
Особенности:
Для отладки проектов на микроконтроллерах, включая Arduino, удобно использовать модуль с датчиком DS18B20. На плате модуля, кроме датчика в корпусе TO-92 расположены светодиод питания, подтягивающий резистор и трехштырьковый разъем для подключения проводов или установки на макетную плату (breadboard).
По приведённой ниже схеме подключения и загруженного скетча, данные с датчика DS18B20 будут отображатся в Мониторе порта Arduino IDE.
Схема подключения датчика температуры DS18B20 к Arduino Uno
Термометр на Arduino и датчике температуры DS18B20
В данной статье мы рассмотрим подключение цифрового датчика температуры DS18B20 к плате Arduino Uno. Приведены схема и программа (скетч) для проекта.
Также на нашем сайте вы можете посмотреть проекты измерения температуры с помощью платы Arduino и датчиков lm35 и DHT11.
Необходимые компоненты
Общие принципы работы датчика температуры DS18B20
Особенности датчика DS18B20:
Более подробную информацию о принципах работы датчика DS18B20 вы можете посмотреть в следующей статье на нашем сайте.
Схема проекта
Схема подключения датчика температуры DS18B20 к плате Arduino Uno представлена на следующем рисунке.
Схема подключения датчика к плате Arduino достаточно проста: контакт 1 – к контакту GND Arduino, контакт 2 – к любому ее цифровому контакту (в нашем случае к контакту 2), контакт 3 – к ее контакту +5V или +3.3V. Также необходимо подключить подтягивающий (pull-up) резистор.
Исходный код программы (скетча)
Перед тем как загружать программу в плату Arduino необходимо скачать и извлечь из архива следующие библиотеки, необходимые для работы проекта:
В скетче программы необходимо подключить заголовочные файлы этих библиотек.