Cara Pakai Map Arduino Untuk Int dan Float

Posted on

map() Arduino untuk INT dan FLOAT

A. Fungsi map() Arduino

Arduino Map Cara Pemetaan Range Nilai INT dan FLOATMap seperti katanya adalah pemetaan. Istilah mapping digunakan untuk mendapatkan sebuah nilai dari dua rentang nilai.

Map Int Memetakan Bilangan Bulat, Map Float Memetakan Bilangan Berkoma, Fungsi Map Arduino Untuk Pemetaan Data INT dan FLOAT , ARDUINO MAP TUTORIAL, arduino map float tutorial, how to map float arduino, cara pemetaan nilai float int, cara menggunakan map arduino
 Ilustrasi Arduino Map

Secara default, fungsi map digunakan untuk bilangan bulat, baik positif atau negatif. Penulisan dasar fungsi Map adalah:

data = map(val, fromLow, fromHigh, toLow, toHigh)

Untuk dapat memahami cara kerjanya, sekarang kita buat sebuah projek kecil dimana kita akan membuat Voltmeter sederhana menggunakan Arduino.

Bagaimana caranya?

B. Arduino Map Int Memetakan Bilangan Bulat

Arduino memiliki 6 pin ADC. Kita ambil pin ADC0 saja. Nanti pin ADC kita hubungkan ke sumber catu daya.

Arduino memiliki fitur ADC dengan resolusi 10-bit. Artinya data yang masuk akan di pecah/sample menjadi 1024 kali. Namun dalam penulisan program, 1024 dimulai dari 0. Jadi diprogram kita gunakan nilai 0-1023.

1 kali sample akan membaca tegangan 0,004Volt. Begitu seterusnya.

Jika tegangan berubah, tentu nilai pembacaan ADC juga berubah. Untuk melakukan perubahan konversi dengan cepat maka gunakanlah fungsi map.

Sekarang, kita akan menggunakan program dasar map arduino. Karena secara default map digunakan untuk bilangan bulat, maka tegangan yang akan tampil hanya bilangan bulat saja. 

Perhatikan pada baris data = map(val, 0, 1023, 0, 5);

  • val adalah nilai yang terbaca dari ADC.
  • 0 dan 1023 adalah batasan nilai val.
  • 0 dan 5 adalah batasan nilai 0V hingga 5V.

Untuk programnya adalah sebagai berikut:

void setup() {
Serial.begin(9600);
}

void loop() {
int val = analogRead(A0);
int data = map(val, 0, 1023, 0, 5);

Serial.print(data);
Serial.println(" V");
delay(100);
}

Pada program diatas, coba anda hubungkan pin ADC0 ke sumber tegangan 3.3V, kemudian bukia serial monitor. Maka yang terbaca hanya 3V.

Sekarang bagaimana jika kita ingin mengukur tegangan yang lebih presisi? Tentu kita membutuhkan sebuah nilai berkoma.

C. Arduino Map Float Memetakan Bilangan Berkoma

Karena kita mengukur nilai 3.3V pada arduino dan kita ingin tampil juga 3.3V saat pengukuran, dari itu kita harus memetakan nilai ADC menjadi nilai berkoma atau float.

Berikut saya sudah sertakan program dasarnya. Sedikit ada modifikasi pada program map. Silahkan upload program berikut:

void setup() {
Serial.begin(9600);
}

void loop() {
int val = analogRead(A0);
float data = mapf(val, 0, 1023, 0, 5);

Serial.print(data);
Serial.println(" V");
delay(100);
}

float mapf(float value, float fromLow, float fromHigh, float toLow, float toHigh) {
float result;
result = (value - fromLow) * (toHigh - toLow) / (fromHigh - fromLow) + toLow;
return result;
}

Maka anda akan melihat pada serial monitor, tegangan yang terukur adalah 3.3V, atau lebih besar sedikit atau lebih kurang sedikit.

Terima kasih telah mengunjungi website K Saya Ngerti. Semoga bermanfaat.