Kazalo:

Več IR temperaturnih senzorjev - MLX90614: 4 koraki
Več IR temperaturnih senzorjev - MLX90614: 4 koraki

Video: Več IR temperaturnih senzorjev - MLX90614: 4 koraki

Video: Več IR temperaturnih senzorjev - MLX90614: 4 koraki
Video: Как использовать датчик переменного/постоянного тока Allegro ACS712 с Arduino 2024, November
Anonim
Več IR temperaturnih senzorjev - MLX90614
Več IR temperaturnih senzorjev - MLX90614

To je kratek vodnik o tem, kako nastaviti več brezkontaktnih temperaturnih senzorjev MLX90614B prek vodila I2C z Arduino uno in prikazati odčitke na serijskem monitorju Arduino IDE. Uporabljam vnaprej izdelane plošče, če pa kupite senzor sam, boste potrebovali izvlečne upore za vodilo I2C in ločilni kondenzator med Vdd in Vss.

Toplo priporočam, da preverite obrazec podatkovnega lista Melexis, ker se ne bom spuščal v podrobnosti vseh specifikacij in toleranc senzorja.

Zaloge

x1 Ogledna plošča

x8 Mostične žice

x6 Skakalci

x3 brezkontaktni temperaturni senzorji MLX90614

x1 Arduino UNO R3

(Če imate MLX90614 brez plošče)

x2 (4,7 k ohmski upori)

x3 (0,01 uf kondenzatorji)

Korak: Samo eno ožičenje:

Samo ožičenje
Samo ožičenje

Zgornji diagram temelji na priporočilih za podatkovne liste za samostojno tipalo. Če imate senzor z vnaprej vgrajeno ploščo, priključite SLC s plošče na pin A5 na Arduinu, SDA na pin A4, Vin na pin 3.3V in GND na terminal GND na Arduinu.

Naslov senzorja bomo morali spremeniti, če želimo uporabiti več senzorjev na istem vodilu I2C, vendar lahko znova programirate samo enega naenkrat

2. korak: Spreminjanje naslova (kodiranje)

Spreminjanje naslova (kodiranje)
Spreminjanje naslova (kodiranje)

Na srečo za vse naše potrebe po kodiranju v tem projektu obstajajo knjižnice za vsak korak.

Knjižnico sparkfun lahko poiščete v razdelku »Upravljanje knjižnic« pod orodji tako, da poiščete MLX90614 v Arduino IDE ali pa kopirate mapo, ki sem jo zagotovil v datoteki zip, v »Dokument/Arduino/knjižnice« v oknih.

Datoteka se imenuje "MLX90614_Set_Address.ino" ali pa datoteko "set_address" najdete v spustnem meniju "examples" v IDE. Navsezadnje je privzeti/tovarniški naslov "0x5A", nato pa ga za spremenljivko "newaddress" lahko spremenite na poljuben naslov glede na omejitve podatkovnega lista in se prepričajte, da se vsi med seboj razlikujejo.. Naložite kodo v Arduino, odprite serijski monitor pod orodji in vnesite "e" v serijski monitor in pritisnite enter, naj vas pozove, da se je naslov spremenil, in izključite MLX90614 iz napajanja.

3. korak: Ožičenje vseh senzorjev:

Ožičenje vseh senzorjev
Ožičenje vseh senzorjev

Ista metoda kot zadnjič, če imate samostojni senzor, sledite zgornjemu diagramu, če imate plošče, jih lahko povežete skupaj in nato povežete zadnjega, kot da je en sam senzor z Arduinom.

4. korak: Končno kodiranje:

Končno kodiranje
Končno kodiranje

Za dejansko izvajanje senzorjev sem moral spremeniti knjižnico iz Adafruit za zagon več senzorjev, zato boste morali knjižnico ročno namestiti iz zip datoteke, ki sem jo dal, tj. Premakniti mapo "Adafruit_MLX90614_Library" v mapo knjižnic Arduino, kot je omenjeno v korak 2. Nato odprite "SiMlx.ino" in se prepričajte, da se naslovi ujemajo z naslovi, na katere ste spremenili senzorje, nato pa te naslove ločeno in zaporedno posredujte skozi predlogo "mlx. AddrSet ()", ki sem jo posredoval. Naložite ga v Adruino in natisnil ga bo na serijski monitor, kot je prikazano zgoraj.

Nastavil sem le tri, vendar lahko imate več, tako da kopirate in prilepite vsak kodni blok, določite več naslovov in spremenite število senzorjev za povprečje, če želite aktivirati povprečje.

Ugotovil sem, da so senzorji dokaj natančni, dokler jih nimam ožičenih tako daleč drug od drugega.

Vso srečo.

Priporočena: