Pada kesempatan kali ini akan dibahas mengenai bagaimana cara mengakses sensor accelerometer dengan menggunakan Arduino, pada contoh ini di jelaskan mengenai program untuk mengakses sensor accelerometer sehingga bisa mengeluarkan range sudut misal sudut pitch 0 sampai 360 derajat. Aplikasi untuk alat ini sebagai pengatur keseimbangan dan juga pendeteksi kemiringan pada suatu objek benda seperti pesawat atau robot. Sensor yang digunakan adalah sensor ADXL345 yang memiliki output berupa tegangan dan sensor ini juga biasa disebut GY-61. Untuk lebih jelasnya berikut skema dan programnya
a. Arduino Uno
b. Sensor Accelerometer ADXL345 / GY-61
c. Program Arduino
//Analog read pins
const int xPin = 0;
const int yPin = 1;
const int zPin = 2;
//The minimum and maximum values that came from
//the accelerometer while standing still
//You very well may need to change these
int minVal = 265;
int maxVal = 402;
//to hold the caculated values
double x;
double y;
double z;
void setup(){
Serial.begin(9600);
}
void loop(){
//read the
analog values from the accelerometer
int xRead =
analogRead(xPin);
int yRead =
analogRead(yPin);
int zRead =
analogRead(zPin);
//convert
read values to degrees -90 to 90 - Needed for atan2
int xAng =
map(xRead, minVal, maxVal, -90, 90);
int yAng =
map(yRead, minVal, maxVal, -90, 90);
int zAng =
map(zRead, minVal, maxVal, -90, 90);
//Caculate
360deg values like so: atan2(-yAng, -zAng)
//atan2
outputs the value of -π to π (radians)
//We are
then converting the radians to degrees
x =
RAD_TO_DEG * (atan2(-yAng, -zAng) + PI);
y = RAD_TO_DEG
* (atan2(-xAng, -zAng) + PI);
z =
RAD_TO_DEG * (atan2(-yAng, -xAng) + PI);
//Output the
caculations
Serial.print("x: ");
Serial.print(x);
Serial.print(" | y: ");
Serial.print(y);
Serial.print(" | z: ");
Serial.println(z);
delay(100);
}
d. Cara Penggunaan
Hubungkan Supply DC 12 volt ke Arduino, kemudian hubungkan sensor ke Arduino sesuai jalur yang telah di jelaskan diatas. Langkah terakhir yaitu hubungkan kabel USB dari Arduino ke komputer lalu aktifkan fitur serial monitor Arduino IDE. Jika berhasil maka akan tampak nilai sudut kemiringannya saat sensor digerakkan pitch, yaw dan roll.
No comments:
Post a Comment