Термометр на Arduino и датчике температуры DS18B20
Содержание
- Необходимые компоненты
- Общие принципы работы датчика температуры DS18B20
- Схема проекта
- Исходный код программы (скетча)
В данной статье мы рассмотрим подключение цифрового датчика температуры DS18B20 к плате Arduino Uno. Приведены схема и программа (скетч) для проекта.
Также на нашем сайте вы можете посмотреть проекты измерения температуры с помощью платы Arduino и датчиков lm35 и DHT11.
Необходимые компоненты
- Плата Arduino Uno (купить на AliExpress).
- Maxim Integrated DS18B20 Programmable Resolution (цифровой датчик температуры DS18B20) (купить на AliExpress).
- Резистор 4,7 кОм (купить на AliExpress).
- Макетная плата.
- Соединительные провода.
Общие принципы работы датчика температуры DS18B20
DS18B20 представляет собой однопроводный цифровой датчик температуры от компании Maxim IC. Выдает значение температуры в градусах Цельсия, способен измерять температуру с 9-12 битной точностью в диапазоне от -55 до 125 градусов Цельсия с точностью +/-0.5 градуса. Каждый датчик DS18B20 имеет 64-битный уникальный номер (Serial number), вытравленный на корпусе датчика, что позволяет подключать огромное число подобных датчиков к одной шине данных. С помощью данного датчика можно измерять температуру воздуха, жидкостей и земли. В некоторых магазинах датчик продается в комплекте с резистором сопротивлением 4,7 кОм.
Особенности датчика DS18B20:
- однопроводный интерфейс (1-Wire® interface), что позволяет использовать для подключения датчика только один контакт микроконтроллера (в нашем случае платы Arduino Uno);
- каждый датчик имеет 64-битный уникальный последовательный код (номер), хранящийся в ПЗУ (ROM) датчика;
- способность подключения к одной шине множества датчиков позволяет создавать на его основе приложения для распределенного (в пространстве) измерения температуры;
- не требует никаких внешних компонентов;
- может быть запитан от линии данных;
- поддерживает напряжение питания от 3.0V до 5.5V;
- способен измерять температуру в диапазоне от –55°C до +125°C (–67°F до +257°F) с точностью ±0.5°C (в диапазоне от –10°C до +85°C);
- можно выбрать разрешающую способность (разрешение) датчика: от 9 до 12 бит;
- преобразует значение температуры в 12-битное цифровое слово длительностью 750 мс (max.);
- можно настраивать энергонезависимую (nonvolatile, NV) сигнализацию (сигнал тревоги);
- опции сигнала тревоги позволяют идентифицировать и определить адрес датчика, чья температура не соответствует запрограммированным границам;
- может применяться в устройствах термоконтроля, промышленных системах, потребительских продуктах, термометрах и в любых других системах, где требуется измерение температуры.
Более подробную информацию о принципах работы датчика DS18B20 вы можете посмотреть в следующей статье на нашем сайте.
Схема проекта
Схема подключения датчика температуры DS18B20 к плате Arduino Uno представлена на следующем рисунке.
Схема подключения датчика к плате Arduino достаточно проста: контакт 1 – к контакту GND Arduino, контакт 2 – к любому ее цифровому контакту (в нашем случае к контакту 2), контакт 3 – к ее контакту +5V или +3.3V. Также необходимо подключить подтягивающий (pull-up) резистор.
Исходный код программы (скетча)
Перед тем как загружать программу в плату Arduino необходимо скачать и извлечь из архива следующие библиотеки, необходимые для работы проекта:
-
; (необходима для считывания и расчета температуры с датчика).
В скетче программы необходимо подключить заголовочные файлы этих библиотек.
Источник: