Function map() pada Arduino Programming Language

Function map() pada Arduino Programming Language

Deskripsi

Merupakan fungsi re map suatu nilai dari range tertentu ke range yang lain. Nilai dari fromLow akan dimap ke toLow dan nilai dari fromHigh akan dimap ke toHigh.

Di sini nilai yang dihasil tidak akan dibatasi hanya dalam range tertentu karena bisa jadi akan berada di luar itu. Fungsi constrain() dapat dilakukan setelah fungsi ini apabila memang dibutuhkan pembatasan range.

Batas bawah bisa jadi akan berada di atas batas atas sehingga fungsi map() akan membalik range dari suatu nilai.

Contoh:

y=map(x,1,50,50,1);

Fungsi ini  juga dapat menangani nilai negatif sebagai berikut: y = map(x,1,50,50, -100);

Fungsi ini hanya menggunakan nilai integer sehingga apabila terdapat pecahan maka akan diperoleh hasil yang

dibulatkan. Contohnya 3.5 akan dibulatkan menjadi 4

Syntax

map (value, fromLow,  fromHigh, toLow, toHigh);

Parameters

value: nilai yang di map

fromLow: batas bawah dari rentang sumber

fromHigh: batas atas dari rentang sumber

toLow: batas bawah dari rentang target

toHigh: batas atas dari rentang target

Returns

Nilai yang dimap

Contoh Program

void setup() {}

void loop() {
  int val = analogRead(0);
  val = map(val, 0, 1023, 0, 255);
  analogWrite(9, val); // hasil map dikirim sebagai PWM ke digital 9
}

Appendix

Berikut adalah model matematikanya

long map(long x, long in_min, long in_max, long out_min, long out_max) {
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}

Catatan dan Peringatan
Fungsi ini hanya berlaku pada tipe int sehingga nilai pecahan akan 
dibulatkan. Apabila diinginkan proses yang membutuhkan presisi
tinggi maka sebaiknya hindari fungsi map() dan buatlah code sendiri
secara manual

Terjemahan dan edit dari
https://www.arduino.cc/reference/en/language/functions/math/map/


DELTA ELECTRONIC

Paulus Andi Nalwan, ST
Translate »