旧乡故客
发表于: 昨天 17:37 | 显示全部楼层

常见的加速度传感器的输出信号分为数字输出和模拟输出,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电源输入。

YBX-ADXL326三轴模拟加速度传感器模块.jpg


硬件连接

Arduino开发板通过模拟引脚连接到YBX-ADXL326模块,以下是硬件连接原理图:

YBX-ADXL326模块与Arduino Uno的硬件连接.jpg


首先将YBX-ADXL326模块的VCC连接到+5V引脚,GND引脚连接到Arduino的任意GND引脚。

然后连接模拟接口,将YBX-ADXL326模块的XOUT、YOUT和ZOUT分别连接到Arduino UNO开发板的引脚A3、A4和A5。

硬件连接完成后如下图所示:

实际连接.jpg


代码

本文使用的是Arduino自带的读取模拟引脚函数,因此不需要包含任何库文件。

完整的代码如下所示:

  1. /*
  2. Reads an ADXL326 3-axis accelerometer from Adafruit.
  3. Sends the results as a JSON-formatted string like so:
  4. {"x":"345", "y":"432", "z":"234"}
  5. */

  6. //Set up pins for ADXL326 breakout board:
  7. const int zPin = A3;
  8. const int yPin = A4;
  9. const int xPin = A5;

  10. boolean sending = false;

  11. void setup() {
  12.   Serial.begin(9600);
  13. }

  14. void loop() {
  15.   // read for incoming messages. c = send, x = don't send:
  16.   char inChar = Serial.read();
  17.   switch (inChar) {
  18.   case 'c':    // connection open
  19.     sending = true;
  20.     break;
  21.   case 'x':    // connection closed
  22.     sending = false;
  23.     break;
  24.   }

  25.   if (sending) {
  26.     // read sensors:
  27.     int x = analogRead(xPin);
  28.     delay(1);
  29.     int y = analogRead(yPin);
  30.     delay(1);
  31.     int z = analogRead(zPin);

  32.     // form a JSON-formatted string:
  33.     String jsonString = "{"x":"";
  34.     jsonString += x;
  35.     jsonString +="","y":"";
  36.     jsonString += y;
  37.     jsonString +="","z":"";
  38.     jsonString += z;
  39.     jsonString +=""}";

  40.     // print it:
  41.     Serial.println(jsonString);
  42.   }
  43. }
复制代码

编译并将代码上传到Arudino开发板。连接开发板至计算机。


运行测试结果

打开串口监视器,选择正确的串口号和波特率9600,发送字符c,查看Arduino开发板的输出结果。旋转模块,并观察输出数值的变化。

输出结果.jpg


以上就是使用Arduino开发板连接ADXL326模块的全部内容,如果有任何疑问,请随时在本帖下面回复。



跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 21 | 回复: 25



手机版|

GMT+8, 2025-7-17 01:14 , Processed in 0.036161 second(s), 5 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表