Подключение Ds18b20 к Arduino. DS18B20. Русское описание

Цифровой датчик температуры DS18B20, работает по протоколу 1-Wire. Используется при разработке домашней метеостанции на Arduino.

Описание датчика DS18B20

DS18B20 - цифровой термометр с программируемым разрешением от 9 до 12 битов, которое может сохраняться в памяти EEPROM прибора. DS18B20 обменивается данными по шине 1-Wire и при этом может быть как единственным устройством на линии, так и работать в группе. Все процессы на шине управляются центральным микропроцессором.

Диапазон измерений датчика: от –55 до +125 °C и точностью 0,5 °C в диапазоне от –10 до +85 °C. В дополнение DS18B20 может питаться напряжением линии данных при отсутствии внешнего источника напряжения.

Каждый датчик типа DS18B20 имеет уникальный 64-битный последовательный код, который позволяет общаться с множеством датчиков DS18B20, установленных на одной шине. Первые 8 битов - код серии (для DS18B20 - 28h), затем 48 битов уникального номера, и в конце 8 битов CRC-кода. Такой принцип позволяет использовать один микропроцессор, чтобы контролировать множество датчиков DS18B20, распределенных по большому участку.

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

  • интерфейс 1-Wire;
  • измеряемая температура от –55 до +125 °C;
  • точность 0,5 °C в диапазоне от –10 до +85 °С;
  • температура считывается 9-ю битами данных;
  • время на конвертацию температуры - 750 ms (максимальное).

Данные о температуре хранятся в оперативной памяти датчика. Память состоит из оперативной ROM и энергонезависимой EEPROM:

Первые два байта - содержат данные об измеренной температуре;

Третий и четвертый байты хранят верхний (TH) и нижний (TL) пределы температуры;

Пятый и шестой - не используются;

Седьмой и восьмой - байты-счетчики. Они могут использоваться для более точного измерения температуры;

Девятый байт хранит CRC-код предыдущих восьми.



Кроме общих команд для всех типов устройств 1-Wire, представленных в таблице, датчик может выполнять следующие команды:

Alarm Search - операция этой команды идентична операции поиска адресов , за исключением того, что в данном случае ответят только те датчики, у которых при последнем измерении температура вышла за установленные пре- делы (выше TH или ниже TL);

Convert T - конвертировать температуру. Датчик произведет измерение и запись данных о текущей температуре. Если ведущее устройство будет за этой командой слать тайм-слоты чтения, то пока конвертация не закончена, DS18S20 будет выдавать в линию "0", а после завершения конвертации "1".

Write Scratchpad - запись в память. Эта команда позволяет записать 3 байта в память датчика. Первый байт запишется в TH, второй - в TL, а третий байт запишется в пятый байт памяти - это байт конфигурации;

Read Scratchpad - чтение памяти. Команда позволяет нам считать память датчика. В ответ на эту команду датчик вернет 9 байтов своей памяти, начиная с 0-го байта TEMPERATURE LSB и заканчивая восьмым - CRC;

Copy Scratchpad - копировать память. Датчик скопирует содержимое ОЗУ - TH и TL в EEPROM.

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

Произвести RESET и поиск устройств на линии 1-Wire.

Выдать команду 0x44, чтобы запустить конвертацию температуры датчиком.

Подождать не менее 750 ms.

Для работы с датчиками с интерфейсом 1-Wire можно использовать библиотеку OneWire.

Cкетч получения данных с датчика температуры DS18B20 и вывода данных в последовательный порт с помощью библиотеки OneWire представлен в примере

Sketch code

#include

OneWire ds(10); // линия 1-Wire будет на pin 10

void setup(void)

Serial.begin(9600);

byte present = 0; byte data; byte addr;

if (!ds.search(addr)) { Serial.print("No more addresses.\n"); ds.reset_search();

if (OneWire::crc8(addr, 7) != addr) { Serial.print("CRC is not valid!\n"); return;

if (addr != 0x28) {

Serial.print("Device is not a DS18B20 family device.\n"); return;

ds.reset(); ds.select(addr);

ds.write(0x44,1); // запускаем конвертацию delay(750); // ждем 750ms

present = ds.reset(); ds.select(addr);

ds.write(0xBE); // считываем ОЗУ датчика

for (i = 0; i < 9; i++) { // обрабатываем 9 байт data[i] = ds.read();

Serial.print(data[i], HEX); Serial.print(" ");

// высчитываем температуру:)

int HighByte, LowByte, TReading, Tc_100; LowByte = data;

Serial.print("LB= ");Serial.print(LowByte,HEX); HighByte = data;

Serial.print(" HB= ");Serial.print(HighByte,HEX); TReading = (HighByte << 8) + LowByte;

Tc_100 = TReading/2;

Serial.print(" T = ");Serial.print(Tc_100); Serial.println();

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

DS18B20 имеет различные форм-факторы. Так что выбор, какой именно использовать, остается за вами. Доступно три варианта: 8-Pin SO (150 mils), 8-Pin µSOP, и 3-Pin TO-92. Серфинг по eBay или Aliexpress показывает, что китайцы предлагают версию TO-92 во влагозащищенном корпусе. То есть, вы можете смело окунать подобное чудо в воду, использовать под дождем и т.д. и т.п. Эти сенсоры изготавливаются с тремя выходными контактами (черный - GND, красный - Vdd и белый - Data).

Различные форм-факторы датчиков DS18B20 приведены на рисунке ниже.

Модель DS18B20 во влагозащищенном корпусе:



DS18B20 удобен в использовании. Запитать его можно через контакт data (в таком случае вы используете всего два контакта из трех для подключения!). Сенсор работает в диапазоне напряжений от 3.0 В до 5.5 В и измеряет температуру в диапазоне от -55°C до +125°C (от -67°F до +257°F) с точностью ±0.5°C (от -10°C до +85°C).

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

Что вам понадобится для контроля температуры с помощью Arduino и DS18B20

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

  • Естественно, вам необходима Arduino IDE;
  • Библиотека OneWire library, которая значительно облегчает работу с Arduino и датчиком DS18B20;
  • Скетч...

Загружаем скетч на Arduino

Скетч, который представлен ниже, есть в библиотеке OneWire, в категории examples. Перейдите в “File” - “Examples” - “OneWire” и выберите пример “DS18x20_Temperature”. Код программы представлен ниже.

Данный пример использует библиотеку OneWire Library, для того, чтобы собрать данные со всех подключенных датчиков температуры DS28B20 (как подключить несколько сенсоров описано в конце статьи) и отобразить их в окне серийного монитора Arduino IDE.

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

ROM = 28 88 84 82 5 0 0 6A

No more addresses.

ROM = 28 88 84 82 5 0 0 6A

Data = 1 56 1 4B 46 7F FF A 10 D1 CRC=D1

Temperature = 21.37 Celsius, 70.47 Fahrenheit

No more addresses.

ROM = 28 88 84 82 5 0 0 6A

Data = 1 56 1 4B 46 7F FF A 10 D1 CRC=D1

Temperature = 21.37 Celsius, 70.47 Fahrenheit

Убедитесь, что вы указали корректные пины!

В строке 10, где указано “OneWire ds(2);” устанавливается пин, к которому подключен контакт data с сенсора.

В этом примере использован пин 2, но значения пина по умолчанию в примере OneWire стоит на 10. Можно использовать и его.

#include <OneWire.h>

// пример использования библиотеки OneWire DS18S20, DS18B20, DS1822

OneWire ds(2); // на пине 10 (нужен резистор 4.7 КОм)

void setup(void) {

Serial.begin(9600);

void loop(void) {

byte present = 0;

float celsius, fahrenheit;

if (!ds.search(addr)) {

Serial.println("No more addresses.");

Serial.println();

ds.reset_search();

Serial.print("ROM =");

Serial.write(" ");

Serial.print(addr[i], HEX);

if (OneWire::crc8(addr, 7) != addr) {

Serial.println("CRC is not valid!");

Serial.println();

// первый байт определяет чип

Serial.println(" Chip = DS18S20"); // или более старый DS1820

Serial.println(" Chip = DS18B20");

Serial.println(" Chip = DS1822");

Serial.println("Device is not a DS18x20 family device.");

ds.select(addr);

delay(1000); // 750 может быть достаточно, а может быть и не хватит

// мы могли бы использовать тут ds.depower(), но reset позаботится об этом

present = ds.reset();

ds.select(addr);

Serial.print(" Data = ");

Serial.print(present, HEX);

Serial.print(" ");

data[i] = ds.read();

Serial.print(data[i], HEX);

Serial.print(" ");

Serial.print(" CRC=");

Serial.print(OneWire::crc8(data, 8), HEX);

Serial.println();

// конвертируем данный в фактическую температуру

// так как результат является 16 битным целым, его надо хранить в

// переменной с типом данных "int16_t", которая всегда равна 16 битам,

// даже если мы проводим компиляцию на 32-х битном процессоре

int16_t raw = (data

if (data == 0x10) {

raw = (raw & 0xFFF0) + 12 - data;

byte cfg = (data & 0x60);

// при маленьких значениях, малые биты не определены, давайте их обнулим

if (cfg == 0x00) raw = raw & ~7; // разрешение 9 бит, 93.75 мс

else if (cfg == 0x20) raw = raw & ~3; // разрешение 10 бит, 187.5 мс

else if (cfg == 0x40) raw = raw & ~1; // разрешение 11 бит, 375 мс

//// разрешение по умолчанию равно 12 бит, время преобразования - 750 мс

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");

Как подключить несколько сенсоров DS18B20 к Arduino?

Вы можете подключить несколько цифровых датчиков температуры DS18B20 параллельно. При этом библиотека OneWire library позволит вам считывать данные со всех датчиков одновременно.

Ниже описаны два метода подключения сенсоров.

Для большого количества сенсоров (больше 10), надо использовать резисторы с меньшим сопротивлением (например, 1.6 КОм или даже меньше).

Кроме того, если вы подключаете параллельно более 10 датчиков, могут возникнуть проблемы (погрешности при съеме показаний). Поэтому рекомендуется устанавливать дополнительный резистор сопротивлением 100...120 Ом между контактом data на Arduino и data на каждом сенсоре!

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

ROM = 28 88 84 82 5 0 0 6A

Data = 1 51 1 4B 46 7F FF F 10 FE CRC=FE

Temperature = 21.06 Celsius, 69.91 Fahrenheit

ROM = 28 DA CA 27 5 0 0 49

Data = 1 4E 1 4B 46 7F FF 2 10 D9 CRC=D9

Temperature = 20.87 Celsius, 69.57 Fahrenheit

No more addresses.

Выбираем правильный сенсор

Было бы неплохо знать, с какого именно сенсора вы получаете данные, когда вы используете параллельно несколько датчиков. Как это сделать?

Серийный номер

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

Вы могли обратить на примерах выше, что скетч выдает нам данные в виде 64-битного серийного номера - значение “ROM”. Например:

28 88 84 82 5 0 0 6A или 28 DA CA 27 5 0 0 49 в примере выше.

Не забывайте, если вы используете одновременно большое количество датчиков (10 и больше), надо добавить резисторы 100 … 120 Ом между контактами data с сенсора DS18B20 и пином data на Arduino (для каждого датчика!).

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



Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!

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

Главными его преимуществами являются:

  • Наличие всего одного контакта для получения полезного сигнала. Это дает возможность подключения огромного количества идентичных сенсоров DS18B20 к одному Arduino Processing LCD.
  • Цифровая система функционирования.
  • Возможность подключения огромного количества идентичных сенсоров к одному пину Arduino Processing LCD.


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

Все датчики типа DS18B20 имеют несколько форм-факторов, которые могут существенно облегчить работу с ними. Право выбора самого форм-фактора всегда, само собой, остается за клиентом. Сегодня на рынке преобладают 3 варианта этой продукции, а именно: 8Pin SO (150 mils), 8Pin µSOP и 3Pin TO92. Информация, которую мы почерпнули, свидетельствует о том, что китайские производители также предлагают приобрести датчик 3Pin TO92, снабженный специальной влагозащитной оболочкой. Это даст вам возможность погружать аппарат в жидкость, использовать во время плохой погоды и в других случаях. У всех сенсоров всегда имеется 3 выходных контакта: черного, красного и белого цветов. Они соответствуют значениям GND, Vdd и Data соответственно.

Дополнительное удобство эксплуатации DS18B20 для Arduino Processing LCD обеспечивается тем, что он может быть подключен к электросети через белый контакт. В этом случае вы будете использовать всего пару контактов вместо тех трех, которые требуются для нормального подключения. Датчик способен функционировать при напряжении в сети от 3 до 5,5 Вольт, а также фиксировать изменения температуры, если она находится в диапазоне от -55 до плюс 125 по Цельсию. Погрешность, которую может выдавать термостат при измерении температуры, составляет 0,5 градуса по Цельсию.

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

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

Что нужно, чтобы настроить работу датчика DS18B20 для Arduino Processing LCD

Из программного обеспечения вам в обязательном порядке потребуются:

  • База данных OneWire library, примечательная тем, что она значительным образом упрощает работу как с самим Arduino, так и со всеми датчиками, включая DS18B20.
  • Скетч.

Программу «Ардуино» можно скачать с ее официального сайта - там есть ее последняя версия в открытом доступе.

База данных OneWire Library может быть скачана на OneWireProjectPage. При этом желательно загружать к себе на компьютер самую свежую ее версию.



Из оборудования вам в обязательном порядке потребуются:

  • Nano-датчик для измерения температурных показателей DS 18B20 в количестве минимум одного экземпляра.
  • Контроллер «Ардуино».
  • Термостат.
  • Коннекторы в количестве 3 штук.
  • Плата для монтажных работ.
  • Кабель, который будет обеспечивать подключение «Ардуино» к вашему компьютеру посредством USB-соединения.

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



Nano-датчик температуры DS 18B20

Подключение датчика DS 18B20 к Arduino Processing LCD

Чтобы правильно произвести подключение датчика к системе «Ардуино», необходимо действовать в соответствии со следующим алгоритмом:

  • Черный контакт температурного датчика нужно подключить к GND-системе «Ардуино».
  • Красный контакт температурного датчика нужно подключить к +5V системы «Ардуино».
  • Красный контакт температурного датчика может быть подключен к любому свободному цифровому пину в системе «Ардуино».
  • Подключить к внешней обвязке системы специальный резистор на 4,7 килоома.

Полная схема подключения датчика температуры DS 18B20 к системе Arduino Processing LCD показана на изображении ниже.



Схема подключения датчиков температуры DS 18B20 к системе Arduino

Установка базы данных OneWireLibrary

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

Загрузка скетча в систему

Как правило, нужный скетч всегда есть в базе данных OneWireLibrary в категории «примеры». Вам нужно перейти в панели управления программой по такому алгоритму: “Файл” - “Примеры” - OneWire и выбрать пример, который будет содержать название подключаемого датчика температуры.

Эта функция используется для того, чтобы в базу данных могла поступать информация обо всех датчиках температуры DS 18B20 и отображаться на мониторе системы «Ардуино».

Какой тип питания выбрать

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



Подключение термодатчика DS18b20 к программе Arduino

Как подключить несколько датчиков температуры DS 18B20 одновременно

Подключение нескольких датчиков температуры типа DS 18B20 к Arduino Processing LCD возможно. Это обеспечивается базой данных OneWirelibrary, способной считывать всю информацию со всех подключенных устройств одновременно.

Если речь идет о подключении большого числа датчиков (например, если их больше 10), должны быть использованы резисторы с более низким показателем сопротивления (к примеру, 1,5 килоома или меньше).

Если же вы собрались подсоединять больше десятка датчиков DS 18B20, могут быть проблемы с их точностью. В таком случае можно установить резистор (сопротивление - примерно 100 Ом) между белым контактом на аппарате «Ардуино» и белым контактом на каждом датчике.

В этой статье мы расскажем нашим читателям, как подключать датчики температуры DS18B20, LM35 и TMP36 на печатной плате Arduino UNO , которая построена на микроконтроллере ATmega328 . Основным предназначением датчиков температуры DS18B20, LM35 и TMP36 является снятие температурных показателей. В нашем случае температурные показатели с этих датчиков будет считывать печатная плата Arduino UNO, и выводить результат на экране компьютера. По сути, с помощью этих датчиков любой желающий может создать свой собственный термометр. Кроме детального описания использования Arduino UNO и датчиков DS18B20, LM35 и TMP36, мы расскажем нашим читателям, где можно приобрести эти компоненты.

Подготавливаем программную часть на ПК с помощью Arduino IDE

Если у вас есть уже плата Arduino UNO и рассматриваемые датчики, то настало время настроить компьютер для того, чтобы он смог работать с микроконтроллером. Для этой задачи нам потребуется программный пакет Arduino IDE. Загрузить этот пакет можно на официальном сайте www.arduino.cc. На момент написания статьи последней версией пакета является ARDUINO 1.6.10. Сам же IDE мы будем использовать на ПК с операционной системой Windows 10. После загрузки IDE запустим установочный файл.

В стартовом окне установщика принимаем условия лицензионного соглашения и переходим к следующему окну.


В этом окне оставляем все как есть и продолжаем установку нажатием кнопки «Next > ».


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


После завершения установки на рабочем столе появится ярлык с именем Arduino.

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

Подключаем датчик DS18B20 к плате Arduino UNO

Первым делом нам нужно подключить сам датчик к плате . Для этого нам понадобится макетная плата и резистор с сопротивлением, равным 4,7 кОм . Ниже изображена схема подключения рассматриваемого датчика DS18B20 к Arduino UNO.

Подключим плату к компьютеру посредством USB-кабеля. После подключения на плате должен загореться светодиод под названием «ON ». Теперь нам нужно открыть установленную ранее Arduino IDE через ярлык на рабочем столе.


В окне открытой программы перейдем в меню «Инструменты » в пункт «Плата :» и выберем нашу плату.


Чтобы заставить работать наш датчик, нам нужно загрузить библиотеку «DallasTemperature », которую можно скачать по этой ссылке arduino-project.net/DallasTemperature.rar. После загрузки библиотеки ее нужно подключить к IDE. Для этого разархивируем загруженную библиотеку в директорию с библиотеками, которая находится по адресу «C:\Program Files\Arduino\libraries». Посмотреть подключенную библиотеку можно в меню «Скетч ».

Теперь выполним пример из подключенной библиотеки . Для этого перейдем по ссылкам «Файл » - «Примеры » - «DallasTemperature » - «Multiple ». После этого действия в окно программы загрузится выбранный нами пример.

Теперь загружаем этот пример в плату Arduino UNO с помощью кнопки «». После этого откроем пункт «Монитор порта », который находится в меню «Инструменты ».


Из монитора видно, что наш датчик DS18B20 показывает температуру, как по Цельсию, так и по Фаренгейту.

Подключаем датчик LM35 к плате Arduino UNO

Датчик температуры LM35 является недорогой моделью, которую выпускает компания Texas Instruments . Этот датчик довольно просто подключается к Arduino UNO. Ниже представлена схема подключения рассматриваемого датчика к печатной плате.


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


После загрузки этого кода на плату, откроем «Монитор порта » и увидим, как датчик снимает температурные показатели с места, где он находится.


Из примера видно, что датчик LM35 намного проще подключать к Ардуино UNO, чем рассмотренный ранее.

Подключаем датчик TMP36 к плате Arduino UNO

Датчик температуры TMP36 является бюджетной моделью компании Analog Devices . Поскольку для этого примера у нас отсутствовал сам датчик, то мы воспользовались интернет сервисом , который позволяет эмулировать платы Ардуино. Этот пример будет особенно интересен тем пользователям, которые хотят попробовать Arduino до его покупки. Чтобы попасть в сервис Autodesk Circuits, необходимо перейти на интернет страницу https://circuits.io. На этой странице необходимо пройти процедуру быстрой регистрации, после чего вы попадете на главную страницу сервиса.


Чтобы создать новый проект, необходимо нажать кнопку «New Electronics Lab » на этой странице. После этого действия мы попадем в окно проекта.


Из окна проекта видно, что у нас присутствует только макетная плата. Чтобы добавить необходимые нам компоненты откроем панель «Components ». Из этой панели мы добавим и соединим компоненты, как это показано на изображении ниже.


После сборки пакета перейдем в панель «Code Editor » и вставим текст , изображенный ниже.


Также обратите внимание на код. В нем имеются описания функций всех операций. Теперь попробуем запустить нашу плату . Для этого нажмем кнопку «Start Simulation », после чего мы увидим, как загорится зеленый светодиод. Чтобы проверить, что наш проект работает, мы откроем «Serial Monitor ».

Из окна монитора видно, что наш виртуальный датчик измеряет показатели температуры.

Из примера видно, что сделать проект с датчиком TMP36 в Autodesk Circuits совсем несложно. Настоятельно рекомендуем новичкам перед реальным использованием Ардуино UNO и компонентов воспользоваться эмулятором .

Если вы неправильно соберете какую-нибудь схему, то вы реально можете спалить, как плату Arduino UNO, так и ее компоненты. Кстати в Autodesk Circuits также можно спалить печатную плату, хоть и виртуальную.

Где достать компоненты Arduino, чтобы осуществить измерение температуры

Многие не раз задумывались о покупке Ардуино и дополнительных деталей к ней. Но сдерживающим фактором такой покупки всегда была довольно завышенная цена, которая представлена на отечественном рынке. Чтобы наши читатели смогли сэкономить, мы рекомендуем покупать все компоненты и платы Arduino в Китае. Одним из самых популярных китайских интернет магазинов является AliExpress.com. На этом сайте можно найти практически любой компонент и плату Ардуино. Ниже представлен список деталей, которые мы использовали в статье:

  • Датчик температуры DS18B20 стоит 0.7 доллара;
  • Датчик температуры LM35 стоит 0.8 доллара;
  • Датчик температуры TMP36 стоит 3 доллара;
  • Печатная плата Arduino UNO стоит примерно 3 доллара.

Из списка можно подвести итог, что связка Arduino UNO плюс DS18B20 является наиболее выгодным предложением.

Подводим итог

В этой статье мы рассмотрели два примера подключения физических датчиков измерения DS18B20, LM35 к печатной плате Arduino UNO. Кроме этого, мы рассмотрели вариант виртуальной сборки схемы с использованием датчика TMP36. Во всех примерах мы представили вывод температурных показателей только через «Монитор порта ». Это было сделано специально, чтобы максимально упростить схему сборки. На просторах сети можно найти сотни примеров, где можно использовать такие варианты подключения:

  • Превращение смартфона в термометр, благодаря снятию температурных показателей на его экране или ПК с различных датчиков, используя Wi-Fi модуль для Arduino;
  • Превращение смартфона в термометр, благодаря снятию температурных показателей на его экране или ПК с различных датчиков, используя Bluetooth модуль для Arduino;
  • Создание термостата со светодиодной индикацией;
  • Создание термометра на базе Arduino и TFT дисплея;
  • Получение температурных показателей с помощью Arduino через интернет.

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

Видео по теме