İçindekiler:

Çoklu IR Sıcaklık Sensörleri - MLX90614: 4 Adım
Çoklu IR Sıcaklık Sensörleri - MLX90614: 4 Adım

Video: Çoklu IR Sıcaklık Sensörleri - MLX90614: 4 Adım

Video: Çoklu IR Sıcaklık Sensörleri - MLX90614: 4 Adım
Video: Arduino ile Melexis MLX90614 Kızılötesi Termometre Kullanma 2024, Haziran
Anonim
Çoklu IR Sıcaklık Sensörleri - MLX90614
Çoklu IR Sıcaklık Sensörleri - MLX90614

Bu, Arduino uno ile I2C veri yolu üzerinden birden fazla MLX90614B temassız sıcaklık sensörünün nasıl kurulacağı ve okumaların Arduino IDE'nin seri monitöründe nasıl görüntüleneceği hakkında hızlı bir kılavuzdur. Önceden oluşturulmuş kartları kullanıyorum, ancak sensörü kendi başınıza satın alırsanız, I2C veriyolu için çekme dirençlerine ve Vdd ile Vss arasında bir ayırma kapasitörüne ihtiyacınız olacak.

Melexis veri sayfası formunu kontrol etmenizi şiddetle tavsiye ederim çünkü senorun tüm spesifikasyonlarının ve toleranslarının ayrıntılarına girmeyeceğim.

Gereçler

x1 Breadboard

x8 Jumper Telleri

x6 Jumper'lar

x3 MLX90614 temassız sıcaklık sensörleri

x1 Arduino UNO R3

(Kartsız MLX90614'ünüz varsa)

x2 (4.7k ohm dirençler)

x3 (.01 uf Kapasitörler)

Adım 1: Yalnızca Birini Kablolama:

Sadece Kablolama Bir
Sadece Kablolama Bir

Yukarıdaki şema, bağımsız sensör için veri sayfası önerilerine dayanmaktadır. Sensörünüz önceden oluşturulmuş karta sahipse, SLC'yi karttan Arduino'daki A5 pinine, SDA'yı A4 pinine, Vin'i 3.3V pinine ve GND'yi Arduino'daki GND terminaline bağlarsınız.

Aynı I2C veriyolunda birden fazla sensör kullanmak istiyorsak, sensörün adresini değiştirmemiz gerekecek, ancak bir seferde yalnızca birini yeniden programlayabilirsiniz

Adım 2: Adresi Değiştirme(Kodlama)

Adres Değiştirme(Kodlama)
Adres Değiştirme(Kodlama)

Neyse ki bu projedeki tüm kodlama ihtiyacımız için her adım için kütüphaneler var.

Sparkfun kütüphanesini ya Arduino IDE'de MLX90614'ü arayarak araçlar altında "Kütüphaneleri Yönet" bölümünde bulabilir veya zip dosyasında verdiğim klasörü pencerelerde "Document/Arduino/libraries" klasörüne kopyalayabilirsiniz.

Dosyanın adı "MLX90614_Set_Address.ino" veya "set_address" dosyasını IDE'deki "examples" açılır menüsünde bulabilirsiniz. Tüm bunlardan sonra, oldukça basit, varsayılan/fabrika adresi "0x5A" ve ardından "newaddress" değişkeni için, veri sayfasının sınırlamaları göz önüne alındığında istediğiniz adrese değiştirebilirsiniz ve hepsinin birbirinden farklı olduğundan emin olun.. Kodu Arduino'ya yükleyin, araçlar altındaki seri monitörü açın ve seri monitöre "e" yazın ve enter tuşuna basın, size adresin değiştiğini ve MLX90614'ün güç bağlantısını kesmenizi isteyecektir.

Adım 3: Tüm Sensörleri Kablolama:

Tüm Sensörlerin Kablolanması
Tüm Sensörlerin Kablolanması

Geçen seferkiyle aynı yöntem, eğer bağımsız bir sensöre sahipseniz yukarıdaki şemayı takip edin, eğer panolarınız varsa, onları birbirine zincirleyebilir ve sonuncusunu sanki tek bir sensörmüş gibi Arduino'ya bağlayabilirsiniz.

Adım 4: Son Kodlama:

Son Kodlama
Son Kodlama

Sensörleri gerçekten çalıştırmak için, çoklu sensörleri çalıştırmak için Adafruit kütüphanesini değiştirmek zorunda kaldım, bu yüzden kütüphaneyi sağladığım zip dosyasından manuel olarak kurmanız gerekecek, yani "Adafruit_MLX90614_Library" klasörünü aşağıda belirtildiği gibi Arduino kütüphaneleri klasörünüze taşıyın. Adım 2. Ardından, "SiMlx.ino" dosyasını açın ve adreslerin sensörlerinizi değiştirdiğiniz adreslerle eşleştiğinden emin olun, ardından bu adresleri sağladığım "mlx. AddrSet()" şablonundan ayrı ayrı ve sırayla iletin. Adruino'ya yükleyin ve yukarıda görüldüğü gibi seri monitöre yazdırın.

Ben sadece üç tane ayarladım, ancak her bir kod bloğunu kopyalayıp yapıştırarak, daha fazla adres tanımlayarak ve ortalama için sensör sayısını değiştirerek, eğer bir harekete geçirme ortalaması istiyorsanız, daha fazlasını elde edebilirsiniz.

Sensörleri birbirinden uzağa bağlamadığım sürece oldukça doğru buldum.

İyi şanlar.

Önerilen: