Как сделать термометр на Arduino с датчиком DS18B20. Какие компоненты потребуются для сборки. Как подключить датчик к Arduino и запрограммировать устройство. Какие преимущества у цифрового термометра на Arduino.
Компоненты для сборки термометра на Arduino
Для создания цифрового термометра на базе Arduino нам потребуются следующие компоненты:
- Плата Arduino (например, Arduino Uno или Nano)
- Цифровой датчик температуры DS18B20
- Резистор 4.7 кОм
- Макетная плата
- Соединительные провода
- USB-кабель для подключения Arduino к компьютеру
Датчик DS18B20 является одним из самых популярных и удобных вариантов для измерения температуры с помощью Arduino. Он обладает следующими преимуществами:
- Цифровой интерфейс, не требующий аналогово-цифрового преобразования
- Высокая точность измерений (±0.5°C)
- Широкий диапазон измеряемых температур (от -55°C до +125°C)
- Возможность подключения нескольких датчиков на одну линию данных
- Наличие уникального идентификатора у каждого датчика
Схема подключения DS18B20 к Arduino
Подключение датчика DS18B20 к Arduino осуществляется по следующей схеме:
- VCC датчика подключается к выводу 5V Arduino
- GND датчика — к выводу GND Arduino
- Сигнальный вывод DATA — к цифровому пину 2 Arduino
- Между VCC и DATA устанавливается подтягивающий резистор 4.7 кОм
Резистор необходим для корректной работы шины 1-Wire, по которой осуществляется обмен данными между Arduino и датчиком.
Программирование Arduino для работы с DS18B20
Для работы с датчиком DS18B20 потребуется установить две дополнительные библиотеки:
- OneWire — для работы с протоколом 1-Wire
- DallasTemperature — для упрощения взаимодействия с DS18B20
Базовый скетч для считывания температуры с DS18B20 выглядит следующим образом:
«`cpp #includeЭтот код инициализирует работу с датчиком, запрашивает измерение температуры и выводит результат в Serial Monitor каждую секунду.
Преимущества цифрового термометра на Arduino
Создание термометра на базе Arduino имеет ряд преимуществ по сравнению с готовыми решениями:
- Низкая стоимость компонентов
- Возможность кастомизации и добавления новых функций
- Интеграция с другими Arduino-проектами
- Образовательная ценность — понимание принципов работы цифровых датчиков
Расширение функциональности термометра
На основе базового скетча можно реализовать дополнительные возможности:
- Подключение дисплея для вывода температуры
- Добавление звуковой или световой сигнализации при достижении определенной температуры
- Ведение лога измерений на SD-карту
- Передача данных по Wi-Fi или Bluetooth
Калибровка и повышение точности измерений
Для повышения точности измерений с DS18B20 можно выполнить следующие шаги:
- Использовать внешнее питание датчика вместо паразитного питания
- Провести калибровку с помощью эталонного термометра
- Увеличить разрешение датчика до 12 бит (0.0625°C)
- Использовать усреднение нескольких измерений
Пример кода с повышенной точностью и калибровкой:
«`cpp #include
Использование нескольких датчиков DS18B20
Одним из преимуществ DS18B20 является возможность подключения нескольких датчиков на одну линию данных. Это позволяет измерять температуру в нескольких точках, используя всего один цифровой пин Arduino.
Для работы с несколькими датчиками необходимо:
- Подключить все датчики параллельно к одному пину данных
- Получить уникальные адреса каждого датчика
- Использовать адреса для обращения к конкретным датчикам
Пример кода для работы с несколькими датчиками DS18B20:
«`cpp #includeПрименение термометра на Arduino в реальных проектах
Термометр на базе Arduino и DS18B20 может найти применение во многих практических проектах:
- Метеостанция для мониторинга температуры окружающей среды
- Система контроля температуры в аквариуме или террариуме
- Мониторинг температуры в теплице или холодильной камере
- Измерение температуры двигателя или электронных компонентов
- Система «умный дом» для контроля температуры в помещениях
Заключение
Создание термометра на базе Arduino и датчика DS18B20 — это отличный способ начать работу с цифровыми датчиками и микроконтроллерами. Этот проект предоставляет широкие возможности для экспериментов и расширения функциональности, а также может стать основой для более сложных систем мониторинга и контроля температуры.
Используя знания и код, представленные в этой статье, вы сможете создать надежный и точный цифровой термометр, который можно адаптировать под различные задачи и интегрировать в другие Arduino-проекты.
Беспроводной цифровой термометр для смартфона
Простой Bluetooth термометр для Android на Arduino
В этой статье я расскажу как сделать простой беспроводной термометр, который может связываться с Andrond — смартфоном по каналу Bluetooth и отображать температуру на экране телефона в специальном приложении. Для изготовления такого термометра вам понадобится плата Arduino (например Arduino Uno), дешевый китайский модуль Bluetooth, и популярный дешевый термодатчик LM35.
Принципиальная схема устройства
Как видим, устройство питается от батареи напряжением 9 В, а Bluetooth модуль типа HC-05 подключается к контрактам CON1.
Смартфон с Android
Для работы с термометром на телефон нужно установить приложение — монитор temperaturemonitoring.apk. Программа создана с помощью веб-приложения MIT App Inventor. Если программа запущена на смартфоне, то данные с термометра принимаются по Bluetooth и отображаются на экране телефона.
Arduino Uno
Ардуино — это плата разработки, основанная на микроконтроллере AVR ATmega328P. На плате есть 6 аналоговых входов и 14 цифровых портов ввода/вывода. Микроконтроллер имеет 32 кб Flash памяти, 2 кб ОЗУ и 1 кб энергонезависимой памяти данных EEPROM. Плата поддерживает интерфейсы связи UART, SPI и I2C. Плата может работать на частоте 16 МГц.
В качестве сенсора температуры использован датчик LM35.
Bluetooth модуль типа HC-05 — это простой в использовании модуль, реализующий последовательный порт через Bluetooth (SPP), предназначенный для простой реализации Bluetooth соединения в различных приложениях на микроконтроллерах. Последовательный порт через Bluetooth представляет собой протокол связи посредством модуляции Bluetooth V2.0 + EDR (улучшенная скорость передачи данных) со скоростью 3 Мбит/с в диапазоне частот 2,4 ГГц. Модуль использует ядро CSR Bluecore 04 — одночиповую систему Bluetooth основанную на технологии CMOS и использует адаптивную функцию скачкообразной перестройки частоты.
Пароль автоматического соединения по умолчанию — 1234.Термодатчик LM35
LM35 — это специальная прецизионная микросхема, выходное напряжение которой линейно и пропорционально изменению температуры (в градусах по Цельсию). LM35 имеет точность ±1/4 ℃ при температурах, близких к комнатной, и ± 3/4 ℃ в диапазоне температур от -55 до + 150 ℃. Масштабный коэффициент составляет 10 10 мВ / ℃. Вывод Vout датчика температуры LM35 подключен к аналоговому входу A0 Arduino Uno. Микроконтроллер Arduino обрабатывает это напряжение, и программа Temp.ino в MCU, вычисляет эквивалентную температуру. Значение температуры предается модулю Bluetooth HC-05 по последовательному интерфейсу.
Ка? ?оказано на схеме, контакты RX и TX модуля Bluetooth подключаются к выводам TX и RX Arduino Uno. Модуль Bluetooth HC-05 передает данные о температуре на с??ртфон через интерфейс Bluetooth. Приложение Android получает эти данные и выводит их на экран телефона. Для Для того, чтобы всё ето заработало, необходимо произвести сопряжения телефона и модуля Bluetooth.
Софт
Для прошивки платы Arduino вам потребуется оболочка Arduino IDE software. Это свободно распространяемое программное обеспечение скачивается на официальном сайте по следующей ссылке:
https://www.arduino.cc/en/Main/Software.
- Скачайте и установите программу Arduino
- Подключите плату Arduino к одному из USB портов компьютера.
- Запустите программу Arduino
- В программе выберите правильный COM потрт, созданный в момент подключения платы Arduino.
- Загрузите файл ? исходными кодами прошивки в программу Arduino (в терминах Ардуино такая программа называется «Sketch» (Скетч), ити «эскиз»), откомпилируйте и загрузите прошивку в контроллер платы
Скачать архив с программой для смартфона и скетчем прошивки для Ардуино
Сборка и тестирование
Соберите устройство согласно схеме. Проверка работоспособности очень проста. Установите на смартфона файл TemperatureMonitoring.apk. Подайте питание на передатчик (плату Ардуино и модуль Bluetooth). Перейдите в настройки телефона, в разделе доступных Bluetooth устройств найлите наш модуль и произведите соединение с ним, введя пароль 1234 (телефон отобразит устройство как HC-05). После успешного соединения запустите установленную программу TemperatureMonitoring и оно начнет отображать данные температуры, полученные со стороны передатчика:
Автор проекта Shibendu Mahata, Jadavpur University, Индия.
Источник — журнал Electronics For You (Индия).
Перевод MBS Electronics, 07.2018
ArduinoBluetoothdigital circuitsLM35microcontrollersoftwarethermometerмикроконтроллертермометрцифровые схемы
Бюджетный GSM термометр на Arduino Nano
- Цена: $13
Добрый день! Очередной обзор самодельного устройства из дешевых китайских электронных компонентов, в этот раз GSM-термометр. Как обычно, дёшево, себестоимость устройства примерно 850 ₽ или 13$. Сборка так же не составит труда для тех кто хотя бы пару раз в жизни держал паяльник 🙂 Заинтересовало? Прошу под «cut»!
Начнём с технического задания, устройство должно:
1. Отслеживать температуру системы отопления, уведомлять смс сообщением или голосовым вызовом при превышении или понижении температуры ниже заданных границ.
2. Отслеживать наличие или отсутствие сети 220В, уведомлять при отсутствии или восстановлении.
3. Работать автономно не менее 24 часов.
4. Полностью управляться через смс сообщения.
Для сборки нам понадобится:
1. Arduino Nano v3 ATmega328P — 180 ₽.
2. GSM модуль SIM800L — 240 ₽.
3. Контроллер заряда-разряда для Li-ion аккумулятора TP4065 — 30 ₽.
4. Датчик DS18B20 — 80 ₽.
5. Светодиод RGB с общим анодом — 1шт * 10 ₽.
6. Резисторы 2,2 кОм, 3,3 кОм, 4,7 кОм, 20 кОм — 5 ₽.
7. Выключатель — 15 ₽.
8. Корпус для PowerBank 4×18650 — 190 ₽.
9. Аккумулятор 18650 — 190 ₽.
10. Зарядное устройство 5В 1,5А — из личных запасов.
Не обязательно, но очень желательно:
11. Полевой транзистор IRLML6402 — 5 ₽.
12. Диоды SS26 — 5 ₽.
13. GSM антенна — 80 ₽.
Могу предположить что возникнут вопросы о работе устройства в сети GSM. Почему бы не использовать GPRS/3G/4G? Во-первых GSM — надёжно, во-вторых есть места очень плохим покрытием, при котором голосовая связь и смс сообщения ещё работают но GPRS-трафик передаётся не стабильно. Поэтому выбор пал именно на этот стандарт. В плане надёжности отдаю предпочтение Arduino, хотя устройство можно было бы собрать и на ESP8266, но в последней не могу быть уверен на все 100%.
За основу GSM-термометра была взята GSM-сигнализация из этого обзора, которая после «финальной» прошивки в течение года отработала без сбоев. Из прошивки «выпилено» всё лишнее и добавлен датчик температуры DS18B20. Диапазон измерения температуры датчика от -55°C до 125°C, даташит на русском языке можно взять по ссылке.
Устройство будет использоваться совместно с котлом длительного горения на дровах и отслеживать температуру теплоносителя в системе отопления. Так же необходимо следить за питанием насосов системы отопления от сети 220В, в случае его отключения насосы останавливаются и температура теплоносителя может стремительно увеличиваться.
Схема устройства.
Потроха.
Внешний вид.
Используемые порты Arduino Nano v3
D5 — шина данных датчика температуры DS18B20 — желтый провод.
D6 — подключен к RST входу модема, для перезагрузки в случае потери сети.
D7 — подключен к делителю напряжения от внешнего источника питания +5В. Верхнее плечо 2,2 кОм, нижнее 3,3 кОм.
Делитель напряжения
D8 — модем TX
D9 — модем RX
D10 — красный светодиод
D11 — синий светодиод
D12 — зеленый светодиод
Прошивка
Программное обеспечение XLoader для прошивки Arduino Nano/Uno берём тут или на гугл диске вместе с прошивкой. Прошивку в виде hex — файла для Arduino Nano/Uno берём тут. Исходник прилагается.
Инструкция по прошивке
— подключаем Arduino в USB-порт
— выбираем нужный hex-файл
— выбираем нужный тип Arduino Nano или Uno
— выбираем COM порт, который создался при подключении Arduino к USB
— скорость 57600
— нажимаем Upload
Для тех кто будет шиться из исходника
В файл SoftwareSerial. h (C:Program Files (x86)ArduinohardwarearduinoavrlibrariesSoftwareSerialsrcSoftwareSerial.h) необходимо внести изменения
было так:
#define _SS_MAX_RX_BUFF 64
стало так:
#define _SS_MAX_RX_BUFF 192
Команды управления
Внимание! Команды выделенные жирным шрифтом могут быть выполнены только с основного номера, так как отвечают за конфигурацию устройства. Команды можно отправлять через смс сообщения или вводить в командной строке монитора порта Arduino IDE.
Команды управления не чувствительны к регистру:
AddPhone — Добавить номер телефона. Всего может быть добавлено не более 9 номеров + 1 основной номер который автоматически сохраняется в память при первом звонке на устройство после сброса на заводские установки командами ResetPhone, FullResetили MemTest. То есть кто первый позвонил на устройство после его сброса на заводские установки тот и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс.
Пример команды:
AddPhone:2+71234567891risp
AddPhone:3+71234567892s
AddPhone:4+71234567893sp
AddPhone:5+71234567894r
Синтаксис команды:
AddPhone — команда
: — разделитель
5 — записать в пятую ячейку памяти
+71234567890 — номер телефона
s — Параметр «SMS» — будет отправлено sms сообщение при срабатывании датчиков
r — Параметр «Ring» — будет совершен голосовой вызов при срабатывании датчиков
p — Параметр «Power» — будет отправлено sms сообщение при включении/отключении внешнего питания
i — Параметр «Info» — будет отправлено sms сообщение о включении или отключении оповещения при изменении температуры
При отсутствии параметров «s», «r», «p»,«i» телефон заносится в память, но никак не используется.
DeletePhone — Удалить номер телефона.
Пример команды:
DeletePhone:+71234567891
Синтаксис команды:
DeletePhone — команда
: — разделитель
+71234567891 — номер телефона
EditMainPhone — Изменить параметры «s», «r», «p», «i» основного телефона, этот номер занесён в первую ячейку памяти.
Пример команды:
EditMainPhone:spri
Синтаксис команды:
EditMainPhone — команда
: — разделитель
srpi — параметры
RingTime — Длительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд.
Пример команды:
RingTime:40
Синтаксис команды:
RingTime — команда
: — разделитель
40 — длительность вызова составит 40 секунд, после чего будет вызван следующий абонент.
ModemID — Принудительная установка модели используемого модема. Возможные значения: 0 — автоопределение модема, 1 — M590, 2 — SIM800l, 3 — A6_Mini.
Пример команды:
ModemID:2
Синтаксис команды:
ModemID — команда
: — разделитель
2 — ID модема.
NetCheckTime — Интервал проверки регистрации модема в сети оператора в минутах, параметр может иметь значение от 1 до 60 минут. При значении 0 проверка отключена.
Пример команды:
NetCheckTime:10
Синтаксис команды:
NetCheckTime — команда
: — разделитель
10 — каждые 10 минут будет производиться поочерёдная проверка уровня сигнала сети или проверка регистрации модема в домашней сети оператора, то есть весь цикл проверки будет занимать 20 минут. В случае отсутствия сигнала или регистрации в домашней сети модем будет перезагружен.
TempCheckTime — Интервал автоматического обновления температуры, параметр может иметь значение от 1 до 60 минут.
Пример команды:
TempCheckTime:10
Синтаксис команды:
TempCheckTime — команда
: — разделитель
10 — каждые 10 минут будет производиться снятие показаний с датчика температуры.
LowTemp — Нижний порог температуры при достижении которого будет отправлено оповещение. Параметр может иметь значение от -50 до 125 и не может превышать или равняться значению параметра HighTemp.
Пример команды:
LowTemp:25
Синтаксис команды:
LowTemp — команда
: — разделитель
25 — температура
HighTemp — Верхний порог температуры при достижении которого будет отправлено оповещение. Параметр может иметь значение от -50 до 125 и не может быть меньше или равняться значению параметра LowTemp.
Пример команды:
HighTemp:60
Синтаксис команды:
HighTemp — команда
: — разделитель
60 — температура
WatchPowerTime — Время в минутах по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Если внешнее питание будет восстановлено до истечения установленного времени, то сообщение не будет отправлено.
Пример команды:
WatchPowerTime:5
Синтаксис команды:
WatchPowerTime — команда
: — разделитель
5 — 5 минут до отправки смс сообщения
WatchPowerOn1 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что включено оповещение при изменении температуры (GuardOn).
WatchPowerOn2 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания в любом случае будет отправлено
WatchPowerOff — выключить контроль внешнего питания
BalanceNum — Изменение номера запроса баланса и обработка длины ответа запроса. Значение по умолчанию для Beeline: #100#L22.
Пример команды:
BalanceNum:#103#L24
Синтаксис команды:
BalanceNum — команда
: — разделитель
#103# — номер запроса баланса
L24 — Длина (len) пересылаемого ответа 24 символа, обрезаем спам из запроса баланса.
Reboot — перезагрузка устройства (только Arduino)
ResetConfig — сброс настроек на заводские установки
ResetPhone — удаление из памяти всех телефонных номеров
FullReset — сброс настроек, удаление из памяти всех телефонных номеров, восстановление значения по умолчанию команды BalanceNum.
GuardOn — включить оповещение при изменении температуры
GuardOff — выключить оповещение при изменении температуры
Info — проверить состояние, в ответ на это сообщение будет отправлено sms с информацией о текущей температуре, нижней и верхней границах контроля температуры, о частоте автоматического обновления температуры, и о том с какого номера было включено или выключено оповещение при изменении температуры и текущее состояние.
TestOn — включается тестовый режим.
TestOff — выключается тестовый режим.
LedOff — выключает светодиод режима ожидания.
LedOn — включает светодиод режима ожидания.
Money — запроса баланса.
ClearSms — Удалить из памяти все sms
ListPhone — вывод в монитор порта списка сохранённых в памяти телефонов
Memtest — тест энергонезависимой памяти устройства, все настройки устройства будут сброшены, аналогично команде FullReset.
ListConfig — вывод в монитор порта текущей конфигурации устройства.
Световая индикация
Светится синим — температура ниже или равна нижней границе контроля, произведено оповещение, оповещение включено.
Светится зелёным — температура между нижней и верхней границей, оповещение включено.
Светится красным — температура выше или равна верхней границе контроля, произведено оповещение, оповещение включено.
Мигает синим — температура ниже или равна нижней границе контроля, оповещение отключено.
Мигает зелёным — температура между нижней и верхней границей, оповещение отключено.
Мигает красным — температура выше или равна верхней границе контроля, оповещение отключено.
Нет индикации — температура между нижней и верхней границей, оповещение включено, включен режим LedOff. При изменении температуры ниже или выше допустимых пределов будет включена световая индикация и произведено оповещение.
Пусконаладочные работы или как этим пользоваться?!
Основным моментом после сборки является проверка EEPROM памяти устройства, для этого необходимо выполнить из консоли команду MemTest. Для доступа к консоли можно использовать Putty или монитор порта в Arduino IDE. В настройках необходимо указать нужный COM-порт и скорость порта 9600.
В результате выполнения команды вы должны увидеть следующие строки сообщающие о том, что тест EEPROM пройден успешно, устройство будет автоматически перезагружено и будут восстановлены настройки по умолчанию.
Лог консоли — MemTest
memtest
EEPROM: 1024B
Test passed.
GSM Temperature Alarm 2018.12.03-01
Deleting eepromconfig data.
Load default eepromconfig data.
Read eepromconfig:
RingTime: 40
Test: 0
Led: 1
Guard: 1
NetCheckTime: 0
TempCheckTime: 10
LowTemp: 10
HighTemp: 70
WatchPower
Mode: 1
Time: 0
ModemID: Autodetect
Delete balance data.
Load default balance data.
Balance number: #100#
Length to return: 22
Deleting phone data.
Load default phone data.
Read array phone:
№ -> Phone -> s -> r -> p -> i
1 -> -> 0 -> 0 -> 0 -> 0
2 -> -> 0 -> 0 -> 0 -> 0
3 -> -> 0 -> 0 -> 0 -> 0
4 -> -> 0 -> 0 -> 0 -> 0
5 -> -> 0 -> 0 -> 0 -> 0
6 -> -> 0 -> 0 -> 0 -> 0
7 -> -> 0 -> 0 -> 0 -> 0
8 -> -> 0 -> 0 -> 0 -> 0
9 -> -> 0 -> 0 -> 0 -> 0
10 -> -> 0 -> 0 -> 0 -> 0
Detected ModemID: 2
Guard ON at boot.
Temperature: 47.81
Для дальнейшей настройки необходимо зарегистрировать основной номер, с которого в дальнейшем будет производиться настройка, для этого достаточно совершить голосовой вызов на номер устройства. Номер с которого был совершен вызов будет добавлен в первую ячейку памяти устройства, так же этому номеру автоматически будут добавлены параметры «s», «r», «p», «i», которые в случае необходимости можно изменить командой EditMainPhone.
Лог консоли — регистрация основного номера
Ring from: +7905xxxxxxx
Primary phone: +7905xxxxxxx
GSM Temperature Alarm 2018.12.03-01
Read eepromconfig:
RingTime: 40
Test: 0
Led: 1
Guard: 1
NetCheckTime: 0
TempCheckTime: 10
LowTemp: 10
HighTemp: 70
WatchPower
Mode: 1
Time: 0
ModemID: Autodetect
Balance number: #100#
Length to return: 22
Read array phone:
№ -> Phone -> s -> r -> p -> i
1 -> 7905xxxxxxx -> 1 -> 1 -> 1 -> 1
2 -> -> 0 -> 0 -> 0 -> 0
3 -> -> 0 -> 0 -> 0 -> 0
4 -> -> 0 -> 0 -> 0 -> 0
5 -> -> 0 -> 0 -> 0 -> 0
6 -> -> 0 -> 0 -> 0 -> 0
7 -> -> 0 -> 0 -> 0 -> 0
8 -> -> 0 -> 0 -> 0 -> 0
9 -> -> 0 -> 0 -> 0 -> 0
10 -> -> 0 -> 0 -> 0 -> 0
Detected ModemID: 2
Guard ON at boot.
Temperature: 47.88
Далее выставляем пределы температур и интервал опроса датчика температуры, теперь эти действия так же можно выполнить с помощью смс сообщения.
Лог консоли — настройка температуры
lowtemp:25
LowTemp is: 25
hightemp:50
HighTemp is: 50
TempCheckTime:5
TempCheckTime is: 5
Temperature: 47.94
Проверяем настройки командой info из консоли и через смс сообщение.
Лог консоли — вывод команды info
info
Temperature: 47.81
Current temperature: 47.81
Low: 25
High: 50
TempCheckTime: 5 min
Guard ON at boot.
СМС сообщение — вывод команды info
Основные настройки закончены, устройство готово к работе. В случае необходимости можно добавить ещё не более девяти номеров оповещения. Так же номера можно дублировать, при этом со всех дублей при добавлении будут автоматически сняты все признаки кроме «r» — оповещение голосовым вызовом.
Оповещение.
При изменении температуры выше или ниже заданных пределов, на номера с признаком «s» — будут отправлены смс сообщения с информацией о текущей температуре. Далее устройство совершит голосовые вызовы на все номера с признаком «r» и перейдёт в режим наблюдения с соответствующей световой индикацией. Следующее оповещение будет произведено только после нормализации температуры и последующим уходом температуры за указанные пределы. В случае отключения внешнего питания устройства на все номера с признаком «p» будет отправлено соответствующее уведомление. Номера с признаком «i» будут получать информационные сообщения о включении или отключении оповещения (следить или следить и оповещать), и номера телефона с которого было произведено действие.
На этом пока всё. Спасибо за внимание! 🙂
Датчик температуры/термометра DS18B20 для Arduino (D55)
- Диапазон измерения от -55°C до +125°C
- 0,5 °C Погрешность
- highlights»> {{выделение}}
14,95 $
Деталь №: VUPN617
Купить 1+ | 14,95 $ | |
Купить 10+ | 9,65 $ | Сохранить задачу% |
Купить {{ price.low }}+ | ${{ parseFloat(price.price).toFixed(2) }} | Сохранить {{ Math.floor(((product_selected().prices[0].price — price.price) / product_selected().prices[0]. price) * 100) }}% |
Посмотреть корзину »
{{ product_selected().in_stock }} в наличии для немедленной отправки.
Этого товара в данный момент нет в наличии.
Посмотреть корзину »
Рекомендуемые продукты
{{rp [‘product_title’]}}
$ {{rp [‘Product_price’]}}
Описание продукта
. Цифровой датчик температуры 1-Wire для Arduino (DS18B20)
Измерение температуры от -55°C до +125°C с точностью 0,5°C. Уникальная однопроводная шина Maxim обеспечивает двунаправленную связь (и даже рабочее питание) по многоабонентской шине, состоящей всего из одного проводника.
Каждое устройство адресуется с помощью уникального 64-битного серийного номера, жестко закодированного на заводе. Этот датчик хорошо подходит для Arduino, в котором есть библиотека для связи по 1-wire. Полные спецификации и библиотека Arduino доступны ниже:
Это устройство имеет DS18B20, упакованный в удобный водостойкий датчик для использования на открытом воздухе или любого использования, где вы хотели бы измерять температуру в среде, где датчик может вступить в контакт водой или любой другой жидкостью. Он также поставляется с небольшой печатной платой со встроенным подтягивающим резистором и развязывающим конденсатором, чтобы максимально упростить подключение к Arduino.
Спецификация: http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
Библиотека Arduino: http://playground.arduino.cc/Learning/OneWire
КОЛ-ВО: 1 x 1- Проводной цифровой датчик температуры для Arduino (DS18B20)
Состояние продукта: Новый
ПРЕДУПРЕЖДЕНИЕ : Рак и репродуктивный вред — www.P65Warnings.ca.gov.
Как сделать собственный самодельный инфракрасный термометр с Arduino
Инфракрасный термометр MLX90614 с Arduino позволяет измерять температуру без необходимости контакта с поверхностью.
Это эффективный способ измерения температуры в ситуациях, когда доступ к измеряемой поверхности затруднен. Однако технология инфракрасного термометра с Arduino непроста. Он основан на законе Стефана-Больцмана и на том, как тело излучает инфракрасное излучение, пропорциональное его температуре.
В этой статье я расскажу о том, как работает инфракрасный термометр и как его использовать с Arduino. Сначала вы должны понять, что это такое и его основной принцип, а затем применить его на практике.
Как работает инфракрасный термометрОн используется в медицине и сельском хозяйстве или для измерения температуры оборудования или устройств.
Эта последняя функция очень важна, так как она может предотвратить проблемы внутри машин и электронных устройств. Особенно, когда контролируемая поверхность недоступна для измерения контактным термометром. Инфракрасный термометр стал очень популярным. Вы можете найти различные цены, качества и преимущества на рынке. Есть даже инфракрасный термометр, который подключается к мобильному приложению.
Загрузите наше мобильное приложение
Источник: AFP Принцип работы инфракрасного термометра
Температура человека составляет от 36ºC до 37,2ºC. Ниже этого диапазона вы можете страдать от гипотермии, а выше — лихорадки.
Так как же инфракрасный термометр может узнать, что температура вашего тела 36ºC?
Молекулы внутри нашего тела или любого объекта не стоят на месте. Они двигаются как дети, когда у них передозировка шоколада в бейсбольном парке. Они не стоят на месте, даже если их связать.
То же самое происходит и с молекулами. Также при движении они излучают инфракрасное излучение. Это излучение находится ниже видимого спектра света, и поэтому мы, люди, не можем его видеть.
Чем выше температура тела или объекта, тем быстрее движутся молекулы и тем больше инфракрасного излучения излучает тело. Даже если вы можете сильно нагреть тело, оно может излучать видимый свет.
Он напоминает большие печи на сталелитейных заводах, когда они плавят металлы. При нагревании оба металла могут светиться красным и даже белым.
Технические характеристики MLX90614Название MLX90614 относится к семейству инфракрасных термометров. В этом семействе есть несколько моделей. Они обозначаются трехбуквенным суффиксом.
MLX90614 Диапазон температур и точностьВажно обратить внимание на диапазон температур, который может измерять инфракрасный термометр, такой как MLX90614. В зависимости от того, что вы хотите измерить, вам придется выбрать ту или иную модель.
Модель BAA инфракрасного термометра MLX90614 поддерживает диапазон температур от -40°C до 125°C для температуры окружающей среды и от -70°C до 380°C для температуры поверхности объектов.
Точность зависит от измеряемого диапазона температур. В следующей таблице, полученной из листа технических характеристик этой конкретной модели, приведена сводка точности.
Температура окружающей среды (Ta) представлена по оси X. Ось Y представляет температуру объекта (To).
Как подключить инфракрасный термометр MLX90614 к ArduinoПодключить инфракрасный термометр к Arduino очень просто, поскольку он использует интерфейс связи I2C, как и многие другие компоненты.
Термометр MLX90614 имеет 4 контакта:
1. VIN: контакт питания. Это будет зависеть от регулятора напряжения, но обычно вы можете подавать 5В или 3В3.
2. GND: контакт заземления или 0 В.
3. SCL: вывод тактового сигнала интерфейса I2C.
4. SDA: вывод сигнала данных интерфейса I2C.
Для подключения инфракрасного термометра к Arduino следуйте приведенным ниже электрическим схемам.
Как запрограммировать инфракрасный термометр MLX90614 на ArduinoЧтобы запрограммировать инфракрасный термометр с помощью Arduino, первое, что вам нужно сделать, это загрузить библиотеку Arduino.