Bagaimana Cara Melakukan Operasi Matematika Di Program Arduino
Pada artikel ini, kita akan belajar bagaimana melakukan perhitungan matematika dalam program Arduino. Kami akan melihat operator matematika dasar terlebih dahulu, diikuti dengan tinjauan urutan operasi. Kemudian kita akan melihat bagaimana melakukan operasi matematika yang lebih maju seperti trigonometri, kuadrat, akar kuadrat, pangkat, dan min/maks.
Operator Matematika Dasar
Operator matematika dasar adalah tanda tambah (+) untuk penjumlahan, tanda minus (-) untuk pengurangan, tanda bintang (*) untuk perkalian, dan garis miring (/) untuk pembagian.
Saat kita menulis ekspresi matematika atau mendeklarasikan variabel, kita menggunakan apa yang disebut operator penugasan. Operator penugasan adalah tanda sama dengan (=). Operator penugasan digunakan untuk memberikan nilai ke variabel. Misalnya, ketika kita mendeklarasikan variabel integer yang dipanggil x dan mengaturnya sama dengan satu, seperti ini:
int x = 1;
Ini memberitahu program untuk menyimpan integer 1dalam variabel x.
Untuk melakukan penjumlahan, kita menggunakan operator penjumlahan (+):
int x = 2 + 1;
Ini akan menyimpan hasil 2 + 1 (tiga), dalam variabel x.
Pengurangan dilakukan dengan operator pengurangan (-):
int x = 2 - 1;
Ini akan menyimpan hasil 2 - 1 (satu) dalam variabel x.
Perkalian dilakukan dengan operator perkalian (*):
int x = 2 * 4;
Ini akan menyimpan hasil 2 * 4 (delapan) dalam variabel x.
Pembagian dilakukan dengan operator pembagian (/):
int x = 4 / 2;
Ini akan menyimpan hasil 4 / 2 (dua) dalam variabel x.
Kita juga bisa mengerjakan matematika dengan variabel. Misalnya, daripada menggunakan bilangan bulat pada contoh di atas, kita dapat menggunakan variabel a dan b:
int x = a / b;
Sekarang kita berbicara tentang pembagian, ada kekhasan penting yang harus diperhatikan saat membagi angka. Lihatlah kode di bawah ini, di mana kita membagi lima dengan dua:
Jawabannya harus 2.5, tetapi jika Anda menjalankan kode nomor dua akan dicetak ke monitor serial. Hal ini terjadi karena x dideklarasikan dengan tipe data integer. Int hanya berfungsi dengan bilangan bulat jadi 2,5 dibulatkan ke bawah menjadi 2,0.
Jika kita mendeklarasikan x sebagai float dan menambahkan desimal ke bilangan bulat seperti ini:
float x = 5.0 / 2.0;
Jawaban benar yang harus harus dicetak ke monitor serial adalah (2.5).
Urutan Operasi
Saat Anda menggunakan ekspresi dengan lebih dari satu operator seperti ini:
int x = 5 + 6 * 2 - 1 / 3;
Urutan operasi menjadi penting karena hasilnya akan berbeda tergantung pada operasi mana yang dilakukan terlebih dahulu. Misalnya, jika Anda menambahkan 5 dan 6 terlebih dahulu, hasilnya adalah 21.7. Tetapi jika Anda mengalikan 6 dan 2 terlebih dahulu, hasilnya menjadi 16,7.
Lalu bagaimana urutan yang benar? Berikut contohnya:
- Tanda kurung
- Eksponen
- Perkalian
- Divisi
- Tambahan
- Pengurangan
Operasi di dalam tanda kurung dieksekusi terlebih dahulu. Kemudian eksponen. Kemudian perkalian dan pembagian. Kemudian penjumlahan dan pengurangan.
Karena matematika di dalam tanda kurung dilakukan terlebih dahulu, mereka dapat digunakan untuk mengontrol urutan operasi.
Fungsi Trigonometri
Arduino juga dapat melakukan matematika yang lebih maju seperti trigonometri. Arduino memiliki fungsi bawaan untuk menghitung kosinus, sinus, dan tangen suatu sudut. Sintaks untuk setiap fungsi terlihat seperti ini:
Fungsi trigonometri mengambil nilai float dalam radian dan mengembalikan nilai float dalam radian.
Fungsi Kuadrat
Arduino juga memiliki fungsi untuk menghitung kuadrat dari suatu bilangan. Ini menghitung y kuadrat (y2):
float x = sq(y);
Fungsi Akar Kuadrat
Untuk menghitung akar kuadrat dari suatu bilangan, gunakan fungsi akar kuadrat. Ini menghitung akar kuadrat dari y (√y):
float x = sqrt(y);
Fungsi Daya
Fungsi daya menghitung nilai basis yang dipangkatkan dengan pangkat eksponen (yx). Sintaksnya terlihat seperti ini:
int x = pow(base, exponent);
Misalnya, untuk mencari hasil dari 108, masukkan 10 sebagai argumen pertama dan 8 sebagai argumen kedua:
int x = pow(10, 8);
Fungsi Min (Minimal) dan Max (Maksimal)
Arduino juga memiliki fungsi yang menemukan nilai minimum dan nilai maksimum dari sepasang angka.
Fungsi min() menghitung nilai minimum dari dua angka:
int x = min(a, b);
Fungsi min() mengembalikan yang lebih kecil dari dua nilai. Variabel a dan b dapat berupa tipe data apa saja.
Fungsi max() menghitung nilai maksimum dari dua angka apa pun:
int x = max(a, b);
Fungsi max() mengembalikan yang lebih besar dari dua nilai. Variabel a dan b dapat berupa tipe data apa saja.
Min dan maks berguna untuk menjaga nilai di atas atau di bawah ambang batas tertentu. Misalnya, Anda ingin memastikan pembacaan dari sensor suhu tidak pernah melebihi 100 derajat. Anda dapat menggunakan fungsi min() seperti ini:
sensVal = min(temp, 100);
Ini akan menyimpan yang lebih kecil dari dua angka dalam variabel sensVal. Bahkan jika temp
melebihi 100, fungsi min() akan tetap menghasilkan 100.
Operator Modulus
Arduino memiliki operator lain yang menangani pembagian yang disebut modulus. Operator modulus ditulis dengan tanda persen:
int x = a % b;
Operator modulus melakukan pembagian pada bilangan bulat kemudian mengembalikan sisanya. Katakan misalnya bahwa a = 5, dan b = 2. Dua membagi menjadi lima dua kali dan kita memiliki sisa satu. Jadi 5 % 2 akan sama dengan satu.
Fungsi Nilai Absolut
Fungsi Arduino lain yang berguna adalah fungsi nilai absolut. Fungsi nilai absolut mengembalikan nilai positif dari bilangan negatif. Misalnya, |-x| = x. Fungsi abs() di bawah ini akan mengembalikan nilai absolut -10, yaitu 10:
int x = abs(-10);
Matematika Lebih Lanjut
Sebenarnya ada sedikit matematika yang lebih maju yang mampu dilakukan Arduino. Fungsi-fungsi lanjutan ini tersedia di perpustakaan yang disebut perpustakaan matematika. Kunjungi tautan ini untuk informasi lebih lanjut tentang fungsi yang dimilikinya dan cara menginstalnya.
Itu tentang mencakup operator matematika utama yang digunakan dalam pemrograman Arduino. Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan atau sesuatu untuk ditambahkan!