Подключение датчика температуры ваз к ардуино
Датчики температуры и влажности DHT11 и DHT22/AM2302 от AOSONG довольно просты в использовании, недорогие и отлично подходят для любителей! Эти датчики предварительно откалиброваны и не требуют дополнительных компонентов, поэтому вы можете сразу начать измерение температуры и относительной влажности.
Рисунок 1 – Как работают датчики температуры и влажности DHT11 и DHT22, и их взаимодействие с Arduino
Одна из важнейших функций, которую они предоставляют, заключается в том, что температура и влажность измеряются с точностью до десятых долей; то есть до одного десятичного знака. Единственным недостатком этого датчика является то, что вы можете получать с него новые данные с периодичностью только раз в одну или две секунды. Но, учитывая его производительность и цену, вы не можете жаловаться.
DHT11 против DHT22/AM2302
У нас есть две версии серии датчиков DHTxx. Они выглядят немного похоже и имеют одинаковую распиновку, но имеют разные характеристики. Вот подробности.
DHT22 является более дорогой версией, которая, очевидно, имеет лучшие характеристики. Диапазон измерения температуры составляет от -40°C до +80°C с точностью ±0,5 градуса, а диапазон температур DHT11 составляет от 0°C до 50°C с точностью ±2 градуса. Также датчик DHT22 имеет более широкий диапазон измерения влажности, от 0 до 100% с точностью 2-5%, в то время как диапазон измерения влажности DHT11 составляет от 20 до 80% с точностью 5%.
![]() | ![]() | |
DHT11 | DHT22 | |
---|---|---|
Рабочее напряжение | от 3 до 5 В | от 3 до 5 В |
Максимальный рабочий ток | 2,5 мА макс | 2,5 мА макс |
Диапазон измерения влажности | 20-80% / 5% | 0-100% / 2-5% |
Диапазон измерения температуры | 0-50°C / ± 2°C | от -40 до 80°C / ± 0,5°C |
Частота выборки | 1 Гц (чтение каждую секунду) | 0,5 Гц (чтение каждые 2 секунды) |
Размер корпуса | 15,5 мм х 12 мм х 5,5 мм | 15,1 мм х 25 мм х 7,7 мм |
Преимущество | Ультра низкая стоимость | Более точный |
Хотя DHT22/AM2302 более точен и работает в большем диапазоне температур и влажности; есть три вещи, в которых DHT11 сильно превосходит DHT22. Он более дешевый, меньше по размеру и имеет более высокую частоту выборки. Частота выборки DHT11 составляет 1 Гц, то есть одно чтение каждую секунду, в то время как частота выборки DHT22 составляет 0,5 Гц, то есть одно чтение каждые две секунды.
Для получения более подробной информации обратитесь к техническим описаниям датчиков DHT11 и DHT22/AM2302.
Обзор аппаратного обеспечения
Теперь давайте перейдем к более интересным вещам. Давайте разберем оба датчика DHT11 и DHT22/AM2302 и посмотрим, что внутри.
Корпус состоит из двух частей, поэтому для его вскрытия достаточно просто достать острый нож и разделить корпус на части. Внутри корпуса на стороне датчиков находятся датчик влажности и датчик температуры NTC (термистор).
Рисунок 2 – Внутренности датчиков температуры и влажности DHT11 DHT22/AM2302
Чувствительный к влажности компонент, который используется, разумеется, для измерения влажности, имеет два электрода с влагоудерживающей подложкой (обычно соль или проводящий пластиковый полимер), зажатой между ними. По мере поглощения водяного пара подложка высвобождает ионы, что, в свою очередь, увеличивает проводимость между электродами. Изменение сопротивления между двумя электродами пропорционально относительной влажности. Более высокая относительная влажность уменьшает сопротивление между электродами, в то время как более низкая относительная влажность увеличивает это сопротивление.
Рисунок 3 – Внутренняя структура датчика влажности в DHT11 и DHT22
Кроме того, в этих датчиках для измерения температуры имеется датчик температуры NTC (термистор). Термистор – это терморезистор – резистор, который меняет свое сопротивление в зависимости от температуры. Технически все резисторы являются термисторами – их сопротивление слегка изменяется в зависимости от температуры, но обычно это изменение очень мало и его трудно измерить.
Рисунок 4 – График зависимости сопротивления NTC термистора от температуры
Распиновка DHT11 и DHT22/AM2302
Датчики DHT11 и DHT22/AM2302 довольно легко подключаются. У них есть четыре вывода:
- Вывод VCC обеспечивает питание датчика. Хотя допускается напряжение питания в диапазоне от 3,3 до 5,5 В, рекомендуется питание 5 В. В случае источника питания 5 В, вы можете держать датчик на расстоянии до 20 метров от источника питания. Однако при напряжении питания 3,3 В длина кабеля не должна превышать 1 метра. В противном случае падение напряжения в линии приведет к ошибкам измерения.
- Вывод Data используется для связи между датчиком и микроконтроллером.
- NC не подключен
- GND должен быть подключен к земле Arduino.
Подключение DHT11 и DHT22/AM2302 к Arduino UNO
Теперь, когда у нас есть полное понимание того, как работает датчик DHT, мы можем начать подключать его к нашей плате Arduino!
К счастью, подключение датчиков DHT11, DHT22/AM2302 к Arduino довольно тривиально. У них довольно длинные выводы с шагом 0,1 дюйма (2,54 м), поэтому вы можете легко вставить их в любую макетную плату. Подайте на датчик питание 5 В и подключите землю. Наконец, подключите вывод данных к цифровому выводу 2 на Arduino.
Помните, как обсуждалось ранее, между VCC и линией данных нам нужно установить подтягивающий резистор 10 кОм, чтобы поддерживать высокий логический уровень на линии данных для правильной связи между датчиком и микроконтроллером. Если у вас есть готовый модуль датчика, вам не нужно добавлять какие-либо внешние подтягивающие резисторы. Модуль поставляется со встроенным подтягивающим резистором.
Рисунок 6 – Подключение DHT11 к Arduino UNO Рисунок 7 – Подключение DHT22/AM2302 к Arduino UNO
Теперь вы готовы загрузить в Arduino код и заставить ее работать.
Код Arduino. Вывод значений на монитор последовательного порта
Как обсуждалось ранее, датчики DHT11 и DHT22/AM2302 имеют собственный однопроводный протокол, используемый для передачи данных. Этот протокол требует точной синхронизации. К счастью, нам не нужно беспокоиться об этом, потому что мы собираемся использовать библиотеку DHT, которая позаботится почти обо всем.
Сначала скачайте библиотеку, посетив репозиторий на GitHub, или просто нажмите эту кнопку, чтобы скачать архив:
После установки библиотеки вы можете скопировать следующий скетч в IDE Arduino. Данный скетч выводит значения температуры и относительной влажности в монитор последовательного порта. Попробуйте скетч в работе; а затем мы рассмотрим его подробнее.
Скетч начинается с включения библиотеки DHT. Затем нам нужно определить номер вывода Arduino, к которому подключен вывод данных нашего датчика, и создать объект DHT . Так мы сможем получить доступ к специальным функциям, связанным с библиотекой.
В функции setup() нам нужно инициировать интерфейс последовательной связи, так как для вывода результатов мы будем использовать монитор последовательного порта.
В функции loop() мы будем использовать функцию read22() , которая считывает данные с DHT22/AM2302. В качестве параметра она принимает номер вывода данных датчика. Если вы работаете с DHT11, вам нужно использовать функцию read11() . Вы можете сделать это, раскомментировав вторую строку.
После расчета значений влажности и температуры мы можем получить к ним доступ:
Объект DHT возвращает значение температуры в градусах Цельсия (°C). Его можно преобразовать в градусы Фаренгейта (°F) по простой формуле:
В конце мы выводим значения температуры и влажности в монитор последовательного порта.
Рисунок 8 – Вывод в мониторе последовательного порта показаний датчика DHT11 или DHT22/AM2302
Код Arduino. Использование DHT11 и DHT22/AM2302 с LCD дисплеем
Иногда может возникнуть идея, контролировать температуру и влажность в инкубаторе. Тогда для отображения условий в инкубаторе вам, вероятно, понадобится символьный LCD дисплей 16×2 вместо монитора последовательного порта. Итак, в этом примере вместе с датчиком DHT11 или DHT22/AM2302 мы подключим к Arduino LCD дисплей.
Далее нам нужно подключиться к LCD дисплею, как показано ниже.
Рисунок 9 – Подключение к Arduino символьного LCD дисплея 16x2 и DHT11 Рисунок 10 – Подключение к Arduino символьного LCD дисплея 16x2 и DHT22
Следующий скетч будет выводить значения температуры и относительной влажности на символьном LCD дисплее 16x2. Он использует тот же код, за исключением того, что мы печатаем значения на LCD дисплее.
Рисунок 11 – Показания температуры и влажности на LCD дисплее
Существует большое число разновидностей датчиков для измерения температуры с разной точностью, степенью защиты от внешних условий и другими параметрами. Кроме описанных ниже датчиков, есть ещё модели TMP36, MAX6675, MAX31855, DS18B20.
Датчик температуры LM35
Датчик температуры LM35 позволяет очень просто получать значения температуры. Вам нужно получить показания с аналогового вывода, сделать несложные математические вычисления и получить готовый результат.
У датчик три вывода: питание и земля по краям и средний для вывода данных.
Точность составляет почти 0.75-1 градусов. Интервал показаний от -55 до +150. Но в большинстве случаев используются показания от 0 до 105. Если вам нужны отрицательные температуры, то используйте датчик TMP36.
Скетч для работы с датчиком.
Запускаем скетч и наблюдаем за результатами в Serial Monitor. Датчик считается очень медленным, поэтому не следует делать слишком маленькую задержку, в примере используется пауза на две секунды.
Пример проверялся летом в жаркий день. Результаты вполне правдоподобны. Если подышать на датчик (помните в детстве мы дышали на стекло?), то влажность увеличится (и температура). Через какое-то время показания будут медленно возвращаться к первоначальным.
В составе библиотеки также есть файл с именами функций.
DHT Класс датчика. Объявляем объект класса: DHT dht(DHTPIN, DHTTYPE);. В первом параметре объявляем пин, во втором - тип датчика begin() Запускаем датчик readTemperature() Без параметров функция измеряет в градусах Цельсия. Вызов readTemperature(true) вернёт значения в градусах Фаренгейта convertCtoF() Конвертирует из одной системы в другую convertFtoC() Конвертирует из одной системы в другую computeHeatIndex() Выводит индекс жары. По умолчанию используется индекс на основе градусов Фаренгейта, где нужно указать градусы и влажность. Для температуры по Цельсию нужно указывать три параметра computeHeatIndex(t, h, false) readHumidity() Функция для измерения влажности read() Что-то считывает
Дополнительные материалы для DHT
Fritzing-Library/DHT11 Humitidy and Temperature Sensor.fzpz at master · adafruit/Fritzing-Library · GitHub - в составе Fritzing нет датчика DH11. Скачайте данный файл и перетащите его на окно программы. Теперь вы сможете составлять схемы с его участием (смотри мой скриншот выше). В программе он будет находиться в разделе MINE.
Датчик температуры и влажности DHT11 (DHT22) - здесь дана дополнительная информация о работе датчика в модульном исполнении, ссылка на даташиты, примеры кода без библиотеки, графики.
Модуль датчика температуры KY-001
Модуль состоит из датчика температуры воздуха с цифровым представлением данных. Основной компонент – микросхема DS18B20, преобразующая температуру корпуса в информацию передаваемую по последовательной двухпроводной шине данных 1-Wire. На шину данных можно установить несколько датчиков. Можно применять для измерения температуры воздуха в помещении и на открытом воздухе.
Также на модуле установлен резистор сопротивлением 4,7 кОм и светодиодный индикатор включения питания.
Технические характеристики
- Питание: напряжение 3…5,5 В, ток 10 мА
- Диапазон измерения температуры -55…125 °С/-57°F to 257°F
- Разрешающая способность: 9…12 бит
- Точность ±0,5 °С в диапазоне -10…+85 °С
- Время измерения при разрешающей способности 12 бит составляет 0,75 с
Имеет три вывода:
Для работы с модулем используются дополнительные две библиотеки.
Модуль датчика температуры KY-013
Датчик является аналоговым, но использовать его нужно не для измерения конкретных температур, а для слежения за превышением пороговых значений. В модуле используется PTC-термисторы - при повышении температуры растёт и сопротивление.
При работе с датчиком пробуйте менять местами землю и питание, часто маркировка ошибочна.
Основной элемент датчика – терморезистор, который соединён со входом микросхемы компаратора LM393YD. С помощью подстроечного резистора выполняется настройка порога срабатывания компаратора. Так устанавливается температурный порог. При превышении температурой установленного порога на цифровом выходе D0 будет высокий уровень напряжения. Если температура мала, то на выходе D0 низкий уровень.
Датчик содержит два светодиодных индикатора. Индикатор L1 сообщает о подаче питания. Светодиод L2 включается при превышении температурой окружающего воздуха установленного порога. С его помощью удобно проводить настройку модуля.
При включении на выходе A0 присутствует напряжение соответствующее температуре в комнате. Эта температура известна лишь приблизительно. Для повышения точности можно использовать температуру тела (сожмите терморезистор пальцами), в этом случае мы узнаем напряжение аналогового выхода при температуре 36,6°C. На эти данные можно опираться в дальнейшем. Другой вариант - температура таяния льда 0°C. Используйте пакетик с таящим льдом или снегом из холодильника, чтобы получить новое значение напряжения, которому можно верить.
вроде собрал всё. проверил работает. но не могу понять почему указатель температуры двигателя и топливо в баке работают как то странно. один поднимается, а другой опускается. как будто они связаны между собой и связаны с vin входом. правда собирал по старой схеме.
Мне кажется, схема цифрового датчика температуры Dallas DS18b20, ошибочна …
Это схема двухпроводного подключения с паразитным питанием
Лично я опробовал вот такую схему, попробовал для интереса пьезик от зажигалки — контроллер остался жив после нескольких ударов по +12V
я бы и наличие напряжения по второй картинке делал.
т.е. штатно, при отсутствии сигнала идет через диод нагрузка на штатную лампочку, а если появилась нагрузка, единица будет и на входе.
если что, так сигнальные линии на тойотовских эбу сделаны, т.е. диоды закрывают линии от внешних напряжений. и работать будет от внешних же +2.3 вольт.
Аналоговый датчик температуры простой в освоении, дешевый и при этом позволяет в режиме реального времени контролировать температуру окружающей среды!
Эти датчики используют технологии твердотельной электроники для для опредения температуры. То есть, в них нет ртути (как в старых термометрах) или биметаллических пластин. Вместо в них установлены термисторы (чувствительные к температур резисторы). В термисторах при повышении температуры, повышается напряжение в диоде (технически это разность напряжений между базой и эмиттером в транзисторе). Точный съем показаний напряжения дает возможность генерировать аналоговый сигнал, пропорциональный температуре. Конечно, технология не настолько линейна, но по сути именно так и меряется температура.
В этих датчиках нет подвижных частей, они точные, практически не изнашиваются, не требуют калибровки, могут работать в различных окружающих средах. Кроме того, как уже упоминалось выше, эти датчики недорогие и легки в эксплуатации.
Датчик температуры TMP36
Технические характеристики
Эти технические характеристики относятся к аналоговым датчикам температуры TMP36 (-40 до 150 градусов по цельсию).
Технические характеристики очень схожи также с датчиками модели LM35/TMP35 (выходой сигнал в цельсиях) и LM34/TMP34 (в фаренгейтах). Основное преимущество модели ’36 перед ’35 или ’34 – этот датчик температуры имеет широкий диапазон чувствительности и не генерирует отрицательные значения напряжения при минусовой температуре. Во всем остальном функционал одинаковый.
- Размер: корпус TO-92 (около 0.2" x 0.2" x 0.2") с тремя коннекторами
- Цена: $2.00 в магазине Adafruit (Китай, конечно же предлагает дешевле)
- Диапазон измеряемых температур: от - 40°C до 150°C / -40°F до 302°F
- Диапазон сигнала на выходе: от 0.1В (-40°C) до 2.0В (150°C), но точность падает после 125°C
- Питание: от 2.7 В до 5.5 В, сила тока - 0.05 мА
- Даташит
Как измерить температуру
Для использования TMP36 достаточно подключить левый коннектор к источнику питания (2.7 - 5.5В), а правый – к земле. Со среднего коннектора мы будем снимать аналоговое значения напряжения, которое прямопропорционально (линейная зависимость) температуре. Значение аналогового напряжения не зависит от источника питания.
Для преобразования напряжения в температуру используется зависимость:
Temp in °C = [(Vout in mV) - 500] / 10
То есть, например, если напряжение на выходе равно 1 В, температура равна:
((1000 mV - 500) / 10) = 50 °C
Если вы используете датчик температуры LM35 или подобный ему, используйте линию “a” на рисунке выше и формулу:
Temp in °C = (Vout in mV) / 10
Проблемы, которые могут возникнуть при работе с несколькими датчиками
Проверка датчика температуры
Проверить эти датчики несложно. Для этого вам понадобятся батарейки или источник питания.
Подключите источник питания 2.7 – 5.5 В (отлично подходят также 2-4 батарейки АА) таким образом, что земля подключена к 3 пину (справа), а напряжение питания – к 1 пину (слева).
После этого выставьте на своем мультиметре режим DC (постоянный ток). Подключите его его к земле и свободному среднему (2) коннектору. Если у вас датчик температуры TMP36 и вокруг комнатная температура (около 25 °C), напряжение дожно быть около 0.75 В. Обратите внимание, что если вы используете LM35, напряжение составит 0.25 В.
Датчик показывает температуру 26.3 °C, что равно 79.3 F
Напряжение на выходе можно легко изменить, зажав пластиковый корпус датчика пальцами. В результате вы увидите как напряжение/температура растут.
С пальцами на датчике температура поднялась до 29.7°C / 85.5°F:
Или вы можете коснуться датчика кусочком льда (желательно так, чтобы влага с него не попала на ваше электрическую цепь). В результате температура уменьшится.
С кусочком льда на сенсоре температура опустилась до 18.6°C / 65.5°F.
Использование датчика температуры
Подключение датчика температуры
Внутри подобных датчиков находится маленький чип. Чип достаточно тонкий, так что устанавливать датчик надо осторожно. Будьте аккуратны со статическим электричеством при установке датчика. Убедитесь, что питание подключено правильно и находится в диапазоне от 2.7 до 5.5 В – постоянный ток. Не используйте батарейки на 9 В!
Считывание аналоговых значений температуры
В отличие от датчиков силы и фоторезисторов TMP36 и подобные датчики не работают как резистор. В связи с этим считывать данные температуры получится только с использованием аналогового пина на плате Arduino.
Не забудьте, что для питания необходим диапазон от 2.7 до 5.5 вольт. В приведенной выше схеме подключения датчика температура к Arduino используется пин 5 вольт. Но можно использовать и пин 3.3 вольта. Вне зависимости от напряжения питания, считываемое аналоговое значение напряжения будет находится в диапахоне от 0 до 1.75 В.
Если вы используете 5 В Arduino и подключаете датчик напрямую к аналоговому пину, можно использовать следующие формулы для преобразования 10-битных аналоговых значений в температуру:
Напряжение на пине в миливольтах = (значения с аналогового пина ADC) * (5000/1024)
С помощью этой зависимости мы преобразуем числовое значение в диапазоне 0-1023 с аналогового пина в 0-5000 миливольт (= 5 вольт)
Если вы используете 3.3 Arduino, используйте следующую зависимость:
Напряжение на пине в миливольтах = (значения с аналогового пина ADC) * (3300/1024)
Эта зависимость преобразовывает числовое значение 0-1023 с аналогового пина в 0-3300 миливольт (= 3.3 вольт)
После этого, для преобразования милливольт в температуру, используйте формулу:
Температура в цельсиях = [(аналоговое напряжение в милливольт) - 500] / 10
Простой термометр на Arduino
В этом примере программы для Arduino показано как можно быстро создать термометр с использованием датчика температуры. Текущее значение температуры будет отображаться в серийном мониторе в градусах по Цельсию и по Фаренгейту.
int sensorPin = 0; //аналоговый пин, к которому подключен датчик температуры TMP36 //разрешающая способность равна 10 мВ/градус по Цельсию
//с отступом 500 мВ для отрицательных температур
* setup() – эта функция отрабатывает один раз при запуске Arduino
* Инициализация серийного протокола связи с компьютером
Serial.begin(9600); //Начало обмена данными с компьютером по серийному протоколу,
// чтобы отобразить результат измерений в серийном мониторе
void loop() // запускается вновь и вновь
//получаем значения напряжения с датчика температуры
int reading = analogRead(sensorPin);
// преобразовываем полученные данные в напряжение. Если используем Arduino 3.3 В, то меняем константу на 3.3
float voltage = reading * 5.0;
Serial.print(voltage); Serial.println(" volts");
// теперь отображаем температуру
float temperatureC = (voltage - 0.5) * 100 ; //конвертируем 10 мВ на градус с учетом отступа 500 мВ
//в градусы ((напряжение – 500 мВ) умноженное на 100)
Serial.print(temperatureC); Serial.println(" degrees C");
// преобразуем в градусы по Фаренгейту
float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
Serial.print(temperatureF); Serial.println(" degrees F");
delay(1000); //ожидаем 1 секунду
Повышаем точность измерений датчиком температуры
Для более точных показаний с меньшими внешними шумами, можно использовать источник питания 3.3 В, который подключен к пину AREF вместо 5 В.
В примере дополнительно использован фоторезистор, но вы можете его спокойно проигнорировать.
Обратите внимание, что мы подключили датчик температуры TMP36 к пину A1.
При использовании пина 3.3 В для питания датчика не забудьте указать "analogReference(EXTERNAL)" в функции setup() как это сделано в коде ниже:
/* Пробный скетч для датчика температуры
int tempPin = 1;//аналоговый пин, к которому подключен аналоговый датчик температуры TMP36
//разрешающая способность 10 мВ/градус по Цельсию
//с отступом 500 мВ для отрицательных температур
int tempReading;// считывание аналоговых значений с датчика
// подключаем серийный протокол для обмена данными с Arduino
// Если вы подключаете aref к источнику питания, который не равен 5 В
Serial.print(voltage); Serial.println(" volts");
// теперь отображаем температуру
float temperatureC = (voltage - 0.5) * 100 ; //преобразовываем 10 мВ на градус по цельсию с учетом поправки 500 мВ
В данной статье мы рассмотрим подключение цифрового датчика температуры 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 необходимо скачать и извлечь из архива следующие библиотеки, необходимые для работы проекта:
-
; (необходима для считывания и расчета температуры с датчика).
В скетче программы необходимо подключить заголовочные файлы этих библиотек.
Читайте также: