接收端
主控:stm32最小系统 (1);小车底盘(1);L298N电机驱动模块(2);双节电池盒1(1);NRF24L01模块(1);MPU6050模块(1);3轴机械臂(1);稳压模块(1);18650电池(1);杜邦线及其相关的连接件(若干);3D打印件
发射端
主控:stm32最小系统 (1);小车底盘(1);L298N电机驱动模块(2);双节电池盒1(1);NRF24L01模块(1);MPU6050模块(1);
功能简介
1.发射端电源开启,并开启接收端小车的电源 等待3-5S,小灯从蓝灯常闪烁的状态变成绿色常量的状态,发射端和接收端配对成功;
2.发射端有个按键三段式按键:第一是开启电源;第二是小车模式;第三是机械臂模式;当开启第二模式:陀螺仪旋转时,旋转的角速度与受到的扭距成正比,传感器来测量这个角速度,并且将其转为电信号,从而提供姿态和方向信息,并通过发射模块来将采集到的数据提供给接收模块的单片机;说人话就是陀螺仪采集手部的动作各种倾斜的角度来转换为电信号;当开启第三模式:和第二模式一样但是比较麻烦在接收端控制四轴机械臂的运动我用的是舵机精度没那么搞所以代码没优化那么精简,后面各位可以改一下;就是手部动作控制机械臂的动作;后面会讲一下陀螺仪的注意事项,虽然网上一大堆但是不精简我在这边精简讲一下吧。
硬件接线
我就简单绘制了一下发射板,最开始手Low的但是不那么好看想小点或者可以绑上绷带放在手上,最终选的是后面的办法,后面各位可以3D打印一个美队的手臂,手部可以拉伸然后切除放一个板子量的位置可以更酷酷的。如下是接线说明和图
软件部分
我所以的KEIL 环境得搭建起来还有串口,驱动得安装好这个是起码的,然后就分开烧录;
程序部分
陀螺仪手册得看要知道控制方式,我在这里讲解姿态角,角速度,加速度
姿态角:Pitch角 就拿我这个为例 当手往上或者向下时就是Y轴上的运动
Y轴就是上下X左右也是侧边运动,Z就是顺逆运动;Yaw角(顺,逆)和roll角(侧边)。
角速度:角速度进行积分得到角度我们得考虑到零漂问题,需要每次上电时重新校准;
加速度就是说白了就是在以X,Y,Z轴为基准三个方向的速度
void fun(){
angle_ratio=(double)(x/(z+0.1));
angle_acc=(float(atan(angle_ratio)*57.295);//57.295=180/3.14
显示效果