Innehållsförteckning:

Flera IR -temperatursensorer - MLX90614: 4 steg
Flera IR -temperatursensorer - MLX90614: 4 steg

Video: Flera IR -temperatursensorer - MLX90614: 4 steg

Video: Flera IR -temperatursensorer - MLX90614: 4 steg
Video: Flera. Valgomos Puokštės ir Dovanos 2024, Juni
Anonim
Flera IR -temperatursensorer - MLX90614
Flera IR -temperatursensorer - MLX90614

Detta är en snabbguide om hur du ställer in flera MLX90614B kontaktslösa temperaturgivare via I2C-bussen med en Arduino uno och visar avläsningarna på den seriella monitorn för Arduino IDE. Jag använder de förbyggda brädorna, men om du köper sensorn i sig behöver du dra upp motstånd för I2C-bussen och en avkopplingskondensator mellan Vdd och Vss.

Jag rekommenderar starkt att kolla databladformuläret Melexis eftersom jag inte kommer att gå in på detaljer om alla specifikationer och toleranser för senorn.

Tillbehör

x1 Brödbräda

x8 Jumper Wires

x6 hoppare

x3 MLX90614 kontaktlösa temperaturgivare

x1 Arduino UNO R3

(Om du har MLX90614 utan kortet)

x2 (4,7k ohm motstånd)

x3 (.01 uf kondensatorer)

Steg 1: Endast kabelanslutning en:

Endast kabelanslutning
Endast kabelanslutning

Diagrammet ovan är baserat på databladets rekommendationer för fristående sensor. Om du har sensorn med det förbyggda kortet så kopplar du SLC från kortet till A5 -stiftet på Arduino, SDA till A4 -stiftet, Vin till 3.3V -stiftet och GND till GND -terminalen på Arduino.

Vi kommer att behöva ändra adressen till senorn om vi vill använda flera sensorer på samma I2C -buss, men du kan bara programmera om en i taget

Steg 2: Ändra adress (kodning)

Ändra adress (kodning)
Ändra adress (kodning)

Lyckligtvis för oss alla våra kodningsbehov i det här projektet finns det bibliotek för varje steg.

Du kan antingen hitta sparkfun -biblioteket i "Hantera bibliotek" under verktyg genom att söka efter MLX90614 i Arduino IDE eller så kan du kopiera mappen som jag gav i zip -filen till "Document/Arduino/libraries" på windows.

Filen kallas "MLX90614_Set_Address.ino" eller så hittar du filen "set_address" under rullgardinsmenyn "exempel" i IDE. När allt är ganska rakt fram är standard-/fabriksadressen "0x5A" och sedan för variabeln "newaddress" kan du ändra den till vilken adress du vill med tanke på databladets begränsningar och bara se till att alla skiljer sig från varandra. Ladda upp koden till Arduino, öppna den seriella bildskärmen under verktyg och skriv "e" i den seriella bildskärmen och tryck på enter, det bör uppmana dig att adressen har ändrats och koppla bort MLX90614 från strömmen.

Steg 3: Anslut alla sensorer:

Anslut alla sensorer
Anslut alla sensorer

Samma metod som förra gången om du har den fristående sensorn, följ diagrammet ovan, om du har brädorna kan du kedja ihop dem och sedan ansluta den sista som om det var en enda sensor till Arduino.

Steg 4: Den slutliga kodningen:

Den sista kodningen
Den sista kodningen

För att faktiskt köra sensorerna var jag tvungen att ändra biblioteket från Adafruit för att köra flera sensorer, så du måste installera biblioteket manuellt från zip -filen som jag gav, dvs flytta mappen "Adafruit_MLX90614_Library" till din Arduino bibliotek -mapp som nämns i steg 2. Öppna sedan "SiMlx.ino" och se till att adresserna matchar de som du har ändrat dina sensorer till och skicka sedan dessa adresser separat och sekventiellt genom mallen "mlx. AddrSet ()" som jag har angett. Ladda upp den till Adruino så ska den skriva ut till den seriella bildskärmen enligt ovan.

Jag ställde in bara tre, men du kan få mer genom att kopiera och klistra in varje kodblock, definiera mer adress och ändra antalet sensorer för genomsnittet, om du vill ha ett aktiverat medelvärde.

Jag fann att sensorerna var ganska exakta så länge jag inte hade dem anslutna till långt ifrån varandra.

Lycka till.

Rekommenderad: