Kontaktlose Temperaturmessung mit Arduino

Mit dem hier vorgestellte Infrarot Sensor GY-906 (MLX90614ESF-BAA) wird zeigt, wie einfach ein Temperaturmessgerät zur kontaktlosen Messung erstellt werden kann.

Der Messbereich der Umgebung ist von minus -40°C bis plus 125°C
und die des zu messenden Objektes von minus -70°C bis plus 370°C Grad Celsius möglich.

Somit kann das Steak auf dem Gasgrill, der Druckkopf eines 3D Druckers, das Gefriergut im Kühlschrank oder was auch immer zuverlässig gemessen werden.
Auch zu Corona Zeiten zur schnellen Temperaturmessung der Stirn einsetzbar.

Benötigt wird ein Microcontroller Arduino Uno, Nano oder andere kompatible Boards. Zur Darstellung der Umgebungstemperatur und des gemessenen Objektes wird eine Flüssigkristallanzeige mit zwei Zeilen und 16 Zeichen angeschlossen.
Eine 9Volt Blockbatterie versorgt die Messstation mit Strom.

Hier noch der erste Prototyp mit Fischertechnik zusammen gehalten

Verwendete Hardware:
Infrarot Sensor GY-906
Microcontroller Nano
Flüssigkristallanzeige LCD 1602
I2C Adapter LCM1602

Der Infrarot Sensor sowie die Flüssigkristallanzeige werden über den I2C – Bus angesprochen. Ein Master benötigt lediglich zwei Serielle Leitungen um mit bis zu 127 Aktoren oder Sensoren kommunizieren zu können. SDA ist Serial-Data und für die Datenübermittlung zuständig und SCL ist der Taktgeber.

Quellcode:

//Temperaturmessung mit IR
//prilchen.de
#include <Adafruit_MLX90614.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>

// I2C Bus ist bei Entwicklungsboard Arduino UNO SCL=A5 SDA=A4 

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

LiquidCrystal_I2C lcd(0x27, 16, 2);  //LCD Display  (I2C-Adresse/Zeichen pro Zeile/Anzahl Zeilen)

void setup() {
  lcd.init(); //Im Setup wird das LCD gestartet
  lcd.backlight(); //Hintergrundbeleuchtung von LCD einschalten (0 schaltet die Beleuchtung aus).
  mlx.begin();
}

void loop() {
  lcd.setCursor(0, 0); //Der folgende Text soll beim LCD beim ersten Zeichen in der ersten Zeile beginnen.
  lcd.print("Umgebung"); 
  lcd.setCursor(9, 0);//Ausgabe in der ersten Zeile beim 9ten Zeichen
  lcd.print(mlx.readAmbientTempC());
  lcd.setCursor(15, 0); //Der folgende Text soll beim LCD beim 15ten Zeichen in der ersten Zeile beginnen.
  lcd.print("C");
  lcd.setCursor(0, 1); //Der folgende Text soll beim LCD beim ersten Zeichen in der zweiten Zeile beginnen.
  lcd.print("Objekt"); 
  lcd.setCursor(9, 1);//Ausgabe in der zweiten Zeile beim 9ten Zeichen
  lcd.print(mlx.readObjectTempC());
  lcd.setCursor(15, 1); //Der folgende Text soll beim LCD beim 15ten Zeichen in der zeiten Zeile beginnen.
  lcd.print("C");
  delay(1000);
}

Hier geht es zu einem passenden Gehäuse: https://prilchen.de/kontaktlose-temperaturmessung-teil-2-erstellung-und-3d-druck-des-gehaeuses

, ,