材料:
(1)stm32f407zgt6最小系统开发板
(2)机械臂
(3)JDY-31蓝牙模块
一、组装
(1)蓝牙接线:
VCC接stm32开发板的3.3v~5v,GND接stm32开发板的GND,TXD接stm32开发板的PA10引脚,RXD接stm32开发板的PA9引脚。
(2)机械臂连线:
舵机红色连接单片机vcc,舵机灰色连接单片机gnd,黄色连接单片机IO口。
二、主要程序
1、STM32CUBEMX配置如下:
下面参数都是配置一样的
(2)配置RCC时钟:
(3) 时钟的配置:
(4)UART配置:
1)选择所需UART
2)选择Mode为异步通讯方式(常用)
3)设置基础参数:波特率为115200 Bits/s;传输数据长度为8 Bit;奇偶检验无;停止位1;接收和发送都使能 。
注意 CubeMX默认打开的引脚确实为最常用的引脚,但有时与电路板并不相符。
三、程序
while (1)
{
//夹子
if(rx=='n')
{
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);
TIM1->CCR2=190;
HAL_Delay(200);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);
TIM1->CCR2=0;
}
if(rx=='j')
{
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);
TIM1->CCR2=160;
HAL_Delay(200);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);
TIM1->CCR2=0;
}
//夹子升降
if(rx=='b')
{
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);
TIM1->CCR3=190;
HAL_Delay(200);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);
TIM1->CCR3=0;
}
if(rx=='c')
{
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);
TIM1->CCR3=160;
HAL_Delay(200);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);
TIM1->CCR3=0;
}
//升
if(rx=='d')
{
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_4);
TIM1->CCR4=190;
HAL_Delay(100);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_4);
TIM1->CCR4=0;
}
if(rx=='e')
{
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_4);
TIM1->CCR4=160;
HAL_Delay(100);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_4);
TIM1->CCR4=0;
}
}
4、手机端调试软件
APP:SPP蓝牙串口