224   221     15   57    

Инфракрасный датчик температуры MLX90614

По многим причинам иногда довольно сложно использовать датчик температуры (например, DS18b20), например, соприкоснуться им с объектом, температуру которого нужно измерить. Стало очень интересно попробовать этот симпатичный бесконтактный датчик температуры MLX90614, который измеряет 2 вида температур - температуру окружающей среды и температуру объекта на расстоянии.

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

Спецификация

Остановимся на характеристиках сенсора MLX90614:

  • -40°C ... + 125°C для температуры окружающей среды;
  • -70°C ... + 380°C для температуры объекта;
  • высокая точность 0,5°C в широком диапазоне температур (0°C ... + 50° C для обоих вариантов);
  • разрешение измерения 0,02°C;
  • I2C связь;
  • высокая (медицинская) точность калибровки;
  • при измерении температуры соблюдайте дистанцию измерения 1 см.

Это довольно хороший датчик определения температуры для горячих объектов, таких как приготовленная пища или чипы на материнских платах. Кроме того, датчик MLX90614 также хорошо для холода, если, например, вы хотите измерить температуру мороженого. Отсутствие контакта с пищей при измерениях делает этот сенсор очень ценным устройством. И, конечно, вы можете использовать этот датчик для измерения температуры окружающей среды (проект метеостанции).

Комплектующие

Для понимания работы датчика MLX90614 нам хорошо бы иметь под рукой ряд комплектующих:

  1. Arduino Nano (или любой Arduino или микроконтроллер)
  2. USB-кабель для Arduino Nano
  3. Датчик MLX90614
  4. Перемычки
  5. Макетная плата

Схема соединения

Схема соединения датчика и Arduino Nano представлена ниже:

Схема проста, так как датчик использует связь I2C:

  • Подключите Vin к 3,3 Вольт или 5 Вольт.
  • Подключите GND к GND Arduino.
  • Подключите SDA к A4 на Arduino.
  • Подключите SCL к A5 на Arduino.

Также мы приводим схему нашего устройства измерения температуры:

Код

Код для проекта измерителя температуры на основе датчика MLX90614 прост. Во-первых, вам нужна библиотека Adafruit:

Откройте папку библиотеки и разархивируйте ее.

В функции настройки с помощью mlx.begin() вы инициализировали датчик. В функции цикла мы используем Serial Monitor (последовательный монитор). Для чтения температуры окружающей среды вы используете mls.readAmbientTempC(). Для бесконтактных измерений mlx.readObjectTempC().

Если вы хотите получать температуру в градусах Фаренгейта, просто замените «C» на «F», т.е. используем mls.readAmbientTempF() и mls.readAmbientTempF().

#include <Wire.h>
#include <Adafruit_MLX90614.h> 
mlx = Adafruit_MLX90614();

void setup() {
  Serial.begin(9600);
  mlx.begin();
}

void loop() {
  Serial.println("Temperature from MLX90614:");
  Serial.print("Ambient:      "); // Окружающая среда
  Serial.print(mlx.readAmbientTempC());
  Serial.println(" °C");
  Serial.print("Contactless: "); // Бесконтактное измерение температуры объекта
  Serial.print(mlx.readObjectTempC());
  Serial.println(" °C");
  Serial.println();
  delay(1000);
}

Таким образом мы увидим в процессе измерения следующие данные (нажмите на картинку для увеличения):

Отрицательные значения температуры - это измерения температуры мороженого. Главное, проводить измерения не слишком близко и не слишком далеко от объекта. Также проверяйте, направлен ли датчик на объект.

Ардуино+