|
常见的加速度传感器的输出信号分为数字输出和模拟输出,ADXL326是ADI公司推出的一款小尺寸、低功耗的三轴模拟输出加速度传感器,该产品测量加速度的最小满量程范围为±16g。在本篇帖子中,我们将主要介绍如何基于Arduino UNO开发板使用ADXL326模块,实现读取加速度计的原始数据。
所需的组件 ● Arduino UNO开发板 ● YBX-ADXL326三轴加速度传感器模块(淘宝链接) ● 连接跳线 ● USB线缆
YBX-ADXL326三轴加速度传感器模块 YBX-ADXL326模块采用ADI公司推出的加速度传感器ADXL326。该传感器可以测量倾斜传感应用中的静态重力加速度,以及由运动、冲击或振动引起的动态加速度。用户使用XOUT、YOUT和ZOUT引脚上的CX、CY和CZ电容来选择加速度计的带宽。带宽可根据应用进行选择,X轴和Y轴的带宽范围为0.5 Hz至 1600 Hz,Z轴的带宽范围为0.5Hz至550Hz。
该模块加速度传感器板载一颗电源LDO,支持3.3V和5V电源输入。
硬件连接 Arduino开发板通过模拟引脚连接到YBX-ADXL326模块,以下是硬件连接原理图:
首先将YBX-ADXL326模块的VCC连接到+5V引脚,GND引脚连接到Arduino的任意GND引脚。 然后连接模拟接口,将YBX-ADXL326模块的XOUT、YOUT和ZOUT分别连接到Arduino UNO开发板的引脚A3、A4和A5。 硬件连接完成后如下图所示:
代码 本文使用的是Arduino自带的读取模拟引脚函数,因此不需要包含任何库文件。 完整的代码如下所示: - /*
- Reads an ADXL326 3-axis accelerometer from Adafruit.
- Sends the results as a JSON-formatted string like so:
- {"x":"345", "y":"432", "z":"234"}
- */
- //Set up pins for ADXL326 breakout board:
- const int zPin = A3;
- const int yPin = A4;
- const int xPin = A5;
- boolean sending = false;
- void setup() {
- Serial.begin(9600);
- }
- void loop() {
- // read for incoming messages. c = send, x = don't send:
- char inChar = Serial.read();
- switch (inChar) {
- case 'c': // connection open
- sending = true;
- break;
- case 'x': // connection closed
- sending = false;
- break;
- }
- if (sending) {
- // read sensors:
- int x = analogRead(xPin);
- delay(1);
- int y = analogRead(yPin);
- delay(1);
- int z = analogRead(zPin);
- // form a JSON-formatted string:
- String jsonString = "{"x":"";
- jsonString += x;
- jsonString +="","y":"";
- jsonString += y;
- jsonString +="","z":"";
- jsonString += z;
- jsonString +=""}";
- // print it:
- Serial.println(jsonString);
- }
- }
复制代码
编译并将代码上传到Arudino开发板。连接开发板至计算机。
运行测试结果 打开串口监视器,选择正确的串口号和波特率9600,发送字符c,查看Arduino开发板的输出结果。旋转模块,并观察输出数值的变化。
以上就是使用Arduino开发板连接ADXL326模块的全部内容,如果有任何疑问,请随时在本帖下面回复。
|