驴友花雕 发表于 2021-2-27 11:49:12

Maixduino系列实验(4)---无法读取板载三轴数字加速

## Maixduino系列实验(4)---无法读取板载三轴数字加速计MSA300数据

**推断Maixduino板子右上角,这颗芯片是三轴数字加速计MSA300(猜测的)**









## MSA300

1. 是一种三轴低g加速度计,具有I2C/SPI数字输出
2. 消费级以及专业级应用
3. 它具有动态用户可选择的完整
4. 加速度测量范围为±2g/±4g/±8g/±16g和al
5. 输出数据速率从1Hz到500Hz
6. MSA300提供超小型(2毫米x 2毫米,高度1毫米)LGA包装
7. 使用温度范围 -40°C至+85°C

## 主要特征

1. 超小包装2x2x1毫米,LGA-12针
2. 用户可选择范围, ±2g, ±4g, ±8g, ±16g
3. 1.62V至3.6V工作电源电压
4. 1.2V至3.6V IO电源电压
5. 用户可选择的数据输出速率
6. 接口I2C/SPI(4线/3线)
7. 具备二个中断引脚
8. 14位分辨率
9. 低功耗
10. 编程偏移和敏感
11. 符合RoHS应用规范
12. 适合手机和平板电脑
13. 显示方向
14. 手势识别
15. 振动监测
16. 内倾角和倾斜感应
17. 计步器
18. 玩游戏
19. 自由落体检测





```
`/*
Maixduino系列实验(3)
项目之二:测试板载三轴数字加速计MSA300
*/

#include <MSA300.h>
#include <Wire.h>

// 这是将创建的字符串的长度
// 包含减号和小数点
const signed char formattedStringLength = 11;

// 待打印的异常点后的位数
const unsigned char numVarsAfterDecimal = 6;

acc_t data;
MSA300 msa;

static char outstr;

char * formatValue(float value)
{
dtostrf(value, formattedStringLength, numVarsAfterDecimal, outstr);
return outstr;
}

void setup()
{
Serial.begin(9600);
Wire.begin();
msa.begin();
}

void loop()
{
data = msa.getAcceleration();

Serial.printf("Xa:%s ", formatValue(data.x));
Serial.printf("Ya:%s ", formatValue(data.y));
Serial.printf("Za:%s", formatValue(data.z));
Serial.println();

delay(1000);
}`
```

**二种可能:**
一是只有示例,Maixduino板上没有MSA300硬件
二是有硬件,但设置接口有误,没有信号输入



**解决:**
以官方提供的电路和资料来看! 应该是没有 MSA300 这一个元件! 提供那一个库,应该是可以提供使用者自行购买兼容(ARDUINO) 模块回来使用
页: [1]
查看完整版本: Maixduino系列实验(4)---无法读取板载三轴数字加速