Map Komutu etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Map Komutu etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

21 Aralık 2016 Çarşamba

Map Komutu



Aslında biz bu komut olmadan da oran orantı kurarak aynı işlemi gerçekleştirebiliriz. Ama bu komut o kadar pratik ki insan oran orantıyla uğraşamam yazarım verileri halletsin işte diyesi geliyor. Map komutu iki farklı sınırdaki değerleri birbirine orantılandığımızı söyleyebiliriz.

Örneğin bizim elimizde 10 bitlik 0-1023 arası sınırlarda gezen bir değerimiz olsun. Bu değeri biz8 bite çevirmek istersek yani0-255 arası bir değere çevirmek istersek oran orantı kurarak bu işlemi hallederiz yada map komutuyla hallederiz. Peki map komutuyla bu işlemi nasıl yaparız.
Örnek: Analog olarak 0-1023 arası okuduğumuz değeri analog olarak 0-255 arası orantıyı koruyarak yazdırma.

Yani 2.5  V okuduğunuzda 2.5 V olarak çıkışa vereceğiz.Ama bu işlemi yaparken analogWrite ve analogRead komutlarının çalışma aralıkları aynı olmadığı için map komutu kullanarak bu aralıkları orantılayacağız.

void setup() {}

void loop()
{
  
int val = analogRead(A0);//val değişkenine A0. Pini okuyarak 0-1023 arası değeri aktarıyoruz.
  val = 
map(val, 0, 1023, 0, 255);/*val değişkenine val değişkeninden aldığımız 0-1023 arası değeri, 0-255  ile orantılayarak aktarıyoruz*/
  
analogWrite(9, val);//val değişkeninden 0-255 arasında gelen değeri 9 nolu pine veriyoruz.
}


Gördüğünüz gibi 3 satırda işlem tamam.
Devamını Oku