Подключение датчика температуры ваз к ардуино

Давно занимаясь Arduino, пришла мысль сделать бортовой компьютер для автомобиля, который бы снимал ряд показаний, например, температура масла в МКПП. Рассмотрим реализацию подобного БК на ВАЗ 21074 и Arduino Uno.

Для простоты реализации будем использовать стандартные датчики для ВАЗ и Arduino, а именно:

  • датчик температуры ОЖ 23.3828
  • датчик температуры DS18B20
  • датчик температуры DHT22
  • датчик давления масла ММ393А

Датчиками 23.3828 будем измерять температуру ОЖ на выходе из ГБЦ, используя стандартный тройник головки блока ВАЗ 2123, и температуру масла в КПП (здесь сложнее, понадобится найти гайку М12х1.5, которую необходимо вварить в поддон КПП). Установку датчика в КПП можно посмотреть в Instagram .

Датчиком температуры DS18B20 будем измерять температуру воздуха под капотом (а именно, у воздушного фильтра карбюратора).

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

Датчиком давления масла ММ393А будем измерять давление масла в двигателе, используя стандартный тройник от ваз 2106.

Если проблем с DS18B20 и DHT22 — нет (есть стандартные библиотеки для Arduino для снятия с них показаний), то для 23.3828 и ММ393А — ничего нет, поэтому необходимо используя графики зависимости сопротивление/температура и сопротивление/давление, прописать в Arduino пропорциональные зависимости. Необходимо отметить, что датчики 23.3828 необходимо подключать через резистор (например, 1 кОм), считывая аналоговым входом Arduino напряжение Uout в делителе напряжения, а ММ393А можно подключить через резистор 560 Ом. Важно помнить, что датчикам 23.3828 необходимо напряжение 5 В, а ММ393А — 12 В. Для подбора резисторов по номиналу и/или по обозначению полезным будет приложение, например, маркировка резисторов (Google Play) , а для расчета выходного напряжения в делителе напряжения — делитель напряжения (Google Play) .

Сопротивление датчика 23.3828 в зависимости от температуры:

130 °C — 70 Ом, 110 °C — 133 Ом, 100 °C — 177 Ом, 90 °C — 241 Ом, 80 °C — 332 Ом, 70 °C — 467 Ом, 60 °C — 667 Ом, 50 °C — 973 Ом, 40 °C — 1459 Ом, 30 °C — 2238 Ом, 20 °C — 3520 Ом, 10 °C — 5670 Ом, 0 °C — 9420 Ом, -10 °C — 16180 Ом, -20 °C — 28680 Ом, -30 °C — 52700 Ом, -40 °C — 100700 Ом.

Сопротивление датчика ММ393А в зависимости от давления:

0 кг/см2 — 305 Ом, 0.5 кг/см2 — 282 Ом, 1.0 кг/см2 — 260 Ом, 1.5 кг/см2 — 238 Ом, 2.0 кг/см2 — 212 Ом, 2.5 кг/см2 — 190 Ом, 3.0 кг/см2 — 165 Ом, 3.5 кг/см2 — 142 Ом, 4.0 кг/см2 — 119 Ом, 4.5 кг/см2 — 108 Ом, 5.0 кг/см2 — 92 Ом, 5.5 кг/см2 — 80 Ом, 6.0 кг/см2 — 68 Ом, 6.5 кг/см2 — 51 Ом, 7.0 кг/см2 — 38 Ом, 7.5 кг/см2 — 16 Ом, 8.0 кг/см2 — 8 Ом.

Конфигурация: ВАЗ 21074 с стоковым двигателем 1.6 л и карбюратором ДААЗ Солекс 21073, выхлоп 4-2-1, облегченный маховик 2123, БСЗ, колеса R14 175/65, редукторный стартер.

Обозначения на БК:

Tw — температура ОЖ
Tg — температура масла в КПП
Ta — температура воздуха под капотом
Tc и Hc — температура и влажность воздуха в кабине
Po — давление масла

Как получить температуру от автомобильного датчика ОЖ ?

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

Здравсвуйте, подскажите каким образом можно перевести показания автомобильного датчика температуры ОЖ в градусы?

Сам датчик подключен к 3,3В через делитель 2000 Ом

Сопротивление датчика очень не линейное

Для расчета коэффициентов Стейнхарца-Харца сделал три замера

при -15 14000 Ом

В итоге получил погоду на марсе.

Каким образом можно привязать сопротивление к градусам?

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

Я правильно нарисовал схему с ваших слов?

Если да то на вход ардуино пойдет 0,97Вольт.

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

Если ваша ардуино работаетот 5В(опорное напряжение)

Могу предложить такой простой код, но у меня работает.

Код без оверсемплинга, но думаю для того чтоб понять кипит авто или нет +/-1градус не помешают)))

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

Есть более точные методы, но они посложнее нужно строить кривую или искать коэфициенты в книгах.

Но это для инкубатора или чего-то требующего погрешность не более 0,1градуса.

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

За пример спасибо, чуть позже попробую.

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

Я, например, сделал калибровку и занес результаты в двумерную матрицу. Между точками линейная апроксимация функцией map.

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

Этот код у меня на 5 вольтах показывает 180 градусов вместо комнатной.

Вот небольшой кусок характеристик датчика снятых с порта вот этим

C Om
50 870
49 885
48 912
47 942
46 980
45 1015
44 1055
43 1094
42 1140
41 1180
40 1220
39 1267
38 1310
37 1360
36 1410
35 1460
34 1520
33 1585
32 1640
31 1705
30 1765

В этом диапазоне зависимость достаточно ровная.

Подскажите как тперь эти данные отразить в коде?

Temp = map(R2, 870, 1765, 50, 30); это будет корректно работать на всем диапазоне измерений?

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

Читайте также:  Не работает 2 и 3 цилиндр ваз 2114 инжектор причины

Имеется датчик кат. номер 23.3828

Рабочее напряжение — в 3,4±0,03

И тарировки к нему:

температура °C — сопротивление Ом

Вопрос в том, как правильно подключить данный (двухконтактный) датчик к ардуино нано и какой скетч нужен для него?

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

ua6em аватар

табличку привели бы в нормальный вид

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

yul-i-an аватар

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

Спасибо, не знал как это сделать.

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

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

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

ua6em аватар

не, не поможет, во первых стабилизатор напряжения надо делать, второе число градаций АЦП маловато, а формула получается такая:

y = 0,154×6 — 6,796×5 + 117,5×4 — 991,3×3 + 4169,×2 — 7768,x + 4869

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

yul-i-an аватар

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

DetSimen аватар

интерполяцию можно сплайнами сделать по опорным точкам.

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

в поиске какого только бреда нет.

Советую ТС прочитать эти ветки до конца, прежде чем пользоваться кодом yul-i-an

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

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

автор, никакие библиотеки для этого не нужны. И сложные формулы тоже. Берете и забиваете в память табличку — да хоть на каждую единицу разрешения АЦП. И потом интерполяцией между соседними точками — это, как я помню, изучают в школе тольи в 6, толи в 8 классе

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

Я лично пользуюсь полиномами. Для подобной задачи — третей степени хватает сполна (имеется ввиду точность/быстродействие).

По быстродействию пробовал счить полином 5 степени на Megе — 450-1000 мкс, что весьма не плохо, учитывая, что все переменные и константы типа float.

Полиномы подбираю в Matlab.

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

trembo аватар

Более красивые графики тут:

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

ua6em аватар

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

автор, никакие библиотеки для этого не нужны. И сложные формулы тоже. Берете и забиваете в память табличку — да хоть на каждую единицу разрешения АЦП. И потом интерполяцией между соседними точками — это, как я помню, изучают в школе тольи в 6, толи в 8 классе

в школе изучают методы повышения точности измерений, это наврядли, в советское время точно не изучали
В исходной задаче аналоговый вход измеряет напряжение от 0 до 5 вольт в разрешении 1023 единиц, напряжение на датчике 3,4 вольта, то-есть имеем 696 единиц разрешения на всю шкалу. По вышеприведённой схеме, если токограничительный резистор равен 100 омам, то еще меньше, то-есть 257 единиц разрешения. далее понятно что точность измерения 20% -то-есть никакая, получим даже не показометр ))) Задача не имеет решения предполагаемыми средствами, нужно вводить сторонний ацп, эталонный резистор мотать константаном ну и т.д. ))) я кузнец, думаю метрологи сейчас меня поправят как надо сделать правильно )))

Имеется работающая система. Когда меняется температура меняется и сопротивление. Задача: как с помощью arduino измерить меняющие сопротивление датчика температуры во время работы управляющего блока. То есть управляющий блок во время своей работы не должен заметить что я подсоединился к датчику.

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

AlexFisher аватар

Берете вольтметр, измеряете напругу на датчике. Если она не больше 5 вольт, то цепляете параллельно датчику аналоговый вход ардуины и тупо меряете. Если больше 5 вольт, то нужно делать делитель — последовательно 2 резистора 100 кОм — эту цепочку параллельно датчику, на одном резисторе измеряем напряжение аналоговым входом. В последнем случае датчик начнет врать где-то на полпроцента.

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

спасибо за ответ AlexFisher!

Вы не могли бы нарисовать как я должен подключить правилно? Так как я пробовал подключать по всякому в симуляторе и ничего не выходит. Показание не меняются. Напруга на датчик 12V.

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

спасибо за ответ AlexFisher!

Вы не могли бы нарисовать как я должен подключить правилно?

Так напряжение питания в цепи у вас 12 В или падение напряжение на датчике? А какое сопротивление у блока управления в таком случае? Неужто нулевое?
Да, и каков диапазон изменения сопротивления датчика температуры? Скока Ом при нуле градусов, скока при 20, скока при 50, скока. ну и т.д.?

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

AlexFisher аватар

Так напряжение питания в цепи у вас 12 В или падение напряжение на датчике? А какое сопротивление у блока управления в таком случае? Неужто нулевое? Да, и каков диапазон изменения сопротивления датчика температуры? Скока Ом при нуле градусов, скока при 20, скока при 50, скока. ну и т.д.?

Вот именно это важно, но лучше бы знать, какое напряжение на датчике при какой температуре и какой температурный диапазон интересует. И мне кажется, что прибор, нарисованный Вами в симуляторе, совсем не соответствует «железному», потому что у Вас получается последовательно батарейка, светодиод и термосопротивление. Светодиод никогда не был измерительным прибором!

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Читайте также:  Ваз 2110 8 клапанов инжектор неисправности инжектор

SU-27-16 аватар

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

SU-27-16 аватар

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

SU-27-16 аватар

. Светодиод никогда не был измерительным прибором!

Светодиод — да. В этой схеме измеритель — глаз.

Чем теплее — тем ярче свечение ( если термистор ).

Чем холоднее — тем ярче свечение ( если позистор ).

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

SU-27-16 аватар

Недостаток — раздельное питание схем, земли объединять нельзя. Но опасности нет, при соединении земли Ардуины к земле устройства — светодиод просто погаснет.

Преимущество — при более точной настройке делителя диапазон измерения большой ( 0. 5 V, лучше — 0. 4 V ).

При изменении сопротивления термистора от 1250 ом до 200 ом, например, Ардуина выдаст значения от 900 до 150 ( не считал точно, просто прикинул ).

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

SU-27-16 аватар

Недостаток — узкий диапазон измерений.

При изменении сопротивления термистора от 1250 ом до 200 ом, например, напряжение на светике изменится от 1,2 до 2,9 V, а Ардуина выдаст значеня от 250 до 600.

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

SU-27-16 аватар

Зависимость сопротивления от температуры ? Нужно смотреть тип термистора.

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

SU-27-16 аватар

Изменение яркости трудно ассоциировать со значением температуры, а вот полное-яркое свечение будет указывать на достижение опасного ( или заданного ) значения ( диапазона ) температуры, например — 85. 90 градусов.

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

SU-27-16 аватар

По схема «первый вариант» :
При непреднамеренном соединении земель светодиод погаснет, а Ардуинка считает значение 3 V — четвёртую часть от питания 12 V. Делитель можно собрать из резисторов по 100k — 100k — 100k — 160k. 160k — это который нижний по схеме. При этом увеличится диапазон измерений, а при соединении земель напряжение на вход Ардуины не превысит 4,8 V. Все рассчёты — для питания = 12 V.

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

AlexFisher аватар

В этой схеме задающий переменный параметр — ток! Правильно будет измерять так:

При изменении сопротивления терморезистора от 1 кОм до 100 Ом Ардуина «намеряет» от 200 до 1000 «её условных единиц».

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

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

SU-27-16 аватар

. Правильно будет измерять так:

Примерно одно и тоже !

Ток через термистор = ток через шунт. На нём падает напруга, которую и измеряем.

Моя — ток через термистор -> на нём падает напруга, которую делителем приводим от 8,5. 10 V к 0. 4,8 V.

Только с делителем вносимая погрешность на три порядка МЕНЬШЕ.

. а нули-то — тоже изолированные у Вас. Но — при их замыкании — на Ардуинку по аналоговому входу пойдёт больше 5 V .

Или уменьшать сопротивление шунта ( погрешность ещё больше будет ), или поставить стабилитрон КС149 анодом к земле, к лесу задом — т.е. — к аналоговому входу.

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

SU-27-16 аватар

Mastino ! Как зайдёте — расскажите где устройство применяется, пожста.

И что там за термистор стоит ?

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

AlexFisher аватар

. Правильно будет измерять так:

Примерно одно и тоже !

Ток через термистор = ток через шунт. На нём падает напруга, которую и измеряем.

Моя — ток через термистор -> на нём падает напруга, которую делителем приводим от 8,5. 10 V к 0. 4,8 V.

Только с делителем вносимая погрешность на три порядка МЕНЬШЕ.

. а нули-то — тоже изолированные у Вас. Но — при их замыкании — на Ардуинку по аналоговому входу пойдёт больше 5 V .

Или уменьшать сопротивление шунта ( погрешность ещё больше будет ), или поставить стабилитрон КС149 анодом к земле, к лесу задом — т.е. — к аналоговому входу.

Ну, на счет погрешности, это Вы зря! У Вас она в первую очередь зависит от падения напряжения на светодиоде — штука сильно нелинейная, да еще и от температуры зависящая.

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

2 топикастер

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

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

Взаимодействие DS18B20, однопроводного (1-Wire) цифрового датчика температуры, с Arduino

Взаимодействие DS18B20, однопроводного (1-Wire) цифрового датчика температуры, с Arduino

DS18B20 – однопроводной датчик температуры

DS18B20 – это датчик температуры с однопроводным интерфейсом 1-Wire, изготовленный Dallas Semiconductor Corp. Уникальный интерфейс 1-Wire® требует только одного цифрового контакта для двухсторонней связи с микроконтроллером.

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

Рисунок 1 Типы датчиков температуры DS18B20

Рисунок 1 – Типы датчиков температуры DS18B20

Датчик температуры DS18B20 достаточно точный и не требует для работы внешних компонентов. Он может измерять температуру от -55°C до +125°C с точностью ±0,5°C.

Читайте также:  Не работает вольтметр ваз 2107 инжектор

Разрешение датчика температуры настраивается пользователем до 9, 10, 11 или 12 бит. Однако разрешение по умолчанию при включении питания составляет 12 бит (то есть соответствует точности 0,0625°C).

Датчик может питаться от источника напряжения от 3 В до 5,5 В и потреблять всего 1 мА во время активных преобразований температуры.

Вот полная спецификация:

Характеристики датчика температуры DS18B20

Напряжение питания от 3 В до 5,5 В
Потребляемый ток 1мА
Диапазон температур от -55°C до 125°C
Точность ±0,5°С
Разрешение от 9 до 12 бит (выбирается)
Время преобразования

Несколько датчиков DS18B20 на одной шине

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

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

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

Распиновка датчика DS18B20

Рисунок 2 Распиновка датчика температуры DS18B20 в корпусе TO-92 и в водонепроницаемом корпусе

Рисунок 2 – Распиновка датчика температуры DS18B20 в корпусе TO-92 и в водонепроницаемом корпусе

GND – это вывод земли.

DQ – это шина данных 1-Wire, которая должна быть подключена к цифровому выводу микроконтроллера.

Вывод VDD подает питание на датчик, которое может быть от 3,3 до 5 В.

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

Достаточно теории, давайте практиковаться! Давайте подключим DS18B20 к Arduino.

Подключение довольно простое. Начните с подключения VDD к 5V выходу на Arduino, и GND – к земле.

Затем подключите оставшийся цифровой сигнальный вывод DQ к цифровому выводу 2 на Arduino. Вам также необходимо добавить подтягивающий резистор 4,7 кОм между сигнальным выводом и выводом питания, чтобы обеспечить стабильную передачу данных (внутренние подтягивающие резисторы на ардуино не работают).

Будьте осторожны, чтобы правильно подключить DS18B20. Если вы сделаете это неправильно, он нагреется, а затем выйдет из строя.

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

Рисунок 3 – Подключение датчика температуры DS18B20 к Arduino

Если вы используете водонепроницаемую версию DS18B20, подключите красный провод к 5V, черный провод соединится с землей, а желтый провод – данные, которые поступают на цифровой вывод 2 на Arduino. Вам всё еще нужно подключить подтягивающий резистор 4,7 кОм между линией данных и шиной 5 В.

Рисунок 4 Подключение водонепроницаемого датчика температуры DS18B20 к Arduino

Рисунок 4 – Подключение водонепроницаемого датчика температуры DS18B20 к Arduino

Установка библиотеки для DS18B20

Протокол Dallas 1-Wire несколько сложен и требует много кода для парсинга связи. Чтобы скрыть эту ненужную сложность, мы установим библиотеку DallasTemperature.h, чтобы мы могли выполнять простые команды для получения показаний температуры от датчика.

Рисунок 5 Установка библиотеки Arduino – выбор управления библиотеками в Arduino IDE

Рисунок 5 – Установка библиотеки Arduino – выбор управления библиотеками в Arduino IDE

Рисунок 6 Установка библиотеки DallasTemperature в Arduino IDE

Рисунок 6 – Установка библиотеки DallasTemperature в Arduino IDE

Эта библиотека DallasTemperature является аппаратно-зависимой библиотекой, которая обрабатывает функции более низкого уровня. Она должна быть связана с библиотекой OneWire для связи с любым устройством 1-Wire, а не только с DS18B20. Установите и эту библиотеку.

Рисунок 7 Установка библиотеки OneWire в Arduino IDE

Рисунок 7 – Установка библиотеки OneWire в Arduino IDE

Код для Arduino

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

Вот как выглядит вывод в мониторе последовательного порта.

Рисунок 8 Вывод показаний датчика температуры DS18B20 в мониторе последовательного порта

Рисунок 8 – Вывод показаний датчика температуры DS18B20 в мониторе последовательного порта

Объяснение кода:

Скетч начинается с включения библиотек OneWire.h и DallasTemperature.h и объявления вывода Arduino, к которому подключен сигнальный вывод датчика.

Затем мы создаем объект OneWire , передавая сигнальный вывод датчика его конструктору. Этот объект OneWire позволяет нам общаться с любым устройством 1-Wire, а не только с DS18B20. Для связи с датчиком DS18B20 нам нужно создать объект библиотеки DallasTemperature и передать ему ссылку на объект OneWire в качестве параметра.

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

  • Функция begin() ищет подключенные датчики на шине и устанавливает битовое разрешение (12 бит) для каждого.
  • Функция requestTemperatures() отправляет команду для всех датчиков на шине, чтобы выполнить преобразование температуры.
  • Функция getTempCByIndex(deviceIndex) считывает и возвращает показания температуры с датчика. deviceIndex – это не что иное, как расположение датчика на шине. Если вы используете только один DS18B20 на шине, установите этот параметр на 0.

Другие полезные функции в библиотеке DallasTemperature.h

Есть еще несколько полезных функций, которые вы можете использовать с объектом DallasTemperature . Несколько из них перечислены ниже:

  • Функция setResolution() устанавливает разрешение внутреннего аналого-цифрового преобразователя DS18B20 на значение 9, 10, 11 или 12 бит, что соответствует шагу температуры 0,5°C, 0,25°C, 0,125°C и 0,0625°C соответственно ,
  • Функция bool getWaitForConversion() возвращает значение флага waitForConversion . Это может быть полезно, когда вы хотите проверить, завершено ли преобразование температуры.
  • Функции setHighAlarmTemp() и setLowAlarmTemp() устанавливают внутренние пороги тревоги высокой и низкой температуры для устройства в градусах Цельсия. Допустимый диапазон от -55°C до +125°C
  • Функция bool hasAlarm() возвращает true , если устройство имеет состояние тревоги, когда температура выходит за пределы диапазона между верхним и нижним уровнями тревоги.

Similar Posts:

Adblock
detector