水下机器人闭环环节
一直目前我写的 MPU6050 向前是
规定,纸面的左右是 x 轴,当这个 mpu6050 模块绕着 x 轴旋转的时候,此时产生的角是 roll,且如果上方向着纸面里面旋转,此时的 roll 角会越来越大,直到 90 度
再规定,纸面的上下形成一条直线,这个线称为 y 轴,此时 mpu6050 绕着这个轴旋转的时候,此时产生的角是 pitch, 且如果左边的边是向纸面里面旋进的,这个时候的 pitch 会越来越大,直到 90 度。
MPU6050 的初始化一定记得放在延时之前
res = MPU6050_DMP_Init();
if(res!=0)
{
printf("MPU6050 Init ERROR res = %d \r\n",res);
while(res)//这句话的意思是当res的值不为0时,一直保持while循环
{
HAL_Delay(300);
res = MPU6050_DMP_Init();
printf("MPU6050 Init ERROR res=%d \r\n ",res);
}
printf("MPU6050 Init SUCCEED! \r\n");
}
else
{
printf("MPU6050 Init SUCCEED! \r\n");
}
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);
__HAL_TIM_SetCompare(&htim1, TIM_CHANNEL_1, 1500);
__HAL_TIM_SetCompare(&htim1, TIM_CHANNEL_2, 1500);
HAL_Delay(5000);
应该这样写.