Arduino ile Matlab kullanarak sıcaklık ölçümü
Sıcaklık sensöründen alınan değerler ile matlab yardımıyla bu değerleri okunup grafik haline getirilecek. Girdi değerlerine dayanan grafikleri çizmek için birçok yazılım mevcut, bu yazımızda LM35 sensöründen gelen sıcaklık verilerine dayanan grafiği grafiklemek için MATLAB kullanacağız. Bu eğitim size MATLAB kullanarak gerçek zamanlı grafiğin nasıl çizileceği hakkında temel bir fikir verecektir. Arduino Uno, LM35 sıcaklık sensöründen sıcaklık verilerini almak için burada kullanıldı.
Grafik çizme için MATLAB Grafik Kullanıcı Arayüzü Oluşturma
Öncelikle sıcaklık grafiği ile Grafik Çizimi için GUI (Grafik Kullanıcı Arayüzü) oluşturmamız gerekiyor. GUI’yi başlatmak için komut penceresinde aşağıdaki komutu yazın.
guide
Bir açılır pencere açılır, ardından aşağıdaki resimde gösterildiği gibi yeni boş GUI’yi seçin.
Şimdi MATLAB grafik arayüzü için bir düğme, iki eksen ve bir metin kutusu seçmeliyiz. Sıcaklık algılamayı başlatmak için başlat düğmesi, grafiğin çizilmesi için iki eksen ve mevcut sıcaklığın mevcut değerini göstermek için Metin kutusu kullanılabilir.
Düğmenin şeklini veya rengini değiştirebilirsiniz. Üzerine tıklayarak düzenleme işlemlerinizi tamamlayıp kod satırına geçebiliriz.
Düğmeleri seçiminize göre özelleştirebilirsiniz. Şimdi bunu kaydettiğinizde, MATLAB’un Editör penceresinde bir kod oluşturulur. Arduino’nuzun projenizle ilgili belirli bir görevi yerine getirmesini sağlamak için, bu oluşturulan kodu düzenlemelisiniz.
Aşağıdaki kodu kopyalayıp 74. satırdaki yer ile değiştiriniz .
clear all; global a; a = arduino();
Aşağı kaydırdığınızda, GUI’de Düğme ve Düzenleme Metni için iki işlev oluşturulduğunu göreceksiniz, Eksenler için hiçbir işlev oluşturulmaz. Şimdi, gerçekleştirmek istediğimiz fonksiyona göre Düğme (başlat butonu) için fonksiyonu yazalım.
Başlat düğmesinin işlevi, sıcaklık algılamayı başlatmak içindir, başlat butonunun fonksiyonu içerisine aşağıdaki kodu kopyalayıp yapıştırın. Sıcaklığın sürekli olarak algılanması, gösterilmesi ve grafik olarak çizilmesi için while döngüsünü kullanıyoruz. Her iterasyondan 1 saniye sonra duraklama sağladık, böylece her saniye sıcaklık değeri güncellenecektir.
Şimdi, kodun nasıl çalıştığını görelim. Üç satırlık satırın altında, başlangıç değerinin ‘x’ değerini sıfır olarak belirledik, while döngüsünü başlatmak için ‘go’yu tanımlamak ve Arduino’yu çağırmak için‘ global a ’olarak nitelendirdik.
LM35 Sıcaklık Sensörünün ‘A1’ pinine bağlı Arduino’nun analog pininden “A1” gelen voltaj değerini algılamak için kullanılır. Çıkış, analog değer değil voltaj değeri olacaktır.
Burada 10 ile çarparak voltaj değerini doğrudan sıcaklık değerine (derece Celsius) dönüştürebiliriz.
Devre Şeması :