İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
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:
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)
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:
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:
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.