Dallas 18b20 подключение к ардуино. Подключение датчика температуры DS18B20 к Arduino: пошаговая инструкция и практические примеры

Как подключить датчик DS18B20 к Arduino. Какие библиотеки использовать для работы с DS18B20. Как считывать показания температуры с DS18B20. Как подключить несколько датчиков DS18B20 к одному пину Arduino. Как настроить разрешение измерений DS18B20. Какие преимущества у цифрового датчика DS18B20 перед аналоговыми.

Особенности и характеристики датчика температуры DS18B20

Датчик температуры DS18B20 производства компании Dallas Semiconductor (ныне Maxim Integrated) является одним из самых популярных и удобных цифровых термометров для использования с микроконтроллерами. Рассмотрим его ключевые особенности:

  • Диапазон измеряемых температур: от -55°C до +125°C
  • Точность измерения: ±0.5°C в диапазоне от -10°C до +85°C
  • Разрешение преобразования температуры: 9-12 бит (настраиваемое)
  • Уникальный 64-битный серийный код каждого датчика
  • Интерфейс 1-Wire для подключения до 127 датчиков на одной шине
  • Напряжение питания: 3.0В — 5.5В
  • Время преобразования температуры: максимум 750 мс при 12-битном разрешении

DS18B20 выпускается в различных корпусах, наиболее распространенный из которых — TO-92, похожий на небольшой транзистор с тремя выводами. Также доступны влагозащищенные версии датчика в металлическом корпусе на проводе для измерения температуры жидкостей.


Подключение DS18B20 к Arduino: схема и пошаговая инструкция

Подключение датчика DS18B20 к Arduino осуществляется по интерфейсу 1-Wire, что позволяет использовать всего один цифровой пин микроконтроллера для обмена данными. Рассмотрим пошаговую инструкцию по подключению:

  1. Подключите вывод GND датчика к выводу GND Arduino
  2. Подключите вывод VDD датчика к выводу 5V Arduino
  3. Подключите вывод DATA датчика к любому цифровому пину Arduino (например, D2)
  4. Подключите подтягивающий резистор 4.7 кОм между выводами VDD и DATA

Важно отметить, что подтягивающий резистор необходим для корректной работы шины 1-Wire. Он обеспечивает высокий уровень сигнала на линии данных в состоянии покоя.

Схема подключения DS18B20 к Arduino

Визуальное представление схемы подключения поможет лучше понять соединения:

Arduino    DS18B20
5V    ----  VDD
GND   ----  GND
D2    ----  DATA
          |
         4.7k резистор
          |
         VDD

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


Использование библиотек OneWire и DallasTemperature для работы с DS18B20

Для удобной работы с датчиком DS18B20 в Arduino IDE рекомендуется использовать две специализированные библиотеки:

  • OneWire — обеспечивает базовую поддержку протокола 1-Wire
  • DallasTemperature — предоставляет высокоуровневые функции для работы с температурными датчиками Dallas/Maxim

Как установить библиотеки для работы с DS18B20? Выполните следующие шаги:

  1. Откройте Arduino IDE
  2. Перейдите в меню «Скетч» > «Подключить библиотеку» > «Управлять библиотеками»
  3. В поиске введите «OneWire» и установите одноименную библиотеку
  4. Аналогично найдите и установите библиотеку «DallasTemperature»

После установки библиотек вы сможете использовать их в своих скетчах, подключив соответствующими директивами:


#include 
#include 

Считывание температуры с DS18B20: базовый скетч Arduino

Рассмотрим простой пример считывания температуры с датчика DS18B20 и вывода результата в монитор порта Arduino:


#include 
#include 

#define ONE_WIRE_BUS 2  // Пин подключения датчика

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup(void)
{
  Serial.begin(9600);
  sensors.begin();
}

void loop(void)
{ 
  sensors.requestTemperatures(); 
  float temperatureC = sensors.getTempCByIndex(0);
  
  Serial.print("Температура: ");
  Serial.print(temperatureC);
  Serial.println("°C");
  
  delay(1000);
}

Этот скетч инициализирует библиотеки, запрашивает измерение температуры и выводит результат каждую секунду. Как интерпретировать полученные данные? Значение temperatureC представляет собой температуру в градусах Цельсия с точностью до десятых долей градуса.


Подключение нескольких датчиков DS18B20 к одному пину Arduino

Одно из главных преимуществ DS18B20 — возможность подключения множества датчиков к одному пину микроконтроллера. Как это реализовать на практике?

  1. Подключите все датчики параллельно к одному пину данных Arduino
  2. Используйте один общий подтягивающий резистор 4.7 кОм
  3. В скетче определите количество подключенных датчиков

Пример скетча для работы с несколькими датчиками:


#include 
#include 
#define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); void setup(void) { Serial.begin(9600); sensors.begin(); } void loop(void) { sensors.requestTemperatures(); for (int i = 0; i < sensors.getDeviceCount(); i++) { float tempC = sensors.getTempCByIndex(i); Serial.print("Датчик "); Serial.print(i+1); Serial.print(": "); Serial.print(tempC); Serial.println("°C"); } Serial.println(); delay(1000); }

Этот скетч автоматически определяет количество подключенных датчиков и выводит показания каждого из них. Какие преимущества дает такой подход? Вы можете легко масштабировать систему измерения температуры без необходимости изменения схемы подключения или программного кода.


Настройка разрешения измерений DS18B20 для оптимизации точности и скорости

DS18B20 позволяет настраивать разрешение преобразования температуры в диапазоне от 9 до 12 бит. Как это влияет на работу датчика?

  • 9 бит: ±0.5°C, время преобразования 93.75 мс
  • 10 бит: ±0.25°C, время преобразования 187.5 мс
  • 11 бит: ±0.125°C, время преобразования 375 мс
  • 12 бит: ±0.0625°C, время преобразования 750 мс

Как настроить разрешение DS18B20 программно? Используйте метод setResolution() библиотеки DallasTemperature:


sensors.setResolution(12);  // Установка разрешения 12 бит

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

Преимущества цифрового датчика DS18B20 перед аналоговыми термисторами

Почему DS18B20 часто предпочтительнее аналоговых датчиков температуры? Рассмотрим ключевые преимущества:

  • Цифровой выход: не требует калибровки и аналого-цифрового преобразования
  • Высокая точность: ±0.5°C без дополнительных схем
  • Широкий диапазон измерений: от -55°C до +125°C
  • Возможность подключения множества датчиков на одной шине
  • Уникальный идентификатор каждого датчика
  • Встроенная схема обнаружения обрыва или короткого замыкания

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


Практические применения DS18B20 в проектах Arduino

Датчик DS18B20 находит широкое применение в различных проектах на базе Arduino. Рассмотрим несколько интересных идей:

  • Метеостанция: измерение температуры воздуха, воды, почвы
  • Система мониторинга температуры в серверной комнате
  • Контроль температуры в аквариуме или террариуме
  • Измерение температуры в системах "умного дома"
  • Термостат для управления отоплением или охлаждением

Как реализовать проект цифрового термометра с выводом на LCD дисплей? Подключите DS18B20 и LCD дисплей к Arduino, используйте библиотеку LiquidCrystal для управления дисплеем и выводите показания температуры в реальном времени.

Пример скетча для цифрового термометра с LCD дисплеем


#include 
#include 
#include 

#define ONE_WIRE_BUS 2

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup(void)
{
  sensors.begin();
  lcd.begin(16, 2);
  lcd.print("Температура:");
}

void loop(void)
{ 
  sensors.requestTemperatures(); 
  float tempC = sensors.getTempCByIndex(0);
  
  lcd.setCursor(0, 1);
  lcd.print(tempC);
  lcd.print(" C");
  
  delay(1000);
}

Этот скетч демонстрирует, как легко создать функциональный цифровой термометр, используя DS18B20 и LCD дисплей. Какие еще проекты вы можете реализовать с помощью этого датчика? Возможности ограничены только вашим воображением!



Dallas 18b20 подключение в категории "Техника и электроника"

Датчик температуры Dallas DS18B20 [#4-1]

На складе в г. Запорожье

Доставка по Украине

18 грн

Купить

Температурний датчик DALLAS18B20

На складе

Доставка по Украине

29 грн

Купить

Атчик температуры Dallas DS18B20 К-92 (14011 )

На складе

Доставка по Украине

47.60 грн

Купить

Датчик температуры DALLAS DS18B20, водонепронецаемый, на проводе

На складе

Доставка по Украине

127 грн

141.11 грн

Купить

Датчик температуры в защищенном корпусе Dallas DS18B20 цифровой. 100 см.

На складе

Доставка по Украине

138.6 — 149 грн

от 2 продавцов

149 грн

Купить

Датчик температуры в защищенном корпусе Dallas DS18B20 цифровой. 200 см.

На складе

Доставка по Украине

269.5 — 289 грн

от 2 продавцов

289 грн

Купить

Термодатчик Dallas DS18b20 1648C4 +233AA (TО-92) цифровой датчик температуры

На складе

Доставка по Украине

100 грн

Купить

Датчик Dallas DS18B20 TO92

Доставка из г. Одесса

142.02 грн

Купить

Микросхема DS18B20 ( 18B20 ) DALLAS , to-92 (из старых запасов , работают и в двухпроводной , и в трехпроводн

На складе в г. Запорожье

Доставка по Украине

37.84 грн

Купить

Датчик температуры DALLAS DS18B20

На складе

Доставка по Украине

45 грн

50 грн

Купить

Датчик температуры Dallas Semiconductor DS18B20-W

Недоступен

311 грн

Смотреть

Датчик температуры Dallas DS18B20 18B20 1-wire (10402)

Недоступен

42 грн

Смотреть

Датчик температуры Dallas DS18B20

Недоступен

24. 50 грн

Смотреть

Цифровой датчик температуры Dallas DS18B20

Недоступен

54 грн

Смотреть

Цифровой датчик температуры Dallas DS18B20

Недоступен

61 грн

Смотреть

Смотрите также

Датчик температуры Dallas DS18B20 цифровой

Недоступен

59 грн

Смотреть

Датчик температуры Dallas DS18B20 цифровой

Недоступен

54.60 грн

Смотреть

Датчик температуры DS18B20, DALLAS, TO-92.

Недоступен

30 грн

Смотреть

DS 18B20 фирмы Dallas датчик температуры для "МАК-Universal"

Недоступен

29.50 грн

Смотреть

DS18B20 Dallas / Maxim - цифровой датчик температуры - термометр 1 Wire

Недоступен

14.99 грн

Смотреть

Датчик температуры DS 18B20 фирмы Dallas

Недоступен

Цену уточняйте

Смотреть

Датчик температуры Dallas Semiconductor DS18B20-W

Недоступен

219 грн

Смотреть

Мы показали выдачу по вашему запросу. Просмотрите больше товаров с частичным совпадением

Цифровой термометр DS18B20

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

Подключение этого термометра производится по шине 1 wire. Это позволяет всего по 1 проводу подключить до 127 термометров DS18B20.

  • Разберём несколько скетчей.
  • Первый как всегда – это пример из библиотеки, но с моими комментариями.
  • Научимся получать адрес датчика.
  • Подключать один или несколько датчиков температур.
  • Измерим температуру воды из чайника, а затем вскипятим датчик и посмотрим, что он нам на это скажет.
  • Подключим дополнительную библиотеку от компании Даллас.
  • И напоследок по традиции подключим датчик к дисплею НОКИА 5110.
  • Это уже не первый урок про этот дисплей, если интересно посмотрите предыдущие.

Давайте посмотрим, как датчик температуры DS18B20 будет вести себя в экстремальных условиях.


Сначала мы опустим его в кипящую воду, а потом заморозим в морозильной камере.
Как можно увидеть, что термометр работает правильно, он достаточно быстро набрал температуру в 99°C. 
Измеряемый диапазон температур от -55°C до +125°C, и мы видим, что датчик справляется с такой температурой.

Все датчики цифровые – это говорит о том, что им не надо переводить данные из аналогового в цифровой сигнал, и каждый имеет свой уникальный адрес, установленный на заводе и это, даёт возможность программе обращаться к конкретному датчику из множества других подключенных всего по одному проводу. 

В видео я измерил, какая же температура в чашке чая. Для этого я вскипятил чайник и налил кипяток в чашку. Вы думаете, наверное, что там тоже 100°C? А вот и нет там всего лишь 78°C. 

Теперь самой долгое измерение. Не знаю по какой причине, но опускалась температура намного дольше чем поднималась. Температура вверх поднимается очень быстро. Мы это только что видели.
Для проверки на холод я положил датчик в морозильную камеру холодильника и посмотрел как он справляется с отрицательной температурой. Ничего другого под рукой не нашлось, и самое холодное место у меня дома – это холодильник.

  
С +24°C до - 15°C температура опускалась целых 11 минут.
Поэтому я здесь ускорил процесс чтобы не долго не ждать.
Все примеры показанные в видео можно скачать по ссылкам в описании к видео.
Они хорошо прокомментированы и доступны для повторения даже людям далёким от программирования.

Дальше я расскажу про этот датчик и про примеры подробнее.
Каждый датчик  может работать с разрешением от 9 до 12 бит. Что это такое и на что влияет я расскажу дальше в уроке.
Измеряемый диапазон температур от -55°C до +125°C .
Точность датчика 0.5°C в диапазоне температур от –10°C до +85°C. В другом диапазоне точность меньше.
По умолчанию установлена температура в Цельсиях.
Для вывода температура на дисплей я использовал  НОКИА 5110. Я неоднократно использовал этот недорогой экранчик. Посмотреть можно в предыдущих видео.

Теперь давайте рассмотрим сам датчик DS18b20.

Датчик выпускается в различных корпусах, но самый распространённый это датчик в корпусе ТО-92. Он похож на транзистор поэтому не перепутайте.

Каждый такой датчик температуры имеет свой уникальный 64 битный код. Который позволяет обращаться к конкретному датчику если их много и все они подключены всего по одному проводу.
Вы можете использовать 127 термометров и подключить их всего на 1 пин контроллера Ардуино.

Выводы расположены так. 

Вывод данных надо соединить с выводом питания +5 вольт через резистор 4,7 кОм.
При таком подключении в неактивном состоянии на шине будет логическая единица, так как он будет притянут к + питания.
Сопротивление резистора надо выбирать из компромисса между сопротивлением используемого кабеля и внешними помехами и оно может измениться от 5,1 кОм до 1 кОм. Для кабелей с высоким сопротивлением жил надо использовать более высокое сопротивление, а если есть помехи – выбирать более низкое сопротивление и использовать кабель с более большим сечением провода.
Если вы применяете кабель «витая пара», то длина может быть увеличена да 300 метров!!!

Рассмотрим подключение к Ардуино.


Я подключил к пину 12 Ардуино, вы же можете подключить к любому. Не забудьте сменить номер в скетче, там везде прописан 12 вывод. Вывод GND надо подключить к выводу GND Ардуино. Вывод данных, надо подключить к пину Ардуино. +5 вольт подключается к 5 вольтам Ардуино.

Как я уже говорил соединение цифрового термометра DS18B20 производится по шине 1 WIRE. 
Для Ардуино разработана специальная библиотека, скачать её можно по ссылке в описании.
Она позволяет подключить до 127 датчиков всего по 1 проводу.
Можно работать и вообще без питания правда. Это называется метод Паразитного питания. Для этого вывод +5 вольт должен быть подключен к выводу GND.
 Измерять температуру в таком режиме можно будет только до +100°C, а не до +125°C.

Поговорим о температурном преобразователе DS18B20
Как я уже говорил вы можете установить разрешение 9, 10, 11 или 12 бит.
При этом время измерения и точность будет меняться.
Посмотрите таблицу.

По умолчанию стоит 12 бит. 
В видео рассмотрены скетчи из библиотеки 1WIRE. и много других примеров. Весь код хорошо закомментрирован, так что всё сразу понятно. Советую посмотреть.

И если вам не трудно, то поставьте пожалуйста лайк этому видео - это поможет другим пользователям найти это видео.

Датчик температуры DS18B20 (совместимый с Arduino)

3

3

3

3

3

3

3

  • Продукт
  • Описание
  • Отзывы (0)
  • Что в коробке

Описание

Выделять

  • Цена без предварительной записи: 21,5 ринггита
  • Гарантия: 12 месяцев (применяются положения и условия)
  • Напряжение питания: от 3,3 В до 5 В

  • Диапазон температур: от -55 °C до +125 °C

  • Интерфейс: цифровой

  • Размер: 22x32 мм (0,87x1,26 дюйма)

Несмотря на то, что на рынке доступно множество типов датчиков температуры, датчик температуры DS18B20 arduino формы DALLAS является лучшим выбором для приложений, требующих высокой точности и высокой надежности.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *