毕业设计智能小车的制作(蓝牙控制,避障,循迹)(三)

代码篇

这里只讲部分主要代码,整体代码可以直接在CSDN上下载,或者留言邮箱地址我发给你们。

蓝牙控制代码篇
手机端使用的APP是蓝牙串口,我会打包到程序文档里面,也可以直接网上下载。
指令设置如下
指令设置
界面设置如下:
界面设置

单片机做相同的指令约束。

//蓝牙控制移动
void Select_Move(void)
{
   
	switch(move_state){
   
		 case 'q' :CPWM[0]=1430;//
								Set_Pwm_Motor1(600);Set_Pwm_Motor2(600);
								REVERSE_Car();
								TIM_Cmd(TIM4,ENABLE);
								move_state=' ';
								break;
		 case 's' :STOP_Car();
								move_state=' ';
								TIM_Cmd(TIM4,DISABLE);
								break;
		 case 'h' :CPWM[0]=1430;
								Set_Pwm_Motor1(600);Set_Pwm_Motor2(600);
								FORWARD_Car();
								TIM_Cmd(TIM4,ENABLE);
								move_state=' ';
								break;
		 case 'z' :Set_Pwm_Motor1(600);Set_Pwm_Motor2(600);//设置占空比,电机速度
								CPWM[0]=980;//控制数字舵机左转
								REVERSE_Car();//小车前进
								TIM_Cmd(TIM4,ENABLE);//开启定时器,这边是PID调速的定时器
								move_state=' ';//清除指令
								break;
		 case 'y' :Set_Pwm_Motor1(600);Set_Pwm_Motor2(600);
								 CPWM[0]=1880;
								 REVERSE_Car();
								 TIM_Cmd(TIM4,ENABLE);
								 move_state=' ';
								 break;
	}
} 

串口接收中断

//蓝牙接收中断
void USART1_IRQHandler(){
   
	if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)  
	{
     	
		USART_ClearITPendingBit(USART1, USART_IT_RXNE);
     move_state= USART_ReceiveData(USART1); 	
		 if(move_state=='d'){
    			//d e f 小车模式选择 避障
			 TIM_Cmd(TIM4,DISABLE);			 
			 Set_Pwm_Motor1(700);
			 Set_Pwm_Motor2(700);
			 m
  • 22
    点赞
  • 184
    收藏
    觉得还不错? 一键收藏
  • 28
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值