Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Датчик температуры Arduino DS18B20: описание, применение, схема подключения

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

Что представляет собой DS18B20?

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

Датчик подключается через 3 выхода:

  1. Первый – питание VDD (красный).
  2. Второй – данные DQ (желтый или другой цвет).
  3. Третий – земля GND (черный).

Из-за возможности реализации схемы с фантомным питанием, можно подключить датчик через два провода: DQ и VDD. Но по-хорошему, лучше подобного подключения избегать. Также, к основной плате Arduino можно подключить на один пин выходы DQ с двух сенсоров.

Виды датчика:

  1. 8-Pin SO (150 mils) — DS18B20Z+
  2. 8-Pin µSOP — DS18B20U+
  3. 3-Pin TO-92 — DS18B20+

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

На рисунке изображен даллас DS18B20+ в герметичном корпусе

Характеристики:

  1. Диапазон измерения температур -55 °С до +125 °С.
  2. Погрешность максимум 0,5 °C, без дополнительной калибровки при t от -10 °С до +85° С).
  3. Питание 3,3-5 В.
  4. Для соединения с Arduino UNO необходимо 3 контакта.
  5. К одной линии связи доступно подключение вплоть до ста двадцати семи датчиков, потому как датчик содержит собственный 64-битный код в постоянной памяти.
  6. Каждый датчик имеет персонализированный серийный номер.
  7. Протокол 1-Wire используется для передачи информации.
  8. Доступно подключение через два провода напрямую к линии связи по схеме фантомного питания. Но такой режим не рекомендуется использовать при температурах от 100° С, так как нет гарантий правильных замеров в таких условиях.
  9. Два вида памяти — статическая память с произвольным доступом или полупроводниковая оперативная память (SRAM) и энергонезависимая память EEPROM.
  10. В EEPROM записываются два однобайтовых регистра контроля TH, TL, по которым можно верхний и нижний предел диапазона температур.

Применение

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

  • 9 бит – 0,5С;
  • 10 бит — 0,25С;
  • 11 бит — 0,125С;
  • 12 бит — 0,0625С.

Порядок работы датчика:

  1. При подключении источника питания, DS18B20 будет находится в начальном состоянии.
  2. Затем, подается команда «преобразование температуры» на Arduino UNO для замера t.
  3. Результат, полученный от датчика, сохранит свое значение в двух байтах регистра t, а сам элемент схемы вернется с начальное состояние.
  4. При работе схемы через внешнее питание, микроконтроллер регулирует состояние конвертации.
  5. При выполнении команды линия находится в низком состоянии, а закончив – переходит в высокое.

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

В оперативную память сохраняются:

  • 1-2 байты – данные измеряемой температуры;
  • 3-4 байты – пределы изменения t;
  • 5-6 байты – резерв;
  • 7-8 байты – нужны для точных замеров t;
  • 9 байт — циклический избыточный код, устойчивый к помехам;

Подключение датчика

Для подключения в схеме обязательно должен присутствовать резистор «Подтяжки», сопротивлением 4,7 кОм.

Соединение происходит по интерфейсу 1-Wire по шине данных.

Схема подключения одного датчика

Для соединения нужно:

  1. DS18B20 – 1 штука.
  2. Ардуино УНО – 1 штука.
  3. Резистор 4,7 кОм.
  4. Макетная плата под пайку.
  5. Коннекторы.
  6. USB-кабель для соединения с ПК.

Нормальная схема включения одного датчика.

Подключайте по представленной выше схеме. Учитывайте, что DQ можно подключить к аналоговому пину ввода / вывода A1 (еще называют цифровой A15). Резистором притяните линию данных к питанию, как показано на схеме макетной платы.

Вот как схема выглядит в реальной жизни.

Фантомная схема включения одного датчика

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

Схема подключения нескольких датчиков

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

Программная часть

Скачать библиотеку для работы с датчиком и другими устройствами на 1-Wire, можно на Github по ссылке. Для установки, загрузите архив с сервера и разархивируйте по адресу «Мои документы» – «Ардуино» – «libraries» или другое место, где вы ее разместите.

Виды скетчей и библиотек

Для написания программы можно использовать несколько библиотек:

  1. OneWare – основная, с помощью которой можно использовать самые простые скетчи для работы одного или нескольких датчиков, подключённых по нормальной и фантомной схеме питания.
  2. DallasTemperature — Рекомендуется использовать библиотеку для комфортного взаимодействия с устройствами, особенно если их подключается к плате несколько. Некоторые моменты в логике с помощью библиотеки можно упростить.

В скетчах применяется только первая или две библиотеки в паре. Чтобы запустить работу измерителя температуры, запустите Ardiuino IDE, скопируйте в него код и загрузите в контроллер.

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

Использование и применение

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

  1. Определение t воды в аквариуме для рыб. Особенно актуальный способ в летнюю жару. Сенсор среагирует на показатель, который оказался за пределами нормы и оповестит вас об этом по каналам связи. Естественно, можно подвязать дополнительное действие при нагревании воды, например, запускать Аэрацию.
  2. Оповещение о нагретой воды в бойлере. При достижении определенной t в бойлере, на компьютер, или подключенный LCD-дисплей вам поступит уведомление. Можно с схему добавить реле, которое будет отключать бойлер. Конечно, современные водонагревающие устройства могут оснащаться автоматикой и термостатом, но часто с помощью дополнительных датчиков реализуются более сложные системы управления умным домом, чем автономная автоматика водонагревателя.
  3. Замер температуры в холодильной витрине. Комплект из нескольких датчиков на достаточно простой схеме может замерять и выдавать температуру в каждой секции витрины. Выставленный диапазон значений может указывать, когда температура вышла за пределы нормы и уведомлять о нарушениях стационарного режима.
  4. Замер точного градуса воды в чайнике. Выпитый натощак стакан теплой воды помогает запустить желудок. При этом нужно выпить подогретую до температуры тела воду. Самодельный термодатчик способен решить подобную задачу, определив градус с точностью до 0,5 °С.
  5. Определение температуры воды в ванной, джакузи, бассейне. Набирая воду для водных процедур, нужно, чтобы она была комфортной. С помощью терморегулятора Arduino можно определить комфортный уровень и подобрать нужный градус для себя. Дополнительно, пороговыми значениями температуры можно реагировать на снижение или увеличения t воды и держать все время воду подогретой.
Естественно, датчик можно использовать и в системах для промышленности: водонагревательные станции, морозильные комнаты, замеры t вязких веществ на предприятиях.

Заключение

Цифровой датчик DS18B20 работающий в паре с Arduino UNO (или платами NANO и MEGA) по своим характеристикам может использоваться для решения серьезных задач, где нужны точность замеров, измерение температуры жидкости и мониторинг нужного градуса жидкости в температурном диапазоне.

Особенностью данного датчика является собственная память и содержание в ней 64-битного кода, позволяющего подключать вплоть до 127 датчиков на одну линию. Еще одной фишкой есть возможность подключения по схеме фантомного питания, когда вместо трех, используется два провода (питание и данные). Земля не подключается.

Высокоточный аналоговый датчик температуры LM35, Подключение к Arduino

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

Характеристики датчика:

  • Диапазон температур: − 55°C  …  150°C ±0.5 при 25°C, доступный 0°C … 110°C
  • Разрешение: 10. 0 mV/°C
  • Напряжение на выходе при 25°C: 250мВ.
  • Напряжение питания: от 4.0 В до 30 В.

Особенности работы с датчиком:

На выходе датчика формируется напряжение пропорционально температуре по шкале Цельсия, величина напряжения 10.0 mV на 1°C, то есть, если температура датчика 25°C на выходе датчика будет 250mV. С этим связаны сложности при работе с Arduino.

  • Не возможно измерение отрицательных температур, 0°C это 0 вольт на выходе датчика, чтобы измерять весь диапазон нужно подавать отрицательное напряжение, но даже если оно будет подано, встроенный аналого-цифровой преобразователь в Arduino не может измерять отрицательное напряжение.
  • Низкое разрешение встроенного АЦП Arduino и нестабильность опорного напряжения в случаи использования в качестве опорного напряжение питания 5 вольт. Решается использованием встроенного в Arduino UNO источника опорного напряжения 1.1 вольт, в этом случаи верхний придел температур, которые могут быть измерены, 110°C

При использовании датчика с Arduino UNO, доступный диапазон температур 0°C … 110°C.

Схема подключения датчика:

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

//http://playground.arduino.cc/Main/LM35HigherResolution

float tempC;
int reading;
 
void setup()
{
  analogReference(INTERNAL);        // включаем внутрений источник опорного 1,1 вольт
  Serial.begin(9600);
}

void loop()
{
  reading = analogRead(A0);        // получаем значение с аналогового входа A0
  tempC = reading / 9.31;          // переводим в цельсии 
  Serial.print(tempC);            // отправляем в монитор порта
  
Serial
.println(" C");  delay(1000);                     // ждем секунду }

Открываем «монитор порта» и видим точные показания температуры с высоким разрешением.


Видео:


Пример с использованием текстового экрана

код

/*
 

  The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * LCD VSS pin to ground
 * LCD VCC pin to 5V
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)

 Library originally added 18 Apr 2008
 by David A.  Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe
 modified 22 Nov 2010
 by Tom Igoe

 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/LiquidCrystal
 */

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


float tempC;
int reading;

void setup() {
  analogReference(INTERNAL);        // включаем внутрений источник опорного 1,1 вольт
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
   
}

void loop() {

  reading = analogRead(A0);        // получаем значение с аналогового входа A0
  tempC = reading / 9.31;          // переводим в цельсии 
  lcd.setCursor(0, 0);             // устанавливаем курсор
  lcd.print(tempC);                // отправляем данные на жк
  lcd.print(" C   ");
 
  delay(100); 
  
 
}




Запись опубликована автором admin в рубрике Обзоры с метками LM35, датчик температуры.

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

LM35 является аналоговым температурным сенсором, в отличие от того же DS18B20. Это сильно упрощает работу с датчиком, так как не нужно эмулировать протокол OneWire и можно вручную легко корректировать показания датчика, изменяя коэффициенты в коде.

Однако, подключение такого датчика менее помехозащищённое, чем у DS18B20, поэтому необходимо иметь точные источники опорного напряжения (ИОН) и правильно разводить печатную плату для датчика, иначе показания могут быть неточными. Но для «домашних» применений типа метеостанции, где не так важна ошибка в плюс-минус градус, датчик идеален.

Он ещё и дешевле DS18B20. Дешевле него, наверное, только термисторы, но это уже совсем другой разговор 🙂

Для реализации проекта из этой статьи нам потребуются следующие компоненты:

Пример подключения LM35 к Arduino Uno

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

Вас может заинтересовать функция analogReference(INTERNAL). Эта функция позволяет сменять источник опорного напряжения, которое используется для измерений с помощью аналогово-цифрового преобразователя. По умолчанию в качестве ИОН используется питание контроллера, т.е. 5В.

Верхняя граница напряжения ИОН равна максимальному значению АЦП, т.е 10 бит = 2 в 10 степени = 1024. Но из-за нестабильности входного напряжения (оно может быть как 4.5В, так и 5.1В) часто применяется внутренний ИОН, который содержится практически в каждом контроллере AVR, который поддерживает АЦП.

При использовании ИОН = 5В, точность измерений равна 5.000 / 1024 = 4.9мВ. Если учесть низкую точность АЦП, то погрешность примерно равна 20мВ. Много, не правда ли? Так как разрядность АЦП мы поднять не можем, для увеличения точности показаний мы можем сузить диапазон измеряемого напряжения.

В микроконтроллерах ATMega328 и ATMega168 применяются ИОН, выдающие 1.1В. В микроконтроллере ATMega8, на котором была построена первая плата Arduino, ИОН выдает 2.56В.

То есть расчётная точность измерения будет составлять:

  • 2. 56В – 2.5мВ
  • 1.1В – 1мВ

Но кроме внутреннего ИОН, можно подцепить также внешний ИОН ко входу AREF микроконтроллера, что позволить поднять точность измерений. Включение внешнего ИОН выполняется так: analogReference(EXTERNAL).

У нашего термометра максимальное выходное напряжение составляет что-то около 1В, то есть для достижения максимальной точности нам надо иметь ИОН с Uвых = 1В. Мы применим внутренний ИОН на 1.1В, так как сверхвысокая точность нам не нужна. Однако, точность всё равно выше относительно стандартного ИОН на 5В – при его использовании точность в диапазоне 1В составляла бы 24.5мВ.

Подводя итоги, скажем, что простота использования такого датчика и его цена – главные его преимущества, пусть точность и оставляет желать лучшего. Опять же, каждой задаче – свой инструмент, так что выбирайте датчик температуры, исходя из требований проекта. Удачи вам в ваших проектах!

DS18B20 подключение к Arduino: схемы, программирование датчика температуры

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

Информация о событиях, происходящих вне блока управления, поступает к нему от подключенных датчиков. Последние, в зависимости от своей направленности, «чувствуют» изменения света во всех его проявлениях, возникновение и силу звука, состав атмосферы, вибрацию, давление или температуру.

Все перечисленное в комплексе, позволяет создавать на основе микроконтроллера сложные конечные автоматы, обслуживающие рутинные операции, связанные со всеми нишами жизни. Хорошим примером станут известные всем кондиционеры. Они не только включаются по времени или командам с пульта, но и контролируют при помощи термометра нагрев окружающего воздуха. При чрезмерном охлаждении включается повышение его температуры, при избытке тепла — вентиляция. Нормы, к которым приводится окружающая среда в автоматическом режиме, задаются человеком и могут в любое время изменены согласно его желаниям. Всю названую функциональность обеспечивает микроконтроллер.

Настоящее устройство выполняется не только в виде впаянных «намертво» компонентов конечных агрегатов, но и отдельными платами, доступными к приобретению разработчикам. Самыми распространенными моделями среди них можно назвать STM32, Raspberry PI и Arduino. Последние из списка, по комплексу своих характеристик, наиболее подходят для легкого создания самодельных и достаточно сложных систем логического контроля. Достигается это за счет широкой базы датчиков и релейных контуров доступных на рынке, изначально ориентированных на совместное использование с Ардуино.

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

Сенсоры, определяющие температуру

Датчик температуры подключаемый к Arduino, как и в случае любого другого микроконтроллера, существует в двух видах: цифровой и аналоговый. Разница между настоящими термометрами в виде передаваемой на управляющую плату информации. Для первых характерна выдача уже готовых цифровых последовательностей, с которыми контроллер может работать непосредственно. Вторые только изменяют физическую характеристику идущего через них тока в зависимости от внешнего воздействия. То есть, Arduino, еще должен и преобразовать получаемый результат к цифровому виду, «зная» тип самого устройства и таблицу соответствия приходящего сигнала реальным значениям.

В последнем случае падает конечная точность измерений, так как сам микроконтроллер, о котором идет речь, может определять лишь изменения с градацией в 1024 уровня. Кроме того, для каждого чувствительного аналогового устройства требуется свой отдельный входящий канал. Единственное, что нивелирует минусы аналоговых сенсоров — их низкая цена и простота конструкции, которая обеспечивает достаточную длительность бесперебойной работы. Наибольшее распространение среди таких детекторов тепла получили модели на основе чипсета LM35 — TMP35, TMP37, LM335. Существует и широкий спектр аналогичных решений от иных производителей.

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

Шина передачи в названом случае называется 1-Wire.  В ней, для определения конечного отправителя показаний, используется уникальный идентификационный код «зашитый» в сам конечный датчик, что помогает избежать путаницы с изначальным адресантом. Хорошим примером цифровых детекторов такого типа служит DS18B20 Arduino и его варианты разных производителей — DS18S20, DS1820, DS1822, MAX31820. Все они основаны на логике DS18.

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

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

Ниши применения

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

Его жители достаточно критически относятся к температуре окружающей среды. Если она слишком горячая или холодная — водные обитатели погибнут. В теплой они жизнерадостны, активны и развиваются. Здесь, как раз поможет электронный термометр, объединенный с микроконтроллером Ардуино. Последний, в зависимости от показаний первого, будет включать обогрев водной массы или пытаться предотвратить превышение установленных температурных лимитов.

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

Характеристики DS18B20

Цифровой датчик Ардуино DS18B20 поставляется в одном из следующих видов исполнения:

Марка Корпус Кол-во контактов
DS18B20+ TO-92 3
DS18B20Z+ SO 8
DS18B20U+ μSOP 8

Вне зависимости от конечного количества исходящих контактов, рабочие из них только три: два питания GND и VCC +5В и один данных шины 1-Wire, обозначаемый на схемах через DQ. Корпус ТО-92 выполняется производителями как в открытом виде, так и защищенном от воздействия влаги. В последнем случае исходящие линии кабеля разделяют по следующей цветовой маркировке:

Цвет Контакт
Черный GND
Красный VDD
Белый DQ

Класс устройств DS18 подразумевает бытовое, а не экстремальное использование. Соответственны и возможности сенсора:

  • Питание: от 3 до 5.5 В
  • Чувствительность: от −55 до +125 ºС
  • Интерфейс передачи данных: 1-Wire
  • Точность: до 0.5 градуса в пределах от −10 до +85 ºС. С температурами ниже или выше она падает, и разница с реальным состоянием может составить до 2 ºС в любую сторону.

Принципиальная схема соединений

Датчик DS1820 подключается к Arduino одним из двух способов: нормальным или паразитным. Разница в количестве используемых контактов. Первый требует три, с полным отдельным питанием, для второго достаточно пары. В последнем случае применение нескольких температурных сенсоров на одной линии не рекомендуется, так как кодовые сигналы, поступающие от одного, могут внести искажения в работу других.

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

Оперирование термометром DS18B20

Так как Ардуино с сенсором нагрева работает по цифровой шине передачи информации 1-Wire, нужно включить в текст скетча библиотеку обслуживающую настоящий протокол. Скачать ее последнюю версию можно на GitHub по адресу:

https://github.com/PaulStoffregen/OneWire

Скетч, использующий только настоящую библиотеку:

https://cloud.mail.ru/public/Fifd/twtiPmtka

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

https://github.com/milesburton/Arduino-Temperature-Control-Library

Перед тем, как писать скетч, использующий возможности OneWire в связке с DallasTemperature, требуется определить адреса всех конечных устройств единой шины. Для этого в составе библиотечного кода есть пример Multipe, который при своем выполнении выводит уникальные идентификационные коды всех сенсоров температуры DS18 расположенных на шине. Используя полученные данные, и подключив настоящую библиотеку, не трудно получать их показания уже для своего кода:

https://cloud.mail.ru/public/ucnZ/4WJByWExo

В заключение

Определяющие нагрев сенсоры, в совокупности с Ардуино, вне зависимости от их типа — цифровых класса DS18 или использующих аналоговый сигнал, на основе чипа LM35, дают широкий спектр возможностей конечному пользователю. Достаточная точность, вкупе с низким энергопотреблением позволяют применять аналогичные сенсоры во множестве сфер, от быта до производства.

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

Видео по теме

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Pinterest

LM393 Цифровой датчик температуры модуль температуры измерений модулей для Arduino

Материал: PCB Цвет: Голубой Размер: 32 * 14 мм Вес: 10G. ИСПОЛЬЗУЕТ: Определение температуры, датчик контроля температуры, температуры окружающей среды обнаружение Пакет включает в себя:

1/3/5/10Piece температурного датчика модуль

Возможности модуля: 1. NTC термистор датчик принимается, с хорошей чувствительностью 2. Выход компаратора, чистый сигнал, хорошие волны, сильная способность управлять автомобилем, над 15mA. 3. Оснащен потенциометр для настройки значения температуры обнаружения клапан 4. Рабочее напряжение 3.3 v-5v 5. Форма выпуска: цифровой импульсный выход (0 и 1) 6. Отверстия для болтов фиксированной предоставляются для облегчения установки 7. Малый размер PCB: 3.2 см x 1.4 см 8. Используется компаратор напряжения LM393 Инструкции модуля 1. Термистора модуль чувствительны к температуре и обычно используется для определения температуры окружающей среды; 2, через для регулировки потенциометра, можно изменить порог обнаружения температуры (я.e., контроль температуры), такие, как необходимость контроля температуры окружающей среды – 50 градусов, в то время как модуль соответствующей температуры окружающей среды на зеленый свет, делать вывод высокого уровня, ниже заданной температуры, высокий уровень производства, не зеленый свет; 3. Выходной конец ДУ может быть напрямую связано с Однокристальные микро-ЭВМ, и высокого и низкого уровня могут быть обнаружены одночиповых микрокомпьютер, с тем чтобы обнаружить изменения температуры окружающей среды. 4. Выходной терминал может непосредственно диск релейный модуль магазина, формируя таким образом регулятор температуры для управления рабочей температуры соответствующего оборудования, или подключить вентилятор для охлаждения, и т.д.. 5. Температурный диапазон обнаружения этого модуля является 20-80 градусов Цельсия; 6. Этот модуль может также быть заменены датчики температуры с проводами для контроля температуры воды, емкость для воды, и т.д. Список продуктов: Температурный датчик температуры датчика модуль модуль модуль

Тип товара: Датчики

DS1820 Arduino

Есть достаточно много интересных модулей и датчиков, которые можно использовать в разработках на платформе Arduino, и один из них – это конечно датчик температуры DS1820 разработанный компанией Dallas Semiconductor и приобретенная компанией Maxim Integrated Products в 2001 году.

Выпускается в разном исполнении

  • Просто датчик
  • Во влагозащищённом корпусе
  • В виде готового модуля

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

Характеристики
DS1820 (DS18S20, DS1821, DS18B20)

  • интерфейс 1-Wire. На один пин микроконтроллера можно подключить несколько датчиков.
  • Уникальный 64-битный серийный номер.
  • Напряжение питания 3,0 В - 5,5 В. Можно использовать линию связи и подключить по схеме паразитной связи двумя проводами (“parasite power”).
  • Диапазон измерения от -55°C до +125°C
  • Точность ± 0.5°C в диапазоне -10 . .. +85 °C.
  • Разрешение преобразования 9 - 12 бит. Задается пользователем.
  • Потребление тока 1,5мА
  • Время измерения, до 750 мс, при максимальном разрешении 12 бит.
  • Температура эксплуатации, °С    0...+55
  • Относительная влажность эксплуатации, %    ...55
  • Производство    Dallas / Maxim
  • Вес, г    10

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

Получает данные всего по одному проводу. На этот единственный провод возможно повесить огромное количество таких же датчиков, так как каждый DS1820 имеет свой уникальный 64-битный код.

Применяются для определения температуры в помещениях, на улице, в жидкостях (версия в влагозащищённом корпусе).

Типы корпусов датчика ds1820

Выводы

  • GND – Общий провод (Земля)
  • D – Вывод данных. По нему так же подаётся питание при схеме с Паразитным питанием.
  • VDD – Питание от 3,3 до 5,5 Вольт. В схеме с паразитным питанием соединить с Общим проводом.

 

Подключение DS1820
По протоколу 1-Wire. Вывод данных подключается через подтягивающий резистор 4,7 кОм к питанию. Arduino, работающий здесь как Мастер, определяет есть ли устройства на шине и обменивается с ними данными используя уникальный 64 битный код каждого датчика.
Младшие восемь бит содержат код семейства микросхем DS18B20 28h.
Средний блок из 48 бит — это уникальный серийный номер устройства.
Старшие восемь бит — это циклический код (CRC) для всех предыдущих 56 битов. 

Паразитное питание
Питание получается от подтягивающего резистора включенного между выводом D(Вывод данных, центральный вывод) и  + питания 3,0 – 5,5 Вольт.  GND и VDD необходимо соединить. Измерение температуры при этом немного снижается до +100 С. Если вам необходимо регистрировать температуру до +125С, то необходимо подключить внешнее питание. Часто печатают схемы с дополнительным полевым транзистором, но он не обязателен при работе с Arduino, потому что на выходах микроконтроллера достаточно силы тока.

Блок-схема датчика

Память датчика.
Включает в себя оперативную (SRAM) и энергонезависимую (EEPROM) память. 
В EEPROM хранятся регистры TH, TL и регистр конфигурации. 
Если функция тревожного сигнала не используется, то регистры TH и TL могут использоваться как регистры общего назначения.

Режим с внешним питанием.
Тут ничего сложного нет. Подключаете VDD к + источника 3,0 В - 5,5 В, а GND к общему проводу(земле).
Подключаете подтягивающий резистор между выводом D (Вывод данных, центральный вывод) и + питания. 

Подключение DS1820 к Arduino

Один датчик

Несколько датчиков

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

Конвертация температуры
Разрешающую способность преобразования датчика можно изменять с 9 до 12 битов. От этого зависит точность измерений и скорость определения температуры, соответственно 0.5 °C, 0.25 °C, 0.125 °C, 0.0625 °C. По умолчанию установлено 12 бит., так же по умолчанию датчик откалиброван в градусах Цельсия. Результат представлен как 16-разрядное число.
Эти данные, как и пороги тревожного сигнала хранятся в энергонезависимой память EEPROM. 
Более подробно можно прочитать в datasheet ds1820 на русском языке
или на datasheet на  английском 

Принцип работы датчика
Основан на сравнении частоты 2-х генераторов. Частота первого постоянна, а второго изменяется в зависимости от изменения измеряемой температуры. При вычитании частоты первого генератора из второго получаем значение температуры.
При подаче питания датчик находится в Низком состоянии, состоянии ожидания. Микроконтроллер может запросить данные с датчика, отправив ему запрос. Датчик измерит температуру, сохранит её в 2 байтах регистра и снова уйдёт в состояние ожидания.

Тревожный режим
Значения находятся в регистрах Th и Tl и хранятся в EEPROM. При измерении температуры её значения сравниваются с Th и Tl и если они находятся в пределах, то всё в порядке, а если значения ниже чем Tl или выше Th то создаётся признак аварии.

ПРОДОЛЖЕНИЕ БУДЕТ ОПИСАНО ВО 2 ЧАСТИ.

Датчики температуры - Hi-Lab.ru

Подключение датчиков

Измерение температуры в проекте Arduino Mega Server производится при помощи цифровых датчиков температуры DS18B20, соединённых в сеть и подключённых по схеме с так называемым «паразитным» питанием. Паразитным оно называется потому, что не используется отдельный источник питания, а необходимые напряжение и ток подаются прямо на вывод DATA датчиков DS18B20 с цифрового вывода Arduino с подтяжкой к напряжению питания через резистор 4,7 КОм. Вывод VCC датчика при этом соединяется с выводом GND.

Сам датчик DS18B20 выполнен в корпусе TO-92 и имеет три вывода: GND (земля), DATA (данные), VCC (напряжение питания). Датчик одинаково хорошо работает как с 5-вольтовыми контроллерами (Arduino Mega), так и с 3. 3-вольтовыми (Arduino Due).

По умолчанию сеть подключена на второй пин микроконтроллера Arduino, но вы можете подключить её на любой другой свободный цифровой вывод, только не забудьте изменить соответствующие настройки в скетче Arduino Mega Server.

Критичным для качественной работы сети 1-Wire является подключение датчиков непосредственно к линии, без каких-либо ответвлений. Ещё желательно не проводить сеть вблизи от силовых проводов и параллельно с ними (во избежание наводок).

По умолчанию в системе поддерживается 3 датчика температуры, но вы можете подключить любое нужное вам количество — как меньше трёх (без изменений в скетче), так и больше трёх, внеся изменения в скетч Arduino Mega Server.

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

Первоначальная настройка

При начальном подключении датчиков требуется небольшая настройка. Она заключается во внесении внутренних номеров датчиков в скетч на Arduino. Эту операцию требуется проделать только один раз. При каждом старте системы в монитор последовательного порта (Ctrl + Shift + M) выводятся номера обнаруженных датчиков температуры.

Эти номера нужно внести в скетч Arduino Mega Server в модуле «rtemp». Просто аккуратно перепишите обнаруженные номера в скетч, как указано на картинке. В будущих версиях системы планируется избавиться от необходимости вносить номера датчиков вручную и сделать их автоматическое определение.

Если вы всё проделаете правильно, то после рестарта системы начнёт определяться температура со всех подключённых датчиков. С первого по списку датчика температура выводится в dash-панель интерфейса Arduino Mega Server. Предполагается, что это датчик уличной температуры.

Обратите внимание. Система Arduino Mega Server непрерывно развивается и в код проекта постоянно вносятся изменения и улучшения, поэтому, описание и документация может не соответствовать вашей конкретной версии системы. Последняя правка этой страницы относится к 0.14 версии системы.

9 Датчики температуры, совместимые с Arduino

Считывание температуры с помощью Arduino - очень полезная задача. Существует широкий выбор датчиков температуры с различными функциями, которые вы можете использовать в своих проектах. В этой статье мы собрали 9 доступных датчиков температуры, совместимых с Arduino и другими платами для разработки (например, ESP32 или ESP8266).

1. DHT11

DHT11 - это цифровой датчик температуры, который измеряет температуру и относительную влажность.

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

В следующей таблице приведены наиболее важные характеристики датчика температуры DHT11.

У нас есть специальное руководство по использованию этого датчика с Arduino:

2.

DHT22

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

В следующей таблице приведены наиболее важные характеристики датчика температуры DHT22.

Узнайте, как использовать датчик температуры DHT22 с Arduino, из следующего руководства:

3. LM35DZ, LM335, LM34

LM35DZ - это линейный датчик температуры, калиброванный напрямую в градусах Цельсия.Аналоговый выход прямо пропорционален температуре в градусах Цельсия: 10 мВ на каждый градус Цельсия повышения температуры.

Этот датчик очень похож на LM335 (калиброванный в Кельвинах) и LM34 (калиброванный в Фаренгейте).

В следующей таблице приведены наиболее важные характеристики датчика температуры LM35.

LM35DZ
Протокол связи аналоговый выход
Диапазон питания От 4 до 30 В
Диапазон температур -55 до 150ºC
Точность +/- 0. 5ºC (при 25ºC)
Интерфейс с Arduino аналог Читать ()
Где купить? Проверить цены
LM35
LM335
LM34

Узнайте, как использовать датчики температуры LM35DZ, LM335 или LM34 с Arduino:

4. BMP180

Хотя BMP180 является датчиком атмосферного давления, он также измеряет температуру. Это очень полезно для включения в любой проект метеостанции.

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

Ознакомьтесь со следующим руководством, чтобы узнать, как использовать датчик BMP180 с Arduino для измерения давления, температуры и оценки высоты:

5. TMP36

TMP36 - аналоговый датчик температуры. Он выводит аналоговое значение, пропорциональное температуре окружающей среды. Он очень похож на датчик температуры LM35.

Проверьте наиболее подходящие характеристики TMP36 в следующей таблице.

TMP36
Протокол связи аналоговый выход
Диапазон питания от 2,7 В до 5,5 В
Диапазон температур -40 ° C до + 125 ° C
Точность +/- 1ºC (при 25ºC)
Интерфейс с Arduino аналог Читать ()
Где купить? вид на eBay

6.LM75

Датчик LM75 - еще один полезный датчик температуры. Он работает через соединение I2C, что означает, что он взаимодействует с Arduino с помощью контактов SDA и SCL. Вы можете найти один из этих датчиков примерно за 2 доллара (посмотреть на eBay).

Взгляните на следующую таблицу, где приведены сводные технические характеристики датчика LM75.

LM75
Протокол связи I2C
Диапазон питания 3.От 0 до 5,5 В
Диапазон температур от -55 до 125 ° C
Точность +/- 2,0 ° C (в диапазоне от -55 до 125 ° C)
Интерфейс с Arduino Библиотека I2C для LM75
Где купить? вид на eBay

7. BME280

BME280 - барометрический датчик, который также измеряет температуру и влажность.Он может обмениваться данными через протокол связи I2C или SPI, а модуль BME280 может питаться от 3,3 или 5 В.

В следующей таблице приведены сводные технические характеристики датчика BME280, когда речь идет о датчике температуры.

Взгляните на следующую таблицу, где приведены сводные технические характеристики датчика LM75.

Узнайте, как использовать BME280 с Arduino для получения показаний температуры, влажности и давления:

8. DS18B20

Датчик температуры DS18B20 представляет собой однопроводной цифровой датчик температуры.Это означает, что для связи с Arduino требуется только одна линия данных (и GND).

Каждый датчик температуры DS18B20 имеет уникальный 64-битный серийный код. Это позволяет подключить несколько датчиков к одному проводу передачи данных. Таким образом, вы можете получать температуру от нескольких датчиков, используя всего один цифровой вывод Arduino.

В следующей таблице приведены наиболее важные технические характеристики датчика температуры DS18B20:

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

9.Водонепроницаемый DS18B20

DS18B20 также доступен в водонепроницаемой версии (см. Руководство по DS18B20). Провода защищены ПВХ, который идеально подходит, если вам нужно измерить температуру жидкостей или если датчик должен подвергаться воздействию воды.

Электропроводка и технические характеристики такие же, как у обычного DS18B20.

Где купить? Сравните цены на водонепроницаемый датчик температуры DS18B20 в Maker Advisor.

Заключение

Мы надеемся, что это руководство было для вас полезным.У нас также есть руководства для других датчиков и модулей Arduino, которые могут вам понравиться:

Вам также могут понравиться наши ресурсы по Arduino:

Спасибо за внимание.

П.С. Также рекомендуем прочитать:

Какой датчик температуры выбрать для вашего проекта Arduino?

Поскольку на рынке представлено множество датчиков температуры с различными функциями и функциями, трудно выбрать, какой датчик температуры лучше всего подходит для вашего проекта Arduino.Не беспокойтесь, так как к концу этого руководства вы узнаете о различных функциях датчиков температуры, областях применения, точности, диапазоне температур и многом другом!

В этом руководстве мы рассмотрим и сравним следующие датчики температуры:

  • Термисторный датчик
    • Датчик температуры Grove V1. 2 (термистор)
  • Датчики DHT
    • Grove - Датчик температуры и влажности (DHT11)
    • Датчик температуры и влажности-DHT22 (AM2302)
  • Водонепроницаемый датчик температуры
    • Датчик температуры с одним проводом (DS18B20)
  • Барометрический датчик
    • Grove - датчик барометра (BMP280)
    • Grove - датчик окружающей среды (BME280)
  • 1

      Датчик газа
    • Grove - Датчик температуры, влажности, давления и газа (BME680)

Как видите, некоторые датчики являются частью нашей системы Grove!
Grove - это модульная стандартизованная система для создания прототипов соединителей, в которой для сборки электроники используется подход строительных блоков.По сравнению с системой на основе перемычек или пайки, ее проще подключать, экспериментировать и строить, что упрощает систему обучения! Чтобы узнать больше о системе Grove, посетите нашу вики!

Без лишних слов, давайте сразу перейдем к первому датчику температуры!


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

Grove - Датчик температуры (2,90 $)

  • Это датчик температуры Grove, который использует термистор для определения температуры окружающей среды.
  • Что такое термистор и как он работает?
    • Термистор - это тип резистора, сопротивление которого зависит от температуры. При повышении или понижении температуры сопротивление термистора изменяется вместе с ней. Именно эту характеристику мы используем для расчета температуры окружающей среды.
  • Обнаруживаемый диапазон этого датчика составляет от -40 до 125ºC, а точность составляет ± 1,5ºC

Если вы новичок, который просто ищете базовую регистрацию данных о температуре, этот датчик температуры Grove - Temperature Sensor отлично подойдет для вас по доступной цене.


Датчики DHT

Датчики

DHT состоят из двух частей: емкостного датчика влажности и термистора с базовой микросхемой, которая отвечает за аналого-цифровое преобразование.

Grove - Датчик температуры и влажности (DHT11) (5,90 $)

  • DHT11 - это базовый сверхдорогой цифровой датчик температуры и влажности.
  • Он способен определять температуру, а также относительную влажность, которая представляет собой количество водяного пара в воздухе по сравнению с точкой насыщения водяного пара в воздухе.
  • DHT11 - самый распространенный модуль температуры и влажности для Arduino и Raspberry Pi. Он широко используется энтузиастами аппаратного обеспечения за его многочисленные преимущества.
    • Например, Низкое энергопотребление и отличная долговременная стабильность. Относительно высокая точность измерения может быть получена при очень низких затратах.
  • Our Grove - Датчик температуры и влажности - это высококачественный недорогой цифровой датчик температуры и влажности, основанный на новом модуле DHT11.
    • Он имеет вывод цифрового сигнала с одной шиной через встроенный АЦП, что экономит ресурсы ввода-вывода платы управления.
  • Он имеет диапазон влажности от 5 до 95% с относительной влажностью ± 5%, а также диапазон температур от -20 до 60 ℃ с точностью ± 2%.

Как уже упоминалось, наш датчик температуры и влажности Grove использует обновленную версию DHT11. Так в чем разница?

Датчик температуры-влажности-DHT22 (AM2302) (4,99 доллара США)

  • Цифровой модуль измерения температуры и влажности AM2302 представляет собой комбинированный датчик температуры и влажности с откалиброванным цифровым выходным сигналом.
  • В нем используется специальная технология сбора данных цифрового модуля и технология измерения температуры и влажности, чтобы обеспечить высокую надежность и отличную долгосрочную стабильность.
  • Датчик состоит из емкостного чувствительного элемента и высокоточного элемента измерения температуры, подключенного к высокопроизводительному 8-разрядному микроконтроллеру.
    • Таким образом, продукт обладает такими преимуществами, как отличное качество, сверхбыстрый отклик, сильная защита от помех и высокая стоимость. расстояние передачи сигнала более 20 метров делает его лучшим выбором для любого приложения с даже самыми требовательными приложениями.
    • Продукт также легко подсоединяется с помощью 3 выводов (интерфейс с одной шиной). Если вы хотите подключить датчик более длинным проводом, вы можете просто добавить подтягивающий резистор.
    • DHT22 имеет диапазон влажности от 0 до 100% с точностью ± 2% и диапазон температур от -40 до 80 ℃ с точностью ± 0,5%.

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

    В целом, датчики DHT - это базовые и медленные датчики температуры и влажности, которые подходят для начинающих и любителей, желающих выполнять базовую регистрацию данных.DHT22 более точен и имеет больший диапазон по сравнению с DHT11, но стоит дороже. Если вы ищете что-то более точное с большим диапазоном, выберите DHT22, если нет, DHT11 тоже подойдет!


    Водонепроницаемый датчик температуры

    Датчик температуры с одним проводом (DS18B20) (7,50 доллара США)

    • DS18B20 - это цифровой термометр, который обеспечивает измерения температуры от 9 до 12 бит по Цельсию и имеет функцию сигнализации с энергонезависимыми программируемыми пользователем верхней и нижней точкой срабатывания.
    • Это однопроводный датчик температуры длиной 2 м с водонепроницаемым зондом и длинной проволокой, пригодной для иммерсивного определения температуры. Он использует микросхему DS18B20, которая широко применяется и документирована вместе с Arduino.
    • Чтобы этот датчик заработал, вам нужно будет добавить дополнительное сопротивление, чтобы заставить его работать, что мы и сделали, настроив его на порт Grove и предварительно смонтировав сопротивление внутри, чтобы вы могли использовать его как обычный датчик Grove.
      • Это упрощает подключение однопроводного датчика температуры для Seeeduino, который основан на Arduino и совместим со всеми платформами Arduino.
    • Некоторые особенности этого датчика DS18B20 включают
      • Водонепроницаемый
      • Требуется только один провод для интерфейса данных
      • Совместимость с Grove
      • Принимает источник питания от 3,0 В до 5,5 В
      • Широкий диапазон температур от -55 ° C до +125 ° C
      • Высокая точность ± 0,5 ° C (от -10 ° C до + 85 ° C)

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

    Вы можете заглянуть в другой наш блог о DS18B20, чтобы узнать больше об этом датчике!


    Барометрический датчик

    Grove - Датчик барометра (BMP280) (8,90 долл. США)

    • Датчик BMP280 - это датчик барометрического давления, специально разработанный компанией Bosch для мобильных приложений.Его небольшой размер и низкое энергопотребление позволяют легко интегрировать его во многие устройства с батарейным питанием, такие как мобильные телефоны и носимые устройства.
      • Он отличается высокой точностью, линейностью, а также долговременной стабильностью и высокой устойчивостью к ЭМС.
    • Датчик барометра Grove BMP280 построен на базе Bosch BMP280, это недорогой и высокоточный датчик окружающей среды, измеряющий температуру и барометр, который также поддерживает связь I2C и SPI.
    • Grove BMP280 обеспечивает точные измерения атмосферного давления и температуры в окружающей среде.Давление воздуха можно измерить в диапазоне от 300 до 1100 гПа с абсолютной точностью ± 1,0 гПа. Что касается температуры, датчик отлично работает в диапазоне температур от -40 ℃ до 85 ℃ с точностью ± 1 ℃.
    • Благодаря высокой точности измерения давления и изменению давления с высотой, мы можем рассчитать высоту с точностью ± 1 метр, что также делает его точным высотомером.
    • Еще одна замечательная особенность этого модуля заключается в том, что вам даже не нужно беспокоиться о конфликтах I2C, поскольку он предоставляет интерфейсы I2C и SPI.Чтобы использовать SPI, просто отпаяйте контактные площадки на задней панели. Если вы используете I2C, плата также предоставляет 2 адреса I2C, которые вы можете выбрать по своему усмотрению.

    Grove - Датчик окружающей среды (BME280) (17,00 $)

    • Датчик BME280 - это интегрированный датчик окружающей среды, разработанный специально для мобильных приложений, где размер и низкое энергопотребление являются ключевыми ограничениями конструкции.
    • Они имеют те же функции, что и BMP280, но не полностью идентичны.Подробнее об этом мы расскажем в конце.
    • Устройство сочетает в себе отдельные высокоточные линейные датчики давления, влажности и температуры, разработанные для низкого потребления тока, долговременной стабильности и высокой устойчивости к электромагнитным помехам.
    • На основе Bosch BME280 мы сделали этот недорогой и высокоточный датчик окружающей среды - Grove - Датчик окружающей среды BME280 (барометр температуры и влажности), который поддерживает связь I2C и SPI.
    • Grove BME280 обеспечивает точное измерение не только атмосферного давления и температуры, но и влажности в окружающей среде.
      • Давление воздуха можно измерить в диапазоне от 300 до 1100 гПа с точностью ± 1,0 гПа, в то время как датчик идеально работает при температурах от -40 ℃ до 85 ℃ с точностью ± 1 ℃. Что касается влажности, вы можете получить значение влажности с погрешностью менее 3%.
    • Как и BMP280, он может измерять высоту с точностью ± 1 метр, что также делает его точным высотомером.
    • Кроме того, вам не нужно беспокоиться о конфликтах I2C, поскольку он предоставляет интерфейсы I2C и SPI.

    Так в чем их отличия?

    • Grove BMP280 похож на Grove BME280, и их характеристики почти такие же, поэтому люди часто путаются.
    • BMP280 может измерять только температуру и давление воздуха, а BME280 может измерять влажность в дополнение к температуре и атмосферному давлению.
    • Из-за этой разницы BMP280 намного дешевле BME280.
    • Проще говоря, датчик барометра BMP280 представляет собой модернизацию датчика барометра BMP180, а датчик окружающей среды BME280 добавляет измерение влажности к датчику BMP280.
    • Итак, если вы просто хотите получить атмосферное давление, мы рекомендуем использовать Grove BMP280, однако, если вы хотите более тщательно контролировать окружающую среду, мы рекомендуем Grove BME280.

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


    Датчик газа

    Grove - Датчик температуры, влажности, давления и газа (BME680) (20 долларов.

    50)

    • Ребята, вы можете быть сбиты с толку, почему датчик газа сравнивается с датчиками температуры. Что ж, с этим датчиком BME680 вы получаете 4 функции, которые, конечно же, включают температуру, влажность, давление и газ!
    • BME680 является расширением существующего семейства датчиков окружающей среды Bosch Sensortec. BME680 впервые объединяет высоколинейные и высокоточные датчики газа, давления, влажности и температуры, где датчик газа в BME680 может обнаруживать широкий диапазон газов для измерения качества воздуха для личного благополучия.
    • Датчик температуры, влажности, давления и газа Grove (BME680) основан на модуле BME680. Функция 4-в-1 интегрирована в такой небольшой модуль, что позволяет очень удобно применять его на устройствах IoT или GPS.
    • Он отличается низким энергопотреблением, широким диапазоном измерения и имеет дополнительный выход, который позволяет независимо включать / отключать отдельные датчики влажности, давления и газа.
    • Газы, которые может обнаруживать BME680, включают летучие органические соединения (ЛОС) из красок (например, формальдегид), лаков, средств для удаления краски, чистящих средств, мебели, офисного оборудования, клея, клея и спирта.

    Некоторые области применения и применения BME680 включают безопасность окружающей среды, домашнюю безопасность (качество воздуха в помещении), домашнее применение (домашняя автоматизация и управление), прогноз погоды, улучшение GPS (например, улучшение времени до первого исправления, точный расчет, определение уклона) и многое другое!


    Сводка

    Имея так много типов датчиков температуры с различными функциями и приложениями, мы составили для вас таблицу, чтобы вы могли легко выбрать датчик температуры, который лучше всего подходит для вашего проекта Arduino!

    Датчик Grove - Датчик температуры Grove - Датчик температуры и влажности (DHT11) Датчик температуры-влажности-DHT22 (AM2302) Датчик температуры с одним проводом (DS18B20) Grove - Датчик барометра (BMP280) Grove - Датчик окружающей среды (BME280) Grove - Датчик температуры, влажности, давления и газа (BME680)
    Меры Температура Температура, влажность Температура, влажность Температура Температура, давление Температура, влажность, давление Температура, влажность, давление, газ
    Протокол связи Однопроводный (интерфейс с одной шиной). Однопроводный (интерфейс с одной шиной). Однопроводный (интерфейс с одной шиной). One-Wire (интерфейс с одной шиной). I2C, SPI I2C, SPI I2C, SPI
    Напряжение питания от 3,3 В до 5 В от 3,3 В до 5 В от 3,0 В до 6 В от 3,0 В до 5,5 В от 3,3 В до 5 В от 3,3 В до 5 В от 3,3 В до 5 В
    Диапазон измерения температуры от -40 ° C до 125 ° C от -20 ℃ до 60 ℃ от -40ºC до 80ºC от -55 ° C до 125 ° C от -40 ° C до 85 ° C от -40 ℃ до 85 ℃ от -40 ℃ до 85 ℃
    Точность измерения температуры ± 1.5 ° С ± 2% ± 0,5% ± 0,5 ° С ± 1 ° С ± 1 ℃ ± 1 ° С
    Диапазон и точность других измерений Диапазон влажности: от 5 до 95% относительной влажности
    Точность влажности: ± 5%
    Диапазон влажности: от 0 до 100% относительной влажности
    Точность влажности: ± 2%
    Диапазон атмосферного давления: 300 - 1100 гПа
    Точность атмосферного давления: ± 1,0 гПа
    Диапазон атмосферного давления: 300 - 1100 гПа
    Точность атмосферного давления: ± 1. 0 гПа
    Диапазон влажности: 0% - 100% относительной влажности
    Точность влажности: ± 3%
    Диапазон барометрического давления: 300 - 1100 гПа
    Точность атмосферного давления: ± 1,0 гПа
    Диапазон влажности: 0% - 100% относительной влажности
    Точность влажности: ± 3%
    Датчик газа VOC (например, этанол, спирт, окись углерода)
    Цена $ 2,90 $ 5,90 $ 4,99 $ 7,50 $ 8,90 17,00 $ 20 долларов.50

    Что вы думаете об этом списке датчиков температуры? У вас есть еще один датчик температуры, который вы хотите добавить в этот список? Дайте нам знать в разделе комментариев ниже!

    Следите за нами и ставьте лайки:

    Теги: датчики температуры Arduino, bme280, BME280 Arduino, BME680, bme680 arduino, bmp280, bmp280 arduino, DHT11, DHT11 Arduino, DHT22, DHT22 Arduino, ds18B20, DS18B20 Arduino, термистор

    Продолжить чтение

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

    для Arduino | Into Robotics

    Хотите найти подходящий датчик для своего DIY-проекта на базе микроконтроллера Arduino? Что ж, поиск подходящего датчика требует исследования, и чтобы облегчить этот процесс, вы найдете всю необходимую информацию в этой статье. Но если в культуре DIY и есть что-то лучше, чем теория, так это практика.

    Введение

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

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

    Датчики температуры Сравнение чисел: DS18B20, LM35DZ, DHT11, Термопара типа K, MLX, LM75, SHT15, TMP100, RHT03, TPA81, D6T MEMS

    Приложения

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

    • пожарный робот, способный определить источник пожара и принять меры;
    • мобильный робот, способный обнаруживать, контролировать температуру и отправлять данные через Bluetooth или Wi-Fi на сервер и просматривать данные о температуре на смартфоне или планшете;
    • беспроводная сенсорная сеть в вашем доме для принятия решений и управления установкой отопления и кондиционирования воздуха;
    • сигнализация, определяющая присутствие человека;

    Датчики температуры для любителей

    Датчики температуры для любителей в среднем дешевы по сравнению с датчиками, но они служат той же цели - считывают температуру. Что ж, ни один из этих датчиков не может съесть солнце, но они идеально подходят для самодельной робототехники и приложений автоматизации, потому что они просты в интерфейсе, точны и имеют быстрое время отклика. После того, как вы коснетесь его пальцем, сразу же выходной сигнал датчика начнет расти.

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

    Датчики температуры для любителей (DS18B20, LM35DZ, TMP100, DHT11, RHT03 (DHT22), LM75)

    1.DS18B20

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

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

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

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

    Примечание. DS18B20 имеет водонепроницаемую версию, предназначенную для измерения температуры во влажных условиях. Этот датчик покрыт оболочкой из ПВХ, и все, что вы знаете об интерфейсе и характеристиках, осталось прежним.

    Из этого туториала Вы узнаете, как подключить датчик к плате Arduino UNO и считать температуры, обнаруженные датчиком.В скетче называется библиотека DallasTemperture, которая поможет вам очень легко использовать этот датчик: Arduino - One Wire Digital Temperature Sensor - DS18B20.

    2. LM35DZ

    Иногда я не верю, что можно купить датчики по цене ниже кофе. LM35DZ, вероятно, самый дешевый датчик температуры в сообществе DIY. Его цена всего 1,57 доллара.

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

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

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

    В этом руководстве вы найдете схему схемы с подключением схемы и эскиз Arduino для отображения температуры, обнаруженной датчиком, в градусах Цельсия и Фаренгейта. Чтобы подробнее изучить особенности LM35DZ, пользователь Instructables HarshV покажет вам, как построить автоматическую систему охлаждения.

    3. TMP100

    TMP100 имеет три особенности, которые делают его одним из лучших датчиков температуры для проектов DIY. Первая особенность заключается в том, что датчик поддерживает входное напряжение 2.От 7 В до 5,5 В, в отличие от датчика TMP102, которому требовалось входное напряжение от 1,4 В до 3,6 В. Вторая особенность - это два адресных контакта, которые позволяют управлять до восьми датчиков на одной шине I2C. Третья важная особенность - его водонепроницаемость, благодаря которой он хорошо измеряет температуру во влажном или сухом месте. Также датчик можно установить на горизонтальной платформе или вверх ногами.

    Когда датчик покидает завод Texas Instruments, он представляет собой крошечный и компактный чип, похожий на паука на шести лапах.Для облегчения работы с датчиком TMP100 я рекомендую вам использовать коммутационную плату. Небольшая коммутационная плата DFRobot со встроенным датчиком TMP100 - хороший вариант по цене 11,55 долларов.

    В том же интернет-магазине показано, как связать коммутационную плату TMP100 с клоном Arduino и прочитать измеренную температуру.

    4. DHT11

    При цене 5,33 доллара DHT11 имеет преимущества в соотношении цена / производительность и является относительно дешевым датчиком для измерения температуры и влажности.Это датчик отличного качества, но с серьезным недостатком, поскольку вы можете считывать цифровой сигнал каждые 2 секунды.

    В остальном довольно просто встроить датчик в ваш проект и контролировать окружающий воздух.

    Датчик DHT имеет две версии: DHT11 и DHT22. Оба датчика очень хороши для измерения температуры и влажности, но характеристики разные.

    По сравнению с DHT11, DHT22 хорошо измеряет температуру от -40 до 125 ° C и имеет более высокую точность, чем DHT11.Но даже он не может считывать данные в большом диапазоне температур, DHT11 меньше и дешевле, чем DTh32.

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

    От считывания до отображения температуры на ЖК-экране - считанные минуты. Если вы хотите попробовать что-то другое, кроме простого приложения для измерения температуры, вы можете попробовать систему для проверки температуры и влажности в комнате и отображения значений, записанных на ЖК-дисплее и на веб-странице.

    5. RHT03 (DHT22)

    RHT03 (также известный как SHT22) - это цифровой датчик температуры и влажности, который откалиброван и не требует дополнительных компонентов для контроля воздуха в помещении или на складе. Датчик прост в использовании с любым микроконтроллером Arduino и стоит 9,95 долларов.

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

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

    6. LM75

    LM75 - еще один очень дешевый цифровой датчик по цене всего 2,21 доллара. Этот датчик имеет две важные особенности: он недорогой и выполнен в виде температурного чипа I2C.

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

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

    Датчики температуры для автоматизации и управления процессами

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

    В этом разделе статьи я подробно рассмотрю функции, приложения и способы использования каждого датчика температуры (SHT15, Thermocouple Type-K) для автоматизации и управления процессами с помощью микроконтроллера Arduino.

    Датчики температуры для автоматизации и управления процессами (SHT15, термопара типа K)

    7. SHT15

    SHT15 - это точный датчик влажности и температуры, предназначенный для работы в средах с большими колебаниями влажности и температуры. По цене 41,95 доллара США в Robotshop датчик поставляется полностью откалиброванным и с 2-проводным цифровым интерфейсом.

    В этом руководстве вы узнаете, как регистрировать температуру и влажность датчиком.

    8. Термопара типа K

    Большинство датчиков температуры из этой статьи не могут достигать температуры выше 125 ° C. Термопара типа K отличается и работает при более высоких рабочих температурах, чем большинство датчиков.

    Учитывая его характеристики, ожидается, что он будет стоить больше, чем любой другой датчик.На самом деле термопара представляет собой простую комбинацию двух чувствительных металлов и стоит всего 9,95 доллара.

    Он имеет простой цифровой двухпроводной интерфейс и измеряет не более 1 метра (около 3 футов). Для датчика требуется усилитель, такой как MAX31855, который выводит цифровой сигнал на микроконтроллер Arduino.

    Вместе с платой Arduino датчик Type-K можно использовать для измерения температуры в нагревателях и котлах, системах отопления, вентиляции и кондиционирования воздуха и т. Д.

    В учебном пособии Adafruit показано, как подключить термопару к усилителю MAX31855 и отобразить температуру. обнаруживается датчиком.

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

    DS18B20, TMP100 или DHT11 обычно являются хорошим вариантом, если вы хотите контролировать температуру в комнате или на улице в лесу и делать вас довольными своим проектом. Но что, если вы хотите определить движение или количество людей в комнате? В эту категорию входит три специальных датчика температуры.

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

    Датчики температуры для проектов с особыми потребностями (MLXESF, TPA81, D6T MEMS)

    9. MLX
    ESF

    Датчик MLXESF определяет температуру, посылая инфракрасный свет на удаленные объекты. Поскольку датчик излучает инфракрасные волны, он может определять температуру объекта, не касаясь его физически.
    При цене 19,95 $ датчик прост в использовании, имеет хорошую точность и высокое разрешение.

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

    Связь с MLX осуществляется двумя способами вывода: ШИМ и SMBus.

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

    10. TPA81

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

    Вы можете настроить его на обнаружение тепла человеческого тела или пламени свечи на расстоянии до 2 метров (около 6 футов).

    Датчик стоит 105,44 доллара США и связывается с системой разработки через интерфейс I2C.

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

    11. D6T MEMS

    Может быть, вы хотите, чтобы что-то происходило, когда никого нет дома или вы входите в комнату, например, чтобы свет был выключен или включен. Работая на инфракрасных волнах, вы можете рассматривать датчик DT6 как следующий логический шаг для наблюдения за территорией, охраны или безопасности.

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

    Датчик стоит 49,88 долларов США и взаимодействует с микроконтроллером Arduino через интерфейс I2C.

    Этот файл PDF покажет вам, как получить значения измерений от инфракрасного датчика.

    Режим отказа

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

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

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

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

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

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

    5. Тепло, передаваемое по проводу
    Если датчик соприкасается с проводом, провод может проводить удивительное количество тепла. Контакт между проводом и датчиком может быть проблемой, особенно когда вы контролируете температуру вдоль труб.

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

    Ссылки: Приложение для измерения температуры мобильного робота
    через Bluetooth, SERSC
    Сравнение датчика температуры Arduino, Homautomaion
    Точное измерение температуры с помощью Arduino, Electronics Stackexchange
    Что происходит при достижении максимальной температуры на датчике температуры ?, Electronics Stackexchange
    My DS18B20 высокий уровень чтения, как мне заставить его вернуть правильную температуру ?, Arduino Stackexchange

    Урок Arduino - TMP36 - kookye.com

    Бьямбер

    Урок Arduino - TMP36

    Содержание
    1. Введение
    2. Препараты
    3. О TMP36
    4. Соединение
    5. Загрузить эскиз
    6. Результат выполнения программы

    Нет ничего проще измерить температуру с помощью Arduino, чем с помощью датчика температуры TMP36 от Analog Device! Датчик может измерять довольно широкий диапазон температур (от -50 ° C до 125 ° C), достаточно точен (0. Разрешение 1 ° C) и очень низкая стоимость, что делает его популярным. В этом уроке мы рассмотрим основы TMP36 и напишем базовый код для чтения аналогового входа, к которому он подключен.

    Оборудование

    • Плата Osoyoo UNO (полностью совместима с Arduino UNO rev.3) x 1
    • TMP36
    • Макет x 1
    • Джемперы
    • Кабель USB x 1
    • шт. X 1

    Программное обеспечение

    • Arduino IDE (версия 1.6.4+)

    Обзор

    TMP36 - это низковольтные прецизионные датчики температуры по шкале Цельсия. Они обеспечивают выходное напряжение, которое линейно пропорционально температуре Цельсия (Цельсия). TMP36 не требует какой-либо внешней калибровки для обеспечения типичной точности ± 1 ° C при + 25 ° C и ± 2 ° C в диапазоне температур от -40 ° C до + 125 ° C.

    Особенности и преимущества TMP36

    • Работа при низком напряжении (от 2,7 В до 5,5 В)
    • Калибровка непосредственно в ° C
    • Масштабный коэффициент 10 мВ / ° C (20 мВ / ° C для TMP37)
    • ± 2 ° C погрешность по температуре (тип. )
    • ± 0.Линейность 5 ° C (тип.)
    • Конюшня с большими емкостными нагрузками
    • Номинальная температура от −40 ° C до + 125 ° C, работа до + 150 ° C
    • Ток покоя менее 50 мкА
    • Ток отключения 0,5 мкА макс.
    • Низкий самонагревающийся
    • Для автомобильной промышленности

    Назначение контактов

    У ИС всего 3 контакта, 2 для источника питания и один для аналогового выхода. Выходной контакт обеспечивает выходное напряжение, которое линейно пропорционально температуре Цельсия (Цельсия).Чтобы получить температуру в градусах Фаренгейта, мы должны написать код для Arduino, чтобы преобразовать эту температуру по Цельсию в градусы Фаренгейта.

    Распиновка микросхемы TMP36:

    .

    На контакт 1 подается положительное напряжение постоянного тока для работы ИС. Это опять же напряжение в пределах 2,7-5,5 В. Контакт 3 - это земля, поэтому он принимает заземление или отрицательную клемму источника питания постоянного тока. А контакт 2 - это выход ИС, выводящий аналоговое напряжение пропорционально измеряемой температуре.

    Как измерить температуру

    Использовать TMP36 просто: просто подключите левый контакт к источнику питания (2,7-5,5 В), а правый контакт - к земле. Тогда средний вывод будет иметь аналоговое напряжение, которое прямо пропорционально (линейно) температуре. Аналоговое напряжение не зависит от источника питания.

    Чтобы преобразовать напряжение в температуру, просто используйте основную формулу:

    Температура в ° C = [(Vout в мВ) - 500 ] /10

    Так, например, если выходное напряжение составляет 1 В, это означает, что температура составляет ((1000 мВ - 500) / 10) = 50 ° C

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

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

    В отличие от датчиков с фотоэлементами, которые мы рассматривали, TMP36 и его друзья не действуют как резистор. Из-за этого на самом деле есть только один способ считывать значение температуры с датчика - подключить выходной контакт непосредственно к аналоговому (АЦП) входу.

    Схема датчика температуры, которую мы построим, показана ниже:

    Контакт 1 TMP36 подключается к + 5V Arduino
    Контакт 2 TMP36 подключается к аналоговому контакту A0 Arduino
    Контакт 3 TMP36 подключается к земле (GND) Arduino

    Помните, что вы можете использовать где угодно между 2.7V и 5.5V в качестве источника питания. В этом примере я показываю его с источником питания 5 В, но обратите внимание, что вы можете использовать его с источником питания 3,3 В. Независимо от того, какой источник питания вы используете, показания аналогового напряжения будут находиться в диапазоне от примерно 0 В (земля) до примерно 1,75 В.

    Если вы используете Arduino на 5 В и подключаете датчик непосредственно к аналоговому выводу, вы можете использовать эти формулы для преобразования 10-битных аналоговых показаний в температуру:

    Напряжение на выводе в милливольтах = ( показание АЦП ) * (5000/1024)
    Эта формула преобразует число 0-1023 из АЦП в 0-5000 мВ (= 5 В)

    Если вы используете 3.3V Arduino, вам понадобится это:

    Напряжение на выводе в милливольтах = ( показание АЦП ) * (3300/1024)
    Эта формула преобразует число 0-1023 с АЦП в 0-3300 мВ (= 3,3 В)

    Затем, чтобы преобразовать милливольты в температуру, используйте эту формулу:

    Температура по Цельсию = [(аналоговое напряжение в мВ) - 500] / 10

    Кодовая программа

    После завершения вышеуказанных операций подключите плату Arduino к компьютеру с помощью кабеля USB.Зеленый индикатор питания (с надписью PWR ) должен загореться. Откройте Arduino IDE и выберите соответствующий тип платы и тип порта для вашего проекта. Затем загрузите следующий скетч на свой Arduino.

     // Переменные вывода TMP36
    int sensorPin = 0; // аналоговый вывод, к которому подключен вывод Vout (sense) TMP36
                            // разрешение составляет 10 мВ / градус Цельсия с
                            // смещение 500 мВ для учета отрицательных температур
    / *
     * setup () - эта функция запускается один раз при включении Arduino
     * Инициализируем последовательное соединение с компьютером
     * /
    установка void ()
    {
        Серийный .begin (9600); // Запускаем последовательное соединение с компьютером
                           // для просмотра результата откройте серийный монитор
    }
     
    void loop () // запускаем снова и снова
    {
     // получение значения напряжения с датчика температуры
     int чтение = analogRead (sensorPin);
     // преобразование этого показания в напряжение, для 3.3v arduino используйте 3.3
     плавающее напряжение = показание * 5,0;
     напряжение / = 1024,0;
     // распечатать напряжение
       Серийный . печать (напряжение);  Серийный  .println («вольт»);
     // теперь распечатываем температуру
     float temperature C = (Voltage - 0.5) * 100; // преобразование из 10 мВ на градус со смещением 500 мВ
     // в градусы ((напряжение - 500 мВ) умножить на 100)
       Серийный . Печать (температура C);  Серийный  .println ("градусы С");
     // теперь конвертируем в градусы Фаренгейта
     температура поплавка F = (температура C * 9.0 / 5.0) + 32.0;
       Серийный . Печать (температураF);  Серийный .println ("градусы F");
     задержка (1000); // ждем секунду
    }
    
     

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

    Текущий результат

    Через несколько секунд после завершения загрузки откройте Serial Monitor. Теперь вы должны увидеть показания напряжения и температуры, отображаемые с интервалом в одну секунду.

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

    Считывание аналогового датчика температуры

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

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

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

    TMP36 в вашем комплекте - стандартный линейный датчик. Чем выше температура, тем выше возвращаемый сигнал. У него есть несколько важных характеристик, с которыми вам следует ознакомиться:

    • Смещение напряжения
    • Рабочий диапазон
    • Масштабный коэффициент
    • Разрешение

    Обычно датчики температуры включают смещение напряжения для учета отрицательных температур. Это означает, что 0 ° C не соответствует 0 В, а в случае TMP36 500 мВ соответствует 0 ° C.

    Рабочий диапазон датчика - это диапазон, в котором он будет регистрировать точные данные. TMP36 точно считывает температуру от -40 ° C до 125 ° C.

    Еще одним важным параметром датчика температуры является его масштабный коэффициент , изменение сигнала напряжения на градус Цельсия. Масштабный коэффициент TMP36 составляет 10 мВ / ° C.

    Разрешение сенсора - это наименьшее изменение, которое он может обнаружить. Это комбинация внутреннего разрешения сенсора и разрешающей способности считывающего устройства.В нашем случае функция analogRead () ATmega имеет 10-битное разрешение (1024 шага). Если мы используем входное напряжение 5 В, наименьшее изменение температуры, которое мы можем обнаружить, составляет 4,88 мВ (5 В / 1024 шага). Используя приведенный выше масштабный коэффициент, это означает, что мы можем обнаружить изменения 0,488 ° C или около 0,87 ° F !

    Создание схемы

    В этом эксперименте мы будем использовать датчик TMP36 для измерения температуры окружающей среды. Мы будем подключать датчик температуры к аналоговому выводу ATmega и назовем его Vcc и GND , чтобы мы могли убедиться в точности данных.

    Что вам понадобится

    Подготовьте следующие компоненты из вашего набора:

    • Omega подключена к док-станции Arduino
    • Кабель USB Micro-B для питания
    • Макет
    • 5x перемычек (M-M)
    • 1x датчик температуры TMP36
    Подключение компонентов

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

    1. Подключите TMP36 к макетной плате.
    2. Если смотреть на плоскую сторону устройства, подключите правый контакт к земле ( GND ), средний контакт к аналоговому контакту A0 , а левый контакт к 5V .

    Когда все будет сделано, это должно выглядеть так:

    Написание кода

    Эта программа выполняет три функции: 1. Считайте температуру датчика. 2. Преобразуйте данные в градусы Цельсия и Фаренгейта. 3. Распечатайте его в командной строке, чтобы мы могли убедиться, что он работает!

    Для этого скопируйте приведенный ниже код в свою среду IDE и прошейте его в док-станцию ​​Arduino.

    После прошивки кода вы сможете увидеть вывод через терминал Omega - подробности о том, как это сделать, ниже!

    Чего ожидать

    Мы можем использовать следующую командную строку на нашей Omega для чтения последовательного вывода ATmega:

      cat / dev / ttyS1  

    ATmega считывает показания датчика температуры и преобразует их в градусы Цельсия и Фаренгейта. Затем он отправит выходное напряжение датчика температуры и преобразованные градусы в Omega через последовательную связь с использованием UART1 - где мы получим его, вызвав команду выше.

    Более пристальный взгляд на код

    Здесь было введено несколько новых вещей. Мы использовали математических операций для преобразования сигнала напряжения от датчика в число в градусах. Мы также использовали последовательную связь для отправки данных с микроконтроллера ATmega на Omega.

    Типы числовых переменных

    Математика может быть такой же сложной для компьютеров! По своей природе компьютеры могут считать только целые числа - на самом деле, это почти все, что они делают. Однако для приложений, требующих точности или десятичных знаков, они не так хороши.На самом деле выполнение операций с десятичной точкой ( float ) с использованием подсчета чисел ( целых чисел ) приведет к серьезным ошибкам, если вам нужны правильные результаты!

    Существует тип с плавающей запятой , позволяющий выполнять точные десятичные вычисления.

    Внутреннее устройство типов float и int несовместимо, поэтому, если вы попытаетесь сделать что-то вроде:

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

    В двух словах, приведение типов (или приведение типов) указывает компилятору преобразовать один тип в другой. Обычно, когда вам нужна точность, вы хотите работать с самыми точными типами, которые у вас есть. Итак, мы хотим сначала преобразовать наши int в float s. Мы делаем это с (с плавающей точкой), читая - (с плавающей запятой), впереди означает , читая , который нужно преобразовать в поплавок.На самом деле нет необходимости явно выполнять приведение в коде, поскольку компилятор будет выполнять приведение автоматически, когда вы работаете со смешанными типами. Но это очень хорошая практика, потому что она делает код понятным и читаемым.

    Математические операции

    При включении датчик температуры выдает переменное напряжение в зависимости от того, что датчик обнаруживает. Аналоговое считывание принимает это напряжение и преобразует его в цифровое значение (от 0 до 1023).

    Из таблицы данных TMP36, датчик температуры имеет масштабный коэффициент 10 мВ / ° C со смещением 500 мВ для учета отрицательных температур.Чтобы показать на некоторых конкретных примерах: датчик выдает 0,5 В при 0 ° C, 0,51 В при 1 ° C и 0,49 В при -1 ° C. Используя масштабный коэффициент и смещение, мы можем преобразовать входное напряжение в температуру в градусах Цельсия. Это делается путем вычитания напряжения на 0,5 и умножения на 100.

    Прежде чем мы сможем получить нашу температуру с помощью вышеприведенного расчета, нам нужно преобразовать цифровое значение обратно в значение напряжения между 0 В и 5 В.

    Мы делаем это путем умножения цифрового значения на 5 и деления на 1023.Вот тут-то и пригодится литье и тип float ! Мы приводим к показанию к float, а затем выполняем деление, чтобы получить наши десятичные разряды без потери точности. Умножение на число с плавающей запятой даст нам еще одно число с плавающей запятой, поэтому мы сохраняем желаемую точность. Потрясающие!

    После того, как наша температура рассчитана, мы можем легко преобразовать ее в градусы Фаренгейта, умножив на (9/5) и прибавив 32.

    Последовательная связь

    В этом и некоторых из наших предыдущих экспериментов мы вызывали последовательный интерфейс между ATmega и Omega с помощью cat / dev / ttyS1 .Если вы раньше использовали последовательное соединение ATmega, вы, вероятно, увидите, насколько удобна такая настройка.

    Обычно вам нужно отправить последовательные данные через USB или другой порт на портативный компьютер или компьютер и прочитать их с помощью специального монитора последовательного порта. С помощью док-станции Arduino вы можете просто установить где-нибудь свою док-станцию ​​Omega + и читать последовательный вывод через ssh - или даже через Onion Cloud!

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

    Датчик
    для док-станции Arduino

    Более непосредственный пример - связь между датчиком и док-станцией. Здесь датчик всегда будет говорить, поэтому мы настроили док-станцию ​​Arduino на прослушивание.Чтобы слушать, мы используем analogRead () - точно так же, как когда мы читаем trimpot.

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

    ATmega на Omega

    А теперь давайте подробнее рассмотрим, как взаимодействуют Omega и ATmega. Док-станция Arduino имеет линию последовательной связи, и мы подключили ее непосредственно к порту UART1 Omega, когда Omega находится в док-станции.

    Чтобы настроить ATmega для разговора, мы инициализируем последовательный вывод Serial.begin (9600) . После инициализации мы можем использовать встроенные в Arduino функции Serial.print () или Serial.println () для отправки слова из ATmega. Для прослушивания со стороны Omega последовательный порт подключается к порту UART1, который смонтирован как файл, а именно / dev / ttyS1 . Вызов команды cat начнет вывод содержимого файла в командную строку - прослушивание последовательного разговора от ATmega!

    9600 , отправленный для инициализации серийного номера, является скоростью передачи данных.Скорость передачи - это скорость (в битах в секунду), с которой данные передаются через последовательный порт. Обратите внимание, что мы не включали скорость передачи данных при использовании cat / dev / ttyS1 для чтения на стороне Omega - это потому, что скорость передачи данных cat по умолчанию равна 9600.

    Лучшие модули датчиков температуры и влажности для Arduino - Linux Hint

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

    В этой статье мы рассмотрели лучшие модули датчиков температуры и влажности для Arduino. Вы можете использовать эти датчики в различных приложениях и реализовать несколько проектов Интернета вещей как для начинающих, так и для профессионалов.Поскольку для разных применений производятся разные датчики, в этой статье мы не ранжируем их от лучших к худшим.

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

    Итак, без лишних слов. Давайте приступим к делу!

    KeeYees 5pcs DHT11 Модуль датчика температуры и влажности

    DHT11, пожалуй, самый популярный, широко используемый и надежный модуль датчика температуры и влажности для проектов на базе Arduino.Он может измерять влажность от 20% до 90% и температуру от 0 до 50 градусов Цельсия.

    Самое лучшее в KeeYees DHT11 - это то, что вы можете работать с ним как от 3,3, так и от 5 вольт. Это делает его подходящим для подключения не только к Arduino, но и к другим стандартным платам, таким как Raspberry Pi, RN Control и т. Д.

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

    Тем не менее, модуль имеет разумную стоимость и лучше всего подходит для большинства проектов DIY. Однако в 2020 году DHT11 кажется несколько устаревшим для современных приложений IoT. Вот почему мы советуем профессионалам в области Интернета вещей изучить другие более актуальные варианты, упомянутые в этой статье.

    Купить здесь: Amazon

    Цифровой датчик температуры и влажности SMAKN DHT22 / AM2302

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

    В нем используются емкостной датчик влажности (0 ~ 99,9% RH) и термистор (-40 ~ + 80 ℃) для измерения окружающего воздуха. Он выдает цифровой сигнал на вывод данных с относительной влажностью ± 2% и точностью температуры ± 0,5 ℃.Да, ему не нужны аналоговые входные контакты. Поэтому этот датчик идеально подходит для мониторинга микроклимата в помещении или создания климатической станции своими руками на заднем дворе.

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

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

    Купить здесь: Amazon

    KeeYees BME280 Датчик температуры, влажности и атмосферного давления

    KeeYees BME280 и их интерфейс I2C - прекрасные маленькие устройства для измерения температуры, давления и влажности. Они очень быстро обновляют любые изменения в условиях окружающей среды. Например, когда вы переходите от низкой влажности к высокой, он мгновенно определяет разницу. Не нужно больше ждать медленных датчиков! В комплект поставки входят три модуля цифрового сенсорного модуля.

    Стабилизатор LDO очень полезен в смешанной среде 5 В и 3,3 В. Диапазон его температуры, влажности и рабочего давления составляет от -40 до + 85 ° C, 0-100% и 300-1100 гПа, соответственно, с точностью + -1 ° C, + -3% и + -1 Па.

    В онлайн-библиотеке BME280 есть несколько отличных примеров, с которыми можно поиграть, но отформатировать их для работы на ЖК-экране сложно. Тем не менее, точность и разнообразие измерений того стоит.

    В целом, BME280s - отличный зимний проект, на который можно потратить пару часов. Показания влажности и давления довольно точны, но температура немного отличается. Он отлично работает с проектами на базе Arduino и идеально подходит для узлов датчиков RF24 и Wi-Fi.

    Купить здесь : Amazon

    Gowoops Модуль датчика температуры и влажности DHT22, 2 шт.

    Gowoops DHT22 - это опора для всех, кто учится играть с различными типами микроконтроллеров. Он крошечный, надежный и дает довольно точные показания.

    Этот прекрасный датчик позволяет измерять относительную влажность ± 2% в диапазоне от 0 до 100% относительной влажности и с точностью ± 0,5 градуса Цельсия в диапазоне от -40 до + 80 ° C. Он работает от постоянного напряжения от 3 до 5,5 вольт.

    Что нам нравится в датчике Gowoops DHT22, так это то, что он поставляется с присоединенной платой. Таким образом, отпадает необходимость в пайке контактов. Все, что вам нужно сделать, это просто подключить его и сделать что-нибудь крутое для своего проекта.Кроме того, он также поставляется с кабелем, чтобы при желании вытянуть датчик от оборудования.

    Проблема только в том, что к датчику не прилагается абсолютно никакой документации. Если вы хотите написать свой код Vs, использовать некоторые из Arduino или C-библиотек, доступных в Интернете, будьте готовы к вашей лучшей детективной работе.

    Купить здесь : Amazon

    Adafruit (PID 3251) Si7021 Монтажная плата датчика температуры и влажности

    Если вы устали от модулей DHT11 и DHT22 и хотите высоконадежные измерения температуры и влажности для профессиональных проектов, тогда Adafruit Si7021 может быть для вас.

    Диапазон измерений от 0 до 80% относительной влажности и от -10 до +85 ° C для температуры. Хотя он имеет более высокую точность измерения температуры ± 0,4 ° C, точность измерения влажности составляет ± 3%. Датчик аккуратно размещен на монтажной плате с регулятором 3,3 В и переключателем уровня. Таким образом, вы можете без проблем использовать его с питанием 3,3 или 5 В. Кроме того, на плате есть фильтр из ПТФЭ (белая плоская штучка сверху), который помогает поддерживать датчик в чистоте и чистоте.

    Он использует I2C для передачи данных.Поэтому он может работать с широким спектром микроконтроллеров, а не только с Arduino. Помимо проводки, это становится довольно просто, так как вам не нужны резисторы. Да, контакты немного сложно установить правильно с первого раза, и вам нужно их припаять, но если новичок, как я, может паять часть, то можете и вы.

    В общем, модуль Adafruit Si7021 идеально подходит для всех ваших проектов по экологическому зондированию, будь вы новичок или профессионал.

    Купить здесь: Amazon

    Руководство покупателя по лучшим модулям датчиков температуры и влажности для Arduino

    Модули датчиков температуры и влажности

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

    Точность измерения влажности и температуры

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

    Измерение влажности и диапазона температур

    Дальность действия датчика должна быть вашим вторым соображением. Вообще говоря, чем шире диапазон влажности и температуры, который может определять датчик, тем выше будет его цена. Поэтому выберите модуль, который соответствует вашему диапазону измерений, необходимому для проектов.Более того, за исключением научных и метеорологических исследований, вам не нужен полный диапазон измерения влажности (от 0 до 100% относительной влажности).

    Защита

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

    Последние мысли

    Вот и все о лучших модулях датчиков температуры и влажности для Arduino. Мы надеемся, что это руководство было информативным, и вы узнали некоторую полезную информацию. Для рутинных повседневных проектов, сделанных своими руками, подойдет DHT11. Его точность по влажности от 5 до 95 процентов подходит для большинства приложений. Однако, если вашему проекту требуется более высокая точность, выберите DHT22. Для более суровых условий с сильными помехами подходят BME280, PID 3251 или AM2311A.Существуют даже более совершенные датчики температуры и влажности для промышленного применения, такие как AHT20. Но они не предназначены для домашнего использования. Это все для этой статьи. Спасибо за чтение!

    Сделайте датчик температуры Arduino (руководство по термисторам)

    ТЕРМИСТОР РАБОТАЕТ

    Термисторы - это переменные резисторы, сопротивление которых изменяется в зависимости от температуры. Они классифицируются по тому, как их сопротивление реагирует на изменения температуры. В термисторах с отрицательным температурным коэффициентом (NTC) сопротивление уменьшается с увеличением температуры.В термисторах с положительным температурным коэффициентом (PTC) сопротивление увеличивается с повышением температуры.

    Термисторы

    NTC являются наиболее распространенными, и именно этот тип мы будем использовать в этом руководстве. Термисторы NTC изготавливаются из полупроводникового материала (такого как оксид металла или керамика), который нагревается и сжимается для образования термочувствительного проводящего материала.

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

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

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

    Arduino будет измерять напряжение в точке между термистором и известным резистором. Это называется делителем напряжения. Уравнение для делителя напряжения:

    Что касается делителя напряжения в цепи термистора, переменные в приведенном выше уравнении равны:

    Это уравнение можно переформулировать и упростить, чтобы найти R2, сопротивление термистора:

    Наконец, уравнение Стейнхарта-Харта используется для преобразования сопротивления термистора в показания температуры.

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

    Производитель термистора может сказать вам, что это сопротивление, но если нет, вы можете использовать мультиметр, чтобы узнать. Если у вас нет мультиметра, вы можете сделать омметр с вашим Arduino, следуя нашему руководству по Arduino Ohm Meter. Вам нужно только знать величину вашего термистора.

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

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