Подключение датчика температуры DS18B20 к Arduino.

Сегодня мы будем подключать датчик температуры DS18B20 к Arduino.

ds18b20

В настоящий момент м/с DS18B20 фирмы Dallas является наиболее распространенным и доступным цифровым датчиком температуры. Работает по протоколу 1-wire. Даташит датчика: DS18B20

Основные характеристики датчика DS18B20 :

  1. Интерфейс 1-Wire Требуется только один контакт для связи
  2. Каждое устройство имеет уникальный 64-битный серийный адрес устройства который хранится в ROM
  3. Питание датчика в диапазоне температур  от 3 вольт до 5,5 вольт, возможно паразитное питание.
  4. Диапазон измеряемых температур от -55 ° C до +125 ° C  (-67 ° F до +257 ° F)
  5. Доступен в трех вариантах корпусов 8-Pin SO (150 mils), 8-Pin µSOP, и 3-Pin TO-92

DS18B20

Между ногой DQ (данные) и VDD (+5v) требуется подключить резистор номиналом 4,7 кОм. Питание подключается к ногам VDD (+5v) и GND(-),  DQ подключаем к цифровому пину 10 на Arduino.

ds18b20_shemaЕсли вам нужно подключить несколько датчиков, то используется вот такая схема

ds18b20_multi

Даже подключив 10 датчиков, на Arduino используется все равно 1 pin!!!

С подключением разобрались. Теперь разберемся с софтом.

Есть 2 варианта заставить работать ds18b20 с Arduino

1. Вариант.

Будем использовать только библиотеку OneWire, последнюю версию которой можно скачать здесь. Плюс такой реализации — вес скетча будет меньше, наглядно видно как и какой пин дергаем. Минусы- объем кода больше, сложнее в реализации.

Обратите внимание на строку

Здесь мы указываем пин к которому подключен датчик (в примере это цифровой  пин 10)

2. Вариант. 

Тут используем готовую библиотеку DallasTemperature. Такой вариант удобнее использовать если у вас много датчиков, сложный код, ну или просто лень вникать в работу интерфейса 1-ware.

Тут вот эта строка отвечает за используемый пин

Как вы знаете каждый датчик обладает уникальным адресом, и если у нас на шине висит допустим 2 датчика то есть 2 варианта к ним обратится

1 Это обращение к датчикам зная их адреса. Нужно раскомментировать строки

2 Обращение к датчикам через поиск, присваивая автоматически каждому найденному датчику индекс начиная с 0

Вот как то так)

Arduino-ide-ds18b20-1

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

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