Indholdsfortegnelse:

Flere IR -temperatursensorer - MLX90614: 4 trin
Flere IR -temperatursensorer - MLX90614: 4 trin

Video: Flere IR -temperatursensorer - MLX90614: 4 trin

Video: Flere IR -temperatursensorer - MLX90614: 4 trin
Video: Lesson 76: Using one or more VL6180X 20cm Time-of-Flight proximity sensor with Arduino 2024, Juni
Anonim
Flere IR -temperatursensorer - MLX90614
Flere IR -temperatursensorer - MLX90614

Dette er en hurtig guide til, hvordan du opsætter flere MLX90614B kontaktsløse temperatursensorer via I2C-bussen med en Arduino uno og viser aflæsningerne på den serielle monitor af Arduino IDE. Jeg bruger de præbyggede tavler, men hvis du køber sensoren i sig selv, skal du trække modstande til I2C-bussen og en afkoblingskondensator mellem Vdd og Vss.

Jeg anbefaler stærkt at tjekke databladet formular Melexis, fordi jeg ikke vil gå ind på detaljer om alle specifikationerne og tolerancerne for senoren.

Forbrugsvarer

x1 Brødbræt

x8 Jumper Wires

x6 Jumpere

x3 MLX90614 kontaktløse temperatursensorer

x1 Arduino UNO R3

(Hvis du har MLX90614 uden tavlen)

x2 (4,7k ohm modstande)

x3 (.01 uf kondensatorer)

Trin 1: Kun ledningsføring en:

Kun ledningsføring
Kun ledningsføring

Diagrammet ovenfor er baseret på databladets anbefalinger til standalone sensor. Hvis du har sensoren med det forudbyggede kort, kører du SLC fra kortet til A5 -stiften på Arduino, SDA til A4 -stiften, Vin til 3.3V -stiften og GND til GND -terminalen på Arduino.

Vi bliver nødt til at ændre adressen på senoren, hvis vi vil bruge flere sensorer på den samme I2C -bus, men du kan kun omprogrammere en ad gangen

Trin 2: Ændring af adressen (kodning)

Ændring af adressen (kodning)
Ændring af adressen (kodning)

Heldigvis for os alle vores kodningsbehov i dette projekt er der biblioteker til hvert trin.

Du kan enten finde sparkfun -biblioteket i "Administrer biblioteker" under værktøjer ved at søge efter MLX90614 i Arduino IDE, eller du kan kopiere den mappe, jeg leverede i zip -filen til "Document/Arduino/libraries" på windows.

Filen kaldes "MLX90614_Set_Address.ino", eller du kan finde filen "set_address" under rullemenuen "eksempler" i IDE. Efter alt det er ret ligetil, er standard-/fabriksadressen "0x5A", og derefter for variablen "newaddress" kan du ændre den til den adresse, du ønsker i betragtning af databladets begrænsninger og bare sørge for, at de alle adskiller sig fra hinanden. Upload koden til Arduino, åbn den serielle skærm under værktøjer, og skriv "e" i den serielle skærm, og tryk på enter, det skal bede dig om, at adressen er ændret og afbryde MLX90614 fra strømmen.

Trin 3: Tilslut alle sensorer:

Tilslutning af alle sensorer
Tilslutning af alle sensorer

Samme metode som sidste gang, hvis du har den selvstændige sensor, følg diagrammet ovenfor, hvis du har brædderne, kan du kæde dem sammen og derefter forbinde den sidste som om det var en enkelt sensor til Arduino.

Trin 4: Den endelige kodning:

Den endelige kodning
Den endelige kodning

For faktisk at køre sensorerne var jeg nødt til at ændre biblioteket fra Adafruit for at køre flere sensorer, så du bliver nødt til at installere biblioteket manuelt fra den zip -fil, jeg har angivet, dvs. flytte mappen "Adafruit_MLX90614_Library" til din Arduino biblioteksmappe som nævnt i trin 2. Åbn derefter "SiMlx.ino" og sørg for, at adresserne matcher dem, du har ændret dine sensorer til, og send derefter disse adresser separat og sekventielt gennem den "mlx. AddrSet ()" skabelon, jeg har angivet. Upload den til Adruino, og den skal udskrives til den serielle skærm som set ovenfor.

Jeg konfigurerede kun tre, men du kan få mere ved at kopiere og indsætte hver kodeblok, definere mere adresse og ændre antallet af sensorer for gennemsnittet, hvis du vil have et aktiveret gennemsnit.

Jeg fandt, at sensorerne var ret præcise, så længe jeg ikke havde dem tilsluttet langt fra hinanden.

Held og lykke.

Anbefalede: