Бесконтактные инфракрасные измерители температуры могут быть полезны в тех случаях когда контакт с поверхностью, температуру которой необходимо измерить, нежелателен или невозможен. Например при измерении температуры каких либо агрессивных коррозионных жидкостей вроде кислот и растворов солей а также в медицине когда поверхностью является кожа человека которая может содержать опасные микроорганизмы, в таком случае контактный измеритель будет дополнительным переносчиком инфекции. Помимо этих, возможно есть много примеров когда бесконтактный измеритель температуры будет лучше контактного. Про принципу действия, контактные датчики делятся на много типов. Одним из них являются термопары которые работают на эффекте Зеебека. Большинство недорогих бесконтактных датчиков, на самом деле, работают на таком же эффекте но термопар в них много, они маленькие и соединены последовательно а ЭДС в них возникает при нагревании под действием инфракрасного излучения от источника температура которого измеряется. Также в таких датчиках имеется оптический фильтр который не пускает на термопары не тепловое излучение. Т.к. термопара измеряет не температуру а разность температур то такие датчики дополняются встроенными терморезисторами для измерения холодной части термопары для правильного расчета температуры. В общем правильный расчет температуры будет не прост. Существуют готовые модули с датчиками, оптическими системами фокусировки инфракрасного излучения и контроллерами которые собирают информацию с датчика и выдают готовые цифровые данные с температурой. Например популярный датчик MLX90614. Но он достаточно дорогой и ему есть недорогая дешёвая альтернатива - датчик LU90614 который, на момент написания данной статьи, стоит на порядки дешевле и также может измерять температуру. Он имеет несколько другую оптическую систему, несколько большие размеры а также выдает данные по асинхронному интерфейсу UART в отличии от MLX90614 который выдает данные по синхронному интерфейсу. Для получения данных с датчика, можно подключить его к ПК через USB-uart переходник.
При подключении важно не перепутать выводы питания. После подключения датчика к ПК можно начать с ним коммуникацию через какую либо программу-терминал последовательного порта, поддерживающий отправку данных в 16тиричном виде. Например такую которую можно скачать по ссылке https://disk.yandex.ru/d/s3CgtoBmzA81ug. Традиционный монитор последовательного порта среды Arduino не подходит т.к. он не позволяет отправлять данные в 16тиричном виде. После подключения платы к ПК и открытия терминала, нужно выбрать правильный COM порт из списка, скорость 9600 бод (для данного модуля) и остальные настройки как на скриншотах:После успешного соединения можно получить запросить температуру объекта, отправив ему последовательность байт:
0xFA 0xC6 0xC0 0xFA 0xCA 0xC4
но для того чтобы программа корректно восприняла данные как 16тиричные их нужно отправлять в другом формате, без пробелов а перед каждым байтом ставить знак доллара так:
$FA$C6$C0$FA$CA$C4
Данную строку надо вписать в нижнее текстовое поле и нажать кнопку "Send" для отправки:
После этого модуль должен прислать последовательность байт. Третий из которых это целая часть измеренной температуры, четвертый - десятичная часть измеренной температуры:Т.е. на скриншоте показана температура 27.5 градусов цельсия. Для того чтобы измерить температуру тела нужно аналогично вписать и отправить последовательность: