Arduino infračervený teploměr obsahuje měřící modul MLX90614. Tento měřící modul od firmy Melexis komunikuje po rozhraní I2C a ve skutečnosti obsahuje dva senzory teploty. První senzor měří teplotu v okolí MLX90614 a druhý měří bezdotykově teplotu předmětů, které se nacházejí před senzorem. Podle údajů výrobce dokáže první zmíněný senzor měřit teplotu v rozsahu -40 až +85 stupňů Celsia a druhý bezdotykový měří v rozsahu -70 až +380 stupňů Celsia. U obou senzorů modulu platí přesnost měření +- 0,5 stupně Celsia při měření teploty 0 až 50 stupňů Celsia a rozlišení 0,02 stupně Celsia. Pro napájení modulu MLX90614 můžeme použít napájecí napětí o velikosti 3,3 nebo 5 V a proudový odběr můžeme očekávat v řádu jednotek mA.

Arduino infračervený teploměr MLX90614

Pro úspěšné propojení modulu MLX90614 a Arduino desky je nutné zapojit 4 propojovací piny. Propojíme VIN s 3,3 nebo 5V Arduina, GND se zemí Arduina, SCL s pinem A5 a SDA s pinem A4. Datové piny SCL a SDA je nutné zapojit na I2C piny použité Arduino desky, kdy například u Arduino Uno desky jsou to zmíněné piny A4 a A5.

Schéma zapojení Arduino infračerveného teploměru MLX90614

Pro správnou funkci uvedeného ukázkového kódu je nutné stáhnout a naimportovat knihovnu MLX90614, návod jak na to je uveden zde. Ukázkový kód obsahuje na svém začátku připojení potřebných knihoven a inicializaci senzoru z připojené knihovny. V podprogramu setup jako první nastavíme komunikaci po sériové lince a následně zahájíme komunikaci s modulem MLX90614. Nekonečná smyčka loop pak obsahuje už jen vytištění teploty okolí a bezdotykově snímané teploty, které je následované pauzou po dobu jedné vteřiny.

// Infračervený teploměr MLX90614

// připojení potřebných knihoven
#include <Wire.h>
#include <Adafruit_MLX90614.h>
// inicializace teploměru MLX z knihovny
Adafruit_MLX90614 mlx = Adafruit_MLX90614();

void setup() {
  // komunikace po sériové lince rychlostí 9600 baud
  Serial.begin(9600);
  // zahájení komunikace s teploměrem MLX
  mlx.begin();  
}

void loop() {
  // výpis teploty okolí a bezdotykově snímané
  Serial.println("Vypis teplot z teplomeru MLX90614:");
  Serial.print("Okolni:      ");
  Serial.print(mlx.readAmbientTempC());
  Serial.println(" stupnu Celsia.");
  Serial.print("Bezdotykova: ");
  Serial.print(mlx.readObjectTempC());
  Serial.println(" stupnu Celsia.");
  Serial.println();
  delay(1000);
}

Po nahrání ukázkového kódu do Arduino desky s připojeným modulem MLX90614 dostaneme například tento výsledek:

Vypis teplot z teplomeru MLX90614:
Okolni:      26.19 stupnu Celsia.
Bezdotykova: 26.73 stupnu Celsia.

Vypis teplot z teplomeru MLX90614:
Okolni:      26.19 stupnu Celsia.
Bezdotykova: 32.05 stupnu Celsia.

Vypis teplot z teplomeru MLX90614:
Okolni:      26.17 stupnu Celsia.
Bezdotykova: 23.03 stupnu Celsia.

Arduino infračervený teploměr se senzorem MLX90614 je zajímavým měřícím modulem pro Arduino, který nám umožňuje měřit teplotu ve svém okolí a zároveň bezdotykově teplotu okolních předmětů. Díky těmto vlastnostem může nalézt uplatnění v projektech, kde je právě bezdotykové měření teploty požadováno. Můžeme tak například měřit na dálku teplotu zdí budov, teplotu lidské kůže nebo sledovat ve svém počítači, jaké součástky nejvíce hřejí, bez složitého připevňování běžných teplotních senzorů. Co se týká dosahu při měření teploty senzorem, tak je možné teoreticky měřit až ve vzdálenosti několika metrů, ale je důležité uvědomit si, že snímací úhel je poměrně dost široký, jak je vidět na obrázku níže. Čím dále tedy budeme od předmětu, tím větší okolí budeme snímat.

Arduino infračervený teploměr MLX90614 - měřící úhel

 

Seznam použitých komponent:

http://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html

http://dratek.cz/arduino/1159-arduino-infracerveny-teplomer-mlx90614esf-ba-1449949106.html

FB tw

Další podobné články