adxl345 arduino测x-y平面角度例程
时间: 2023-10-09 11:06:26 浏览: 70
EVAL-ADXL345Z-DB-Files.rar_EVAL-ADXL345Z-DB_倾角测量
以下是一个简单的ADXL345 Arduino示例程序,用于测量X-Y平面的角度:
```
#include <Wire.h> // I2C library
#include <Adafruit_Sensor.h> // Sensor library
#include <Adafruit_ADXL345_U.h> // ADXL345 library
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345); // create ADXL345 object
void setup() {
Serial.begin(9600); // initialize serial communication
accel.begin(); // initialize ADXL345
}
void loop() {
sensors_event_t event; // create sensor event
accel.getEvent(&event); // get accelerometer event
float xAngle = atan2(event.acceleration.y, event.acceleration.z) * 180/PI; // calculate X angle
float yAngle = atan2(event.acceleration.x, event.acceleration.z) * 180/PI; // calculate Y angle
Serial.print("X angle: ");
Serial.print(xAngle);
Serial.print(" Y angle: ");
Serial.println(yAngle);
delay(100); // delay 100ms before next loop
}
```
该程序使用了ADXL345库和Adafruit_Sensor库来读取加速度传感器的数据。在主循环中,它使用getEvent()函数获取传感器事件,并使用atan2()函数计算X和Y平面的角度。最后,它将角度打印到串口监视器中,并在每次循环结束时延迟100ms。
注意:该程序假定ADXL345已正确连接到Arduino,并且I2C地址为0x53(如果不是这个地址,则需要在创建ADXL345对象时使用正确的地址)。
阅读全文