我是超超我最棒 发表于 2024-11-26 10:52

【Follow me第二季第4期】任务二:学习IMU基础知识,调试IMU传感器,串口打印数据

本帖最后由 我是超超我最棒 于 2024-11-26 10:52 编辑

<p>书接上回,既然Arduino网页能打开了那接下来就用Arduino展示真正的技术了</p>

<p>IMU先看下这个是啥豆包给的解释是</p>

<div style="text-align: center;"></div>

<div style="text-align: center;">&nbsp;</div>

<div>惯性测量单元,那等下就来测试一下牛顿的第一定律。</div>

<div>&nbsp;</div>

<p>为了见证牛顿第一定律,先要再Arduino上安装一个关键的库那就是Arduino_LSM6DSOX</p>

<p>&nbsp;</p>

<div style="text-align: center;"></div>

<div style="text-align: center;">&nbsp;</div>

<div>安装完成后,测试代码如下:</div>

<div>
<pre>
<code class="language-cpp">#include &lt;Arduino_LSM6DSOX.h&gt;

float Ax, Ay, Az;
float Gx, Gy, Gz;

void setup() {
Serial.begin(9600);

while(!Serial);

if (!IMU.begin()) {
    Serial.println("初始化 IMU 失败!");
    while (1);
}

Serial.print("加速度计采样率 = ");
Serial.print(IMU.accelerationSampleRate());
Serial.println("Hz");
Serial.println();

Serial.print("陀螺仪采样率 = ");
Serial.print(IMU.gyroscopeSampleRate());
Serial.println("Hz");
Serial.println();

}

void loop() {

if (IMU.accelerationAvailable()) {
    IMU.readAcceleration(Ax, Ay, Az);

    Serial.println("加速度计数据: ");
    Serial.print(Ax);
    Serial.print('\t');
    Serial.print(Ay);
    Serial.print('\t');
    Serial.println(Az);
    Serial.println();
}

if (IMU.gyroscopeAvailable()) {
    IMU.readGyroscope(Gx, Gy, Gz);
   
    Serial.println("陀螺仪数据: ");
    Serial.print(Gx);
    Serial.print('\t');
    Serial.print(Gy);
    Serial.print('\t');
    Serial.println(Gz);
    Serial.println();
}

delay(500);

}</code></pre>

<p>&nbsp;</p>
</div>

<div style="text-align: center;"></div>

<p>编译并且上传完成后,就到了打开串口监视器的时候了。在监视器窗口会出现如下数据:</p>

<div style="text-align: center;">
<div style="text-align: center;"></div>

<p>&nbsp;</p>
</div>

<p>牛顿的第一定律,三个陀螺仪数据,三个加速度数据,合起来就是六轴的数据了。任务二完成!</p>
页: [1]
查看完整版本: 【Follow me第二季第4期】任务二:学习IMU基础知识,调试IMU传感器,串口打印数据