DS18B20 (DS18S20) – подключение к Arduino
#include <OneWire.h>
// OneWire DS18S20, DS18B20, DS1822 Temperature Example
//
// http://www.pjrc.com/teensy/td_libs_OneWire.html
//
// The DallasTemperature library can do all this work for you!
// http://milesburton.com/Dallas_Temperature_Control_Library
OneWire ds(10); // on pin 10 (a 4.7K resistor is necessary)
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
byte i;
byte present = 0;
byte type_s;
byte data[12];
byte addr[8];
float celsius, fahrenheit;
if ( !ds.search(addr)) {
Serial.println(«No more addresses.»);
Serial.println();
ds.reset_search();
delay(250);
return;
}
Serial.print(«ROM =»);
for( i = 0; i < 8; i++) {
Serial.write(‘ ‘);
Serial.print(addr[i], HEX);
}
if (OneWire::crc8(addr, 7) != addr[7]) {
Serial. println(«CRC is not valid!»);
return;
}
Serial.println();
// the first ROM byte indicates which chip
switch (addr[0]) {
case 0x10:
Serial.println(» Chip = DS18S20″); // or old DS1820
type_s = 1;
break;
case 0x28:
Serial.println(» Chip = DS18B20″);
type_s = 0;
break;
case 0x22:
Serial.println(» Chip = DS1822″);
type_s = 0;
break;
default:
Serial.println(«Device is not a DS18x20 family device.»);
return;
}
ds.reset();
ds.select(addr);
ds.write(0x44, 1); // start conversion, with parasite power on at the end
delay(1000); // maybe 750ms is enough, maybe not
// we might do a ds.depower() here, but the reset will take care of it.
present = ds.reset();
ds.select(addr);
ds. write(0xBE); // Read Scratchpad
Serial.print(» Data = «);
Serial.print(present, HEX);
Serial.print(» «);
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();
Serial.print(data[i], HEX);
Serial.print(» «);
}
Serial.print(» CRC=»);
Serial.print(OneWire::crc8(data, 8), HEX);
Serial.println();
// Convert the data to actual temperature
// because the result is a 16 bit signed integer, it should
// be stored to an «int16_t» type, which is always 16 bits
// even when compiled on a 32 bit processor.
int16_t raw = (data[1] << 8) | data[0];
if (type_s) {
raw = raw << 3; // 9 bit resolution default
if (data[7] == 0x10) {
// «count remain» gives full 12 bit resolution
raw = (raw & 0xFFF0) + 12 — data[6];
}
} else {
byte cfg = (data[4] & 0x60);
// at lower res, the low bits are undefined, so let’s zero them
if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93. 75 ms
else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms
else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms
//// default is 12 bit resolution, 750 ms conversion time
}
celsius = (float)raw / 16.0;
fahrenheit = celsius * 1.8 + 32.0;
Serial.print(» Temperature = «);
Serial.print(celsius);
Serial.print(» Celsius, «);
Serial.print(fahrenheit);
Serial.println(» Fahrenheit»);
}
Датчик температуры Arduino DS18B20: описание, применение, схема подключения
Приборы для измерения – это самый необходимый компонент для плат Arduino. Для замеров температуры используется компоненты с отличающимися друг от друга характеристиками. Датчик DS18B20 используют для замеров температур воды, потому как одна из популярных его модификаций обрамлена герметичным корпусом.
Что представляет собой DS18B20?
Dallas DS18B20 – это цифровой датчик измерения температуры, оснащенный микроконтроллером, способный запоминать изменения в памяти, оповещать о нарушении температурных рамок(которые можно регулировать), изменять точность замеров, взаимодействовать с основным контроллером Arduino. DS18B20 выполнен в миниатюрном корпусе, в трех различных модификациях, одна из которых позволяет измерять температуры в жидкостях.
Датчик подключается через 3 выхода:
- Первый – питание VDD (красный).
- Второй – данные DQ (желтый или другой цвет).
- Третий – земля GND (черный).
Из-за возможности реализации схемы с фантомным питанием, можно подключить датчик через два провода: DQ и VDD. Но по-хорошему, лучше подобного подключения избегать. Также, к основной плате Arduino можно подключить на один пин выходы DQ с двух сенсоров.
Виды датчика:
- 8-Pin SO (150 mils) — DS18B20Z+
- 8-Pin µSOP — DS18B20U+
- 3-Pin TO-92 — DS18B20+
Третий можно использовать без дополнительных средств защиты для измерения температур в морозильной камере, бойлере, инкубаторе, бассейне и в других областях применения.
На рисунке изображен даллас DS18B20+ в герметичном корпусеХарактеристики:
- Диапазон измерения температур -55 °С до +125 °С.
- Погрешность максимум 0,5 °C, без дополнительной калибровки при t от -10 °С до +85° С).
- Питание 3,3-5 В.
- Для соединения с Arduino UNO необходимо 3 контакта.
- К одной линии связи доступно подключение вплоть до ста двадцати семи датчиков, потому как датчик содержит собственный 64-битный код в постоянной памяти.
- Каждый датчик имеет персонализированный серийный номер.
- Протокол 1-Wire используется для передачи информации.
- Доступно подключение через два провода напрямую к линии связи по схеме фантомного питания. Но такой режим не рекомендуется использовать при температурах от 100° С, так как нет гарантий правильных замеров в таких условиях.
- Два вида памяти — статическая память с произвольным доступом или полупроводниковая оперативная память (SRAM) и энергонезависимая память EEPROM.
- В EEPROM записываются два однобайтовых регистра контроля TH, TL, по которым можно верхний и нижний предел диапазона температур.
Применение
DS18B20 замеряет температуру и передает данные в цифровом виде.
- 9 бит – 0,5С;
- 10 бит — 0,25С;
- 11 бит — 0,125С;
- 12 бит — 0,0625С.
Порядок работы датчика:
- При подключении источника питания, DS18B20 будет находится в начальном состоянии.
- Затем, подается команда «преобразование температуры» на Arduino UNO для замера t.
- Результат, полученный от датчика, сохранит свое значение в двух байтах регистра t, а сам элемент схемы вернется с начальное состояние.
- При работе схемы через внешнее питание, микроконтроллер регулирует состояние конвертации.
- При выполнении команды линия находится в низком состоянии, а закончив – переходит в высокое.
Это работает со стандартной схемой подключения, так как на шину должен постоянно поступать высокий уровень сигнала. Поэтому, при соединении по схеме паразитного питания выше описанный метод не сработает.
В оперативную память сохраняются:
- 1-2 байты – данные измеряемой температуры;
- 3-4 байты – пределы изменения t;
- 5-6 байты – резерв;
- 7-8 байты – нужны для точных замеров t;
- 9 байт — циклический избыточный код, устойчивый к помехам;
Подключение датчика
Для подключения в схеме обязательно должен присутствовать резистор «Подтяжки», сопротивлением 4,7 кОм. Соединение происходит по интерфейсу 1-Wire по шине данных.
Схема подключения одного датчика
Для соединения нужно:
- DS18B20 – 1 штука.
- Ардуино УНО – 1 штука.
- Резистор 4,7 кОм.
- Макетная плата под пайку.
- USB-кабель для соединения с ПК.
Нормальная схема включения одного датчика.
Подключайте по представленной выше схеме. Учитывайте, что DQ можно подключить к аналоговому пину ввода / вывода A1 (еще называют цифровой A15). Резистором притяните линию данных к питанию, как показано на схеме макетной платы.
Вот как схема выглядит в реальной жизни.
Фантомная схема включения одного датчикаСледует помнить, что подключение датчика температуры DS18B20 к Ардуино с фантомным питанием сказывается на быстродействии и стабильной работе датчика. Не рекомендуется применение этого варианта включения в схему без крайней нужды.
Схема подключения нескольких датчиков
Для подключения нескольких датчиков используйте всю туже макетную плату, только подключайте их параллельно.
Программная часть
Скачать библиотеку для работы с датчиком и другими устройствами на 1-Wire, можно на Github по ссылке. Для установки, загрузите архив с сервера и разархивируйте по адресу «Мои документы» – «Ардуино» – «libraries» или другое место, где вы ее разместите.
Виды скетчей и библиотек
Для написания программы можно использовать несколько библиотек:
- OneWare – основная, с помощью которой можно использовать самые простые скетчи для работы одного или нескольких датчиков, подключённых по нормальной и фантомной схеме питания.
- DallasTemperature — Рекомендуется использовать библиотеку для комфортного взаимодействия с устройствами, особенно если их подключается к плате несколько. Некоторые моменты в логике с помощью библиотеки можно упростить.
В скетчах применяется только первая или две библиотеки в паре. Чтобы запустить работу измерителя температуры, запустите Ardiuino IDE, скопируйте в него код и загрузите в контроллер.
Три варианта скетчей для обработки и считывания данных с датчика можете скачать по ссылке.
Использование и применение
Применяется программируемый датчик Ардуино в различных задачах, в том числе в схемах для умных домов. С помощью легко настраиваемого сенсора можно решать, как простые, так и сложные задачи:
- Определение t воды в аквариуме для рыб.
Особенно актуальный способ в летнюю жару. Сенсор среагирует на показатель, который оказался за пределами нормы и оповестит вас об этом по каналам связи. Естественно, можно подвязать дополнительное действие при нагревании воды, например, запускать Аэрацию.
- Оповещение о нагретой воды в бойлере. При достижении определенной t в бойлере, на компьютер, или подключенный LCD-дисплей вам поступит уведомление. Можно с схему добавить реле, которое будет отключать бойлер. Конечно, современные водонагревающие устройства могут оснащаться автоматикой и термостатом, но часто с помощью дополнительных датчиков реализуются более сложные системы управления умным домом, чем автономная автоматика водонагревателя.
- Замер температуры в холодильной витрине. Комплект из нескольких датчиков на достаточно простой схеме может замерять и выдавать температуру в каждой секции витрины. Выставленный диапазон значений может указывать, когда температура вышла за пределы нормы и уведомлять о нарушениях стационарного режима.
- Замер точного градуса воды в чайнике. Выпитый натощак стакан теплой воды помогает запустить желудок. При этом нужно выпить подогретую до температуры тела воду. Самодельный термодатчик способен решить подобную задачу, определив градус с точностью до 0,5 °С.
- Определение температуры воды в ванной, джакузи, бассейне. Набирая воду для водных процедур, нужно, чтобы она была комфортной. С помощью терморегулятора Arduino можно определить комфортный уровень и подобрать нужный градус для себя. Дополнительно, пороговыми значениями температуры можно реагировать на снижение или увеличения t воды и держать все время воду подогретой.
Естественно, датчик можно использовать и в системах для промышленности: водонагревательные станции, морозильные комнаты, замеры t вязких веществ на предприятиях.
Заключение
Цифровой датчик DS18B20 работающий в паре с Arduino UNO (или платами NANO и MEGA) по своим характеристикам может использоваться для решения серьезных задач, где нужны точность замеров, измерение температуры жидкости и мониторинг нужного градуса жидкости в температурном диапазоне.
Особенностью данного датчика является собственная память и содержание в ней 64-битного кода, позволяющего подключать вплоть до 127 датчиков на одну линию. Еще одной фишкой есть возможность подключения по схеме фантомного питания, когда вместо трех, используется два провода (питание и данные). Земля не подключается.
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 ЧАСТИ.
Подключение датчика DS18B20 к Arduino
Датчик DS18B20 предназначен для измерения температуры. Датчик имеет влагозащищенный корпус, что позволяет использовать его в условиях дождя или же для измерения температуры жидкостей. Возможно также исполнение без герметичного корпуса.
Характеристики:
- Питание: 3 … 5,5 В постоянного тока
- Диапазон измеряемых температур: -55 … +125 °C от -10 до +85°C с точностью ±0,5°C
- Период измерений: 1 сек. между измерениями
- Выходной сигнал: Цифровой
Датчик DS18B20 имеет всего 3 вывода:
GND – «Земля»
Vdd – Питание
Data – вывод данных
Возможна работа в режиме паразитного питания (без использования вывода Vdd), подробней об этом можно прочитать тут.
Подключение к Arduino:
Для подключения датчика нам необходимы:
- Любая Arduino-совместимая плата
- Резистор 4,7 Ком (для негерметичного исполнения)
- Компьютер с установленной средой Arduino IDE.
- USB кабель для подключения Arduino к персональному компьютеру
Принципиальная схема подключения компонентов:
Для негерметичного исполнения:
В некоторых датчиках в герметичном исполнении нагрузочные резисторы уже присутствуют, поэтому рекомендуется сначала проверить работоспособность датчика без резистора и только потом, если не заработает, добавить резистор номиналом около 4. 7 КОм в разрыв между сигнальным проводом и проводом питания, как на схеме выше.
Для герметичного или для датчика на модуле:
Скетч для Arduino:
Для считывания показаний с датчика необходимо использовать библиотеки*:
- OneWire
- DallasTemperature
*Библиотека Arduino – программный код, хранящийся не в скетче, а во внешних файлах, которые можно подключить к вашему проекту. Библиотека содержит в себе различные методы и структуры данных, которые нужны для упрощения работы с датчиками, индикаторами, модулями и другими электронными компонентами.
Пример кода:
// Подключение библиотек
#include <DallasTemperature.h> #include <OneWire.h> // Определяем пин шины данных OneWire (можно выбрать любой свободный) #define ONE_WIRE_BUS 2 // Задаем пин шины данных OneWire OneWire oneWire(ONE_WIRE_BUS); // Указываем, что будем работать с температурным датчиком (по такому же принципу
// можно работать с любыми устройствами, поддерживающими OneWire) DallasTemperature sensors(&oneWire); void setup(void) { Serial.begin(9600); sensors.begin(); }
void loop(void) { Serial.print("Запрос температуры..."); sensors.requestTemperatures(); // Посылаем команду для считывания температуры Serial.println("ГОТОВО"); Serial.print("Температура: "); Serial.println(sensors.getTempCByIndex(0)); // Индекс "0" означает, что мы работаем с первым
// устройством на шине, в нашем случае единственным delay(1000); }
Проекты с использованием датчиков температуры
В данной статье мы рассмотрим создание на основы платы Arduino Nano и датчика температуры DS18B20 термометра с красивым внешним видом для измерения температуры в комнате. Измеренная температура будет отображаться с помощью адресной светодиодной ленты. Необходимые компоненты Плата Arduino Nano (купить … Читать далее →
Температура, влажность и давление являются основными параметрами, которые должна измерять метеорологическая станция (метеостанция). В данной статье мы рассмотрим создание метеостанции на основе платы Raspberry Pi, которая будет измерять температуру, влажность и давление и показывать их значения на экране дисплея, а … Читать далее →
В предыдущих статьях на нашем сайте мы рассмотрели основы работы с платой Raspberry Pi: мигание светодиода, подключение кнопки, использование ШИМ, подключение шагового и двигателя постоянного тока, подключение регистра сдвига и сенсорной клавиатуры. В этой же статье мы рассмотрим первое практическое … Читать далее →
В данной статье мы рассмотрим подключение цифрового датчика температуры DS18B20 к плате Arduino Uno. Приведены схема и программа (скетч) для проекта. Также на нашем сайте вы можете посмотреть проекты измерения температуры с помощью платы Arduino и датчиков lm35 и DHT11. … Читать далее →
В связи с текущей пандемией коронавируса Covid19 измерение температуры на входах в офисные, торговые и производственные здания стало обычным делом. На нашем сайте мы уже рассматривали проекты инфракрасных бесконтактных термометров на основе платы Arduino – с выводом температуры на экран … Читать далее →
Текущая пандемия коронавируса внесла существенные коррективы в жизнь людей по всему миру. Одним из значительных изменений, которые постигли человечество в этом плане, является необходимость в измерении температуры на входе во многие здания, чтобы таким образом уменьшить вероятность проникновения в здание … Читать далее →
Измерение температуры человеческого тела играет важную роль в медицине для диагностирования состояния человека. В электронике существует множество датчиков для измерения температуры, но точность многих из них не подходит для использования в медицинских целях. В свою очередь, датчик температуры MAX30205 специально … Читать далее →
Во время отладки электронных схем иногда возникает необходимость проверки температуры ряда компонентов в схеме. Обычные медицинские термометры здесь не подойдут – здесь нужен бесконтактный инфракрасный термометр. В данной статье мы рассмотрим создание подобного бесконтактного инфракрасного термометра на основе платы Arduino … Читать далее →
Bluetooth Low Energy (BLE) – это версия технологии Bluetooth, причем значительно более оптимизированная чем классический Bluetooth. Ее часто называют «умной» Bluetooth (Smart Bluetooth). Первоначально технология BLE разрабатывалась для обеспечения минимально возможного энергопотребления при низкой стоимости, маленькой ширины полосы частот и … Читать далее →
Потребляемая мощность является одним из ключевых аспектов функционирования непрерывно функционирующих устройств. Для решения этой проблемы практически все современные микроконтроллеры имеют спящий режим, что позволяет разработчикам проектировать различные электронные гаджеты с оптимальным потреблением энергии. Спящий режим переводит устройство в режим энергосбережения … Читать далее →
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, дают широкий спектр возможностей конечному пользователю. Достаточная точность, вкупе с низким энергопотреблением позволяют применять аналогичные сенсоры во множестве сфер, от быта до производства.
Самые часто используемые ниши — создание прототипов холодильников, контроллеров температуры воды в ванных, бойлерах и чайниках, или в качестве элементов климатического оборудования. Применяется термометр вместе с микроконтроллером и в сельском хозяйстве. Централизованное определение температур в закутах, амбарах или стойлах, выяснение текущего нагрева яиц в инкубаторах — все названое по силам настоящей связке датчиков с управляющими устройствами.
Видео по теме
Мой мир
Вконтакте
Одноклассники
DS18B20 — Seeed Studio
Описание
Водонепроницаемый датчик температуры DS18B20 — это цифровой датчик, который может обеспечивать разрешение цифровых данных до 12 бит и имеет точность ± 0,5 ° C в диапазоне от -10 ° C до + 85 ° C. Он включает аналого-цифровой преобразователь для преобразования аналогового сигнала в цифровой выход с разрешением до 12 бит.
Это однопроводный датчик температуры длиной 2 м с водонепроницаемым зондом и длинной проволокой, подходящий для иммерсивного определения температуры.
Цифровые выходные данные могут быть получены с помощью одного цифрового вывода на плате микроконтроллера, вы также можете подключить к этому же выводу множество других 1-проводных устройств. Датчик может работать под напряжением 3-5 В, вы должны проверить контакт датчика VCC и подключить правильный источник питания.
Вам нужно добавить дополнительное сопротивление, чтобы однопроводный датчик температуры заработал, что мы и сделали, настроив его на порт Grove и предварительно смонтировав сопротивление внутри, чтобы вы могли использовать его как обычный датчик Grove.
Добавлен водонепроницаемый зонд для измерения температуры воды под водой. Мы также добавляем резистор 4,7 кОм, чтобы вы могли использовать его в качестве подтягивающего резистора на 1-проводной линии. В этом случае вы получите стабильную передачу данных по линии передачи данных.
Для запуска просмотрите библиотеку 1-Wire для Arduino с использованием датчика температуры DS18B20 в столбце документа.
Вы можете подключить однопроводной датчик температуры к Seeeduino V4.2, производному от Arduino и совместимому со всеми платформами Arduino.
Характеристики
- Диапазон температур: -55 ~ 125 ° C
- Вариант разрешения: 9 ~ 12 бит
- Протокол связи интерфейса 1-Wire
- Водонепроницаемый зонд
- Несколько устройств для совместного использования одного контакта
- ± 0,5 ° C Точность от -10 ° C до + 85 ° C
- Максимальное время АЦП: 750 мс
- Пользовательские настройки энергонезависимой (NV) сигнализации
- Применения включают термостатические системы управления, промышленные системы, потребительские товары, термометры или любую термочувствительную систему
При наличии на рынке различных датчиков температуры иногда будет сложно выбрать, какой датчик температуры лучше всего подходит для проекта Arduino. Не беспокойтесь, мы подготовили это руководство, чтобы помочь вам изучить различные функции датчиков температуры, области применения, точность, диапазон температур и многое другое!
Распиновка датчика температуры DS18B20, технические характеристики, эквиваленты и лист данных
DS18B20 Датчик температуры
Датчик температуры DS18B20
Датчик температуры DS18B20
Распиновка датчика температуры DS18B20
нажмите на изображение, чтобы увеличить
Конфигурация контактов
Номер: | Имя контакта | Описание |
1 | Земля | Подключить к земле цепи |
2 | Vcc | Запитывает датчик, может быть 3. |
3 | Данные | Этот вывод выдает на выходе значение температуры, которое может быть считано с использованием однопроводного метода. |
- Программируемый цифровой датчик температуры
- Обменивается данными с использованием метода 1-Wire
- Рабочее напряжение: от 3 В до 5 В
- Диапазон температур: от -55 ° C до + 125 ° C
- Точность: ± 0.5 ° С
- Выходное разрешение: от 9 до 12 бит (программируемое)
- Уникальный 64-битный адрес позволяет мультиплексировать
- Время преобразования: 750 мс при 12 бит
- Программируемые опции сигнализации
- Доступен как To-92, SOP и даже как водонепроницаемый датчик
Примечание. Прочтите далее, чтобы узнать, почему эти параметры важны. Также техническое описание DS18B20 можно найти внизу страницы
.![](/800/600/https/images.ru.prom.st/651848934_w640_h640_3sht-ds18b20-temperatura.jpg)
Альтернативные датчики температуры
Термопара, TMP100, LM75, DHT11, SHT15, LM35DZ, TPA81, D6T
Эквивалентные датчики DS18B20DS18S20
Где использовать датчик DS18B20 DS18B20 — это программируемый 1-проводной датчик температуры от компании maxim Integrated.Он широко используется для измерения температуры в жестких условиях окружающей среды, таких как химические растворы, шахты, почва и т. Д. Датчик имеет прочное сужение, а также его можно приобрести с водонепроницаемой опцией, что упрощает процесс монтажа. Он может измерять температуру в широком диапазоне от -55 ° C до + 125 ° с приличной точностью ± 5 ° C . Каждый датчик имеет уникальный адрес и требует только одного вывода MCU для передачи данных, поэтому это очень хороший выбор для измерения температуры в нескольких точках без ущерба для большей части ваших цифровых выводов на микроконтроллере.
Датчик работает по методу связи 1-Wire. Для этого требуется только вывод данных, подключенный к микроконтроллеру с подтягивающим резистором, а два других вывода используются для питания, как показано ниже.
Подтягивающий резистор используется для поддержания высокого уровня линии, когда шина не используется. Значение температуры, измеренное датчиком, сохраняется в 2-байтовом регистре внутри датчика.Эти данные могут быть прочитаны с использованием метода 1-Wire, отправив последовательность данных. Есть два типа команд, которые должны быть отправлены для чтения значений: одна — это команда ПЗУ, а другая — команда функции. Значение адреса каждой памяти ПЗУ вместе с последовательностью указано в таблице данных ниже. Вы должны прочитать его, чтобы понять, как общаться с датчиком.
Если вы планируете связать с Arduino , то вам не нужно беспокоиться обо всем этом. Вы можете разработать легкодоступную библиотеку и использовать встроенные функции для доступа к данным.
- Измерение температуры в жестких условиях
- Измерение температуры жидкости
- Применения, в которых необходимо измерять температуру в нескольких точках
Высокотемпературный водонепроницаемый DS18B20 Цифровой датчик температуры
Это предварительно смонтированная и водонепроницаемая версия датчика DS18B20, изготовленная с кабелем из ПТФЭ.Удобно, когда вам нужно измерить что-то далеко или во влажных условиях. Датчик в этом корпусе можно использовать при температуре до 125 ° C. Поскольку сигнал датчика является цифровым, вы не получите никакого ухудшения сигнала даже на больших расстояниях! Эти однопроводные цифровые датчики температуры достаточно точны (± 0,5 ° C в большей части диапазона) и могут дать до 12 бит точности от встроенного цифро-аналогового преобразователя.
![](/800/600/https/ae01.alicdn.com/kf/HTB1GWqakgDD8KJjy0Fdq6AjvXXaT/Smart-Electronics-10pcs-lot-KY-001-3pin-DS18B20-Temperature-Measurement-Sensor-Module-Diy-Starter-Kit-KY001.jpg)
- Трубка из нержавеющей стали # 316 диаметром 6 мм и длиной 40 мм Кабель примерно 3 фута / 90 см в длину. Содержит датчик температуры DS18B20 Три провода — оранжевая полоса подключается к 3-5 В, белая подключается к земле, а синяя полоса — это данные. соответствует требованиям RoHS
- Рабочий диапазон температур: от -55 до 125 ° C (от -67 ° F до +257 ° F) Выбор разрешения от 9 до 12 бит Использует интерфейс 1-Wire — требуется только один цифровой вывод для связи Уникальный 64-битный идентификатор, записанный в чип Несколько датчиков могут использовать один контакт ± 0,5 ° C Точность от -10 ° C до +85 ° C Система сигнализации ограничения температуры Время запроса меньше 750 мс Может использоваться с 3.
![](/800/600/https/nshopvn.com/wp-content/uploads/2019/03/module-cam-bien-nhiet-do-ds18b20-ESXC-2020.jpg)
Вас также может заинтересовать …
Главная> Продукция> Продукция Adafruit
Главная> Продукция> Комплекты и аксессуары для экосистемы Arduino
Главная> Продукция> Компоненты> Датчики
Arduino — Датчик температуры DS18B20 — Робо Индия || Учебники || Изучите Arduino |
В этом руководстве Robo India объясняется, как использовать датчик температуры DS18B20 с Arduino. 1. Введение: Этот модуль используется для измерения температуры. DS18B20 — это протокол с однопроводной шиной, для которого требуется только одна линия данных для связи с Arduino.
1. Измеряет температуру от -55 ° C до 125 ° C.
2. 0,5 ° C Точность от -10 ° C до + 85 ° C
3. Программируемое разрешение от 9 до 12 бит
4. Никаких внешних компонентов не требуется.
5. Уникальный однопроводный интерфейс, для которого требуется только один порт
2. Необходимое оборудование 3. СхемаСделайте следующие соединения с Arduino-
4. Файл библиотекиДля запуска этого скетча потребуется следующая библиотека. Загрузите zip-файл, распакуйте его и скопируйте в папку с библиотекой Arduino.
Этот файл библиотеки должен быть помещен в папку установки Arduino.У меня 64-битная ОС Win7, а адрес папки моей библиотеки Arduino расположен по адресу
.C: \ Program Files (x86) \ Arduino \ библиотеки
Вы можете скачать файл библиотеки отсюда.
5. ПрограммированиеВы можете скачать этот скетч Arduino отсюда.
#include6.Выходh> OneWire DS (10); // на выводе 10 (необходим резистор 4,7 кОм) недействительная настройка (недействительна) { Серийный . Начало (9600); } недействительный цикл (недействительный) { байт i; байт присутствует = 0; byte type_s; байтовые данные [12]; адрес байта [8]; плавать по Цельсию, по Фаренгейту; если (! ds.search (адрес)) { Серийный .println («Адресов больше нет»); Серийный номер .println (); ds.reset_search (); задержка (250); возвращаться; } Серийный .print ("ROM ="); for (i = 0; i <8; i ++) { Серийный .write (''); Серийный номер .print (адрес [i], HEX); } if (OneWire :: crc8 (адрес, 7)! = адрес [7]) { Serial .println («CRC недействителен!»); возвращаться; } Серийный номер .println (); // первый байт ПЗУ указывает, какая микросхема переключатель (адрес [0]) { case 0x10: Серийный .println ("Чип = DS18S20"); // или старый DS1820 type_s = 1; перерыв; case 0x28: Серийный номер . println ("Chip = DS18B20"); type_s = 0; перерыв; case 0x22: Серийный номер .println ("Chip = DS1822"); type_s = 0; перерыв; По умолчанию: Serial .println («Устройство не является устройством семейства DS18x20»); возвращаться; } ds.reset (); ds.select (адрес); ds.write (0x44, 1); // запускаем преобразование с включенным паразитным питанием в конце задержка (1000); // возможно 750 мс достаточно, а может и нет // мы могли бы сделать ds.depower () здесь, но сброс позаботится об этом. присутствует = ds.reset (); ds.select (адрес); ds.write (0xBE); // Чтение блокнота Серийный .print ("Data ="); Серийный .print (присутствует, HEX); Серийный номер .print (""); for (i = 0; i <9; i ++) {// нам нужно 9 байт данные [я] = ds.read (); Серийный номер .print (данные [i], HEX); Серийный номер .print (""); } Серийный .print ("CRC ="); Серийный .печать (OneWire :: crc8 (данные, 8), HEX); Серийный номер .
println (); // Преобразуем данные в фактическую температуру // поскольку результатом является 16-битное целое число со знаком, оно должно // сохраняться в типе "int16_t", который всегда 16 бит // даже при компиляции на 32-битном процессоре. int16_t raw = (данные [1] << 8) | данные [0]; if (type_s) { raw = raw << 3; // 9-битное разрешение по умолчанию if (data [7] == 0x10) { // "счетчик остается" дает полное 12-битное разрешение raw = (raw & 0xFFF0) + 12 - данные [6]; } } еще { byte cfg = (данные [4] & 0x60); // при более низком разрешении младшие биты не определены, поэтому давайте их обнуляем если (cfg == 0x00) raw = raw & ~ 7; // Разрешение 9 бит, 93.75 мс иначе, если (cfg == 0x20) raw = raw & ~ 3; // 10-битное разрешение, 187,5 мс иначе, если (cfg == 0x40) raw = raw & ~ 1; // 11-битное разрешение, 375 мс //// по умолчанию - разрешение 12 бит, время преобразования 750 мс. } по Цельсию = (с плавающей запятой) необработанный / 16,0; Фаренгейт = Цельсий * 1,8 + 32,0; Серийный .
print ("Температура ="); Серийный . Печать (по Цельсию); Серийный номер .print («Цельсия»); Серийный номер .print (по Фаренгейту); Серийный номер .println ("Фаренгейт"); }
После загрузки кода откройте монитор последовательного порта.
Если у вас есть какие-либо вопросы, напишите нам по адресу [email protected]
Благодарности и приветы
Команда разработки контента
Robo India
https://roboindia.com
Водонепроницаемый датчик температуры DS18B20 в Пакистане
Водонепроницаемый датчик температуры DS18B20 имеет длину 1 метр, герметичный и предварительно смонтированный. Водонепроницаемый датчик температуры DS18B20 на основе датчика DS18B20.Это очень удобно, когда вам нужно измерить что-то далеко или во влажных условиях. Поскольку они цифровые, вы не получите никакого ухудшения сигнала даже на большом расстоянии.
Эти однопроводные водонепроницаемые датчики температуры DS18B20 достаточно точны (± 0,5 ° C в большей части диапазона) и могут дать до 12 бит точности от встроенного цифро-аналогового преобразователя. Они отлично работают с любым микроконтроллером, использующим один цифровой вывод, и вы даже можете подключить несколько микроконтроллеров к одному выводу, каждый из них имеет уникальный 64-битный идентификатор, записанный на заводе, чтобы различать их.Может использоваться с системами 3,0-5,0 В.
Единственным недостатком является то, что они используют протокол Dallas 1-Wire, который довольно сложен и требует большого количества кода для анализа связи. При использовании с микроконтроллером подключите резистор 4,7 кОм к чувствительному выводу, который необходим в качестве подтяжки от линии DATA к линии VCC.
Проводное соединение : Красный: VCC / VDD, Желтый / Белый: DATA, Черный: GND
youtube.com/embed/P0QnsXSjQ0Y»/>
Характеристики водонепроницаемого датчика температуры DS18B20:- Зонд новой оригинальной установки импортного чипа датчика температуры DS18B20.
- Чип каждый штифт использует термоусаживаемую трубку для предотвращения короткого замыкания, внутренний герметизирующий клей, водонепроницаемый, влагостойкий.
- Герметичная трубка из нержавеющей стали, водонепроницаемая, влагостойкая, предотвращает ржавчину.
- Корпус из нержавеющей стали (6 * 45 мм), длина вывода 100 см (экранирующая проволока) стабильность использования;
- блок питания 3,0-5,5 В;
- Широкий диапазон температур: -55 ℃ ~ + 125 ℃;
- Уникальная одиночная шина без внешних компонентов;
- Характеристики кабеля:
- Трубка из нержавеющей стали диаметром 6 мм и длиной 30 мм
- Кабель длиной 36 дюймов / 91 см, диаметром 4 мм (длина 1 метр)
- Содержит датчик температуры DS18B20
- Три провода — красный подключается к 3-5 В, черный подключается к земле, а белый — к данным.
- DS18B20 Датчик
- Рабочий диапазон температур: от -55 до 125 ° C (от -67 ° F до + 257 ° F)
- Выбор разрешения от 9 до 12 бит
- Использует интерфейс 1-Wire — для связи требуется только один цифровой вывод
- Уникальный 64-битный идентификатор, записанный в чип
- Несколько датчиков могут использовать один контакт
- ± 0,5 ° C Точность от -10 ° C до + 85 ° C
- Сигнализация ограничения температуры
- Время запроса меньше 750 мс
- Может использоваться с 3.От 0 В до 5,5 В мощность / данные
В комплект входит:
1 x водонепроницаемый датчик температуры DS18B20
Модуль цифрового датчика температурыSainSmart DS18B20 для Arduino AVR PI — SainSmart.com
Торговая марка: SainSmartМодуль цифрового датчика температуры SainSmart DS18B20 для Arduino AVR PIC
Артикул: 101-60-119 2 отзыва UPC: 6955170848867 ID товара: 11091736724 ID варианта: 45100984084
3 доллара. 99
Arduino и датчик температуры DS18B20, пример
Описание
DS18B20 — это датчик температуры, который можно использовать в различных простых проектах.В этой части используется 1-проводная шина (I2C), и вы можете подключить несколько датчиков к вашему Arduino.
Эта деталь также имеет относительно низкую стоимость и требует только дополнительного подтягивающего резистора 4 кОм. В приведенном ниже примере мы сделаем базовый пример, который считывает температуру и выходные данные через последовательный порт и может быть проверен с помощью последовательного монитора в Arduino IDE.
Список деталейЭтикетка | Деталь Тип |
---|---|
DS1 | DS18B20 Датчик температуры 1-Wire |
Часть 1 | Arduino Uno (Rev3) |
R1 | 4.Резистор 7 кОм |
Как всегда, будьте осторожны, чтобы не допустить неправильного подключения, вы можете обратиться за помощью к распиновке для устройства ниже. DS18B20 может питаться от 3,0 В до 5,5 В, поэтому вы можете просто подключить его вывод GND к 0 В, а вывод VDD к + 5 В от Arduino.
Распиновка ds18b20Я лично считаю, что использование модуля — самый простой способ, компоненты припаяны для вас, и соединения выходят на заголовок, вот модуль, который я использовал
AliExpress. com Продукт — модуль температуры DS18B20 модуль датчика температуры
Вот схема подключения, показывающая, как подключить ваш Arduino к резистору и датчику.
Макет ds1820 КодЕсть пара библиотек и скопируйте их в папку с библиотеками Arduino.
Библиотека температур Dallas 18b20
Библиотека «1-Wire»
Теперь скопируйте и вставьте следующий код в новый эскиз
# включить#include // вывод, к которому вы подключаете ds18b20 #define DS18B20 2 OneWire ourWire (DS18B20); Датчики температуры Даллас (& ourWire); установка void () { Serial.begin (9600); задержка (1000); // начинаем читать sensor.begin (); } пустой цикл () { // считываем температуру и выводим через последовательный порт sensor.requestTemperatures (); Последовательный.принт (сенсоры.getTempCByIndex (0)); Serial.println («градусы С»); }
Выход
При загрузке скетча перейдите в Инструменты -> Монитор последовательного порта, и вы должны увидеть что-то вроде следующего.