Inhoudsopgave:

Meerdere IR-temperatuursensoren - MLX90614: 4 stappen
Meerdere IR-temperatuursensoren - MLX90614: 4 stappen

Video: Meerdere IR-temperatuursensoren - MLX90614: 4 stappen

Video: Meerdere IR-temperatuursensoren - MLX90614: 4 stappen
Video: EP4: MLX90614 infrared temperature sensor DS1302, LCD, Arduino UNO, breadboard #arduino 2024, November
Anonim
Meerdere IR-temperatuursensoren - MLX90614
Meerdere IR-temperatuursensoren - MLX90614

Dit is een korte handleiding over het instellen van meerdere MLX90614B contactloze temperatuursensoren via de I2C-bus met een Arduino uno en het weergeven van de uitlezingen op de seriële monitor van Arduino IDE. Ik gebruik de vooraf gebouwde kaarten, maar als je de sensor alleen koopt, heb je weerstanden nodig voor de I2C-bus en een ontkoppelingscondensator tussen Vdd en Vss.

Ik raad ten zeerste aan om de datasheet van Melexis te bekijken, omdat ik niet in details zal treden over alle specificaties en toleranties van de senor.

Benodigdheden

x1 Breadboard

x8 jumperdraden

x6 Truien

x3 MLX90614 contactloze temperatuursensoren

x1 Arduino UNO R3

(Als je de MLX90614 hebt zonder het bord)

x2 (4,7 k ohm weerstanden)

x3 (.01 uf condensatoren)

Stap 1: Slechts één bedrading:

Alleen bedrading
Alleen bedrading

Het bovenstaande diagram is gebaseerd op de aanbevelingen in de datasheets voor een op zichzelf staande sensor. Als je de sensor met het voorgebouwde bord hebt, bedraad je SLC van het bord naar de A5-pin op de Arduino, SDA naar de A4-pin, Vin naar de 3,3V-pin en de GND naar de GND-terminal op de Arduino.

We zullen het adres van de sensor moeten wijzigen als we meerdere sensoren op dezelfde I2C-bus willen gebruiken, maar je kunt er maar één tegelijk herprogrammeren

Stap 2: Het adres wijzigen (codering)

Het adres wijzigen (codering)
Het adres wijzigen (codering)

Gelukkig voor al onze codeerbehoeften in dit project zijn er bibliotheken voor elke stap.

Je kunt de sparkfun-bibliotheek vinden in de "Bibliotheken beheren" onder tools door te zoeken naar de MLX90614 in de Arduino IDE of je kunt de map die ik in het zipbestand heb opgegeven naar "Document/Arduino/bibliotheken" op Windows kopiëren.

Het bestand heet "MLX90614_Set_Address.ino" of u kunt het bestand "set_address" vinden onder de vervolgkeuzelijst "examples" in de IDE. Het is tenslotte vrij eenvoudig, het standaard- / fabrieksadres is "0x5A" en voor de "newaddress" -variabele kun je het wijzigen in elk gewenst adres, gezien de beperkingen van de datasheet en zorg ervoor dat ze allemaal van elkaar verschillen. Upload de code naar de Arduino, open de seriële monitor onder tools en typ "e" in de seriële monitor en druk op enter, het zou u moeten vragen dat het adres is gewijzigd en om de MLX90614 los te koppelen van de stroom.

Stap 3: Bedrading van alle sensoren:

Bedrading van alle sensoren
Bedrading van alle sensoren

Dezelfde methode als de vorige keer als je de zelfstandige sensor hebt, volg dan het bovenstaande diagram, als je de borden hebt, kun je ze aan elkaar koppelen en vervolgens de laatste aansluiten alsof het een enkele sensor op de Arduino is.

Stap 4: De definitieve codering:

De definitieve codering
De definitieve codering

Om de sensoren daadwerkelijk uit te voeren, moest ik de bibliotheek van Adafruit aanpassen om de meerdere sensoren uit te voeren, dus u moet de bibliotheek handmatig installeren vanuit het zipbestand dat ik heb verstrekt, dwz de map "Adafruit_MLX90614_Library" verplaatsen naar uw Arduino-bibliothekenmap zoals vermeld in stap 2. Open vervolgens "SiMlx.ino" en zorg ervoor dat de adressen overeenkomen met de adressen waarnaar u uw sensoren hebt gewijzigd, en geef die adressen vervolgens afzonderlijk en opeenvolgend door via de sjabloon "mlx. AddrSet()" die ik heb verstrekt. Upload het naar de Adruino en het zou moeten worden afgedrukt op de seriële monitor zoals hierboven te zien is.

Ik heb er slechts drie ingesteld, maar je kunt er meer hebben door elk codeblok te kopiëren en te plakken, meer adressen te definiëren en het aantal sensoren voor het gemiddelde te wijzigen, als je een actief gemiddelde wilt.

Ik vond de sensoren redelijk nauwkeurig zolang ik ze niet te ver van elkaar had aangesloten.

Veel geluk.

Aanbevolen: