Arduino Map Fonksiyonu (İnterpolasyon)


  Map fonksiyonu eğer okuyanlar içerisinde mühendis arkadaşlar var ise bildiğimiz "İnterpolasyon" işlemini gerçekleştirmekte. Yani elimizde 2 değere karşılık gelen 2 farklı değer mevcut, elimizdeki 2 değer aralığında 1 değere karşılık ne geldiğini "İnterpolasyon" ile bulabilirsiniz. Tabi bu biraz karmaşık gelebilir bunu daha açık şekilde işlemler ile anlatayım;


Görseldeki bizim istediğimiz değerler olsun. 5 ve 37 elimizdeki değerler, 5 minimum - 37 maksimum değerimiz olsun. Bulara karşılık olarak da 93 ve 1023 değerleri de maksimum karşılık değerlerimiz. Yani map fonksiyonunu kullandığımızda 37 verdiğimizde 1023 değerini 5 verdiğimizde 93 değerini elde edeceğiz. Map fonksiyonu yani "İnterpolasyon" dediğimiz işlem ise elimizdeki 5 ve 37 değerleri arasında bir değerimiz olur ise bu değere karşılık hangi değer geleceğidir. Örneğin 12 değeri girdiğimizde karşılık olarak ne değeri verecektir?

   Bu işlemi öncelikle interpolasyon olarak anlatmak isterim eldeki değer yerine "12", İstenen Değer yerine ise X yazacağım ve karşılık gelen değer yani "X" i bulmaya çalışalım.


En sonda çarpılan -1 değeri işlem içerisindeki eşitlikte "-X" değeri en sona kaldığı ve bu değeri "+X" olarak bulmamızı sağlaması içindir.
Sonuç olarak; 296,4375 değerini elde edebiliriz.

Arduinoda map fonskiyonu ile kullanmak istersek;

double deger = map(eldeki_deger, 5, 37, 93, 1023);
şeklindedir. eldeki_deger diye bir değişken tanımlamamız gerekmektedir. Daha sonrasında 5 ile 37 arasına bu değeri koyarak kendi interpolasyon yapmaktadır.

Bunu servo kullanımlarında, otomatik kontrol işlemlerinde ve filtreleme işlemlerinde yoğunlukta olarak kullanabilirsiniz. Servonun dönüş açısı 0 ile 90 veya 0 ile 180 derecedir (Genellikle bunlar kullanılır. 360 olanları da mevcuttur). Potansiyometreler ile genellikle 223 ile 1023 veya 0 ile 1023 değerleri arasında veri gösterirler. Potansiyometreden gelen bu 0 ile 1023 değeri arasındaki veriyi servoda 0 ile 90 derece arasında açıya bölerek açısal servo motor kontrolü sağlayabilirsiniz.


Ziyaretçi, yorum yapılsın mı?
İsim:*
E-Mail:


[not-allow-comm]
[/not-allow-comm]

Dikkat!

Aşağıdaki bağlantıdaki makaleye göz atın.

Site Kuralları ve Engellenme Sonrası
İstatistik
File engine/modules/zpstats.php not found.
Sıkça Sorulan Sorular
Video Trafiği
Etiketlere göre ara