fungsi-fungsi matematika sangat dibutuhkan dalam programming uC, misalnya saja untuk project yang memakai metode khusus, seperti fuzzy, JST, dll.
dan sekali lagi user codevisionAVR terbantu oleh libary MATH.H bawaan codevisionAVR, sehingga kita sebagai user dapat langsung memanggil fungsi-fungsi tersebut.
sebelum menggunakan fungsi-fungsi yang terdapat pada library (math.h) pada codevisionAVR maka harus di deklarasikan terlebih dahulu dalam preprocessor. yaitu dengan sintaks seperti ini
#include
acos
Deklarasi
double acos(double x);
Menghasilkan nilai arcus cosinus x dalam radian.
Rentang
Nilai x mestilah ada dalam rentang -1 ke +1 (inklusif). Nilai hasil berada dalam rentang 0 hingga pi (inklusif)
asin
Deklarasi :
double asin(doublex);
Memberikan nilai arcus sinus x dalam radian.
Rentang :
Nilai dari x mesti berada dalam rentang -1 to +1 (inklusif). Nilai hasil berada dalam rentang -p/2 hingga +p/2 (inklusif).
atan
Deklarasi
double atan(double x);
Menghasilkan nilai arcus tangen x dalam radian.
Rentang
Nilai dari x tidak memiliki rentang. Nilai hasil berada dalam rentang -p/2 to +p/2 (inklusif).
atan2
Deklarasi
double atan2(doubly y, double x);
Menghasilkan nilai arcus tangen dalam radian y/x didasarkan pada tanda masing-masing nilai untuk menentukan kuadran yang tepat.
Rentang
Baik y dan x tidak boleh bernilai nol. Hasil berada dalam rentang -p/2 hingga +p/2 (inklusif).
cos
Deklarasi
double cos(double x);
Menghasilkan nilai cosinus dari sudut radian x.
Rentang
Nilai x tidak memiliki rentang. Nilai hasil berada dalam rentang -1 hingga +1 (inklusif).
cosh
Deklarasi
double cosh(double x);
Menghasilkan nilai hiperbolic cosinus dari x.
Rentang
Tidak ada rentang limit baik untuk argumen maupun nilai yang dihasilkan.
sin
Deklarasi
double sin(double x);
Menghasilkan nilai sinus dari sudut radian x.
Rentang
Nilai x tidak memiliki rentang. Nilai yang dihasilkan berada dalam rentang -1 ke +1 (inklusif).
sinh
Deklarasi
double sinh(double x);
Menghasilkan nilai hiperbolik sinus x.
Rentang
Tidak ada rentang limit baik untuk argumen maupun nilai yang dihasilkan.
tan
Deklarasi
double tan(double x);
Menghailkan nilai tangen dari sudut radian x.
Rentang
Tidak ada rentang limit baik untuk argumen maupun nilai yang dihasilkan.
tanh
Deklarasi
double tanh(double x);
Memberikan nilai hiperbolik tangen x.
Rentang
Nilai x tidak memiliki rentang. Nilai hasil memiliki rentang antara -1 hingga +1 (inklusif)
masih banyak fungsi-fungsi yang terdapat dalam library tersebut, selanjutnya untuk lebih memahami fungsi-fungsi tersebut dapat dibaca di help codevisionAVR (shortcut F1), kemudian lihat pada sub library fuction reference
untuk mengingatkan kalau fungsi-fungsi diatas adalah dalam bentuk Radians, maka dari itu jika dibutuhkan untuk mengkonversikannya ke dalam bentuk degree, disini saya akan coba share tentang konfersi tersebut melaluui potongan-potongan program berikut:
float deg2rad(float deg){ //konversi dari degree ke radians
float rad;
rad=deg/57.325;
return rad;
}
float rad2deg(float rad){ //konversi dari radians ke degree
float deg;
deg=rad*57.325;
return deg;
}
float rad;
rad=deg/57.325;
return rad;
}
float rad2deg(float rad){ //konversi dari radians ke degree
float deg;
deg=rad*57.325;
return deg;
}
*57.325 didapat dari 180 / 3.14
hal penting yang juga perlu diperhatikan jika menggunakan LCD sebagai penampil data hasil yakni pada setting feature sprintf . yaitu dalam bentuk Float, Width, Precesion. dengan cara seperti berikut
configure--->c compiler--->sprint feature
sekian dulu mengenai fungsi matematik pada codevisionAVR, mohon dibantu jika terdapat kesalahan. hhehehe