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

Лучшие публикации о ПЛК и умном доме / PLController

Новое поступление в магазин

  • SFP модули OSNOVO

    Промышленный оптический SFP модуль OSNOVO SFP-S2LC15-G-1310-1310-I

    0 out of 5

    (0)

    Оптический SFP Модуль промышленный. Два волокна Single Mode. Скорость: до 1,25 Гбит/c. Тип разъема: 2xLC. Оптический бюджет: 15дБ. Расстояние передачи – до 20км. Рабочая длина волны,нм – Tx:1310/Rx:1310. Поддержка DDM. Размеры (ШхВхГ): 13,7×12,2×56,7мм. Рабочая температура: -40…+85°С.

    SKU: 13822

Последние публикации

Популярное сегодня

  • SFP модули OSNOVO

    Промышленный оптический SFP модуль OSNOVO SFP-S2LC15-G-1310-1310-I

    0 out of 5

    (0)

    Оптический SFP Модуль промышленный. Два волокна Single Mode. Скорость: до 1,25 Гбит/c. Тип разъема: 2xLC. Оптический бюджет: 15дБ. Расстояние передачи – до 20км. Рабочая длина волны,нм – Tx:1310/Rx:1310. Поддержка DDM. Размеры (ШхВхГ): 13,7×12,2×56,7мм. Рабочая температура: -40…+85°С.

    SKU: 13822

  • SFP модули OSNOVO

    Оптический SFP модуль OSNOVO SFP-S2LC15-G-1310-1310

    0 out of 5

    (0)

    Оптический SFP Модуль. Два волокна Single Mode. Скорость: до 1,25 Гбит/c. Тип разъема: 2xLC. Оптический бюджет: 15дБ. Расстояние передачи – до 20км. Рабочая длина волны,нм – Tx:1310/Rx:1310. Поддержка DDM. Размеры (ШхВхГ): 13,7×12,2×56,7мм. Рабочая температура: 0…+70°С.

    SKU: 12778

  • Удлинители Ethernet + PoE OSNOVO

    Удлинитель PoE (VDSL) OSNOVO TR-IP1PoE(500m)

    0 out of 5

    (0)

    Удлинитель PoE (VDSL) до 500м (Комплект передатчик + приемник) по коаксиальному кабелю RG59 (RG6), телефонному, силовому кабелю.

    Расстояние передачи данных – 600м, Скорость передачи – 100 мбит/c. Мощность PoE на расстоянии 300м – 27Вт, На расстоянии 500м – 17Вт. Поддержка стандартов IEEE 802.3af/at. Автоматическое определение PoE устройств. Порты передатчика: вх.- 1 x RJ45 (10/100 Base-T), 2 x клм. питание (12-57VDC) , вых. – 2 x клм. (VDSL) , Порты приемника: вх. – 2 x клм. (VDSL), 2 x клм. питание (12VDC) вых. – 1 x RJ45 (10/100 Base-T + PoE). Напряжение питания передатчика – DC12-57V, приемника – DC12V. Рекомендуемое напряжение питания при передаче PoE – DC55V. Блок питания в комплект не входит. Размеры (ШxВxГ): 26 x 26 x 123 мм. Рабочая температура: -20…+60 гр. С.

    SKU: 12730

Скоро в продаже

Новости

Статьи

Датчик температуры KY-001 (DS18B20 термометр)


Корзина
Избранное
Оповещения

Кабинет

ДОСТАВКА И ОПЛАТАПОКУПАТЕЛЮЧАТЫ

Каталог — 

Встраиваемые модули

Датчик температуры KY-001 (DS18B20 термометр)

Общая цена

375 р.

В корзину

Добавить в избранное

Артикул:111588

Производство:China(Китай)

Страна:КИТАЙ

В наличии

Описание

Цифровой модуль, датчик измерения температуры окружающей среды. Схема соединения очень простая и состоит собственно из самого датчика и резистора на 4.7 кОм (5 кОм), см. схему на фото.

Контакты KY-001, подключение:

Контакт промаркированный I – соединяется с общим проводом.

Средний контакт в соединителе – питание.

Контакт S – вывод данных.

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

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

Для Arduino UNO

Для Arduino MEGA

Для Arduino UNO R3 и Arduino Nano V3.0

Их контакты в области digital IO ports объединены в по группы, имеющие 3 контакта. Очередность расположения контактов совпадает с назначением контактов модуля, что позволяет легко выполнить соединение.

 

Программирование:

Для работы понадобятся библиотеки OneWireTempSensor.h и OneWire.h, которые  можно без труда найти в интернете (или скачать ниже). В этом примере значение температуры выводится в последовательный порт и просмотреть его можно используя Serial Monitor, встроенный в Arduino IDE.

Ссылки на библиотеки:

OneWireTempSensor.rar

OneWire.zip


Развернуть описание

Технические параметры

Отсутствуют.


Доставка

Мы осуществляем доставку Транспортными Компаниями и Почтой России.
Доставка Почтой России осуществляется по России в соответствии с утверждёнными тарифами на почтовую пересылку ФГУП «Почта России»

Вы недавно смотрели

Датчик температуры KY-001 (DS18B20 термометр)

375 р.

Осциллограф портативный цифровой DSO nano 201

10 880 р.

Микросхема LM324N, (КР1401УД2А)

92 р.

Резистор  МЛТ-330 Ом, 5 %

Преобразователь USB = COM-port «Сапфир USB RS-232/485/ИП-ГР»

Стабилизатор КР142ЕН12А

Диод КД105Б   (0.3 А, 400 В)

25 р.

Кварцевый резонатор 7.2 МГц

24 р.

Микроконтроллер ATMEGA8-16AU

Паяльник для станции Lukey-702

Транзистор PNP КТ361Г КТ-13

16 р.

Батарейка AAA

датчик HC-SR04

310 р.

Транзистор NPNPNP 2SA1837 + 2SC4793 (пара) ТО-220 (КТ-28)

257 р.

Клемма ножевая VF2-110(8) (КПИ гн — 3.8мм)

7 р.

Микросхема К561КТ3

48 р.

Конденсатор 22 мкФ, 350 В, ECR +85 °С

Диод HER108   (1 А, 1 кВ)

8 р.

Конденсатор МБМ 1 мкФ, 250 В

Микросхема TDA2822M

113 р.40 к.

Учебное пособие по датчику температуры DS18B20 с Arduino и ESP8266

Ребята, как дела! Акарш из CETech.

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

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

Давайте начнем с веселья.

Получите печатные платы для вашего проекта, изготовленные

Чтобы получить печатные платы для вашего проекта, изготовленные онлайн, вы должны проверить ​OurPCB.

Они используют надежные компоненты, полученные от аккредитованных поставщиков, таких как Arrow, Avnet, Future Electronics и т. д., и предлагают разумные цены, что в конечном итоге максимизирует размер прибыли пользователя. Специализируясь на многослойной технологии и технологии Rigid-flex, их приоритетом является поддержание высоких стандартов качества.

Наша печатная плата ориентирована на заказы малого и среднего объема и предлагает очень конкурентоспособную цену для объема от 1 до 100 кв. метров. Вам просто нужно загрузить файлы в любом из доступных форматов (Gerber, .pcb, .pcbdoc или .cam), и прототипы печатных плат будут доставлены к вашему порогу.

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

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

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

Основные точки сравнения:

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

2. DS18B20 выдает данные размером 9-12 бит, а DHT11 выдает данные размером 8 бит.

3. DS18B20 показывает только температуру, тогда как DHT11 может использоваться для получения температуры, а также влажности.

4. DS18B20 охватывает более широкий диапазон температур по сравнению с DHT11, а также имеет лучшую точность по сравнению с DHT (+ 0,5 градуса по сравнению с + 2 градуса для DHT11).

5. Когда дело доходит до ценообразования, эти датчики имеют небольшую разницу между собой, так как два разных варианта DS18B20, которые представляют собой проводной корпус, и корпус TO92 имеют стоимость около 1 и 0,4 доллара США, а стоимость DHT11 составляет около 0,6 доллара США.

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

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

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

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

Для этого шага нам потребуются: Arduino UNO, датчик температуры DS18B20 (упакованный тип или пакет TO92, любой доступный) и резистор 4,7 кОм.

Датчик DS18B20 имеет 3 провода: черный, красный и желтый. Черный — для GND, красный — для Vcc, а желтый — для сигнального контакта 9.0003

1. Подключите контакт GND или черный провод датчика к GND.

2. Подключите контакт Vcc или красный провод датчика к источнику питания 5 В.

3. Подключите сигнальный контакт или желтый провод к 5 В через резистор 4,7 кОм, а также подключите этот сигнальный контакт к цифровому контакту № 12 Arduino.

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

Кодирование Arduino для отображения температуры

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

1. Подключите плату Arduino UNO к ПК.

2. Отсюда перейдите в репозиторий Github для этого проекта.

3. В репозитории GitHub вы увидите файл с именем « Basic code », откройте этот файл, скопируйте код и вставьте его в Arduino IDE.

4. Выберите правильную плату и COM-порт на вкладке «Инструменты» и нажмите кнопку загрузки.

5. После загрузки кода откройте Serial Monitor и выберите правильную скорость передачи данных (9).600 в нашем случае), и вы сможете увидеть температуру, измеренную DS18B20.

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

Подключение DS18B20 к ESP8266

На этом этапе мы будем подключать DS18B20 к модулю ESP8266 для получения температуры.

Для этого шага нам понадобится = модуль ESP8266, резистор 4,7 кОм и датчик температуры DS18B20 (корпусного типа или TO9).2 пакета, что есть в наличии).

Соединения для этого шага аналогичны соединениям, сделанным с помощью Arduino.

1. Подключите контакт GND или черный провод датчика к GND.

2. Подключите контакт Vcc или красный провод датчика к источнику питания 3,3 В.

3. Подключите сигнальный контакт или желтый провод к 3,3 В через резистор 4,7 кОм, а также подключите этот сигнальный контакт к GPIO12, который является контактом D5 модуля.

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

Настройка Arduino IDE

Для кодирования ESP8266 с помощью Arduino IDE нам необходимо установить плату ESP8266 в дополнительные платы Arduino IDE, так как они не предустановлены. Для этого нам необходимо выполнить шаги, указанные ниже:

1. Перейдите в меню «Файл» > «Настройки»

2. Добавьте http://arduino.esp8266.com/stable/package_esp8266com_index.json в URL-адреса менеджера дополнительных плат.

3. Выберите Инструменты > Доска > Диспетчер плат

4. Найдите esp8266 и затем установите плату.

5. Перезапустите IDE.

Кодирование ESP8266 для отображения температуры

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

1. Перейдите в репозиторий Github для этого проекта отсюда.

2. В Репозитории вы увидите код с именем » ESP8266 Температурный веб-сервер ». Вам просто нужно скопировать этот код и вставить его в Arduino IDE.

3. После вставки кода измените SSID и пароль в коде на идентификатор вашей сети Wi-Fi. На вкладке «Инструменты» выберите правильную плату и COM-порт, а затем нажмите кнопку «Загрузить». язык, написанный там и ниже, будет присутствовать IP-адрес. Вам нужно скопировать этот IP-адрес, так как это адрес веб-сервера, который будет отображать температуру.

Готово

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

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

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

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

Вот и все для демонстрации.

Измерение температуры с помощью цифрового датчика DS18B20…

 В этом руководстве описывается простое приложение для измерения температуры с помощью цифрового датчика DS18B20 и многофункционального модуля Arduino, подключенного к FRDM K64F. Вы можете использовать новую функцию Expansion Boards (экраны расширения), включенную в инструмент Pins v9. Эта функция позволяет быстро интегрировать щиты в приложение без необходимости изучения руководств.

В этом документе вы можете найти настройку среды, основы протокола 1-wire и шаги по подготовке кода с помощью инструментов MCUXpresso (инструмент «Периферийные устройства и контакты»).

Настройка среды

  1. Установите MCUXpresso IDE v11.3.0 или более позднюю версию и SDK FRDM-K64F 2.8.2 или более позднюю версию.
  2. Используйте плату FRDM K64F EVK https://www.nxp.com/webapp/Download?colCode=FRDMK64FUG.
  3. Подключите многофункциональную плату Arduino (плата расширения) к плате FRDM K64F EVK, а DS18B20 — к плате расширения Arduino.
  4. Подключите плату ЭВК к ПК через USB-кабель.

Рис. 1 Плата FRDM K64F EVK с многофункциональным экраном Arduino

  1. Наличие файла определения платы расширения arduino_multifunction_ds18b20.xml. Подробные инструкции по созданию платы расширения см. в следующей статье: Создание файла определения платы расширения для Arduino Multifunction Shield
  2. .

DS18B20 Цифровой термометр 1-Wire с программируемым разрешением

См. документацию https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf

В этом учебном пособии используется питание от внешнего источника.

Рис. 2. Питание DS18B20 от внешнего источника питания

 

См. временные диаграммы для связи с DS18B20, необходимые для написания протокола связи 1-Wire.

Рис. 3. Временная диаграмма инициализации

на автобусе поддерживается

  • ’44h’ преобразовать температуру
  • ‘BEh’ чтение регистров DS18B20 (температура)
  • Создайте приложение в MCUXpresso IDE

    Начните с примера hello_word из SDK, переименуйте проект в frdmk64_termometer.

    Действия по настройке таймера в инструменте «Периферийные устройства»:

    1. Перейдите в инструмент «Периферийные устройства» и добавьте/настройте компонент PIT. Устраните новое представление «Ошибка в проблемах», добавив в проект компонент SDK.

      Рис. 5 Компонент PIT в инструменте «Периферийные устройства»

    Действия по применению платы расширения и настройке контакта в инструменте «Контакты»:

    1. Примените плату расширения (arduino_multifunction_ds18b20.xml) из меню «Пинсы» -> меню «Применить плату расширения»

      

    Рис. 6. Диалоговое окно «Применить плату расширения»

    1. Диалоговое окно «Маршрутизация платы расширения» открывается автоматически после шага 1. Оно позволяет направлять сигналы на выводы процессора, подключенные к плате расширения. По умолчанию все выводы разводятся автоматически, см. ниже. Оставьте только контакт A4, который необходим для нашего термометра. Удалите ненужные контакты, щелкнув Route или более поздней версии в представлении Routing Details , затем щелкните Apply .

     

    Рис. 7 Диалоговое окно маршрутизации платы расширения

     

    1. Результатом действия является следующая настройка. При выборе платы расширения в списке «Ярлыки» вы видите метки, отмеченные на плате Arduino.

    Рис. 8. Вид заголовка расширения

    1. В подробностях маршрутизации установите электрические свойства контакта (Направление, Выбор тяги, Разрешение тяги).

    Рис. 9 Электрические свойства в представлении Routing Details

    1. Нажмите Обновить код , чтобы обновить проект кодом, сгенерированным инструментами.

    Напишите приложение термометра и протокол 1-wire (thermometer.

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

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