Inhaltsverzeichnis:

Mehrere IR-Temperatursensoren - MLX90614 - Gunook
Mehrere IR-Temperatursensoren - MLX90614 - Gunook

Video: Mehrere IR-Temperatursensoren - MLX90614 - Gunook

Video: Mehrere IR-Temperatursensoren - MLX90614 - Gunook
Video: Multiple IR temp sensors mlx90614 dspic30f I2c lcd display. embedded thermoscanner 2024, November
Anonim
Mehrere IR-Temperatursensoren - MLX90614
Mehrere IR-Temperatursensoren - MLX90614

Dies ist eine Kurzanleitung, wie Sie mehrere kontaktlose Temperatursensoren MLX90614B über den I2C-Bus mit einem Arduino uno einrichten und die Messwerte auf dem seriellen Monitor der Arduino IDE anzeigen. Ich verwende die vorgefertigten Platinen, aber wenn Sie den Sensor selbst kaufen, benötigen Sie Pull-Up-Widerstände für den I2C-Bus und einen Entkopplungskondensator zwischen Vdd und Vss.

Ich empfehle dringend, das Datenblatt von Melexis zu lesen, da ich nicht auf alle Spezifikationen und Toleranzen des Sensors eingehen werde.

Lieferungen

x1 Steckbrett

x8 Überbrückungsdrähte

x6 Jumper

x3 MLX90614 kontaktlose Temperatursensoren

x1 Arduino UNO R3

(Wenn Sie das MLX90614 ohne die Platine haben)

x2 (4,7k Ohm Widerstände)

x3 (.01 uf Kondensatoren)

Schritt 1: Nur Verdrahtung:

Nur Verdrahtung
Nur Verdrahtung

Das obige Diagramm basiert auf den Datenblattempfehlungen für eigenständige Sensoren. Wenn Sie den Sensor mit der vorgefertigten Platine haben, verdrahten Sie SLC von der Platine mit dem A5-Pin des Arduino, SDA mit dem A4-Pin, Vin mit dem 3,3-V-Pin und den GND mit dem GND-Anschluss des Arduino.

Wir müssen die Adresse des Sensors ändern, wenn wir mehrere Sensoren auf demselben I2C-Bus verwenden möchten, aber Sie können jeweils nur einen neu programmieren

Schritt 2: Ändern der Adresse (Codierung)

Ändern der Adresse (Codierung)
Ändern der Adresse (Codierung)

Zum Glück für uns alle unsere Codierungsbedürfnisse in diesem Projekt gibt es Bibliotheken für jeden Schritt.

Sie finden die Sparkfun-Bibliothek entweder in den "Manage Libraries" unter Tools, indem Sie in der Arduino IDE nach dem MLX90614 suchen, oder Sie können den Ordner, den ich in der Zip-Datei bereitgestellt habe, unter Windows nach "Document/Arduino/libraries" kopieren.

Die Datei heißt "MLX90614_Set_Address.ino" oder Sie finden die Datei "set_address" im Dropdown-Menü "Beispiele" in der IDE. Nach all dem ist es ziemlich einfach, die Standard- / Werksadresse ist "0x5A" und dann können Sie die Variable "newaddress" aufgrund der Einschränkungen des Datenblatts in eine beliebige Adresse ändern und sicherstellen, dass sie sich alle voneinander unterscheiden. Laden Sie den Code auf den Arduino hoch, öffnen Sie den seriellen Monitor unter Tools und geben Sie "e" in den seriellen Monitor ein und drücken Sie die Eingabetaste.

Schritt 3: Verkabelung aller Sensoren:

Verkabelung aller Sensoren
Verkabelung aller Sensoren

Die gleiche Methode wie beim letzten Mal, wenn Sie den Standalone-Sensor haben, folgen Sie dem obigen Diagramm. Wenn Sie die Boards haben, können Sie sie miteinander verketten und dann den letzten so verbinden, als wäre es ein einzelner Sensor mit dem Arduino.

Schritt 4: Die endgültige Codierung:

Die endgültige Codierung
Die endgültige Codierung

Um die Sensoren tatsächlich auszuführen, musste ich die Bibliothek von Adafruit ändern, um die mehreren Sensoren auszuführen Schritt 2. Öffnen Sie als nächstes "SiMlx.ino" und stellen Sie sicher, dass die Adressen mit denen übereinstimmen, auf die Sie Ihre Sensoren geändert haben, und übergeben Sie diese Adressen dann separat und nacheinander durch die von mir bereitgestellte Vorlage "mlx. AddrSet()". Laden Sie es auf den Adruino hoch und es sollte wie oben gezeigt auf dem seriellen Monitor ausgedruckt werden.

Ich habe nur drei eingerichtet, aber Sie können mehr haben, indem Sie jeden Codeblock kopieren und einfügen, mehr Adressen definieren und die Anzahl der Sensoren für den Durchschnitt ändern, wenn Sie einen auslösenden Durchschnitt wünschen.

Ich fand die Sensoren ziemlich genau, solange ich sie nicht zu weit voneinander entfernt hatte.

Viel Glück.

Empfohlen: