STM32F103校内赛-手动车

        根据比赛手动车要求,需要上6cm高的台子,在台上拍灭对应的灯,此后夹取物料到自动车上,实现自动车和手动车的结合。手动车从主要对机械队友要求高一些,因为需要设计一些机械结构,比如机械臂很常见的平行四边形结构,这也是我后来见过才知道的,其实还有很多结构,只是我没学过机械的知识。有些结构确实简单,而且电控也调试的很方便。我们的手动车就不一样了,直接使用舵机堆叠,四个MG995舵机,加上上台舵机一共五个舵机,手动车比自动车都重,上台的时候还需要摆动机械臂,改变重心位置,不然根本不能上台。我们还需要舵机同步,不然一个舵机力度是不够的,但是不可能实现真正的同步,只能减小误差,所以调试的过程中两个车臂容易错位,反正很难受。

        自动车主要遥控按键控制舵机,需要蓝牙和舵机PWM控制,其实也不难。蓝牙只需要串口就行,执行简单的字符接收语句,就可以接收来在遥控按键的字符。PWM就是和电机控制是一样的程序,蓝牙遥控就需要用一个串口。遥控有一个小技巧,在每个字符使用后都加一个停的动作,比如车按一下前进,后面字符加一个停车的字符,就可以完美实现车的遥控,机械臂也是一样的,可以控制使用按键一下一下的控制。

以定时器4为例,代码如下。

void TIM4_PWM_Init(u16 arr,u16 psc)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	TIM_TimeBaseInitTypeDef TIM_TimeBaseInitstruct;
	TIM_OCInitTypeDef TIM_OCInitStructure;
   
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
   
	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_Init(GPIOB,&GPIO_InitStructure);

	TIM_TimeBaseInitstruct.TIM_ClockDivision=TIM_CKD_DIV1;
	TIM_TimeBaseInitstruct.TIM_CounterMode=TIM_CounterMode_Up;
	TIM_TimeBaseInitstruct.TIM_Period=arr;
	TIM_TimeBaseInitstruct.TIM_Prescaler=psc;
	TIM_TimeBaseInit(TIM4,&TIM_TimeBaseInitstruct);
   
	TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
	TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
	TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; 
	TIM_OC2Init(TIM4, &TIM_OCInitStructure);

	TIM_Cmd(TIM4, ENABLE);
	TIM_OC2PreloadConfig(TIM4, TIM_OCPreload_Enable);
}

串口的程序需要的语句:

char res;
res=USART_ReceiveData(USART1);              //接收数据

        其实写这些是为了为校内赛留一些记忆,现在写也真写不出来什么,而且单片机我觉得慢慢会淘汰,后面微型计算机会越来越多,但是单片机有必须得会,毕竟要从易到难,需要单片机来过渡,加油坚持下去。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值