Mengenal Fungsi max() pada Arduino
Deskripsi Singkat
Fungsi max() adalah sebuah fungsi pada Arduino yang berfungsi untuk membandingkan dan memilih angka terbesar di antara dua angka. Fungsi max() adalah lawan dari pada fungsi min(). Fungsi max() akan selalu mengembalikan angka terbesar di antara dua angka.
Contoh:
max(10,30); // Output = 30 // max(40,30); // Output = 40 // max(10,11); // Output = 11 //
Penting: Hindari menggunakan fungsi lain di dalam fungsi max() karena dapat memberikan output yang tidak benar. Contoh hal yang harus dihindari seperti: max(a++,500);.
Sintaksis
max(x,y)
Penjelasan Sinstaksis
Fungsi max() terdiri dari 2 parameter yaitu x dan y. Berikut adalah penjelasan dari kedua parameter tersebut.
- x = angka pertama, semua jenis data diterima.
- y = angka kedua, semua jenis data diterima.
Nilai Kembalian
Nilai yang dikembalikan oleh fungsi max() adalah angka yang memiliki nilai lebih besar antara parameter x dan y.
Contoh Penggunaan Fungsi max()
Contoh yang diambil pada artikel kali ini adalah membandingkan pembacaan sensor dengan ambang batas menggunakan fungsi max(). Alat dan bahan yang dibutuhkan antara lain:
- Papan Arduino.
- Potensiometer sebagai sensor.
- Kabel jumper.
- Breadboard (opsional).
Berikut kode programnya.
const int pot = A0; const int ambangBatas = 500; void setup() { Serial.begin(9600); delay(1000); } void loop() { int value = analogRead(pot); value = max(value, ambangBatas); Serial.print("nilai terbesar adalah : "); Serial.println(value); delay(100); }
Penjelasan
Terdapat 2 kondisi, yaitu:
- x lebih besar dari pada y.
- y lebih besar dari pada x.
Nilai di Bawah Ambang Batas
Jika nilai yang lebih besar adalah ambang batas, maka nilai yang dikembalikan fungsi max() adalah nilai ambang batas itu sendiri yaitu 500, karena ambangBatas lebih besar dari value.
Nilai di Atas Ambang Batas
Jika pembacaan sensor (potensiometer) yang disimpan pada variabel value lebih besar dari pada ambang batas (500) maka nilai kembalian fungsi adalah nilai yang terdapat pada variabel value (>500), karena value lebih besar dari ambangBatas.
Gabung dalam percakapan