INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Dit is 'n vinnige gids vir die opstel van verskeie MLX90614B kontaklose temperatuursensors via die I2C-bus met 'n Arduino-uno en die aflees op die seriële monitor van Arduino IDE. Ek gebruik die voorafgeboude planke, maar as u die sensor self koop, benodig u weerstande vir die I2C-bus en 'n ontkoppelingskondensator tussen Vdd en Vss.
Ek beveel sterk aan dat u die databladvorm Melexis besoek, want ek gaan nie in op alle spesifikasies en toleransies van die senor nie.
Voorrade
x1 Broodbord
x8 Jumper Wires
x6 Springers
x3 MLX90614 kontaklose temperatuursensors
x1 Arduino UNO R3
(As u die MLX90614 sonder die bord het)
x2 (4,7k ohm weerstande)
x3 (.01 uf kondensators)
Stap 1: Slegs 'n bedrading:
Die diagram hierbo is gebaseer op die databladaanbevelings vir 'n selfstandige sensor. As u die sensor met die voorafgeboude bord het, dra u SLC van die bord na die A5 -pen op die Arduino, SDA na die A4 -pen, Vin na die 3.3V -pen en die GND na die GND -aansluiting op die Arduino.
Ons sal die adres van die senor moet verander as ons verskeie sensors op dieselfde I2C -bus wil gebruik, maar u kan slegs een op 'n slag herprogrammeer
Stap 2: Die adres verander (kodering)
Gelukkig is daar vir ons al ons koderingsbehoeftes in hierdie projek biblioteke vir elke stap.
U kan die sparkfun -biblioteek in die 'Manage Libraries' onder gereedskap vind deur na die MLX90614 in die Arduino IDE te soek, of u kan die gids wat ek in die zip -lêer verskaf het na 'Document/Arduino/libraries' in Windows kopieer.
Die lêer heet "MLX90614_Set_Address.ino", of u kan die "set_address" -lêer vind onder die "voorbeelde" -afrollys in die IDE. Na alles redelik eenvoudig, is die standaard-/fabrieksadres "0x5A", en dan vir die veranderlike "newaddress", kan u dit verander na die adres wat u verlang, gegewe die beperkings van die datablad, en net seker maak dat hulle almal van mekaar verskil. Laai die kode op na die Arduino, maak die seriële monitor oop onder gereedskap en tik "e" in die seriële monitor en druk enter, dit moet u vra dat die adres verander het en om die MLX90614 van die krag te ontkoppel.
Stap 3: Bedrading van alle sensors:
Dieselfde metode as die vorige keer, as u die selfstandige sensor het, volg die diagram hierbo, as u die borde het, kan u dit aanmekaar koppel en dan die laaste koppel asof dit 'n enkele sensor is met die Arduino.
Stap 4: Die finale kodering:
Vir die werklike werking van die sensors moes ek die biblioteek van Adafruit verander om die veelvuldige sensors uit te voer, dus moet u die biblioteek handmatig installeer vanuit die zip -lêer wat ek verskaf het, dws die gids "Adafruit_MLX90614_Library" in u gids Arduino biblioteke soos genoem stap 2. Maak dan 'SiMlx.ino' oop en maak seker dat die adresse ooreenstem met die adresse waarop u u sensors verander het, en gee die adresse afsonderlik en opeenvolgend deur die sjabloon 'mlx. AddrSet ()' wat ek verskaf het. Laai dit op na die Adruino, en dit moet afgedruk word na die seriële monitor soos hierbo gesien.
Ek het slegs drie opgestel, maar u kan meer hê deur elke kodeblok te kopieer en te plak, meer adres te definieer en die aantal sensors vir die gemiddelde te verander, as u 'n aktiewe gemiddelde wil hê.
Ek het gevind dat die sensors redelik akkuraat is, solank ek hulle nie ver van mekaar af bedraad het nie.
Sterkte.