27951浏览
楼主: 驴友花雕

[项目] 【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块

[复制链接]

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 08:56:20

[size=12.0000pt](2)实验串口返回情况

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 08:57:58

3)打开Arduino IDE——工具——串口绘图器,查看实验波形
实验串口绘图器返回情况

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 09:00:07

本帖最后由 驴友花雕 于 2022-5-14 09:02 编辑

程序七:使用ADXL345_WE 库的活动/非活动中断功能
1Arduino参考开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序七:使用ADXL345_WE 库的活动/非活动中断功能
  4.   Arduino------ADXL345
  5.   5V------------VCC
  6.   GND-----------GND
  7.   A4-----------SDA IIC 数据线
  8.   A5-----------SCL IIC 时钟线
  9. */
  10. #include<Wire.h>
  11. #include<ADXL345_WE.h>
  12. #define ADXL345_I2CADDR 0x53 // 如果 SDO = HIGH,则为 0x1D
  13. const int int2Pin = 2;
  14. volatile bool in_activity = false; // 活动或不活动中断发生
  15. /* 有几种方法可以创建您的 ADXL345 对象:
  16.    ADXL345_WE myAcc = ADXL345_WE()                -> uses Wire / I2C Address = 0x53
  17.    ADXL345_WE myAcc = ADXL345_WE(ADXL345_I2CADDR) -> uses Wire / ADXL345_I2CADDR
  18.    ADXL345_WE myAcc = ADXL345_WE(&wire2)          -> uses the TwoWire object wire2 / ADXL345_I2CADDR
  19.    ADXL345_WE myAcc = ADXL345_WE(&wire2, ADXL345_I2CADDR) -> all together
  20. */
  21. ADXL345_WE myAcc = ADXL345_WE(ADXL345_I2CADDR);
  22. void setup() {
  23.   Wire.begin();
  24.   Serial.begin(9600);
  25.   pinMode(int2Pin, INPUT);
  26.   Serial.println("ADXL345 - 活动和不活动中断");
  27.   Serial.println();
  28.   if (!myAcc.init()) {
  29.     Serial.println("ADXL345 未连接!");
  30.   }
  31.   /* 插入来自 ADXL345_calibration.ino 的数据并取消注释以获得更精确的结果*/
  32.   // myAcc.setCorrFactors(-266.0, 285.0, -268.0, 278.0, -291.0, 214.0);
  33.   /* Choose the data rate         Hz
  34.       ADXL345_DATA_RATE_3200    3200
  35.       ADXL345_DATA_RATE_1600    1600
  36.       ADXL345_DATA_RATE_800      800
  37.       ADXL345_DATA_RATE_400      400
  38.       ADXL345_DATA_RATE_200      200
  39.       ADXL345_DATA_RATE_100      100
  40.       ADXL345_DATA_RATE_50        50
  41.       ADXL345_DATA_RATE_25        25
  42.       ADXL345_DATA_RATE_12_5      12.5
  43.       ADXL345_DATA_RATE_6_25       6.25
  44.       ADXL345_DATA_RATE_3_13       3.13
  45.       ADXL345_DATA_RATE_1_56       1.56
  46.       ADXL345_DATA_RATE_0_78       0.78
  47.       ADXL345_DATA_RATE_0_39       0.39
  48.       ADXL345_DATA_RATE_0_20       0.20
  49.       ADXL345_DATA_RATE_0_10       0.10
  50.   */
  51.   myAcc.setDataRate(ADXL345_DATA_RATE_25);
  52.   Serial.print("数据速率:");
  53.   Serial.print(myAcc.getDataRateAsString());
  54.   /* 选择测量范围
  55.       ADXL345_RANGE_16G    16g
  56.       ADXL345_RANGE_8G      8g
  57.       ADXL345_RANGE_4G      4g
  58.       ADXL345_RANGE_2G      2g
  59.   */
  60.   myAcc.setRange(ADXL345_RANGE_4G);
  61.   Serial.print(" /g 范围: ");
  62.   Serial.println(myAcc.getRangeAsString());
  63.   Serial.println();
  64.   attachInterrupt(digitalPinToInterrupt(int2Pin), in_activityISR, RISING);
  65.   /* 必须为活动设置三个参数:
  66.       1.直流/交流模式:
  67.           ADXL345_DC_MODE - 阈值是定义的(参数 3)
  68.           ADXL345_AC_MODE - 阈值 = 启动加速度 + 定义的阈值
  69.      2. 轴,考虑:
  70.           ADXL345_000  -  没有轴(没有意义)
  71.           ADXL345_00Z  -  z
  72.           ADXL345_0Y0  -  y
  73.           ADXL345_0YZ  -  y,z
  74.           ADXL345_X00  -  x
  75.           ADXL345_X0Z  -  x,z
  76.           ADXL345_XY0  -  x,y
  77.           ADXL345_XYZ  -  所有轴
  78.      3. 以 g 为单位的阈值
  79.   */
  80.   myAcc.setActivityParameters(ADXL345_DC_MODE, ADXL345_XY0, 0.5);
  81.   /* 在活动中必须设置四个参数:
  82.     1.直流/交流模式:
  83.         见活动参数
  84.     2. 轴,考虑:
  85.         见活动参数
  86.     3. 以 g 为单位的阈值
  87.     4. 以秒为单位的不活动时间阈值(最大 255)
  88.   */
  89.   myAcc.setInactivityParameters(ADXL345_DC_MODE, ADXL345_XY0, 0.5, 10.0);
  90.   /* 仅当同时使用活动和不活动时,设置链接位才有意义
  91.     如果未设置链接位:
  92.     - 活动中断可以随时多次触发
  93.     - 如果不活动参数可以触发不活动。满足,独立于活动参数。 (如果使用)
  94.     如果设置了链接位:
  95.     - 活动中断只能在非活动中断后触发
  96.     - 在下一个非活动中断发生之前,只能触发一个活动中断
  97.   */
  98.   // myAcc.setLinkBit(true);
  99.   /* 你可以选择以下中断:
  100.      变量名:触发,如果:
  101.     ADXL345_OVERRUN - 新数据替换未读数据
  102.     ADXL345_WATERMARK - FIFO 中的样本数量等于 FIFO_CTL 中定义的数量
  103.     ADXL345_FREEFALL - 所有轴的加速度值都低于 THRESH_FF 中定义的阈值
  104.     ADXL345_INACTIVITY - 符合。所有包含轴的值是 < THRESH_INACT for period > TIME_INACT
  105.     ADXL345_ACTIVITY - 符合。包含轴的值 > THRESH_ACT
  106.     ADXL345_DOUBLE_TAP - 在一个(包括)上检测到双击。轴和各种定义的条件得到满足
  107.     ADXL345_SINGLE_TAP - 在一个上检测到单击,包括。轴和各种定义的条件得到满足
  108.     ADXL345_DATA_READY - 新数据可用
  109.     将中断分配给 INT1 (INT_PIN_1) 或 INT2 (INT_PIN_2)。数据就绪,溢出
  110.     始终启用。您只能更改这些默认情况下为 INT1 的分配。
  111.     您可以使用 deleteInterrupt(type) 删除中断;
  112.   */
  113.   myAcc.setInterrupt(ADXL345_ACTIVITY, INT_PIN_2);
  114.   myAcc.setInterrupt(ADXL345_INACTIVITY, INT_PIN_2);
  115. }
  116. /*  在主循环中进行了一些检查:
  117.     getActTapStatus() 以字节形式返回负责活动中断的轴(库中的代码)
  118.     getActTapStatusAsString() 以字符串形式返回导致中断的轴
  119.     readAndClearInterrupts(); 将中断类型返回为字节(库中的代码)
  120.     checkInterrupt(intSource, type) 如果 intSource 的类型为 bool,则返回
  121. */
  122. void loop() {
  123.   if ((millis() % 1000) == 1) {
  124.     xyzFloat g = myAcc.getGValues();
  125.     Serial.print("g-x   = ");
  126.     Serial.print(g.x);
  127.     Serial.print("  |  g-y   = ");
  128.     Serial.print(g.y);
  129.     Serial.print("  |  g-z   = ");
  130.     Serial.println(g.z);
  131.   }
  132.   if (in_activity == true) {
  133.     //byte actTapSource = myAcc.getActTapStatus();
  134.     //Serial.println(actTapSource, BIN);
  135.     String axes = myAcc.getActTapStatusAsString();
  136.     byte intSource = myAcc.readAndClearInterrupts();
  137.     if (myAcc.checkInterrupt(intSource, ADXL345_ACTIVITY)) {
  138.       Serial.print("活动在: ");
  139.       Serial.println(axes);
  140.     }
  141.     if (myAcc.checkInterrupt(intSource, ADXL345_INACTIVITY)) {
  142.       Serial.println("不活动!");
  143.     }
  144.     delay(500);
  145.     myAcc.readAndClearInterrupts();
  146.     in_activity = false;
  147.   }
  148. }
  149. void in_activityISR() {
  150.   in_activity = true;
  151. }
复制代码

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 09:04:09

2)实验串口返回情况

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 09:06:35

程序八:使用ADXL345_WE 库测量角度、校正角度和方向
1Arduino参考开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序八:使用ADXL345_WE 库测量角度、校正角度和方向
  4.   Arduino------ADXL345
  5.   5V------------VCC
  6.   GND-----------GND
  7.   A4-----------SDA IIC 数据线
  8.   A5-----------SCL IIC 时钟线
  9. */
  10. #include<Wire.h>
  11. #include<ADXL345_WE.h>
  12. #define ADXL345_I2CADDR 0x53 // 如果 SDO = HIGH,则为 0x1D
  13. /* 有几种方法可以创建您的 ADXL345 对象:
  14.    ADXL345_WE myAcc = ADXL345_WE()                -> uses Wire / I2C Address = 0x53
  15.    ADXL345_WE myAcc = ADXL345_WE(ADXL345_I2CADDR) -> uses Wire / ADXL345_I2CADDR
  16.    ADXL345_WE myAcc = ADXL345_WE(&wire2)          -> uses the TwoWire object wire2 / ADXL345_I2CADDR
  17.    ADXL345_WE myAcc = ADXL345_WE(&wire2, ADXL345_I2CADDR) -> all together
  18. */
  19. ADXL345_WE myAcc = ADXL345_WE(ADXL345_I2CADDR);
  20. void setup() {
  21.   Wire.begin();
  22.   Serial.begin(9600);
  23.   Serial.println("ADXL345_测试");
  24.   Serial.println();
  25.   if (!myAcc.init()) {
  26.     Serial.println("ADXL345 未连接!");
  27.   }
  28.   /* 添加您使用 ADXL345_calibration.ino 找到的最小和最大原始值。
  29.       顺序为: setCorrFactors(min x, max x, min y, max y, min z, max z).
  30.       setCorrFactors 校准斜率并假设零点
  31.       is (min+max)/2. 必须将 setCorrFactors 函数添加到全局
  32.   */
  33.   myAcc.setCorrFactors(-266.0, 285.0, -268.0, 278.0, -291.0, 214.0);
  34.   /* 在下一步中,角度的偏移被校正以获得相当精确的校正
  35.      x 和 y 的角度高达 ~60°。附加的 offsetCorrection 仅用于
  36.      校正角度测量。该过程只是确保从 0° 开始。
  37.   */
  38.   Serial.println("将您的 ADXL345 平放,不要移动它");
  39.   delay(2000);
  40.   myAcc.measureAngleOffsets();
  41.   Serial.println("....完成");
  42.   /* 选择数据速率Hz
  43.       ADXL345_DATA_RATE_3200    3200
  44.       ADXL345_DATA_RATE_1600    1600
  45.       ADXL345_DATA_RATE_800      800
  46.       ADXL345_DATA_RATE_400      400
  47.       ADXL345_DATA_RATE_200      200
  48.       ADXL345_DATA_RATE_100      100
  49.       ADXL345_DATA_RATE_50        50
  50.       ADXL345_DATA_RATE_25        25
  51.       ADXL345_DATA_RATE_12_5      12.5
  52.       ADXL345_DATA_RATE_6_25       6.25
  53.       ADXL345_DATA_RATE_3_13       3.13
  54.       ADXL345_DATA_RATE_1_56       1.56
  55.       ADXL345_DATA_RATE_0_78       0.78
  56.       ADXL345_DATA_RATE_0_39       0.39
  57.       ADXL345_DATA_RATE_0_20       0.20
  58.       ADXL345_DATA_RATE_0_10       0.10
  59.   */
  60.   myAcc.setDataRate(ADXL345_DATA_RATE_50);
  61.   Serial.print("数据速率:");
  62.   Serial.print(myAcc.getDataRateAsString());
  63.   /* 选择测量范围
  64.       ADXL345_RANGE_16G    16g
  65.       ADXL345_RANGE_8G      8g
  66.       ADXL345_RANGE_4G      4g
  67.       ADXL345_RANGE_2G      2g
  68.   */
  69.   myAcc.setRange(ADXL345_RANGE_2G);
  70.   Serial.print("  /  g-范围: ");
  71.   Serial.println(myAcc.getRangeAsString());
  72.   Serial.println();
  73. }
  74. void loop() {
  75.   xyzFloat raw = myAcc.getRawValues();
  76.   xyzFloat g = myAcc.getGValues();
  77.   xyzFloat angle = myAcc.getAngles();
  78.   xyzFloat corrAngles = myAcc.getCorrAngles();
  79.   /* 仍然是未校正的原始值!! */
  80.   Serial.print("Raw-x    = ");
  81.   Serial.print(raw.x);
  82.   Serial.print("  |  Raw-y    = ");
  83.   Serial.print(raw.y);
  84.   Serial.print("  |  Raw-z    = ");
  85.   Serial.println(raw.z);
  86.   /* g 值使用校正后的原始值 */
  87.   Serial.print("g-x     = ");
  88.   Serial.print(g.x);
  89.   Serial.print("  |  g-y     = ");
  90.   Serial.print(g.y);
  91.   Serial.print("  |  g-z     = ");
  92.   Serial.println(g.z);
  93.   /* 角度使用校正后的原始数据。角度简单地计算为
  94.      角度 = arcsin(g 值) */
  95.   Serial.print("角度 x  = ");
  96.   Serial.print(angle.x);
  97.   Serial.print("  |  角度 y  = ");
  98.   Serial.print(angle.y);
  99.   Serial.print("  |  角度 z  = ");
  100.   Serial.println(angle.z);
  101.   /* 修正后的角度使用修正后的原始数据和额外的角度
  102.      偏移以确保它们从 0° 开始
  103.   */
  104.   Serial.print("修正角度 x = ");
  105.   Serial.print(corrAngles.x);
  106.   Serial.print("  |  修正角度 y   = ");
  107.   Serial.print(corrAngles.y);
  108.   Serial.print("  |  修正角度 z   = ");
  109.   Serial.println(corrAngles.z);
  110.   Serial.print("模块方向:");
  111.   Serial.println(myAcc.getOrientationAsString());
  112.   Serial.println();
  113.   delay(500);
  114. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 09:08:18

2)实验串口返回情况

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 09:09:37

(2)实验串口绘图器返回情况

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 09:11:17

程序九:点阵屏加速度仪
1)实验接线示意图

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 09:13:09

2Arduino参考开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序九:点阵屏加速度仪
  4. */
  5. #include <LedControl.h> //导入点阵屏驱动库
  6. #include <Wire.h>
  7. #define DEVICE (0x53)   //ADXL345设备地址
  8. #define TO_READ (6)    //我们要读取的字节数(每个轴两个字节)
  9. byte buff[TO_READ] ;    //6字节缓冲区,用于保存从设备读取的数据
  10. char str[512];          //字符串缓冲区在发送数据之前对其进行转换
  11. int MATRIX_WIDTH = 8;
  12. LedControl lc = LedControl(12, 10, 11, 1); // 点阵屏接脚:DIN, CLK, CS, NRDEV
  13. unsigned long delaytime = 50;
  14. int x_key = A1;
  15. int y_key = A0;
  16. int x_pos;
  17. int y_pos;
  18. // 表示单个灯光位置的对象
  19. // 未来的重力更新
  20. class Grain
  21. {
  22.   public:
  23.     int x = 0;
  24.     int y = 0;
  25.     int mass = 1;
  26. };
  27. Grain *g;
  28. void setup() {
  29.   //设置一个grain对象
  30.   g = new Grain();
  31.   ClearDisplay();
  32.   Wire.begin();        // 加入 i2c 总线(主机地址可选)
  33.   Serial.begin(9600);  // 启动串口输出
  34.   //开启ADXL345
  35.   writeTo(DEVICE, 0x2D, 0);
  36.   writeTo(DEVICE, 0x2D, 16);
  37.   writeTo(DEVICE, 0x2D, 8);
  38. }
  39. void loop() {
  40.   // 第一个轴加速度数据寄存器
  41.   int regAddress = 0x32;
  42.   int x, y, z;
  43.   readFrom(DEVICE, regAddress, TO_READ, buff); //从ADXL345读取加速度数据
  44.   // 合并每个方向的两个字节
  45.   // 最低有效位在前
  46.   x = (((int)buff[1]) << 8) | buff[0];
  47.   y = (((int)buff[3]) << 8) | buff[2];
  48.   z = (((int)buff[5]) << 8) | buff[4];
  49.   // 将值转换为可以在矩阵上表示的值
  50.   x = map(x, -300, 300, 0, 8);
  51.   y = map(y, -300, 300, 0, 8);
  52.   z = map(z, -300, 300, 0, 8);
  53.   //我们将x y z值作为字符串发送到串口
  54.   Serial.print("X: ");
  55.   Serial.print(x);
  56.   Serial.print("   Y: ");
  57.   Serial.print(y);
  58.   Serial.print("   Z: ");
  59.   Serial.print(z);
  60.   Serial.print("\n");
  61.   ClearDisplay();
  62.   //将grain分配到这个位置
  63.   g->x = x;
  64.   g->y = y;
  65.   lc.setLed(0, g->x, g->y, true);
  66.   //在每次更新之间添加一些延迟
  67.   delay(10);
  68. }
  69. void ClearDisplay() {
  70.   //设置液晶显示器
  71.   int devices = lc.getDeviceCount();
  72.   for (int address = 0; address < devices; address++)
  73.   {
  74.     lc.shutdown(address, false);
  75.     lc.setIntensity(address, 1);
  76.     lc.clearDisplay(address);
  77.   }
  78. }
  79. //将val写入设备上的地址寄存器
  80. void writeTo(int device, byte address, byte val)
  81. {
  82.   Wire.beginTransmission(device); //开始传输到设备
  83.   Wire.write(address);        // 发送寄存器地址
  84.   Wire.write(val);        // 发送要写入的值
  85.   Wire.endTransmission(); //结束传输
  86. }
  87. //从设备上的地址寄存器开始读取num字节到buff数组
  88. void readFrom(int device, byte address, int num, byte buff[])
  89. {
  90.   Wire.beginTransmission(device); //开始传输到设备
  91.   Wire.write(address);        //发送要读取的地址
  92.   Wire.endTransmission(); //结束传输
  93.   Wire.beginTransmission(device); //开始传输到设备
  94.   Wire.requestFrom(device, num);  // 从设备请求 6 个字节
  95.   int i = 0;
  96.   while (Wire.available()) //设备发送的数据可能少于请求的数据(异常)
  97.   {
  98.     buff[i] = Wire.read(); // 接收一个字节
  99.     i++;
  100.   }
  101.   Wire.endTransmission(); //结束传输
  102.   delay(300);
  103. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 09:14:38

(3)实验串口返回情况

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 09:16:34

4)实验串口绘图器返回情况

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 09:18:00

5)实验场景图

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 09:20:56

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 10:09:02

程序十:ADXL345三轴传感器控制D13脚LED灯的亮灭
1)实验接线示意图

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 10:11:16

(2)Arduino参考开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序十:ADXL345三轴传感器控制D13脚LED灯的亮灭
  4. */
  5. #include <Wire.h>
  6. #include <Adafruit_Sensor.h>
  7. #include <Adafruit_ADXL345_U.h>//导入ADXL345驱动库
  8. #define LED_PIN 13 //LED接D13
  9. Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified();
  10. void setup(void) {
  11.   Serial.begin(9600);//串口初始化
  12.   Serial.println("ADXL345 传感器控制D13脚LED灯");
  13.   if (!accel.begin())
  14.   {
  15.     Serial.println("未检测到 ADXL345 传感器。");
  16.     while (1);
  17.   }
  18.   pinMode(LED_PIN,OUTPUT);//设置LED为输出
  19. }
  20. void loop(void) {
  21.   sensors_event_t event;
  22.   accel.getEvent(&event);
  23.   float  x = event.acceleration.x;
  24.   float  y = event.acceleration.y;
  25.   float  z = event.acceleration.z;
  26.   //串口打印X\Y\Z数值
  27.   Serial.print("X: "); Serial.print(x); Serial.print("  ");
  28.   Serial.print("Y: "); Serial.print(y); Serial.print("  ");
  29.   Serial.print("Z: "); Serial.print(z); Serial.print("  ");
  30.   Serial.println("m/s^2 ");
  31.   if (x > 5 || x < -5) {      //设置点亮LED的X轴阙值
  32.     digitalWrite(LED_PIN,HIGH);
  33.     Serial.println("X值符合,LED灯亮");
  34.   }
  35.   else if (y > 5 || y < -5) { //设置点亮LED的Y轴阙值
  36.     digitalWrite(LED_PIN,HIGH);
  37.     Serial.println("Y值符合,LED灯亮");
  38.   }
  39.   else{
  40.     digitalWrite(LED_PIN,LOW);
  41.   }
  42.   delay(500);//延时500毫秒
  43. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 10:15:46

(2)实验串口返回情况

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 10:17:47

(4)实验串口绘图器返回情况

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 10:20:50

5)实验场景图

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-14 10:24:22

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-23 17:35:35

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-25 13:23:23

本帖最后由 驴友花雕 于 2022-5-25 14:42 编辑

程序十一:ADXL345 传感器控制红蓝绿三色LED灯
(1)实验接线示意图(实际为IIC接法)

【Arduino】168种传感器模块系列实验(48)---三轴ADXL345模块图1

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail