Innholdsfortegnelse:

Flere IR -temperatursensorer - MLX90614: 4 trinn
Flere IR -temperatursensorer - MLX90614: 4 trinn

Video: Flere IR -temperatursensorer - MLX90614: 4 trinn

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

Dette er en rask guide til hvordan du konfigurerer flere MLX90614B kontaktsløse temperatursensorer via I2C-bussen med en Arduino uno og viser avlesningene på den serielle skjermen til Arduino IDE. Jeg bruker de forhåndsbygde brettene, men hvis du kjøper sensoren i seg selv, trenger du trekkmotstander for I2C-bussen og en avkoblingskondensator mellom Vdd og Vss.

Jeg anbefaler på det sterkeste å sjekke databladet Melexis fordi jeg ikke vil gå inn på detaljer om alle spesifikasjonene og toleransene til senoren.

Rekvisita

x1 Brødbrett

x8 Jumper Wires

x6 Gensere

x3 MLX90614 kontaktløse temperatursensorer

x1 Arduino UNO R3

(Hvis du har MLX90614 uten brettet)

x2 (4,7k ohm motstander)

x3 (.01 uf kondensatorer)

Trinn 1: Bare kabling en:

Bare ledning én
Bare ledning én

Diagrammet ovenfor er basert på databladets anbefalinger for frittstående sensor. Hvis du har sensoren med det forhåndsbygde kortet, kobler du SLC fra kortet til A5 -pinnen på Arduino, SDA til A4 -pinnen, Vin til 3.3V -pinnen og GND til GND -terminalen på Arduino.

Vi må endre adressen til senoren hvis vi vil bruke flere sensorer på den samme I2C -bussen, men du kan bare omprogrammere en om gangen

Trinn 2: Endre adressen (koding)

Endre adressen (koding)
Endre adressen (koding)

Heldigvis for oss alle våre kodingsbehov i dette prosjektet er det biblioteker for hvert trinn.

Du kan enten finne sparkfun -biblioteket i "Administrer biblioteker" under verktøy ved å søke etter MLX90614 i Arduino IDE eller du kan kopiere mappen jeg ga i zip -filen til "Document/Arduino/libraries" på Windows.

Filen heter "MLX90614_Set_Address.ino" eller du kan finne "set_address" -filen under "eksempler" -rullegardinmenyen i IDE. Etter alt det er ganske rett frem, er standard-/fabrikkadressen "0x5A", og deretter for "newaddress" -variabelen kan du endre den til hvilken adresse du ønsker gitt begrensningene i databladet og bare sørge for at de alle skiller seg fra hverandre. Last opp koden til Arduino, åpne den serielle skjermen under verktøy og skriv "e" inn i den serielle skjermen og trykk enter, den skal be deg om at adressen har endret seg og for å koble MLX90614 fra strømmen.

Trinn 3: Koble til alle sensorene:

Tilkopling av alle sensorene
Tilkopling av alle sensorene

Samme metode som forrige gang hvis du har den frittstående sensoren, følg diagrammet ovenfor, hvis du har brettene, kan du lenke dem sammen og deretter koble den siste som om den var en enkelt sensor til Arduino.

Trinn 4: Den endelige kodingen:

Den siste kodingen
Den siste kodingen

For å faktisk kjøre sensorene måtte jeg endre biblioteket fra Adafruit for å kjøre flere sensorer, og derfor må du installere biblioteket manuelt fra zip -filen jeg ga, dvs. flytte mappen "Adafruit_MLX90614_Library" til mappen Arduino biblioteker som nevnt i trinn 2. Deretter åpner du "SiMlx.ino" og kontrollerer at adressene samsvarer med adressene du har endret sensorene til, og deretter sender du disse adressene separat og sekvensielt gjennom malen "mlx. AddrSet ()" jeg har oppgitt. Last den opp til Adruino, så skal den skrives ut til den serielle skjermen som vist ovenfor.

Jeg konfigurerte bare tre, men du kan ha mer ved å kopiere og lime inn hver kodeblokk, definere mer adresse og endre antall sensorer for gjennomsnittet, hvis du vil ha et aktivert gjennomsnitt.

Jeg syntes sensorene var ganske nøyaktige så lenge jeg ikke hadde dem tilkoblet langt fra hverandre.

Lykke til.

Anbefalt: