Das GY-906-Modul besitzt den Infrarotsensor MLX90614, welcher kontaktlose Temperaturmessungen ermöglicht. Dies geschieht über eine Thermosäule, d.h. einen thermischen Infrarot (IR)-Sensor, der das thermische Energie in elektrische Energie wandelt. Eingebaut ist auch ein rauscharmer Verstärker, 17-Bit-A/D-Wandler und ein digitaler Signalprozessor, der eine hohe Genauigkeit verspricht.
Betriebsspannungsbereich: | 3,3V bis 5V |
---|---|
Max. Stromaufnahme: | 2mA |
Kommunikations-Protokoll: | I²C (feste Adresse: 0x5a ) |
Temperaturbereich der Umgebung: | -40°C bis +125°C |
Temperaturbereich von Objekten: | -70 bis +380°C |
Genauigkeit: | ±0.5°C |
Sichtfeld: | 90° |
Pin | Beschreibung | Arduino Uno |
---|---|---|
VIN | Betriebsspannung | 5V oder 3,3V |
GND | Masse/0V | GND |
SCL | "Serial clock" (I²C-Anschluss) | A5 |
SDA | "Serial data" (I²C-Anschluss) | A4 |
Für die Programmierung wurde die Library VEGA_MLX90614 verwendet, die eigentlich für VEGA-ARIES-Boards gedacht ist. Sie funktioniert aber scheinbar genauso gut für den Arduino.
#include "VEGA_MLX90614.h"
#define PIN_SCL A5
#define PIN_SDA A4
VEGA_MLX90614 mlx(PIN_SDA, PIN_SCL);
void setup()
{
Serial.begin(9600);
}
void loop ()
{
double ambientTemp = mlx.mlx90614ReadAmbientTempC();
Serial.print("Ambient: " + String(ambientTemp) + " °C - ");
double targetTemp = mlx.mlx90614ReadTargetTempC();
Serial.println("Target: " + String(targetTemp) + " °C");
delay(1000);
}
Für die Programmierung wurde die Library Adafruit_MLX90614 verwendet.
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600);
if (!mlx.begin()) {
Serial.println("Error connecting to MLX sensor.");
while (true);
};
}
void loop()
{
double ambientTemp = mlx.readAmbientTempC();
Serial.print("Ambient: " + String(ambientTemp) + " °C - ");
double targetTemp = mlx.readObjectTempC();
Serial.println("Target: " + String(targetTemp) + " °C");
delay(1000);
}
zurück